Good method for UDT management

Canuck. Z is correct. and i'll die on that hill... :smiley:

okay. i'll dig into that and see what i can find. somehow in my career, i've skirted the industrial control space, but never did more than skim the surface. now i'm in the deep end of the pool. :ocean: far cry from micro-controllers and building IC circuits. thanks for the kind pointers. :smiley: :100:

Yes, I'm led to believe that "The Kings English" is actually wrong, and some American spelling was there first. Have to agree to disagree on aluminium, though :slight_smile:

i'm a hybrid. Z because that's the sound. colour because that just makes me feel superior. :smiley: the sad thing is, if we really go hard, we wind up spelling like the Germans. :astonished: :laughing:

Getting way off topic here, but I did French in school but am more Fluent in Polish now. I have enough Z's in my life from there =)

excellent! :100: this is why i love this community so much. :+1:

my Ukrainian is rusty as hell... :wink:

You could perhaps define a generic UDT for such dynamic equipment wherein you define arrays for digital and analog inputs and outputs and accommodate new changes in the component I/O into these arrays. Size of the array should be maximum anticipated types of equipment of a particular type (Motor, Pump etc). Also a field defining equipment type (1,2,3.. or A,B, C ...). That way your UDT definition doesn't change but its instantiation will change in each project. (something like that!)

@PRAMANJ does this work in terms of a single 'global' UDT source for multiple projects? which is really where this all needs to wind up at: a master UDT source that behaves like a master project does.

and i am fully prepared to accept this is not currently doable. i just hate "can't"... :stuck_out_tongue:

Tags are common to ALL projects! So are UDTs.

It does as long as all your projects use the same tag provider.

As others have said, the UDT's are tied to tag providers, not projects. I think this is where you are going to run into issues because from what I can gather, your different projects have different tag providers (custom 1 provider and customer 2 provider, based on your explanation further above)

There is no global UDT source/resource. The next best thing I can think of is to store a UDT configuration in a script library that is inherited by both projects and then when you make a change to one, run a script that rebuilds/recreates the UDT in every tag provider that needs the updated UDT. system.tag.configure is going to be your friend there.

1 Like

@ryan.white gotcha. yeah. from what i've read and heard here, this seems to be the only viable option for our particular scenario. shouldn't be too difficult to implement either. just a crap-tonne of JSON... :stuck_out_tongue: but that's why we have copy/paste! :partying_face:

You could also store the JSON separately in files and then import them in as part of your script. May or may not be useful for your use case (allows version control of the UDT? sort of)

yeah. that's kind of where i was going to go with your advice. keeping several hundred line of JSON in a script is sub-optimal.

text → :trophy: