Monday, July 29, 2013

An Overview of Application Objects in Application Sever

Following up on a previous post, A Quick Overview of Automation Objects in Application Server, let's take a closer look at the Application Objects.

While System Objects provide the infrastructure to distribute and run your application, and Device Integration Objects give you the means to access I/O from the Galaxy, it is the Application Objects the ones that allow you to model the equipment in the field. For example, valves, motors, conveyors, level and temperature transmitters, they are all modeled through Application Objects.




At present, Application Server provides several Application Objects out of the box:
  • AnalogDevice: This object provides two configuration modes. As a basic analog I/O it can be used to model devices such a level meter or a temperature transmitter. As an analog regulator it can represent a PID loop running elsewhere (typically in a PLC). The object provides typical analog alarm and historization capabilities. You can easily duplicate then AnalogDevice functionality with the UserDefined object and more (see below).
  • DiscreteDevice: This object can be used to monitor and control devices that have up to five discrete states. From a simple on/off pump, to an open/transitioning/close valve, to a stop/running forward/running in reverse motor. The object provides alarm and historization capabilities; the alarm capabilities are hard to duplicate with the UserDefined object and will require extensive scripting. Along with the UserDefined object, this is a keeper when creating and configuring your Galaxy.
  • FieldReference: Forget about this object and it's derived templates (Boolean, Double, Float, Integer, and String). These objects are so basic that they just bring overhead to your Galaxy. Stick with the UserDefined object (see below) and UDAs (User-Defined Attributes) whenever you feel the urge to use a FieldReference object.
  • Sequencer: One of the two "specialty" objects (or at least that's how I like to call them). This object allows you to execute a series of steps defined by user-configurable conditions. It is useful to model basic supervisory or manufacturing procedures. Online training is available here (listed as ArchestrA Sequencer Object).
  • SQLData: The other "specialty" object, as I call them. Simply put, access SQL Server databases through this object by means of its attributes. It can easily be linked go other objects in Galaxy to read and/or write data you SQL Server databases. Online training is available here (listed as ArchestrA SQLData Object).
  • Switch: Another object you can forge about. A single discrete/boolean field attribute in the UserDefined object will provide the same functionality as this object and more.
  • UserDefined: The go-to object for Galaxy developers. You can use it to model basic equipment (like a tank with a level meter) or very complex devices (like a reactor system with multiple levels, temperatures, and switches). It allows you to add many boolean and analog signals, complete with alarming, historization, and scaling capabilities. Combined with UDAs (User-Defined Attributes), extensions, and scripting, you can model virtually any kind of equipment and implement any kind of advanced calculations and functionality.
Wonderware provides more Application Objects through some of the other software we have available. For example, Wonderware MES provides three new Application Objects: the OperationsCapability, UtilizationCapability, and SampleRecording objects. You can also create your own custom application objects with the ArchestrA Object Toolkit (here's a previous post with more information).

No comments:

Post a Comment