I have a Unistream project that uses a UAC-02RS2 communications module. The 2 RS232 ports are connected to 2 different pressure gauges from which the pressures are read on a regular interval. Occasionally I have a problem where the communication locks up and I get no updates. I have found that when this happens the "UAC-02RS2-COM-232_0.Send Status" tag is set to a value of "1". When I set this value back to 0 the communication restarts. (Note that this value is an Int16) I believe that the communication problem is caused by the pressure gauge, not the PLC, but I am trying to work around it by implementing a watch-dog timer in the PLC that will set the "Send Status" value to 0 if it has been at 1 for too long.
The problem that I am seeing is that using identical ladder rungs with the only difference being the counters and the specific RS232 port, the watchdog works for com2 but not for com1. What is happening is that the first "Not Equal" block in rung 10 is ignored and the counter increments even when the "Send Status" value is the same as the set value of "0". On Rung 13 everything behaves as I'd expect. I cannot figure out how to keep RSCOM1Counter from incrementing. Even when Unilogic is online with the PLC, the "not Equal" block does not show that it is active (it is not red) but everything behaves as if it is. I have tested this and it is only happening for COM1. Is there some difference between COM1 and COM2 that could account for this behavior?
If there is a better way to reset communication I'm open to other ideas, but for now I'm stumped as to why essentially identical rungs are not behaving the same, especially the "Not Equal" block being ignored.