on 04-19-2012 4:30 PM
Hi Everybody,
I have a scenario I am hoping to get some help with.
I have a large number of status tags, 100+, that I would like to subscribe to in Plant Connectivity. These status tags will be one of the following values: 0,1,2,3,4. Each time one of these status tags change I would like to send a notification message to my MII system. However the issue is that I need to know which of the status tags generated the notification message. I was hoping to be able to send the status tag address (e.g. device1.tag1) as part of the notification message output, but I don't see a way to do that on my current PCo version. I know that something like this will be possible with a large amount of manual configuration/work, but I want to do this as efficiently as possible. I have looked at some of the aliasing options but that doesn't seem to offer me much help. Does anybody have any thoughts on how to do this efficiently?
Does PCo have any options to subscribe to a wildcarded tag? (e.g with 1 subscription item subscribe to device1.tag1 and device2.tag1 by using *.tag1)
Also is there a maximum/recommended number of subscription items per Plant Connectivity Agent? And a maximum/recommended number of notification messages per PCo Agent?
I am currently running PCo version 2.1.6.3, but if a newer version would help me do this more efficiently I will upgrade.
Sorry for the number of questions in this post, but I will reward points for any help!
Thanks,
Justin
Hi Justin,
Define an agent to the OPC datasource. Make sure you see all the status tags values changing.
Then create one notification per monitored tag (100 plus if needed, I have one with 180 items defined and is working fine). For each of the notifications you create, use a "generic transaction" which gets the device name as a parameter, and the status as reported by PCo. The notification output can be modified to include the device name (if the tags are not already named as such).
Usually I'm asking the shop-floor control guys to name the tags according to "machine_statustag" naming convention or at least create them within different PLC topics (directory structure on the PLC level) in a data concentrator PLC.
Since you need to access an OPC server and get the actual data from it, you don't need to use aliases. However, you can "rename" the PLC tags by defining a PCo Alias, mapping the flat-names in the OPC server with what you need for status reporting (i.e "machine_statustag" like)
Another option is to create one agent per machine .. but you'll need a lot of ports open and sometimes it needs a lot of horsepower to run 200+ windows services. If you run out of ports or resources, yo can install PCO on two machines and split the tags accordingly.
Efficiency wise, you can create Aliases/Agents for PCo in an XML editor, or even in Excel (and saveas XML), then import them. One note though: when importing XML files, PCo creates the Agents instead of updating them.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Justin,
You can do this:
It is still a bit of work but less than setting up 100+ separate notifications.
- Steve
Thanks for the idea.
This would work but is stateful and we would need to track the current state of each status_tag to know what is changing. This also might not be the most efficient method from a Mii standpoint. We are very concerned with performance, and adding a for each statement to my Mii transaction is not something that I want to do at this time.
User | Count |
---|---|
8 | |
7 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.