Just want to ask how can I optimize the write and read speed from ignition to plc and not affecting cycle time?
I have 120054 tag count and I’m using Ignition 8.0.14 and Siemens ET200sp PLC. I’m also using different tag groups but it’s still too slow.
Tried different tweaks like using Leased and changing tag scan time but sometimes my PLC cycle time goes really high. My target is to have a consistent less than 150ms plc cycle time, 1000ms read, and around 500ms write.
Attached is the statistics from Gateway Device Page and PLC Cycle Time.
Also, for reading tags, what I’m doing is reading each Bits from Word instead of just Word only. (like the photo below)
Would it be better to read the whole word only and just use getBit expression function or reading each bits is better?
No, the driver should already be making that optimization.
Those load factor numbers are misleadingly low. We’re going to be replacing that calculation with something more reliable in the future. Look at, for example, the 1103ms group. 191 requests in it, you should be seeing something like ~170 req/s as the throughput, not 45 req/s. I don’t think any of your rate groups are keeping up as requested. I don’t know why the load factor numbers are so wrong.
You are simply requesting way too may tags at too fast a rate for this PLC to keep up. There is little you can do besides use leased scan classes, slower rates, and subscribe to less tags.
@Kevin.Herron thanks for reply! I tried your suggestion of doing slower rates and it improve my system
Here’s the new statistics:
As you can see on the Photo above my Throughputs are now 40%++ of the Request Count.
Base on your example last time you said that at 1103ms with 191 Request Count that I should be getting ~170/sec Throughput which is ~90% of the Request Count. Do you have any more suggestions on how I can optimize my scan classes to get a throughput of more than 50% up to 90%?
On another note, I noticed that when I’m connected to Ignition Scada my PLC Cycle Time jumps up and down a lot (Attached GIF below for reference). But when I’m not connected to Ignition the Cycle time is more consistent and short.
Is the Cycle Time Jumping up and down Normal when Connected to Ignition? or Is it something I’ve done on Ignition Settings that’s causing this?
Cycle Time Scada
Cycle Time No Scada
Everything you are showing indicates you are simply trying to do more than that little PLC can handle. Buy a more powerful CPU (PLC cpu).
These new throughputs look pretty good, but I doubt there’s anything you can do about the cycle time because you’re still ultimately just hammering the PLC with requests pretty much constantly (aggregate 1 min throughput of ~340 req/s).
One of the nice things about the newer AB L8x series is that they have a dedicated CPU core for comms so you don’t have to deal with these kinds of tradeoffs/compromises when you have a high comms load.
Yes, you are overloading your processor with communication. You can trade cycle time vs. comm load in the hardware settings:
Default is 50%. Communication load also includes online functions from your programming software. In your situation, even connecting with TIA and showing the cycle time stats might increase the cycle time.