We have a warehousing system that has hundreds of conveyors and each conveyor has hundreds of tags that needs to be read/write. We are using a Control Logix PLC and the controller has about 750K global tags. We are testing creating our HMI using Ignition Designer. Surely importing all global tags failed. Can Ignition handle this volume? What is the best way to go about this?
Are they really global tags? Or structures and arrays?
The PLC has 750K, but the HMI doesn't and shouldn't read all of those tags. Of those 750K how many tags will the HMI need?
Any place where you can use UDTs, I would take advantage. That is both in the PLC and HMI.
Global tags. Here is what it shows as tags staged for import.
I can explain further. We could have around 100 conveyor sections. Each conveyor section would have 12-15 points of data that needs to be read/write. We also have data for products on each conveyor section. A product would have 9-10 tags. You can see how this adds up. Currently FactoryTalk handles all that no problem. Wondering if Ignition can do the same.
Ignition can handle 750k tags, but there's very little chance that your PLC can handle Ignition actually polling 750k tags all at the same time. You'll have to be meticulous about setting up reasonable rates and leased scan classes.
FactoryTalk can do a little better because it uses some proprietary polling method that they don't document for 3rd parties.
Especially if you are using direct connections within FT, which means those read/writes are only polling when the window is active.
Is this why I get this message when trying to import all those tags at once?
"Results for asynchronous rpc call were not received within the specified amount of time [60000 ms] for task '3921545f-160a-49ba-941c-59951b7155d3' "
Try importing them in smaller chunks. I'm not surprised trying to import 750k at once times out. That's now how large systems are typically built. It's usually done over time and by instantiating UDTs, not just a bulk OPC import.
By my math that is 2500 tags
Let me emphasize this. If you are simply dragging from the OPC browser over into Ignition's Tag browser, you are screwing up. Don't do that. Construct a UDT for a conveyor section, possibly with a product UDT nested, and have a parameter for the UDT that is the folder prefix for the location of the data in the PLC. Then, when you create a UDT instance, you are "creating" 25 or so tags at once, already organized for your conveyor sections.
Create these UDT instances in a folder and subfolder structure that makes operational sense for your conveyors' layouts. Ignition's outer tag folders do not have to, and almost always should not, match the organization of tags in the PLC.
You can create UDTs from existing tags. In case you aren't aware, check out the docs
In case you are just starting out, I also recommend Inductive University, https://www.inductiveuniversity.com
In the Ignition Exchange, there is a custom module that allows you to import tags and even create UDTs straight from a .L5K file. It's awesome!
You may find the JSON files generated by my new driver to be helpful: