Dynamic Object Oriented programming in ArchestrA
As with most developers using Wonderware products, I often have to get creative to compensate for the limitations in the development platform, scripting language, etc. Lately, I've been need to create "objects" (in the object oriented programming sense of the word, not the app server sense). That is I need collections of data describing some real world thing. For example, I have been creating a callout feature for a client's SCADA host system. The callouts are stored in a SQL database and my scripts pull out a whole set at a time. Each callout has various attributes such as the callout type, the comparison operator (>, =, I have used the following method (read complete hack) to address the issue. I have created several UDA arrays with an initial size of 1 (number of elements) and a naming convention which shows their relationship: ConfiguredCallouts.Type ConfiguredCallouts.ComparisonOperator ConfiguredCallouts.Setpoints etc. The idea is that a given...