Applies To:
  • CitectSCADA 5.xx, 6.00
  • CitectHMI 5.xx, 6.00

StrGetChar() only supports up to 128 characters. As soon this amount is exceeded, a "Value is out of Range" hardware alarm is generated and my task is not terminated when this happens. Can this be resolved?

CitectSCADA local string variables can have up to 255 characters whereas global string variables are limited to 128 characters.
The cicode string function StrGetChar() is also limited to 128 characters.

This limitation can be worked around using built-in Cicode and CiVBA functions eg StrMid() and Mid() respectively.

Cicode examples:

sMid = StrMid(sString, offset, length); // obtain a substring starting from the offset

nChar = StrGetChar(sMid, nOffset); // obtain the character from the substring

schar = CharToStr(nchar); // convert the character to a string

Refer to Q1129 for more information on Cicode strings in early versions of CitectSCADA.