The Omron Device Plugin enables reading and writing data in Omron devices.
FINS
protocol (serial
/TCP
) or via Host-Link/C-Mode Commands
:
The entire configuration of the Omron Device Plugin is located under the node path System/Devices/Omron Device
.
A Omron Device Channel represents a connection to an Omron device.
The transport type that is used for the connection
Serial (Host-Link)
: Serial communication. Supports the FINS
protocol on top of a Host-Link
transport layer as well as Host-Link/C-Mode Commands
.TCP
: Communication via TCP/IP. Only supports the FINS
protocol.
The Destination Network Address
of the device.
The Destination Node Address
of the device.
The Destination Unit Address
of the device.
The Source Network Address
used by the driver.
The Source Node Address
used by the driver.
The Source Unit Address
used by the driver.
The timeout used for connection establishment.
The timeout used for read operations.
The timeout used for write operations.
Serial (Host-Link)
.
The protocol type used by the driver.
Host-Link
: Host-Link/C-Mode Commands
protocolFINS
: FINS
protocolThe serial port used for the communication with the device.
The baudrate used by the driver.
The number of bits used by the driver.
The parity bit setting used by the driver.
The number of stop bits used by the driver.
The type of handshake used by the driver.
The Host-Link Unit number of the device.
TCP
.
The IP address of the device.
The port of the device. The default port for FINS
connections is9600
.
To add new Omron channel follow these steps:
Omron Device/Channels
or right-click on the node Omron Device/Channels
and select Add Channel
.Add channel
.
You can create datapoint nodes unter the node Variables
representing variables on the device that can be read and written.
The property Value Type
has to be set to the corresponing variable type (Boolean
, Byte
, Int16
, UInt16
, Int32
, UInt32
and the respective array types).
The Path
property defines the PLC address of the variable in the device and optionally its length if an array is accessed:
<Area><StartAddress>.<BitNumber>,<Length>
Placeholder | Description | Possible Values (Description) | Optional (default value) |
---|---|---|---|
<Area> | Memory area in the device | CIO - Core Input Output D ,DM - Data Memory E ,EM - Extended Memoy W ,WR - Work H ,HR - Holding Relay A ,AR - Auxiliary Relay T ,TPV ,T.PV - Time Present Value TCF ,T.CF - Timer Completion Flag C ,CPV ,C.PV - Counter Present Value CCF ,C.CF - Counter Completion Flag TK ,TK.Status - Task Flag Status TK.Bit - Task Flag Bit | Yes (CIO ) |
<StartAddress> | Start address of the variable | depends on the memory area and the device type - see tables below | No |
<BitNumber> | Number of the bit on bit access | 0 - 15 | Yes (0 ) |
<Length> | Lenght of the array | depends on the start address, memory area and the device type - see tables below | Yes (1 ) |
Area | Data type | Path | Memory area address (dec) | READ | WRITE |
---|---|---|---|---|---|
CIO | Bit | CIOXXXX.XX | CIO000000 - CIO614315 | X | X |
UInt16 / Int16 | CIOXXXX | CIO0000 - CIO6143 | X | X | |
Work | Bit | WXXXXX.XX | W00000 - W51115 | X | X |
UInt16 / Int16 | WXXX | W000 - W511 | X | X | |
Auxillary Bit | Bit | AXXX.XX | A00000 - A44715 | X | |
A44800 - A95915 | X | X | |||
UInt16 / Int16 | AXXX | A000 - A447 | X | - | |
A448 - A959 | X | X | |||
Timer | Completion Flag (Bit) | TCFXXXX oder T.CFXXXX | T0000 - T4095 | X | - |
Present Value (Int16) | TXXXX oder T.PVXXXX | T0000 - T4095 | X | X | |
Counter | Completion Flag (Bit) | CCFXXXX oder C.CFXXX | C0000 - C4095 | X | - |
Present Value (Int16) | CXXXX oder C.PVXXXX | C0000 - C4095 | X | X |
Area | Data type | Path | Memory area address (dec) | READ | WRITE |
---|---|---|---|---|---|
CIO | Bit | CIOXXXX.XX | CIO000000 - CIO255515 | X | X |
UInt16 / Int16 | CIOXXXX | CIO0000 - CIO2555 | X | X | |
Auxillary Bit | Bit | AXXX.XX | A00000 - A44715 | X | - |
A44800 - A95915 | X | X | |||
UInt16 / Int16 | AXXX | A000 - A447 | X | - | |
A448 - A959 | X | X | |||
Timer | Completion Flag (Bit) | TCFXXXX oder T.CFXXXX | T0000 - T1023/12047 | X | - |
Present Value (Int 16) | TXXXX oder T.PVXXXX | T0000 - T2047 / T0000 - T1023 | X | X | |
Counter | Completion Flag (Bit) | CCFXXXX | T0000 - C2047 / C0000 - C1023 | X | - |
Present Value (Int 16) | CXXXX oder C.PVXXXX | C0000 - C1023/C2047 | X | X |
To monitor and diagnose the status of a Omron Channel, take a look at the following image:
The image above depicts the Omron Channel's Control Panel which displays all status relevant information. The control panel will automatically update its status information when a new status is available.
Status Circle
To monitor and diagnose the status of the different Omron variables take a look at the variable's Status Code
property displayed in Codabix®.
In case the Status Code
column displays the value Bad
in most cases the addressed data area is not accessible.
All device channel related status information is also logged into the channel-specific log file stored in the [LoggingFolder]
.
Each log file is named in the naming scheme Omron Device.<ChannelName>.log
. The content of such a log file can look as follows:
... [15:31:46 05.09.2016] - Error (Severity=High): Code=[-6], Text=[The operation has timed-out.] ...
<callout title=“” type=“success” icon=“fa fa-cube”>
As each device plugin the Omron device plugin extends the basic Codabix Device Model.
The plugin's device type OmronDevice
also defines the OmronDeviceChannel
and therefore extends the basic CodabixDevice
and CodabixDeviceChannel
entities.
While the OmronDevice
just represents a concretization of the CodabixDevice
, the OmronDeviceChannel
extends the CodabixDeviceChannel
with the Omron Variable Entities.
Each channel is handled by a Channel Worker which establishes a physical connection to the Omron device.
For diagnostic purposes, the worker automatically reads the PLC address “MB 0” every 10 seconds to update the status code of the Channel
and description to detect connection failures.
By default, the worker does not read any values. When a client or plugin requests a synchronous read of the Channel
variables in Codabix
(e.g. using the Codabix Web Configuration's function “Read actual value”), the channel worker reads them from the underlying Omron device and then writes them into the corresponding Codabix Nodes.
Similarly, when a Client or plugin writes values into the channel's variables, the channel worker will write those values to the underlying Omron device.
To have an Omron variable being read steadily, you can edit the Node in the Codabix Web Configuration and set “History Options” to Yes
(which will create an internal subscription),
or you can use e.g. a OPC UA Client connected to the OPC UA Server plugin and create a subscription for the Omron variable Nodes.
In these cases, the channel worker reads the variables from the Omron at a regular interval and, if the value of one of the variables has changed, writes the new value into the corresponding Codabix Node.
Each Omron variable can access the same PLC memory using the same PLC address operand. Supported variable formats are scalar and array variables.
Inhalt | Pfad | Zweck / Verwendung |
---|---|---|
AssemblyFolder | <CodabixInstallDir>/plugins/OmronDevicePlugin/ | Contains the plugin's assembly file. |
LoggingFolder | <CodabixDataDir>/log/ | Contains the plugin's log files. |
Typ | Pfad | Zweck / Verwendung |
---|---|---|
Assembly | [AssemblyFolder]/CoDaBix.OmronDevicePlugin.dll | The plugin's assembly file.. |
Logging | [LoggingFolder]/Omron Device.<ChannelName>.log | The log file for the channel <ChannelName>. |
Datum | 2021-10-27 |
---|---|
Version | 1.0.1 |
Name | Omron Device Plugin |
---|---|
Node | /System/Device/Omron Device |
Version | 1.10.0 |
Name | CoDaBix.OmronDevicePlugin.dll |
---|---|
Datum | 2021-01-18 |
Version | 1.10.0.0 |