I am testing a new project which I am trying to write table component data to an array tag that is part of a UDT in the PLC. I will eventually be writing to 4 different PLC’s. The total array for the UDT is 501 skipping 0, so a total of 500 customers. I assume that I would setup the script to read the table data and then write to the tag array using a for loop. But I wasn’t for sure if system.tag.write would work in this case? Is there any certain scripting function you have to use for something like this. Any one worked on a project like this? I only need to write to two tags for each customer (Configuration and Name.)
Tag path one: [default]Test PLC 1/Customer/Customer_0_/Configuration
Tag path two: [default]Test PLC 1/Customer/Customer_0_/Name
Tag structure pic. The two red circle are the ones I need to write to.
additional info for the current screen in ignition.
One tag will be tied to a button on a HMI (Name). The other tag is the (Configuration) Number. The table data is pulled from a database table. I am using a alternate ID column so I can continue to keep the Customers in ABC order as new ones are added.
System.tag.* should work, but you might consider just using system.opc.* for on-demand communications. It really depends on whether you need all of this data available live in Ignition for other purposes.
I mean that subscribing to a large array of a complex structure might be an unjustified load on your PLC comms for occassional display and editing activity. If that matters to you (it matters to most). Using system.opc.* to bypass the tag system is one method to access these PLC values only when needed. A driven subscription is another way. (The subscription is active only when a particular condition is true.) You haven’t really shared enough about the environment to be more specific.
I see what you are saying. Most of the time I will only have to write to the tags once or twice a month. Some months it might be alittle more. So using the system.opc in this case might be the best solution but If I do have to display the data at some point then I could use the driven tag group.