4.2Driver Specific FieldServer Parameters ........................................................................................................ 10
4.3Client Side Connection Descriptors ............................................................................................................. 10
4.4Client Side Node Descriptors ....................................................................................................................... 11
4.5Client Side Map Descriptors......................................................................................................................... 12
4.5.1 FieldServer Related Map Descriptor Parameters ................................................................................. 12
4.5.2 Driver Related Map Descriptor Parameters ......................................................................................... 12
4.5.4 Map Descriptor Example 1 – IO Read .................................................................................................. 13
4.5.5 Map Descriptor Example 2 – IO Write ................................................................................................. 14
4.5.6 Map Descriptor Example 3: Clock Read: .............................................................................................. 15
4.5.7 Map Descriptor Example 4: Clock Write: ............................................................................................. 15
4.5.8 Map Descriptor Example 5: Read CPU Cycle Times: ............................................................................ 15
4.5.9 Map Descriptor Example 6: Run-Stop PLC: .......................................................................................... 16
4.5.10 Map Descriptor Example 7: Read CPU Status: ..................................................................................... 16
Configuring the FieldServer as a FINS Server ................................................................................................ 17 5
5.1Server Side Connection Descriptors ............................................................................................................ 17
5.2Server Side Node Descriptors ...................................................................................................................... 18
5.3Server Side Map Descriptors........................................................................................................................ 18
5.3.1 FieldServer Specific Map Descriptor Parameters ................................................................................. 18
5.3.2 Driver Specific Map Descriptor Parameters ......................................................................................... 19
5.3.3 Map Descriptor Example 1: IO Read .................................................................................................... 20
5.3.4 Map Descriptor Example 2: IO Write ................................................................................................... 21
5.3.5 Map Descriptor Example 3: Clock Read: .............................................................................................. 21
5.3.6 Map Descriptor Example 4: Clock Write: ............................................................................................. 21
5.3.7 Map Descriptor Example 5: CPU Cycle Times: ..................................................................................... 21
5.3.8 Map Descriptor Example 6: Run-Stop PLC: .......................................................................................... 22
5.3.9 Map Descriptor Example 7: CPU Status: .............................................................................................. 22
Appendix A. Advanced Topics .............................................................................................................................. 23
Omron limit the set of permitted nodes to 126. They are numbered 1 to
126 corresponding to the last byte of the remote node IP address.
Server
20
The FieldServer can emulate a maximum of 20 Omron FINS servers.
OMRON F INS D E SC RIPTION
1
The Ethernet Omron FINS driver allows the FieldServer to transfer data to and from devices over Ethernet using
Omron FINS protocol. The FieldServer can emulate either a Server or Client.
FINS is an Omron protocol which can be used by a PLC program to transfer data and perform other services with a
remote PLC connected on an Ethernet Network. It can also be used by remote devices such as PC’s and FieldServer’s to transfer data and perform other services.
The protocol uses the Ethernet protocol called UDP to carry the FINS messages back and forth. The UDP protocol is
not connection based and reliability is achieved by using confirmation messages.
This Ethernet Driver can be used to transfer data to and from the Nodes supporting FINS communications.
Max Nodes Supported
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
3.2 Example of Om r o n PLC Co n f i g u ration using O m ron ETN11 Mo d u l e .
Setting the Node Number
With the FINS communications service, when there are multiple Ethernet Units connected to the Ethernet
network, the Ethernet Units are identified by node numbers. Use the node number switches to set the node
number between 01 and 7E hexadecimal (1 to 126 decimal). Do not set a number that has already been set
for another node on the same network.
The left switch sets the sixteens digit (most significant digit) and the right switch sets the ones digit (least
significant digit). The node number is factory set to 01. When using the automatic generation method for
address conversion, set the node number to the same value as that of the local IP address switches. If this is
not possible, then either the IP address table method or the combined method must be used for address
conversion. For details, refer to 4-2 CPU
Bus Unit System Setup. If the FINS communications service is not being used over the Ethernet network, then
there is no problem if the node number duplicates that of another Ethernet Unit. The node number must still
be set from 01 to 7E, however, or the ERC indicator will light.
Note Turn OFF the power supply before setting the node number.
Setting the Local IP Address
The nodes on an Ethernet network are identified by IP addresses. Each IP address is set with 32 bits of binary
data. These 32 bits are divided into four 8- bit fields called octets, and each octet is expressed as four decimal
numbers. At CS-series Ethernet Units, four bits are expressed as a hexadecimal digit, and the eight
hexadecimal rotary switches (the local IP address switches) on the back of the Unit are used to set the local IP
address. Set the eight switches in hexadecimal as shown below, combining SW1 and SW2, SW3 and SW4,
SW5 and SW6, and SW7 and SW8. Each switch can be set from 0 to F.
The following notes are extracted from the Omron Manual “W343-E1-05 9 3”
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
The switches are all factory-set to 0 (00.00.00.00). The Ethernet Unit cannot be used with this setting; a
proper IP address must be set.
The following settings cannot be made for the IP address, or the ERC indicator will flash.
All bits in the network number field set to 0 or 1.
All bits in the host number field set to 0 or 1.
All bits in the subnet number field set to 1.
The beginning of the IP address set to 127 (7F Hex) Example: 127.35.21.16
Note 1. When using the automatic generation method for address conversion, set switches 7 and 8 to the
same values as the node number setting, and set the rest of the host number to zeroes. For details regarding
the host number, refer to 1-7 IP Addresses. The value for the host number field in the IP address must match
the value for the node number or the ERC indicator will flash.
2. If a subnet mask is to be set, use the CX-Programmer to set it in the CPU Bus Unit System Setup. For details,
refer to 4-2 CPU Bus Unit System Setup.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Number of Data Objects. Must be larger than
the data storage area required by the Map
Descriptors for the data being placed in this
array.
1-32767
// Data Arrays
Data_Arrays
Data_Array_Name
,Data_Format
,Data_Array_Length,
DA_CIO
,UInt16
,5143
DA_WR
,UInt16
,511
DA_HR
,Uint16
,511
DA_DM
,Uint16
,32767
CON F I G URING THE FI E L DSERVER AS A FI N S CLIE N T
4
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer (See “.csv” sample files provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with a FINS Server. As a Client this driver reads and writes data to Server Nodes. Server nodes should be FINS
capable and be configured to communicate over FINS
4.1 Data Arrays/D e s cr ip t ors
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for FINS communications, the driver independent FieldServer buffers need to be declared in the
“Data Arrays” section, the destination device addresses need to be declared in the “Client Side Nodes” section, and
the data required from the servers needs to be mapped in the “Client Side Map Descriptors” section. Details on
how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
Example
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Specify physical node Id on network.
This is the last byte of the IP Address of
the FieldServer. eg. If FieldServer’s IP
Address is 192.168.1.81 then this
parameter should be set to 81
1-126
// FieldServer Driver specific parameters
FieldServer
Title
,System_Node_Id
Fins Client
,81
Section Title
Adapter
Column Title
Function
Legal Values
Adapter
Adapter Name
N1, N22
Protocol
Specify protocol used
Fins, omn_fins or fins_udp
Udp_port_number
Specify UDP port number
0, 9600 etc.
// Client Side
Connections
Adapters
Adapter
,Protocol
,Udp_port_number
N1
,Fins
,9600
2
4.2 Driver Specific FieldServ e r Paramete r s
Example
4.3 Client Side Co n ne c t ion Desc r i p t ors
Example
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for
details of the ports available on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Command Name specifies the Main and
Sub request codes to make a request to
read this memory from PLC.
Assigning Direct MRC and SRC parameters
can replace this parameter.
See chapter 6 to know valid MRC –SRC
values to read this CIO memory area.
This is the logical name
of the target device
having the parameters
defined in section
“Client Node
Descriptors”.
One of the Data Arrays
declared in the
Data_Array section
The Data for CIO
memory area from the
Node (PLC1) will be
stored in this Data
Array.
Offset within the Data Array
at which Driver will the store
the data for initial Address
defined under “Address”
parameter.
In particular this case data for
Address 0 will be stored at
offset 0, for Address 1 offset
1 and so on.
Forcing the Driver to
issue a read request for
each Scan_Interval .
In particular case Driver
will read this portion of
CIO memory area for
each second if
Scan_Interval is set 1s.
Starting
Address of the
memory area
to read.
Specify the number of
elements (number of Words
in this case) to read from
PLC.
Specifies the type of target
memory at PLC.
Also this parameter can be
replaced with Memory_Code
parameter.
See chapter 6 to for memory
codes read CIO Word area.
Unit number at PLC
4.5.4 Map Descriptor E xample 1 – IO Read
This example provides all the required information to read and write to the IO memory area of the PLC. The following Map Descriptor creates a task for the
driver to read the first 20 Words from the CIO memory area and store them in the Data Array DA_CIO. The first word from the PLC will be stored as the first
element in the Data Array. Whenever an upstream device writes any element in the Data Array, the Driver will write the same value to the PLC at the
corresponding address. This scheme is known as Write-thru. In this example the Driver can write only one value at a time.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
One of the Data
Arrays declared in
the Data_Array
section (See section
4.1)
The Data in this
Data Array will be
written to the PLC1.
Driver will fetch
consecutive 20
(Length)
elements
starting from
this offset to be
written at Node
PLC1
Forcing the Driver to issue a
write request upon updating
this dedicated portion of Data
Array. In this case first 20
elements comes under
dedicated portion for this map
descriptor.
Note : If WRBC , It will Force
the Driver to issue a write
request for each Scan_Interval
In this particular case Driver
will write this portion of CIO
memory area for each second.
Specify the number
of elements
(number of Words
in this case) to read
from PLC.
Specifies the
type of target
memory at PLC.
Also this
parameter can
be replaced with
Memory_Code
parameter.
See Appendix A
to for memory
codes read CIO
Word area.
Command Name
specifies the Main and
Sub request codes to
make a request to
write this memory
from PLC.
Assigning Direct MRC
and SRC parameters
can replace this
parameter.
See Appendix A to
know valid MRC –SRC
values to read this CIO
memory area.
Unit number
at PLC
(Keep mostly
zero, or
undefined
keep it zero)
4.5.5 Map Descripto r Example 2 – IO Write
This example is used to write a value(s) to the PLC. The write is done when the contents of the Data Array are updated (written to by a remote device.). In the
previous example, it was shown how a ‘read’ Map Descriptor can also be used to write by using FIeldServer’s Write-Through technology.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
This Map Descriptor reads the PLC clock and stores the information in a Data Array DA_CLK. For detail on how the Driver stores clock information see Appendix
A.
4.5.7 Map Descriptor E xample 4: Clock Writ e :
Write-thru is not possible for Clock write. A dedicated Map Descriptor is required to overwrite the PLC clock. This Map Descriptor overwrites the clock
whenever an upstream device updates the DA_CLKw Data Array. See Appendix A for details.
Note: All elements must be updated in DA_CLKw to set the clock as expected. Whenever any element updates, the Driver will write all seven values to the PLC
along with the one updated value. If all elements are updated by the upstream device in a single operation then the Driver will also set the all elements at the
PLC in a single operation.
4.5.8 Map Descriptor E xample 5: Read CPU Cy c le Times:
This Map Descriptor reads the CPU cycle time at the PLC and stores the data in a Data Array DA_CYCT. Average, maximum and minimum cycle times will be
stored in three consecutive locations starting with the location indicated by the Data_Array_Offset parameter. See Appendix A
The Driver stores these values as it gets them from the PLC. Scaling can provided to determine the unit in which the value is stored. Default is 10 times
milliseconds.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Defining this Map Descriptor Driver can change the PLC mode to STOP (Program), MONITOR or RUN mode. The Driver issues a change mode command to the
PLC whenever the value at the declared offset is updated.
The Driver will change PLC modes depending upon the value poked by the upstream device at offset (0 in this case). See section Appendix A for values
corresponding to PLC modes.
4.5.10 Map Des c r i p t or Example 7 : Read C P U Status:
Defining this Map Descriptor Driver reads the CPU status and stores it in the Data Array DA_STATUS.
The Driver stores the status information in the named Data Array at consecutive locations starting with Data_Array_Offset.
See Appendix A for further information.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
CON F I G URING THE FI E L DSERVER AS A F I NS SERVER 5
For a detailed discussion on FieldServer configuration, please refer to the FieldServer Configuration Manual. The
information that follows describes how to expand upon the factory defaults provided in the configuration files
included with the FieldServer (See “.csv” files on the driver CD).
This section documents and describes the parameters necessary for configuring the FieldServer to communicate
with a FINS Client.
As a Server, the Driver responses to read requests and updates the FieldServer Data Arrays with write requests
from the Client.
The configuration file tells the FieldServer about its interfaces, and the routing of data required. In order to enable
the FieldServer for FINS communications, the driver independent FieldServer buffers need to be declared in the
“Data Arrays” section, the FieldServer virtual node(s) needs to be declared in the “Server Side Nodes” section, and
the data to be provided to the client’sneeds to be mapped in the “Server Side Map Descriptors” section. Details on
how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the default.
5.1 Server Side Con n e ction Descr i p t o rs
Example
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction manual for
details of the ports available on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
One of the Data
Arrays declared in
the Data_Array
section.
Driver will serve
client for CIO
operations using
this Data Array.
Starting
location for
data within
Data Array
Specify the
Driver to Serve
Clients.
This is the logical
name of the
server device
having the
parameters
defined in
section “Server
Node
Descriptors”.
Starting Address
of the memory
area to serve.
Specify the
number of
elements
(number of
Words in this
case) that
this Map
Descriptor
can serve.
Specifies the
type of memory
to serve.
Also this
parameter can
be replaced with
Memory_Code
parameter.
See chapter 6 to
for memory
codes
Command Name
specifies the
Main and Sub
request codes to
make a request
to read this
memory.
Assigning Direct
MRC and SRC
parameters can
replace this
parameter.
See chapter 6 to
for MRC –SRC
values to enable
to read this CIO
memory area.
5.3.3 Map Descriptor E xample 1 : IO Read
The following Map Descriptor enables the Driver to serve the clients for CIO memory operations. The Command_Name “MEMORY AREA READ” makes this
memory readable.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
This Map Descriptor makes the memory area writable which was made readable by the previous Map Descriptor. Thus memory area can be made read only,
write only or read and write enabled.
5.3.5 Map Descriptor E xample 3: Clock Rea d:
This Map Descriptor enables the Driver to serve the client with a Clock read request. See Appendix Afor further information
5.3.6 Map Descriptor E xample 4: Clock Writ e :
This Map Descriptor enables the Driver to update Clock information when the Client makes a Clock Write request. See section Appendix A for further
information.
5.3.7 Map Descriptor E xample 5: CPU Cycle T im es:
This Map Descriptor enables the Driver to serve Clients with CPU cycle time information upon request. See Appendix A for further information.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
This Map Descriptor enables the Driver to give access to the Client to change the Server’s Operating Mode. See Appendix A for stored values corresponding to
PLC modes.
5.3.9 Map Descriptor E xample 7: CPU Status:
This Map Descriptor enables the Driver to respond to clients requesting CPU status. See Appendix Afor further information.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Access Right at Other Device: The Access right at other device column tells whether the CPU Unit can or cannot receive a command when another device has
the access right to the CPU Unit.
UM Read Protection: The UM read protection column tells whether the CPU Unit can or cannot receive the command when UM (user memory) is protected
from a Peripheral Device.
DIP Switch UM Protection: The DIP switch UM protection column tells whether the CPU Unit can or cannot receive a command when UM is write-protected
by turning ON pin 1 of the DIP switch on the CPU Unit’s front panel.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
The following table lists the main codes and the sub-codes, which combine to form the end code (response code)
returned for a FINS command. The probable cause and corrections for each error code are also given. Depending
on the command, the destination code will sometimes make a request of another node on a network. The other
node is referred to as the third Node.
This section is a reproduction of Section 5-1-3 End Codes from Omron Communication Commands Reference
Manual (M11W342e160603.pdf)
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Number of Messages received with bad or unsupported Network Number.
2
FINS_STATION
Number of Messages received with bad or unsupported Node Number.
3
FINS_UNIT
Number of Messages received with bad or unsupported Unit Number.
4
FINS_MRC
Number of Messages received with bad or unsupported Main Request Code
5
FINS_SRC
Number of Messages received with bad or unsupported Sub Request Code
6
FINS_SID
Number of Messages received with wrong or Sequence Id.
7
FINS_ECODE
Total number of Messages ignored by PLC due to error.
8
FINS_EMC
Latest Main Error code returned by PLC.
9
FINS_ESC
Latest Sub Error code returned by PLC.
10
FINS_EMRC
Main and Sub Request codes for which PLC returned Error Code.
11
FINS_ESRC
12
FINS_STOR_SP
Number of times Driver ignored messages because of insufficient storage
space.
13
FINS_NO_WR_THU
Number of blocked attempts to write data via write-thru operation.
Appendix B.2. Driver stats
In addition to the standard FieldServer operating statistics the driver exposes certain key stats in a Data Array if
required. An upstream device can then monitor these stats.
Add the following to your configuration file to activate these stats.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Response from PLC ignored because of mismatching requestresponse sequence Id.
FINS_UDP#24: FYI. Bad Start<%2X>
The message was ignored because the first byte was bad.
FINS_UDP#31 : FYI Net_Number set to 1
Node <%s>
The Net_Number parameter is 0 or not specified. The Driver will
automatically change it to the default of 1
10
Appendix B.3. Driver Error Messages
Some configuration errors might produce an error every time a poll is generated. This will fill the error buffer
quickly and not add any clarity. For this reason the driver suppresses subsequent similar messages on the System
Error Screen. Thus it is possible for the same error produced by multiple Map Descriptors to produce only one
error message on the System Error screen. The driver displays subsequent error messages on the Driver Messages
screen.
Note : In the actual message you will see that %d has been replaced by an integer, %s by text indicating a data
array name or map descriptor name and %x by two hex characters.
Some error messages require that the user correct a problem in the configuration. This is done by editing the
configuration CSV file, downloading the modified file and resetting the FieldServer to have the changes take effect.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Each transaction must be completed in one UDP message fragment. The maximum length of a UDP fragment is
1500 bytes. Thus, if you wanted to read 730 words of PLC memory you will need to configure two MD’s. The one
should have a length of 729 and the other a length of 1. The reason is that when the length is set to 729, then 729
words (or 1500 bytes including FINS and UDP header) of data are read and this is the maximum for one message
fragment.
Similarly as a Server, the Driver can handle transactions composed of a maximum 1500 bytes (or 729 Words).
Ensure that the IP Address of the PLC provided under IP_Address parameter in configuration is correct
Ensure the Node number of the FieldServer on the network is mentioned under System_Node_Id parameter in
configuration file
Ensure that the “Udp_port_number” parameter has the correct value in the configuration file
Omron PLC's respond to remote FINS polls by sending UDP response messages on the ethernet network. The PLC
does not use the IP address of the incoming poll to determine the IP address it must respond to. The PLC builds
the IP address it will send the response to using
1) Its own IP address and the Node ID of the polling device or
2) A routing table built using Omron software. To find out more information consult the Omron Manaul W343-E13, Chapter 3 provides more information.
When the PLC uses its own IP address to build the IP address it will send the response to, then special
consideration should be taken if the PLC IP address is Class A or B.
On a Class B network, the PLC uses the 1st two bytes of its own IP address, sets the 3rd byte to zero and sets the
4th byte equal to the polling station's Node_Id.
Example: - Class B Addressing
A FieldServer with IP address=192.168.1.81 and system_node_id=34 polls for data from a PLC with IP address
=192.168.2.33 and Subnet mask = 255.255.0.0
The PLC responds to 192.168.2.33
255.255.0.0
192.168.x.y
Where x is always set to zero and y is equal to 34 (The PLC obtains the node ID of 34 by inspecting the contents of
the poll message.)
Therefore the PLC responds to 192.168.0.34 which is clearly the wrong address and the FieldServer will not see the
response.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
A FieldServer with IP address=192.168.1.81 and system_node_id=34 polls for data from a PLC with IP address
=192.168.2.33 and Subnet mask = 255.255.0.0
The PLC responds to 192.168.2.33
255.0.0.0
192.x.x.y
Where x is always set to zero and
y is equal to 34 (The PLC obtains the node ID of 34 by inspecting the contents of the poll message.)
Therefore the PLC responds to 192.0.0.34 which is clearly the wrong address and the FieldServer will not see the
response.
Thus, if the PLC is using Class A/B IP addressing then the 3rd (Class B) or the 2nd and 3rd (Class A) bytes of the
address must be zero as must the FieldServer's if communications are to work.
There are ways around this problem, we believe. The solution requires usage of the Omron PLC routing table. For
more help consult with Omron's Tech Support.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com