Issue
Communications with Sigma controllers are noticeably slow. Object displays may initially appear correctly, but repeated access or overriding objects can cause the server to lock up or become unresponsive.
Product Line
Satchwell BAS & SigmaEnvironment
Satchwell Sigma
Cause
The issue was traced to two programmable Sigma objects that were being globally transmitted at a high frequency—approximately 12 times per second. The root cause was incorrect programming logic that failed to define a Boolean return value (TRUE or FALSE), which is essential for proper global transmission behavior.
Original (Incorrect) Code:
10 IF POINT 0|108 = 0.000000 THEN RETURN "Ch1 Off"
20 IF POINT 0|108 = 1.00000 THEN RETURN "Ch1 Start"
30 IF POINT 0|108 = 2.00000 THEN RETURN "Ch1 Running"
40 IF POINT 0|108 = 3.00000 THEN RETURN "Ch1 Shutdown"
50 IF POINT 0|108 = 4.00000 THEN RETURN "Ch1 Service"
``
This logic causes the global object to transmit on every scan, regardless of state change, leading to excessive communication traffic and system performance degradation.
Resolution
Update the object logic to include explicit Boolean return values. This ensures that the global object only transmits on a true state change, significantly reducing unnecessary traffic.
Corrected Code:
10 IF POINT 0|108 = 0.000000 THEN RETURN FALSE "Ch1 Off"
20 IF POINT 0|108 = 1.00000 THEN RETURN TRUE "Ch1 Start"
30 IF POINT 0|108 = 2.00000 THEN RETURN TRUE "Ch1 Running"
40 IF POINT 0|108 = 3.00000 THEN RETURN TRUE "Ch1 Shutdown"
50 IF POINT 0|108 = 4.00000 THEN RETURN TRUE "Ch1 Service"Best Practices
- Always include
TRUEorFALSEin programmable object logic to control global transmission behavior. - Monitor global object transmission rates to identify potential performance bottlenecks.
- Use diagnostic tools to trace excessive communication patterns in the Sigma environment.