I/O auto assignment
- Last UpdatedAug 19, 2024
- 3 minute read
Instead of configuring I/O references manually, or writing scripts to set them at runtime, you can use I/O auto assignment. Manual configuration of I/O references can be time consuming. Scripting these references eliminates the issues of manual configuration, but can significantly increase the time needed for deploying objects. With I/O auto assignment, you do not need to check out individual objects to configure I/O references, and you do not experience the runtime penalties associated with scripting.
Note: I/O auto assignment is the default setting for application and other system objects, such as area objects. Device Integration objects, such as the OPCClient object, must be manually configured.
When you add input or output attributes to an area or application object in the Attributes page of the Object Editor, the default setting prepares these attributes for I/O automatic assignment. The auto assignment reference appears in the I/O section of the Attributes page if you have enabled the I/O attribute feature. The default string for an input reference is:
<IODevice>.[ObjectName].[AttributeName].InputSource
where [ObjectName] is the hierarchical name of the application or system object, and [AttributeName] is the name of the attribute.
The default string for an output reference is:
<IODevice>.[ObjectName].[AttributeName].OutputDest
The string <IODevice> is a placeholder that indicates the I/O reference will be built automatically in a process called auto binding. The reference resolves automatically as an auto-bound reference when you link the object to a scan group and DI object, without having to manually enter or script the reference.
The following is an example of an I/O reference string before the object has been assigned to a scan group and DI object:
<IODevice>.Mixer.Tank.Inlet.InputSource
Once you assign the object to a scan group, the reference resolves to include the assigned Device Integration object and scan group. For example, assigning the object to the scan group "Fast" under DI object "OPC001" will change the reference to:
OPC001.Fast.Mixer.Tank.Inlet.InputSource
Important: Do not lock InputSource or OutputDest attributes when using I/O auto assignment. If either InputSource or OutputDest attributes, or both, are locked in the parent template, the attributes cannot be updated with the resolved auto-bound reference when the object is deployed, and the runtime value will be "---Auto---".
I/O auto assignment is configured in the IO Devices view. Use this view to associate application and system objects with DI objects and scan groups.
Scan groups are contained by DI objects and help categorize devices that are associated with them on the basis of how often their I/O points are scanned. For basic information about DI objects, see Device integration templates. For basic information about scan groups, see the OPCClient Object help file.
Note: A DI object will not appear in the IO Devices view unless at least one custom scan group has been defined for it.
Assign objects that need to be closely monitored or that have a faster rate of change to a scan group with a faster scan rate. Objects with slower rates of change can be assigned to a scan group with a slower scan rate. The scan rate is the rate at which the AVEVA runtime will perform scans. This may be different than the scan rate a PLC uses to monitor the hardware attached to it.
Note: Fast scan groups consume more network and computing resources than slow scan groups. In a large Galaxy, load balancing may require you to use multiple scan groups with similar scan rates.
The I/O references for the objects’ attributes set to use I/O automatic assignment are dynamically generated when you assign an object to a scan group. The auto-bound reference replaces the placeholder string and is displayed in the IDE. It is generally in the following format:
<DIObject>.<ScanGroup>.<Object>.<Attribute>
<DIObject> and <ScanGroup> correspond to the name of the DI object and scan group to which you assign the object. For example, if the DI object name is DI01 and the scan group name is FastSG, then the auto-bound reference will start with DI01.FastSG.
<Object> may consist of multiple elements if there are contained objects. The following is an example of an object string:
Tank3.Valve1.Attr2
Here, Tank3.Valve1 corresponds to <object>. The complete auto-bound I/O reference would be:
DI01.FastSG.Tank3.Valve1.Attr2
Although you assign objects, references are generated for each I/O attribute associated with the object, and not for the object itself. Therefore, you may have to change the I/O references for a subset of an object’s attributes. Once objects are associated with DI objects and scan groups, you can validate the auto-bound assignment for each of the object’s attributes in the Mapping view, and if necessary, you can enter override values in this view.