Yeah, i already used transaction groups. I want to verify and validate if all the transactions are captured by using other methods. Based on our checking there is a transaction that skip in the transaction group.
It’s probably a timing issue. OPC UA has timing in scan classes (or groups in Ignition 8). But that timing isn’t deterministic. So if the value goes high and low within the timer, Ignition will never see that value.
It’s better to either let Ignition reset the trigger after execution, or not reset that bit and act on any change.
Thanks for the info.
Okay sir, i based on my set up. I set the timer into 1 millisecond which means this reason will possible never see the value?
Regarding the trigger it is a button in the HMI where in if you click it the trigger it will becomes “True”, which means the trigger is already resetting correct me if im wrong.
If it's an Ignition button, I would just add a script to the button, and not use any tags as trigger.
Just use a regular button, and add an "actionPerformed" script.
Inside that script, get all the tags into variables:
The save button is my Trigger in the tags before_cutting_area_record_trigger that i used in the Transaction Group.
Regarding script into the button, thanks for the info i get it. but i will try to script it into the textbox that binds to a record_trigger (Tags), if the value of the textbox is true then call the name query.
Is that possible?
Ah, it’s a Siemens HMI, ignore my previous post then.
When you click that button, the PLC sets the warm_carcass_whole_record_trigger to 1.
But the question is, what code is setting that bit back to 0.
You should try to find that code, and disable it. But in Ignition enable the “Reset trigger after execution” checkbox. Then Ignition will set that bit back to 0.
Yes, it turns 1 when the HMI button clicked then it reset automatically to 0 after clicked.
But the problem when i try it into the Transaction Group, sometimes data skipped or doubled. I don’t think if my set up in the transaction group is the problem my execution timer is 1 millisecond.
I don’t think you need the “only evaluate when values have changed” checkbox checked. When your transaction group timer executes that should evaluate or read the current value of your trigger.
Also, you mentioned the transaction group timer being 1 ms but what is the scan class / tag group of the actual warm_carcass_whole_record_trigger tag? If that isn’t as frequent as your transaction group timer you might not be evaluating the most recent value.
Transaction groups can certainly get confusing. The documentation in the user’s manual is pretty good at breaking down their order of operations.