TheWaterboy
Lifetime Supporting Member + Moderator
Logix 1756-L82E processor.
I am using the .ST bit to time how long a MSG takes to complete. This works fine except for every 10th MSG cycle takes significantly longer to complete than the other 9 . Normal ST duration is around 270ms and this 10th one takes around 1.5 seconds.
I have 4 MSG's going over ethernet to 2 serial Gateways to 2 different serial radios on 2 different hilltops to 2 different PLC types.
I fire the first MSG after a 10 second rest and the other three fire when the previous one goes DN or ER.
If I decrease the rest time from 10 to 5 seconds this symptom reduces in frequency but doesn't stop completely.
I can only envision that I am seeing some sort of race condition where the CPU can't deal with the MSG flags until it completes something else and changing the order of something will correct this. PLC load is less than 1% , there are no continious tasks and I am monitoring the .EW bit to see if the Queue is filling up. I don't see that happening either.
Its not really a problem yet, but I just want to be able to explain it so I can anticipate it. I need to add a whole lot more to this sequence.
I am using the .ST bit to time how long a MSG takes to complete. This works fine except for every 10th MSG cycle takes significantly longer to complete than the other 9 . Normal ST duration is around 270ms and this 10th one takes around 1.5 seconds.
I have 4 MSG's going over ethernet to 2 serial Gateways to 2 different serial radios on 2 different hilltops to 2 different PLC types.
I fire the first MSG after a 10 second rest and the other three fire when the previous one goes DN or ER.
If I decrease the rest time from 10 to 5 seconds this symptom reduces in frequency but doesn't stop completely.
I can only envision that I am seeing some sort of race condition where the CPU can't deal with the MSG flags until it completes something else and changing the order of something will correct this. PLC load is less than 1% , there are no continious tasks and I am monitoring the .EW bit to see if the Queue is filling up. I don't see that happening either.
Its not really a problem yet, but I just want to be able to explain it so I can anticipate it. I need to add a whole lot more to this sequence.