I have several Transaction Groups set up to log filter test results to a single database table. Each transaction group executes on a trigger (change in value of a float tag). Since only one filter can be tested at any time, there is no possibility of more than one transaction group executing at the same exact time. The trigger tag (included in Basic OPC/Group Items) is normally set to 0 in the PLC and once a filter test concludes, the PLC updates it to a value between 101 and 109 depending on the filter number. At the same time other group tags are also updated with test result data and the Transaction Group executes. Some time after, the PLC resets the “trigger” tag value back to 0.
The transaction groups are working flawlessly 99% of time but occasionally log 0s instead of actual values and I have no idea why. This is an issue since the collected data is used for monthly reporting purposes. Below screenshot shows an example of an entry that incorrectly logged all zeros (see entry with timestamp of 2022-07-02 14:18:31).
Here is another, more bizarre example. Most values were logged correctly except for two which were incorrectly logged as 0s (see “stop psi” and “lrv” entries with timestamp 2022-07-23 9:59:34).
I checked the Transaction Group events and status tabs and everything looks good. I also checked the Gateway events logs and no issues there.
Here’s my transaction group setup:
- Action: Timer (1 second)
- “Only evaluate when values have changed” is checked and the before mentioned float tag selected
- “Execute this group on a trigger” is checked and before mentioned float tag selected as “Trigger on Item”
- “Only execute once while trigger is active” is checked
- Trigger condition: is active = 10x (x=1 thru 9 depending on filter number); non-active != 10x
- Nothing checked under “Options” tab
Any feedback would be much appreciated.