To manually add an I/O device to a project, you need to specify its properties using the Topology activity. The properties depend on both the I/O device and protocol.
You should verify your system meets the hardware and software requirements needed to establish communication between a device and Citect SCADA.
This may include a variety of possibilities, including:
The Driver Reference Help provides the hardware and software requirements for each device, and includes any additional information you need to know about setting up specific devices.
Note: You can use the Device Communications Wizard to add an I/O device to your project. This will automatically configure many of the property settings described in this topic.
To add an I/O device:
I/O Device Properties
Property |
Description |
---|---|
Server Name |
The name of the I/O server to which the I/O device is connected. |
Name |
The name for the I/O device (31 characters maximum). The name needs to be unique in the Citect SCADA system, unless the I/O device is defined in other I/O servers (to provide redundancy). If redundancy is used, the I/O device needs to then have the same I/O device number and address for each I/O Server. use different I/O device names for your primary and standby I/O devices, otherwise I/O device Cicode functions cannot differentiate between them. |
Number |
A unique number for the I/O device (0-16383). The number needs to be unique in the Citect SCADA system, unless the I/O device is defined in other I/O servers (to provide redundancy). If redundancy is used, the I/O device needs to then have the same I/O device number and address on each redundant I/O server. You may use the same device name, but if you want to use I/O device Cicode functions, it is easier to have different I/O device names. |
Address |
The address of the I/O device (64 characters maximum). The format of the address you enter in this field is determined by the type of I/O device (and protocol) used, as each has a different addressing strategy. |
Protocol |
The protocol used to communicate to the I/O device (16 characters maximum). Many I/O devices support multiple protocols, dependent on the communication method chosen. |
Port Name |
The port on the board to which the I/O device is connected (31 characters maximum). This is necessary to link the I/O device to the port. For example Board1_Port1. Note: There is a limit of 255 COMx ports on a server. To avoid this limitation restricting the number of remote I/O devices you use, you can connect multiple remote I/O devices to the same port as long as communication details (telephone number, baud rate, data bits, stop bits and parity) are identical. |
Startup Mode |
The type of I/O device redundancy used. The options are:
To use Standby or StandbyWrite modes, you need to also configure a primary I/O device with the same I/O device name, number and address. Note: Avoid using StandbyWrite mode for scheduled I/O devices because there is the possibility that the Standby I/O device write queue will not be cleaned up. When writing to a scheduled I/O device which it is not communicating, write requests are queued up until communication resumes. In case of using I/O device redundancy and StandbyWrite mode, Primary and Standby I/O devices have their own queues of pending write requests. If I/O device communication is controlled automatically by the communication schedule, then both queues are flushed when the schedule dial-time occurs. Where manual communication is controlled by the IODeviceControl Cicode function, only the Primary I/O device write queue is flushed and the Standby I/O device write queue will not be cleaned up. |
Priority |
Specifies the order standby devices are promoted in if a primary I/O device becomes inoperative during runtime (8 characters maximum). If there is more than one standby I/O device configured for a cluster, you can use this field to give precedence to a particular standby device. If this field is left blank, priority will be automatically allocated to the device during project compilation, based on the priority settings of other standby devices and/or the order in which the devices were configured. See I/O Device Promotion. |
Memory |
Specifies whether the I/O device runs in Memory mode. The default value is FALSE. If you select TRUE, the I/O device will be created in memory and its values stored in memory at runtime. This may be useful if you are testing your system, before connecting physical I/O devices, as memory mode stops Citect SCADA from communicating with physical I/O devices. See Using Memory Mode. Note: If a device is configured with Memory set to TRUE, the Port Name and Address fields can be left blank as they will not be used by the compiler or the I/O server at runtime. |
Read-Only |
Specify whether the I/O device is read-only. The default value is FALSE. If you select TRUE, any attempt to write to a tag associated with the I/O device will be unsuccessful. |
Exclusive |
This setting controls the way in which redundant I/O device(s) configured with the same network number on different I/O servers activate communications to the physical device they represent. When Exclusive is set to TRUE, only one I/O device (on one I/O server) will activate communications to the physical device at a time. The best available I/O device (online with the lowest priority) at a particular time will be chosen to actively communicate. When this I/O device is no longer the best available, it will deactivate, which will in turn trigger the best available I/O device on another server to activate. When Exclusive is set to FALSE (default), the best available I/O device will typically be the only active I/O device; however this may not be enforced. When a different I/O device becomes the best it will activate immediately, without waiting for the other I/O device to deactivate. An I/O device that is not the best may also be forced into actively communicating with the physical device if a particular client can only communicate with the I/O server that I/O device is running on. Note: The parameter |
Comment |
Any useful comment. This field is optional and is not used at runtime. |
Note: For the Number, Protocol and Port properties, the same network number is used for redundancy (as stated above), however this implies that the protocol is usually the same (though there maybe some special circumstances where devices support multiple protocols) and the Port modes are similar. i.e. a real world port reference, DISKDRV or MEMORY . If DISKDRV is being used, then redundant units (i.e. the same NUMBER) needs to be DISKDRV. This also applies for MEMORY mode.
Property |
Description |
---|---|
Linked |
Select TRUE or FALSE to specify whether or not the I/O device is linked to an external data source (see Linking Tags to an External Data Source). If you link to an external data source, Citect SCADA is updated with any changes made to the external data source when a refresh is performed (see Refresh the Tags for a Linked I/O Device). If you disconnect an existing link, you can choose to make a local copy of the tags in the database or you can delete them from Citect SCADA's variable tags database altogether. If an I/O device is linked to an external data source the Database Type, External Database, Connection String, Tag Prefix and Live Update fields will be greyed out. |
Database Type |
The format of the data referenced by the external data source. |
External Database |
The path and file name of the external data source for the I/O device. If the Linked property is set to TRUE (and a Database Type has been specified), you can use the Browse button next to this field in the Property Grid to select and validate a database. Alternatively, you can enter the IP address/directory, computer name, or the URL of a data server. For example:
|
Connection String |
Enter a connection string to provide connection details for the data source. This is similar to an ODBC connection string. For example: UserID = XXX; Password = YYY or ServerNode=111.2.3.44; Branch=XXX Not every data source needs a connection string. |
Tag Prefix |
The prefix that will be inserted in front of the names of linked tags in Citect SCADA's variable tags database (for this I/O device only). To change the prefix, delete it first, perform a manual refresh, then add the new prefix. |
Automatic Refresh |
Determines whether the linked tags in Citect SCADA's variable tags database will be updated when the external data source is changed. This refresh will occur the first time you link to the data source, and then whenever you compile your project. Without an automatic refresh, you will need to perform a manual refresh to update the linked tags in Citect SCADA (see Refresh the Tags for a Linked I/O Device). |
Live Updating |
Controls whether or not the linked tags in Citect SCADA and an external tag database will be synchronized if either database is changed. To enable live linking, choose Yes from the Live Update menu. When Live Update is enabled and the variable tag database is accessed (for example, during project compilation or when a drop-down list is populated), Citect SCADA queries the external tag database to determine if it has been modified. If so, Citect SCADA merges the changes into the local variable tag database. Conversely, any changes made to the local tag variable database will be incorporated automatically into the external tag database. |
Property |
Description |
---|---|
Log Write |
Enables/disables the logging of writes to the I/O device. When enabled, writes are logged to the SYSLOG.DAT file in the logs folder of the Citect SCADAUser and Data folder selected during installation, also specified in the INI file as [CtEdit]Logs. See Tag Functions for information about TagWriteEventQue and logging tag data. Note: Logging writes to every I/O Device may slow communications as the Citect SCADA system will be writing large amounts of data to disk. However, logging of writes is useful when debugging a system. |
Log Read |
Enables/disables the logging of reads from the I/O device. When enabled, reads are logged in the Citect SCADA SYSLOG.DAT file. Note: Logging reads to every I/O device may slow communications as the Citect SCADA system will be writing large amounts of data to disk. However, logging of reads is useful when debugging a system. |
Property |
Description |
---|---|
Cache |
Enables/disables data caching. When enabled, a cache of the I/O device's memory is retained at the I/O server, thus improving communications turn-around time. Note: Data caching has to be enabled for scheduled I/O devices, but disabled for memory or disk I/O devices. |
Cache Time |
The cache time specified in milliseconds. When caching is enabled, data that is read from a I/O device is stored temporarily in the memory of the I/O server. If another request is made (from the same or another client) for the same data within the cache time, the Citect SCADA I/O server returns the value in its memory - rather than read the I/O device a second time. Data caching results in faster overall response when the same data is needed by many clients. A cache time of 300 milliseconds is recommended. The Cache Time for a scheduled I/O device is automatically calculated. You can view a scheduled I/O device's cache time using the Kernel Page Unit command. |
Property |
Description |
---|---|
Background Poll |
Specifies that tags for a particular device are continuously polled at a minimum background poll rate. The options are True or False. Set this field to True if you are operating on a slow network, with a slow device, or where tags may normally only be polled infrequently. |
Background Rate |
When Background Poll is set to True, specifies the minimum rate by which the device will be polled. You may select any predefined value from the drop-down list, or enter your own in the format of HH:MM:SS. If a value is not entered, the default value of 30 seconds will be used. |
Min Update Rate |
The DataSource will send tag update value notifications to subscription clients after a pre-defined period of time expires. You may select any predefined value from the drop-down list, or enter your own in the format of HH:MM:SS. If a value is not entered, the default value of 0 seconds will be used and no update value notifications will be sent. |
Staleness Period |
Staleness period represents total number of seconds that will elapse after the last update before extended quality of the tag element is set to "Stale". You may select any predefined value from the drop-down list, or enter your own in the format of HH:MM:SS. If a value is not entered, the default value of 0 seconds will be used and tag elements will not be set to "Stale". Note: For further information on Minimum Update Rate and Staleness Period refer to Tag Data Persistence. |
Property |
Description |
---|---|
Scheduled |
Determines whether the I/O device is configured for scheduled communications. This is normally set using the Device Communications Wizard. Note: If a schedule for a dial-up remote I/O device is not specified, the connection will be established at startup and will remain connected until shut-down. |
Time |
The I/O server will attempt to communicate with the I/O device at this time, and then at intervals as defined below. This time is merely a marker for Citect SCADA. If you run up your project after this time, the I/O server will not wait until the next day to begin communicating. It will operate as if your project had been running since before the start time. |
Period |
The time between successive communication attempts. The period needs to be long relative to the driver's watchtime and the [Dial]WatchTime. If necessary, decrease these watchtimes or increase Period to make Period more than double the watchtimes. Examples (based on a Synchronize at time of 10:00:00):
Select On Startup for a persistent connection. To disconnect a persistent connection, you need to call the IODeviceControl() function with type 8. |
Connect Action |
Cicode to be executed once communication with the I/O device has been established (and before any read or write requests are processed). |
Disconnect Action |
Cicode to be executed once communication with the I/O device has been terminated (and after read and write requests are processed). |
Phone Number |
The telephone number that needs to be dialed to initiate contact with the I/O device. (i.e. for dial-up remote I/O Devices) |
Property |
Description |
---|---|
Set to TRUE or FALSE to indicate if the persistence of the tag cache file is on or off. Default is TRUE and the data will be written to the XML file as described in "File Name" below. If one of the primary/standby I/O devices (identified by the same network number) has persistence set to FALSE, then every device has it turned off. |
|
Persist Period |
Indicates how often to persist the XML cache file to disk. Default is 10 minutes (00:10:00). Normally, the period used is the highest value specified for one of the primary/standby I/O devices (identified by the same network number). |
File Name |
Indicates the path to the file on disk where the XML cache will be stored. You can specify just the path or the path with the actual file name. The default is Data directory using the format: <ClusterName>.<IOServerName><ClusterName>.<IODeviceName>.cache. If the location cannot be created, then either the default path, default file name or both is used. Normally, the path used is the first non-empty path specified for one of the primary/standby I/O devices (identified by the same network number). |
Property |
Description |
---|---|
Project |
The project in which the I/O device is configured. |
See Also
Published June 2018