...
Attributes | Function |
---|---|
Object Type | Internal Channel |
Parent(s) | System → Clients → Master Channels |
Instance | 0 to 15 (typically 15 is reserved for the Internal Channel, but instance 14 might also be used if a second ISaGRAF RTU is included) The Internal Channel must have at least Circuit child object defined under it. The Database Flush (DumpRTDB) object is an optional child under Internal Master. |
...
The ISaGRAF RTU (logic, I/O, and data) exists as a separate task inside the RediGate. Similar to an external RTU, the ISaGRAF RTU contains data. In order to get this data into an RTDB, it must be scanned by the Scan Table – even though it resides inside the same hardware. The reason for this is to have a consistent Channel structure for all RTUs. For a more complete explanation, see the section ISaGRAF Channel Functional Elements 43220993.
If the ISaGRAF RTU does not contain data that is necessary to store in an RTDB, then it is not necessary to define any polls to the ISaGRAF RTU. As one example, the ISaGRAF logic may be written with special ISaGRAF functions such as DMOV or ISAMOV to move data from ISaGRAF or an RTDB, or from one RTDB into another. Or, the ISaGRAF logic may simply act on data from other RTDB's, such as sending a Publish message or an E-mail. In these cases, the data contained within the ISaGRAF RTU may not need to be scanned by the Internal Channel in order to read it into the ISaGRAF RTDB, and thus no Scan Table rows need to be defined.
...
Properties | Values |
---|---|
Unit Name | Enter the field unit name as an identifier for the Field Unit. |
Unit Address | Enter the Field Unit address. This should be a unique address from any other ISaGRAF, Status, or Internal Master field unit addresses on this Internal Channel. The default address is 3. |
Protocol | Placeholder for field unit protocol type 'Repository Database Unit'. |
Com Retries | This parameter is a null field to retain compatibility with other field unit objects. The only option is 'N/A'. |
Comm Status Holdreg | Enter the starting holding register to contain the communication status for this field unit. Typically, this field is unused for the Virtual Unit. Each Comm Status takes 5 registers, beginning at the register configured in this parameter. The Comm Status Holdreg for each field unit in a configuration must be defined such that the five registers do not overlap other registers being used. If the register is defined in the 30,xxx address range, the status values will be stored in the local device's RTDB (i.e., the RTDB defined as a child object to this ISaGRAF Field Unit. If the register is in the 40,xxx range, the values will be stored in the Status/Control Field Unit RTDB. The Comm Status Holdreg is optional, and can be set to 0 to disable the storage of status registers. See the section Communication Status Registers43220993, for a description of the five Comm Status Register contents. |
Produce RBEs | Select this option to determine whether to produce a Report by Exception (RBE) flag when data in this unit's RTDB changes. In the RTDB, for every data point, there are potentially 4 RBE flags associated with every data point. When the data point changes, the RBE flags are set. These flags are used to determine when new data needs to be reported to the HCP. |
No Polls | This parameter is a null field to retain compatibility with other field unit objects. The only option is 'N/A'. |
...
Attributes | Function |
---|---|
Object Type | FieldUnitInternalMast |
Parent(s) | System → Clients → Master Channels → Internal Channel → NullCircuit |
Instance | Must be between 0 and 256, and should be unique under this Null Circuit among all Status, Virtual, and Internal Master field units. The Internal Master Field Unit should have a Modbus RTDB43220993 child object defined under it (see page ). |
...
Properties | Values |
---|---|
Unit Name | Enter the field unit name. |
Unit Address | Enter the field unit address. This should be a unique address from any other ISaGRAF, Status, Virtual, or Internal Master field unit addresses on the Internal Channel. The default address is 5. |
Protocol | Select the Protocol type for the Internal Master field unit. The Protocol selection determines the rules by which a host can access the data in this Virtual Master's RTDB, via attachment to a Slave Channel. Available Protocol types are:
|
Com Retries | Enter the number of communication retries after a failed poll attempt. If a poll attempt fails, poll will be sent again up to the configured number of "Com Retries" before the field unit is declared failed. |
Comm Status Holdreg | Enter the starting holding register to contain the communication status for this field unit. Each Comm Status takes 5 registers, beginning at the register configured in this parameter. The Comm Status Holdreg for each field unit in a configuration must be defined such that the five registers do not overlap other registers being used. If the register is defined in the 30,xxx address range, the status values will be stored in the local device's RTDB (i.e., the RTDB defined as a child to this Field unit). If the register is in the 40,xxx range, the values will be stored in the Status/Control Field Unit RTDB. The Comm Status Holdreg is optional, and can be set to 0 to disable the storage of status registers. See the section Communication Status Registers43220993, for a description of the five Comm Status Register contents. |
Produce RBEs | Select this option to determine whether to produce a Report by Exception (RBE) flag when data in this unit's RTDB changes. In the RTDB, for every data point, there are potentially 4 RBE flags associated with every data point. When the data point changes, the RBE flags are set. These flags are used to determine when new data needs to be reported to the HCP. |
Poll Table | Click the Edit Table button to define the Modbus polls to be sent to this unit. Note that the Poll Table only defines how the Modbus protocol is defined to operate for each set of data defined in the polls. The Poll Table doesn't actually do any of the polling itself. If you want any of these polls to be sent to the Field Unit on a regular basis, it should be referenced in one or more Scan Table entries in the Master Channel. Src Chan – Enter the Channel number of the RTDB containing the source data. This is either a Master Channel or Internal Channel instance number that must be defined under the Master Channels placeholder. Src RTU – Enter the Field Unit number of the RTDB containing the source data. This is the Unit Address configured in the properties of the field unit, not the instance number of the field unit ACE object, if they are different. Src Data – Enter the source register number for the starting register in the Field Unit's RTDB to begin retrieving data. Src Type - Enter the data type of the data being requested. See below for a discussion of Src Type options in the Master Channel. Src Count – Enter the number of registers to retrieve. The maximum number allowed in any poll is the same as for Modbus polls: 2000 500 Boolean registers, 125 registers of 16-bit type, or 62 registers of 32-bit type. The Count includes the number of register values being requested, starting at the Src Data register. Dest Data – Enter the starting destination register within this Internal Master's RTDB to place the polled data. Ensure that there is a large enough quantity of registers in the RTDB to store the count. The destination register type should be chosen based on the Source Format of the data. Booleans should be stored into Boolean RTDB registers. 16-bit values should be stored into 16-bit RTDB registers. 32-bit values or 16-bit pair values should be stored into 32-bit RTDB registers.
|
Discussion on Source Type
...
Src Type | Source data | Dest data | Meaning | |||
---|---|---|---|---|---|---|
Boolean | Boolean | Boolean | Single on/off bit occupies a register | |||
8 bit |
|
| Take lower 16-bits of an integer register. | |||
16 bit | 16 bit | 16 bit | Typical 16-bit register type. | |||
24 bit | 32-bit | 32-bit | Take lower 3 bytes of a 32-bit integer register | |||
32 bit | 32 bit | 32 bit | ||||
Short String | STRING32 | STRING32 | ||||
Long String | STRING256 | STRING256 | ||||
UTF String |
|
|
| |||
Event |
|
|
| |||
Double-Float | 64 bit | 64 bit |
| |||
Copy 16-Bit pairs into 32-Bit Regs | 16 bit | 32 bit | Registers are taken as pairs, and the Src Count should be the numbers of pairs of registers (32-bit entities). (Source registers are little-endian.) | |||
Swap 16-Bit pairs into 32-Bit Regs | 16 bit | 32 bit | Registers are taken pairs, and the Src Count should be the numbers of pairs of registers (32-bit entities). (Source registers are big-endian.) | |||
Split-Copy 32-bit Regs into 16-bit-Pair Regs | 32 bit | 16 bit | 32-bit register is broken into pairs of 16-bit registers | |||
Split-Swap 32-bit Regs into 16-bit-Pair Regs | 32 bit | 16 bit | same as above, but swapped | |||
Boolean-Src to 16-Bit-Dest Hi to Lo Bits | Boolean | 16 bit | Boolean source registers are taken in groups of 16, with the first register becoming the most-significant bit (MSB) in the 16-bit value. | |||
16-Bit-Src to Boolean-Dest Hi to Lo Bits | 16 bit | Boolean | 16 bits in source register(s) are placed sequentially to Boolean registers, in the order of most-significant bit (MSB=1st destination register) to least-significant bit in each 16-bit word. | |||
16-Bit-Src to Boolean-Dest Lo to Hi Bits | 16 bit | Boolean | 16 bits in source register(s) are placed sequentially to Boolean registers, in the order of least-significant bit (LSB=1st destination register) to most-significant bit in each 16-bit word. |
...
However, if the Comm Status Register for any Field Unit is defined with a starting address in the 30,xxx address range, the communication status values for that device are stored in the RTDB for that Field Unit rather than the common Status Field Unit RTDB. In that case, the Status Field Unit is not necessary and may be omitted from the configuration.
See the section Communication Status Registers 43220993 for a description of the communication status registers stored for Field Units.
...
The Status Field Unit should have a Modbus RTDB 43220993 child object defined under it (see page ).
...
Communication Status Registers
The section Status Field Unit 43220993 describes the Status Control RTU, which stores communication statuses for field units. The five status values contain the following data for each unit:
...
Attributes | Function |
---|---|
Object Type | FieldUnitSegment |
Parent(s) | System → Clients → Master Channels → Internal Channel → NullCircuit |
Instance | Must be between 0 and 255, and should be unique under this Null Circuit among all Status, Virtual, and Internal Master field units. |
...
Properties | Values |
---|---|
Unit Name | Enter the field unit name as an identifier for the Field Unit. |
Unit Address | Enter the Field Unit address. This should be a unique address from any other ISaGRAF, Status, Virtual, or Internal Master field unit addresses on this Internal Channel. |
Protocol | Placeholder for field unit protocol type 'Segment Database Unit'. |
No Comms | Unused |
Not Used | Unused |
No Polls | Unused |
Segment RTDB
A Segment RTDB (Real Time DataBase) defines the size of the virtual database reserved for the Segment Field Unit. The Segment RTDB contains some significant differences from other RTDB objects. It is more flexible in size and construction, and multiple Segment RTDBs may be configured under a single Segment Field Unit. The Segment RTDB also allows deadbands to be defined in the database by point number, rather than through a separate field-based Deadband object.
...
Src Type | Source data | Dest data | Meaning | |||
---|---|---|---|---|---|---|
Boolean | Boolean | Boolean | Single on/off bit occupies a register | |||
8 bit |
|
| Take lower 16-bits of an integer register. | |||
16 bit | 16 bit | 16 bit | Typical 16-bit register type. | |||
24 bit | 32-bit | 32-bit | Take lower 3 bytes of a 32-bit integer register | |||
32 bit | 32 bit | 32 bit | ||||
Short String | STRING32 | STRING32 | ||||
Long String | STRING256 | STRING256 |
| |||
UTF String |
|
|
| |||
Event |
|
|
| |||
Double-Float | 64 bit | 64 bit |
| |||
Copy 16-Bit pairs into 32-Bit Regs | 16 bit | 32 bit | Registers are taken as pairs, and the Src Count should be the numbers of pairs of registers (32-bit entities). (Source registers are little-endian.) | |||
Swap 16-Bit pairs into 32-Bit Regs | 16 bit | 32 bit | Registers are taken pairs, and the Src Count should be the numbers of pairs of registers (32-bit entities). (Source registers are big-endian.) | |||
Split-Copy 32-bit Regs into 16-bit-Pair Regs | 32 bit | 16 bit | 32-bit register is broken into pairs of 16-bit registers | |||
Split-Swap 32-bit Regs into 16-bit-Pair Regs | 32 bit | 16 bit | same as above, but swapped | |||
Boolean-Src to 16-Bit-Dest | Boolean | 16 bit | Boolean source registers are taken in groups of 16, with the first register becoming the most-significant bit (MSB) in the 16-bit value. | |||
16-Bit-Src to Boolean-Dest | 16 bit | Boolean | 16 bits in source register(s) are placed sequentially to Boolean registers, in the order of most-significant bit (MSB=1st destination register) to least-significant bit in each 16-bit word. |
The instance number and point count for each Segment RTDB implicitly defines the data addresses that can be used when referring to data values in the Segment RTU. Note that the registers in Segment RTDBs are defined in blocks of (multiples of) 300 points per instance number. If one Segment# includes more than 300 points, as with Segment #2 in the above example, you must not skip those Segment RTDB instance numbers to avoid an address conflict.
...
Properties | Values |
---|---|
Produce RBEs | Select this option to determine whether to produce a Report by Exception (RBE) flag when data in this unit's RTDB changes. In the RTDB, for every data point, there are potentially 4 RBE flags associated with every data point. When the data point changes, the RBE flags are set. These flags determine when new data needs to be reported to an MQTT server, HCP, or other hosts supporting RBE. |
Segment Definition | Click the Edit Table button to edit the details of the RTDB definition. Point Count – Enter the number of data points of this type to be allocated space in the database. Point Format – Select the point data format:
Deadband – Enter the deadband value for the points defined on this row, which is the amount a value in the RTDB can change before it will be flagged as an RBE. Deadband value is entered as an integer or floating point value, which is handled as a 15-character (max) string. If IEEE floating point format is used, its entry must include a decimal point (such as 11.0). Comment - Optional column, allowing a descriptive comment to be entered for each row in the table. The Comment field is unused in the configuration. |
...
DirectorPOD
Elecsys provides a separate manual to describe how PODs are configured and to explain each of the many function codes available. See the RediGate POD Programming Manual for further instructions.
...
Properties | Values |
---|---|
Circuit Type | Placeholder for circuit type of 'Virtual Circuit'. |
...
ISaGRAF Field Unit
An ISaGRAF Field Unit object is used to run a protocol task that allows an ISaGRAF logic program to run in the RediGate, and defines parameters for how data is read from and written to the ISaGRAF unit.
The RediGate allows for running two independent ISaGRAF logic programs simultaneously. In this case, the Internal Channels should be defined as instance numbers 14 and 15, with each channel including a Virtual Circuit and ISaGRAF Field Unit objects. In either case, to allow the ISaGRAF Workbench program to download and monitor the ISaGRAF logic program(s), the ISaGRAF Field Unit definition must be attached to a Slave Channel definition. See the section Slave Channels 43220993 for setting up the Slave Channel.
...
The ISaGRAF Field Unit should have a Modbus RTDB 43220993 child object defined under it (see page ).
Properties | Values |
---|---|
Unit Name | Enter the field unit name. Unit name is displayed in diagnostic menus and in an HCP diagnostic screen. |
Unit Address | Enter the actual field unit address which will be used for the ISaGRAF Field Unit. This Modbus unit address will be referenced under a Slave Channel, from which the ISaGRAF workbench will communicate to the logic program. This should be a unique address from any other Status, Virtual, or Internal Master field unit addresses on the Internal Channel. Valid addresses 1 to 255. Typically address 1 is used for one ISaGRAF unit (often configured in Channel 15), but if using two ISaGRAF RTUs in the same configuration one of them must be configured for address 123. |
Protocol | Placeholder for the protocol type as 'IsaGraf Logic Unit'. |
Com Retries | Enter the number of communication retries after a failed poll attempt. If a poll attempt fails, it will try again up to the configured number of "Com Retries" before the field unit is declared failed. |
Comm Status Holdreg | Enter the starting holding register to contain the communication status for this field unit. Each Comm Status takes 5 registers, beginning at the register configured in this parameter. The Comm Status Holdreg for each field unit in a configuration must be defined such that the five registers do not overlap other registers being used. If the register is defined in the 30,xxx address range, the status values will be stored in the local device's RTDB (i.e., the RTDB defined as a child object to this ISaGRAF Field Unit. If the register is in the 40,xxx range, the values will be stored in the Status/Control Field Unit RTDB. The Comm Status Holdreg is optional, and can be set to 0 to disable the storage of status registers. See the section Communication Status Registers43220993, for a description of the five Comm Status Register contents. |
Produce RBEs | Select this option to determine whether to produce a Report by Exception (RBE) flag when data in this unit's RTDB changes. In the RTDB, for every data point, there are potentially 4 RBE flags associated with every data point. When the data point changes, the RBE flags are set. These flags are used to determine when new data needs to be reported to the HCP. |
Poll Table | Click the Edit Table button to define the Modbus polls to be sent to this ISaGRAF field unit. Note that the Poll Table only defines how the Modbus protocol is defined to operate for each set of data defined in the polls. The Poll Table doesn't actually do any of the polling itself. If you want any of these polls to be sent to the ISaGRAF Field Unit on a regular basis, it should be referenced in one or more Scan Table entries in the Internal Channel. Source Register – Enter the source register in the ISaGRAF RTU to begin polling data. This will be a Modbus register defined on an I/O board definition in the ISaGRAF logic program. Source Format – Enter the data type of the data being requested. See below for a discussion of Source Format options. See the section Modbus/Open Modbus TCP Field Unit for a full discussion on Source Formats. For the ISaGRAF RTU, typically the following Source Formats should be used:
Count – Enter the number of registers to poll. Destination Register – Enter the starting destination register within the RTDB (Real Time Data Base) to place the polled data. Comment - Optional column, allowing a descriptive comment to be entered for each row in the table. The Comment field is unused in the configuration. |
...
Load/Store ISaGRAF Defaults
...
Properties | Values |
---|---|
Parameter Table | Click the Edit Table button to edit the default values contained in the Load/Store parameter table. Parameter 1 through Parameter 16 – Enter the value for each parameter defined in the ISaGRAF STORE16 or STORE32 board. Multiple rows defined in the Parameter Table correspond to multiple sequential instances of the STORE boards (in the order of instances defined in the ISaGRAF application). Comment - Optional column, allowing a descriptive comment to be entered for each row in the table. The Comment field is unused in the configuration. When uploading the ACE configuration, the |
...
TextStore Object
A TextStore object defines a separate download file in the configuration, containing default text strings which may be read and used by the ISaGRAF program logic. The TextStore file is created with the name staabbcccc
, where aabbcccc is identical to the ISaGRAF file isaabbcccc
to which it is attached.
...