Reference Item names in Equipment editor?

Hey Guys,

Real quick, is there a way to reference the item name in the equipment editor?

Trying to build a bunch of equipment and data types. Being able to reference the equipment name would save me some time. 

Currently my tag name looks like this: {equipment.IODEVICE}_HGC_PRM_BOOL_19

Where I wish i could put {equipment.IODEVICE}_HGC_{equipment.ItemName}

Thoughts?
Thanks guys!

-Nick

  • Nick,

    I know you can reference the equipment instance name {equipment.NAME} (somewhat undocumented from what I can tell because it's not in the right-click menu) but I don't think there is a way to reference the actual item name in the template. You may be able to edit the underlying XML so it adds the item name to it during the update process. I know there are customizations that can be done in the XML, but I have not had any time to experiment with it much.

  • Nick,

    BOOL_19 is actually the item name in your example. So your tag name should look like

    {equipment.IODEVICE}_HGC_BOOL_19. 

    Hope this would be helpful.

    ~jacky

  • Jacky,

    Bool_19, yes, is my item name. I'm trying to avoid having to re-type/paste it into the Tagname and Address field. 
    So i'd like to find a syntax to be {equipment.IODEVICE_HGC_PRM_{equipment.itemName} for the tagname

    And {equipment.IODEVICE}HGC.PRM.{equipment.ItemName} for the PLC address. 

    The idea is, if I make 1 item, then simply, duplicate the item and rename it to the item name i want, which matches with the PLC address, I can cut down alot of time adding items/tags. 

    This is a control logix PLC with ALOT of UDT's. 

  • This is a great idea,  .  I don't think it's possible at the moment, though I would love to be proven wrong.  It is in the spirit of DRY programming (as opposed to WET) which I wholeheartedly endorse, having created many templates with similar patterns and had quite a few hard to track down bugs because of this.  Perhaps you could suggest it at https://citectscada.ideas.aha.io.  I'll vote for it!

  • Nick,

    Item Name doesn't exist in the equipment dbf file so you cannot reference it in the template. In your screenshot, you are actually editing item Bool_19 that is a known value. So you have to duplicate it in both Address and Tag Name fields. Bool_19 will be added as an item name in Variable.dbf when the template is instantiated.

  • And now would be a good time for this idea as I believe some product development is focusing on equipment right now. I'll vote for it as well.

  • Have you tried using the syntax {type.name} yet? Because that's how it is defined in the xml if I'm not mistaken. If this does not work, I agree with   to raise an idea in the ideas forum. I'll vote for that as well.

  • I tried a few permutations,  , but if Jacky thinks it can't be done at the moment, I'm not going to argue!

  • It's the manual editing he tries to avoid, and that makes sense. A lot of copy-paste errors and typos occur just because of that manual editing. Having a placeholder for the item name makes duplicating items much easier.

  • Guys, I hope i explained this well enough, but I suggested it here
    https://citectscada.ideas.aha.io/ideas/SCADA-I-45

    I'm glad to see I'm not the only one who would like to see this! If you haave any input on my idea, I'm all ears. I can edit/update it right?

    I've been an HMI developer for a decade now. One of my biggest gripes about alot of these HMI platforms is having to maintain a tag database when using the ControlLogix platform. There are commands that can be sent to the controller to list all UDT's, tags, data and query everything. I had a 17 year old intern write a python script that did just this. He had a Raspberry Pi that could give me a complete taglist from a running controller. 

    I groan whenever the job requires Citect, Wonderware, iFix, etc...any one of these means hours spent building and maintaining a tag database. Hours that could be used programming. Whereas FactoryTalk or WinCC can just read what's in the controller and use it. I know some magic happens behind the scenes and a database still exists, but its near transparent. If I have a trouble call in the middle of the night, or the customer decides they want to add a few things to a screen, its easy to talk them through one of the non DB based programs. Generally they're happy and the issue is resolved in minutes. But if it's one of the aforementioned programs, now I have to either go onsite, or begin the process of attempting to get VPN access.

    Now it makes sense in a memory addressed PLC to have a tag database, like Ge, AutomationDirect, or the old PLC/SLC5 series. 

    If we are stuck using it, I'd like to see it happen as painless as possible. This would def be a step in the right direction. 

    Based on what the equipment editor does, I wonder if it would be possible to write an XLST transform to convert a ControlLogix UDT L5k export into something Citect's equipment editor would understand. That would skip all of this.