Author Topic: 3.59 Bugs  (Read 2041 times)

Randy

  • Newbie
  • *
  • Posts: 23
    • View Profile
3.59 Bugs
« on: October 07, 2013, 07:08:44 PM »
In CLX driver:

A SINT with value 127 or any negative number cannot be read in Version 3.59

On Ver. 3.58 the PLC value would always be returned as a byte instead of signed byte, but Ver 3.59 throws an exception.
I used the following workaround on 3.58:
reads:
                Dim bytA As Byte
                For i = 0 To N - 1
                    bytA = CByte(S(i))
                    If (bytA < 128) Then
                        S(i) = CStr(bytA)
                    Else
                        S(i) = CStr(bytA - 256)
                    End If
                Next

writes:
If V < 0 Then V = V + 256   '(before writing to PLC)
 
On Ver 3.58 an empty string could not be written to the PLC, however if the PLC string was empty it could be read.
On Ver. 3.59 an empty string can be written to the PLC, but the last value before the string became empty in the PLC is always read back after that.

I have also noticed it is possible to read a LINT but not write a LINT.
a LINT is a bit odd and not used much, but thought I would mention this in case it can be fixed.

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5266
    • View Profile
    • AdvancedHMI
Re: 3.59 Bugs
« Reply #1 on: October 07, 2013, 09:41:03 PM »
The SINT and LINT tag problems will be fixed in version 3.60

Randy

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: 3.59 Bugs
« Reply #2 on: November 04, 2013, 01:19:26 PM »
The SINT write has a new problem, a zero cannot be written.

Me.EthernetIPforCLXCom1.Write("HMISINT", 0)  fails.

Randy

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: 3.59 Bugs
« Reply #3 on: November 04, 2013, 01:20:17 PM »
The above SINT write error on zero is for ver 3.60

rukhsana

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: 3.59 Bugs
« Reply #4 on: January 20, 2014, 05:48:00 AM »
I am able to read Integer Values from the PLC, but any floating point values fail.  Using the Digital Meter Panel it shows a value of 0.  Using Label1.Text = BatchPLC.Read("F8:0") I get an OutofRange exception.  I attached the screenshot.
You can easily check out our best quality Pass4sureexam dumps prepare you well for the real wikipedia exam.