Applies To:
  • CitectSCADA v7
  • VijeoCitect
  • PowerLogic SCADA

Summary:
strmid("test",3,20) generates an overflow error because the parameters (source
string length of 4, offset of 3 and length of 20) cause an overflow condition.
A safety feature of Citect is that until the overflow condition is cleared, tag
assignment statements should not to be processed.

This overflow condition processing stop should be restricted to a very small
section of CiCode (e.g. the line on which the problem occurred)

Example:
If StrMid("test",3,32) = "t" then   <= this causes an overflow condition
digtag1 = 1                               <= this line should work (it did work in 6.10 but not in v7.0 and
v7.10 prior to this fix)
Errlog("Done!")
end

Solution:
When v7.0 was introduced the cicode operators changed.  A two-step tag value
store process was replaced with a single step process and the handling of overflow
errors was made to be more restrictive than in v6.10

The fix for Bug 46564 rectifies this issue. It will be included in SP3 for v7.10.
Please contact support for further information.

Keywords:
strmid, out of range, tag value, overflow, cicode

Attachments