Modbus TCP Driver for JMobile

Similar documents
Mitsubishi FX Driver for JMobile

Simatic S7 Ethernet driver for JMobile

ABB Modbus RTU Driver for JMobile

Omron FINS Ethernet Driver for JMobile

CODESYS V3 Ethernet Driver for JMobile

CODESYS V2.3 Ethernet Driver for JMobile

Modbus TCP Server Driver for JMobile

Panasonic FP Serial Driver for JMobile

Profibus DP Driver for JMobile

Connecting UniOP to Modbus/TCP

ROC Plus Communication Driver for JMobile

Control Techniques Unidrive - Modbus CMP Ethernet Driver for JMobile

Mitsubishi FX Ethernet Driver for JMobile

CANopen HMI Communication Driver for JMobile

NMEA 0183 driver for JMobile

Connecting UniOP Using Generic Modbus RTU

Connecting UniOP as a Modbus Slave

Please refer to application note AN00129 for further details on HCP2 configuration in ABB motion control products.

KNX TP/IP Communication Driver for JMobile

Connecting UniOP to CoDeSys Controllers via Ethernet

JMobile V2.0 HF1 Release Notes

Connecting UniOP to Beckhoff ADS Ethernet

Motion Control Products Application note Connecting CP600 to motion products via Modbus TCP

Connecting UniOP as Modbus/TCP Server

JMobile V2.6 SP1 Release Notes

Alstom Redundant Ethernet Driver Help Kepware Technologies

Motion Control Products Application note Connecting CP600 to motion products via Modbus RTU

Motion Control Products Application note Connecting CP600 to motion products via Modbus RTU

CONTROLLER INFORMATION SHEET

JMobile Suite User Manual

Honeywell HC900 Ethernet Driver Help Kepware Technologies

Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies

GP-PRO/PBIII for Windows Device/PLC CONNECTION MANUAL ADDITIONAL MANUAL. Hioki E.E. Corporation Controller Smart Site

Modbus Plus Driver PTC Inc. All Rights Reserved.

Modicon Modbus Driver

GE Ethernet Global Data Driver Help Kepware Technologies

Device/PLC Connection Manuals

SIXNET EtherTRAK Driver PTC Inc. All Rights Reserved.

Connecting UniOP to Moeller Easy800

Getting started with JMobile Suite

Cutler-Hammer ELC Serial Driver Help Kepware Technologies

Connecting UniOP to Unidrive SP with Modbus CMP Protocol

General MODBUS TCP Master Driver

Lufkin Modbus Serial Driver Help Kepware Technologies

Conformance Test Policy for the Modbus/TCP Conformance Test Laboratory. Version 1.1. The University of Michigan Modbus/TCP Conformance Test Laboratory

GE Ethernet Driver Help Kepware Technologies

CODESYS v. 2.3, Ethernet driver for AGI 3xx Use the CODESYS Ethernet driver in the AGI Creator Set up the CODESYS for use with the AGI Creator

Modbus Plus Driver Help Kepware Technologies

Modbus Plus Driver Kepware, Inc.

Mitsubishi CNC Ethernet Driver Help Kepware Technologies

Modbus Unsolicited Serial Driver PTC Inc. All Rights Reserved.

Table of Contents. i-vu Open Link

Modbus Plus Driver Help Kepware Technologies

Fisher ROC Plus Ethernet Driver Help Kepware, Inc.

Fisher ROC Serial Driver Help Kepware Technologies

Conformance Test Policy for the Modbus/TCP Conformance Test Laboratory. Version 2.0. The University of Michigan Modbus/TCP Conformance Test Laboratory

CREATING PANEL APPLICATIONS

Application Note: 105U/905U-G-ET1 EtherNet IP & CompactLogix PLC

Connecting UniOP to Fatek Controllers with Facon Protocol

Operating guide. OPC server for ECL Comfort 310. Table of Contents

Yaskawa MP Series Ethernet Driver PTC Inc. All Rights Reserved.

JMobile V2.0 Exor_template_v1.01

Simulator Driver PTC Inc. All Rights Reserved.

WebAccess Driver Configuration Manual

WebAccess AB LOGIX PLC Ethernet Driver Guide. Advantech WebAccess. - AB LOGIX PLC Ethernet Driver Guide Version: 1.02

How to Configure MODBUS TCP/IP in Proficy HMI/SCADA CIMPLICITY V1.1

Fisher ROC Plus Serial Driver Help Kepware, Inc.

FA-M3 Ethernet (TCP) Driver

Wago Ethernet Driver Help Kepware Technologies

InTouch Client Driver PTC Inc. All Rights Reserved.

Internal PLC (CODESYS) User Manual

Fanuc Focas Ethernet Driver Help Kepware, Inc.

MNETC PROTOCOL MANUAL. ProLinx Gateway Modbus TCP/IP Client. May 11, 2011

Honeywell HC900 Ethernet Driver PTC Inc. All Rights Reserved.

Philips P8/PC20 Driver PTC Inc. All Rights Reserved.

APPLICATION NOTES. Advanced Graphical Interface - AGI Internal PLC (CODESYS V3) SHENDONG

Fisher ROC Plus Serial Driver Help Kepware Technologies

Cutler-Hammer ELC Serial Driver PTC Inc. All Rights Reserved.

Using an EXOR HMI with an SMLC

MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1a CONTENTS

Getting started with UniOP and CoDeSys integrated controller

ICC. Modbus/TCP Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc.

2.6 Configuring the Ethernet Communication Module as an EtherNet/IP Adapter

Wonderware InTouch Client Driver Help Kepware Technologies

EDIABAS BEST/2 LANGUAGE DESCRIPTION. VERSION 6b. Electronic Diagnostic Basic System EDIABAS - BEST/2 LANGUAGE DESCRIPTION

Modbus driver for the REXYGEN system (the MbDrv module) User guide. REX Controls s.r.o. Version Plzeň (Pilsen), Czech Republic

ROC Plus Ethernet Driver

AutomationDirect DirectNet Driver Help Kepware Technologies

Modbus ASCII Driver PTC Inc. All Rights Reserved.

FS Modbus Plus

Ping Driver PTC Inc. All Rights Reserved.

Memory Based Driver PTC Inc. All Rights Reserved.

Mitsubishi CNC Ethernet Driver PTC Inc. All Rights Reserved.

Modbus RTU Serial Driver Help 2010 Kepware Technologies

Instruction Manual. Save These Instructions. Centrifugal Compressor Control System. Model Xe-145F Modbus. Instruction Manual

EasyBuilder Pro V screen and editing the project with the Work Space window open.

Device/PLC Connection Manuals

Conformance Test Policy for the Modbus/TCP Conformance Test Laboratory. Version 1.0. The University of Michigan Modbus/TCP Conformance Test Laboratory

ThingsPro Software User s Manual

INTRODUCTION... 2 GENERAL INFORMATION... 3 DEVICE CHARACTERISTICS... 3 LINK CHARACTERISTICS... 3 DRIVER CHARACTERISTICS... 4 CONFORMANCE TESTING...

Transcription:

Modbus TCP Driver for JMobile This Technical Note contains the information needed to connect the HMI to control devices using the Modbus TCP protocol. Exor International S.p.A. ptn0360 Ver. 1.07

Copyright 2011-2015 Exor International S.p.A. Verona, Italy Subject to change without notice The information contained in this document is provided for informational purposes only. While efforts were made to verify the accuracy of the information contained in this documentation, it is provided as is without warranty of any kind. Third-party brands and names are the property of their respective owners. www.exorint.net Modbus TCP Driver for JMobile 2

Contents Modbus TCP Driver...4 Protocol Editor Settings...5 Tag Editor Settings...8 Tag Import...10 Aliasing Tag Names in Network Configurations...12 Special Data Types...13 Node Override IP...13 Node Override ID...14 Node Override Port...15 Communication Status...16 Implementation Details...16 T-Box users specific information...17 Modbus TCP Driver for JMobile 3

Modbus TCP Driver Various Modbus TCP-capable devices can be connected to the HMI device. To set-up your Modbus TCP device, please refer to the documentation you have received with the device. The HMI protocol identifies Modbus TCP devices using their IP addresses. You should take note of these addresses as you assign them because you will need them later in the set-up phase of the user interface application. Different physical media, gateways, routers and hubs can be used in the communication network. Also, other devices can independently make simultaneous use of the network. However, it is important to ensure that the traffic generated by these devices does not degrade the communication speed (round-trip time) to an unacceptable level. Too slow communication between the panel and the Modbus TCP device may result in low display update rate. Document code ptn0360 Version 1.07 Modbus TCP Driver for JMobile 4

Protocol Editor Settings Tech-note Add (+) a new driver in the Protocol editor and select the protocol called Modbus TCP from the list of available protocols. The driver configuration dialog is shown in figure. Alias IP address Port Timeout (ms) Modbus ID Figure 1 Name to be used to identify nodes in network configurations. The name will be added as a prefix to each tag name imported for each network node Ethernet IP address of the controller Port number used by the Modbus TCP driver; the default value can be changed when the communication goes through routers or Internet gateways where the default port number is already in use Defines the time inserted by the protocol between two retries of the same message in case of missing response from the server device. Value is expressed in milliseconds. The Modbus ID is rarely used and in most cases can be left zero. The value of the Modbus ID is simply copied into the Unit Identifier field of the Modbus TCP communication frame. Usually it is used when communicating over Ethernet-to-serial gateways and in this case it is Modbus TCP Driver for JMobile 5

interpreted as the Slave ID. Max read block Max read bit block Write Holding Register Write Coils PLC Models PLC Network Maximum length in bytes of a data block request. It applies only to read access of Holding Registers Maximum length in bits of a block request. It applies only to read access of Input Bits and Output Coils Specifies what Modbus Function will be used for write operations to the Holding Registers data type. The user can select between the function 06 (preset single register) and function 16 (preset multiple registers). If Modbus function 06 is selected, the protocol will always use function 06 to write to the controller, even when writing to multiple consecutive registers. If Modbus function 16 is selected, the protocol will always use function 16 to write to the controller, even for a single register write request and the Max read block size parameter of the query is set to 2. Using function 16 may result in higher communication performance. Specifies what Modbus Function will be used for write operations to the Output Coils data type. The user can select between the function 05 (write single coil) and function 15 (write multiple coils). If Modbus function 05 is selected, the protocol will always use function 05 to write to the controller, even when writing to multiple consecutive coils. If Modbus function 15 is selected, the protocol will always use function 15 to write to the controller, even for a single coil write request. Using function 15 may result in higher communication performance. Two PLC models are available. The "Modicon Modbus" model has an addressing space that starts from offsets 1 for all the memory types. The "Generic Modbus" model has an addressing space that starts from offset 0 for all the memory types. The protocol allows the connection of multiple controllers to one operator panel. To set-up multiple connections, check PLC network checkbox and enter IP Address for all controllers. Modbus TCP Driver for JMobile 6

Figure 2 Modbus TCP Driver for JMobile 7

Tag Editor Settings Tech-note Into Tag editor select the protocol Modbus TCP from the list of defined protocols and add a tag using [+] button. Tag settings can be defined using the following dialog: Memory Type Figure 3 Modbus resource where tag is located. Memory Type Output Coils Input Bits Input Registers Holding Registers Modbus Resource Coils Discrete Inputs Input Registers Holding Registers Offset Offset address where tag is located. Offset addresses are six digits composed by one digit data type prefix + five digits resource address. Memory Type Offset Resource Address Output Coils 0 65535 0 65535 Input Bits 100000 165535 0 65535 Input Registers 300000 365535 0 65535 Holding Registers 400000 465535 0 65535 Note: Table referred to PLC Model Generic Modbus (0-based) SubIndex This allows resource offset selection within the register. Modbus TCP Driver for JMobile 8

Data Type Data Type Memory Space Limits boolean 1 bit data 0... 1 byte 8-bit data -128... 127 short 16-bit data -32768... 32767 int 32-bit data -2.1e9... 2.1e9 unsignedbyte 8-bit data 0... 255 unsignedshort 16-bit data 0... 65535 unsignedint 32-bit data 0... 4.2e9 float IEEE single-precision 1.17e-38... 3.40e38 32-bit floating point type double IEEE double-precision 64-bit floating point type 2.2e-308... 1.79e308 string Array of elements containing character code defined by selected encoding. binary Arbitrary binary data NOTE: to define arrays, select one of Data Type format followed by square brackets like byte[], short[] Arraysize Conversion When configuring array or string tags, this option define the amount of array elements or characters of the string. Conversion to be applied. Value Inv bits Negate AB -> BA ABCD -> CDAB ABCDEFGH -> GHEFCDAB BCD Invert a bit (boolean tag) Invert all bits Swap nibbles of a byte Swap bytes of a word Swap bytes of a double word BCD format conversion Modbus TCP Driver for JMobile 9

Tag Import The Modbus TCP driver supports the import of tag information when provided in CSV format according to the format: NodeID, TagName, MemoryType, Address, DataFormat,...,[Comment] The fields in brackets are optional as well as the fields between Data Format and Comment. Field NodeID TagName MemoryType Address DataFormat Comment Description identifies the node which the tag belongs to a string that describes the tag itself Modbus type of memory, to be selected from: OUTP INP IREG HREG it is the offset compatible with Modbus notation is the data type in internal notation: boolean byte short int unsignedbyte unsignedshort unsignedint float double string binary Time boolean [] byte [] short [] unsignedshort [] unsignedint [] float [] double [] Time [] a string for additional description. It is optional Example of CSV line: 2,Holding Register 1, HREG, 400001, unsignedshort, Note: Here we have a line without comment. Notice the commas at the end of line. In fact, though Comment is missing, the comma as a terminator character is mandatory. In the Tag Editor select the driver and click on the Import tag button to start the import process. Modbus TCP Driver for JMobile 10

Figure 4 Locate the.csv file and confirm. The tags present in the imported document are listed in the tag dictionary from where they can be directly added to the project using the add tags button as shown in the following figure. Figure 5 Modbus TCP Driver for JMobile 11

Aliasing Tag Names in Network Configurations Tag names must be unique at project level; it often happens that the same tag names are to be used for different controller nodes (for example when the HMI is connected to two devices that are running the same application). Since tags include also the identification of the node and Tag Editor does not support duplicate tag names, the import facility in Tag Editor has an aliasing feature that can automatically add a prefix to imported tags. With this feature tag names can be done unique at project level. The feature works when importing tags for a specific protocol. Each tag name will be prefixed with the string specified by the Alias. As shown in the figure below, the connection to a certain controller is assigned the name Node1. When tags are imported for this node, all tag names will have the prefix Node1 making each of them unique at the network/project level. Figure 6 Note: Aliasing tag names is only available when tags can be imported. Tags which are added manually in the Tag Editor do not need to have the Alias prefix in the tag name. The Alias string is attached to the tag name only at the moment the tags are imported using Tag Editor. If you modify the Alias string after the tag import has been completed, there will be no effect on the names already present in the dictionary. When the Alias string is changed and tags are imported again, all tags will be imported again with the new prefix string. Modbus TCP Driver for JMobile 12

Special Data Types Tech-note Node Override IP Node Override IP allows changing at run-time the IP address of the controller you are connecting. This memory type is an array of 4 unsigned bytes, one per each byte of the IP address. In case the panel has been configured to access to a network of controllers, each node has its own Node Override IP variable. The Node Override IP is initialized with the value of the controller IP specified in the project at programming time. Node Override IP Modbus Operation 0.0.0.0 Communication with the slave is stopped, no request messages are generated. different from Interpreted as IP address override. The IP address defined in the 0.0.0.0 project file is replaced run-time with the new value Note: the Node Override IP values assigned at run-time are retained through power cycles Figure 7 Modbus TCP Driver for JMobile 13

Node Override ID Tech-note Node Override ID allows changing at run-time the Modbus ID address of the controller you are connecting. The memory type is an unsigned byte. In case the panel has been configured to access a network of controllers, each node has its own Node Override ID variable. Node Override ID is initialized with the value of the Modbus ID specified in the project at programming time. Modbus communication will be as shown in table. Node Override ID Modbus Operation 0 Communication with the slave device is stopped, no request messages are generated. In case of write operation, the request will be transmitted without waiting for a reply. 1 to 254 If Node Override ID has a value different from 0 and different from the default value, it is interpreted as a new Modbus ID and the new value is replaced in all the Modbus communication messages 255 Communication with the slave device is stopped; no request messages are generated. Note: Values of Node Override ID variables assigned at runtime are retained through power cycles. Figure 8 Modbus TCP Driver for JMobile 14

Node Override Port Tech-note Node Override Port allows changing at run-time the network Port number of the target controller. The memory type is an unsigned short. In case the panel has been configured to access to a network of controllers, each node has its own Node Override Port variable. The Node Override Port is initialized with the value of the controller Port specified in the project at programming time. Node Override Port Modbus Operation 0 Communication with the slave device is stopped, no request messages are generated. Different from 0 interpreted as a new Port number and the new value replaces at run-time is replaced in all the Modbus communication requests Note: the Node Override Port values assigned at run-time are retained through power cycles Figure 9 Modbus TCP Driver for JMobile 15

Communication Status Tech-note The current communication status can be displayed using the dedicated system variables. Please refer to the User Manual for further information about available system variables and their use. The codes supported for this communication driver are: Error No response Incorrect node address in response The received message too short Incorrect writing data acknowledge Notes Returned when a request is not replied within the specified timeout period; ensure the controller is connected and properly configured to get network access The panel did receive from the controller a response with invalid node address The panel did receive from the controller a response with invalid format Controller did not accept write request; ensure the data programmed in the project are consistent with the controller resources Implementation Details This Modbus TCP implementation supports only a subset of the standard Modbus TCP Function Codes. The implementation of the protocol operates as a Modbus TCP client only. The HMI Modbus TCP protocol uses the standard port number 502 as the destination port. The HMI Modbus TCP protocol supports the standard commonly referred as Ethernet II. The supported Function codes are listed in the table. Code Function Description 01 Read Coil Status Reads multiple bits in the panel Coil area 02 Read Input Status Read the ON/OFF status of the discrete inputs (1x reference) in the slave 03 Read Holding Registers Read multiple Registers 04 Read Input Registers Reads the binary contents of input registers (3x reference) in the slave 05 Force Single Coil Forces a single Coil to either ON or OFF 06 Preset Single Register* Presets a value in a Register 15 Write Multiple Coils Writes each coil in a sequence of coils to either ON or OFF 16 Preset Multiple Registers* Presets value in multiple Registers Modbus TCP Driver for JMobile 16

T-Box users specific information Here are the communication settings to communicate with the T-Box MS PLC : - Write Holding Register : 16 - Write Coils : 15 - PLC Models : Generic Modbus(0-based) User has to respect some rules to give a Modbus address to variables - Bits must be declared by group of eight with a start address which is a multiple of 8 (as example, 8 bits with addresses from 20480 up to 20487 are valid) - Registers (16 bits, 32 bits, floats) must be addressed with continuous addresses without gap. - Pay attention that, even if T-Box MS accepts to communicate by blocks, these blocks must be composed of data of the same kind o If you declare 16 bits registers at 20480 and 20481, followed by 32 bits registers at 20482 and 20484, Exor HMI will ask one block of 6 words from 20480 up to 20484 but this request will be rejected by the T-Box causing communication errors. o If you declare 16 bits registers at 20480 and 20481 and 32 bits registers at 25000 and 25002, because "Max read block" is set to 254 bytes, Exor will send two requests, one for the 16 bits variables (2 words) and another for the 32 bits variables (4 words) : these requests will be answered by the T-Box without problem because each block is composed of data of the same kind o Of course you may act on "Max read block" to adjust value to your needs. o You have even the possibility to disable "block communication". Of course, in this case, HMI will send one request for each variable slowing down the communication performance. To disable "block communication"... open the project folder and go to "config" sub-folder edit the file "protocols.xml" with a text editor like notepad locate the section about protocol Modbus TCP (<name>modt</name) in this section, change "<enableoptimization>true</enableoptimization" by "<enableoptimization>false</enableoptimization" JMobile and T-Soft don't use the same syntax to declare variables, here are correspondences - T-Box 16 bits variable must be declared as Short or UnsignedShort in JMobile - T-Box 32 bits variable must be declared as Int or UnsignedInt in JMobile (conversion is necessary to handle this data type : swap2 [ABCD -> CDAB], swap4 [ABCDEFGH -> GHEFDCAB]) - T-Box 32 bits Float are also declared as Float in JMobile (here also, conversion is necessary to handle this data type : swap2 [ABCD -> CDAB], swap4 [ABCDEFGH -> GHEFDCAB]). Modbus TCP Driver for JMobile 17