CPKSoft Engineering

XMODBTCP.tlk Driver Reference

Modbus TCP Protocol Driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Overview

XMODBTCP driver supports the Modbus TCP protocol according to the

Modbus Messaging TCP/IP Implementation Guide from Modbus.org

Rev 1.0, 8 May 02

 

This driver implements Modbus commands 1, 2, 3, 4, 5, 6, 15 and 16.

It also implements some special commands that are not part of the original

Modbus specification that bring support for special data formats

used by certain devices.

 

This driver expects that you connect to your device through its tcp/ip

port. The device should behave as a slave in your RS-232/485 network.

TCP/IP communication must be set in TCP mode using port 502.

 

TESTING WITH MODSIM:

 

If you are using MODSIM Modbus slave emulation software to test this driver,

then use command 'Read Input Registers as Unsigned 16-bit Integers' (P1=4)

to read 'Inputs Register' from ModSim. Also, set the register address to 0 (P2=0)

if you want to read Input Register 1 from ModSim.

Supported Equipment Type

DAQ Modules

Flow Computers

Loop Controllers

Power Meters

Remote Terminal Units

Programmable Logic Controllers

Supported Devices List

ABB Totalflow µFLO 6213

ABB Totalflow XRC 6490 RTU

ABB Totalflow XRC 6790 RTU

ABB Totalflow XRC 6890 RTU

ABB Totalflow 8000/8100 Btu/CV Transmitter

ABB Totalflow XFC 6410 EFM

ABB Totalflow XFC 6413 EFM

ABB Totalflow XFC 6713 EFM

ABB S4C+ Robot Controller Controller

ACKSYS Communications & Systems COMETH Network Gateway

ACKSYS Communications & Systems WL-ABOARD/N Network Gateway

ACKSYS Communications & Systems WL-ABOARD/S Network Gateway

ACKSYS Communications & Systems WL-COMETH Network Gateway

ACROMAG 901MB-0900 Discrete Input Module

ACROMAG 902MB-0900 Discrete Output Module

ACROMAG 903MB-0900 Discrete I/O Modules

ACROMAG 904MB Discrete Input Module

ACROMAG 905MB Discrete Output Module

ACROMAG 906MB Discrete I/O Module

ACROMAG 913MB Analog Input Module

ACROMAG 914MB Analog Input Module

ACROMAG 917MB Analog Output Module

ACROMAG 918MB Analog Output Module

ACROMAG 924MB Analog Input Module

ACROMAG 932MB Analog Input Module

ACROMAG 934MB Analog Input Module

ACROMAG 942MB Frequency/Pulse Counter Module

ACROMAG BusWorks 900EN Ethernet I/O Modules

ACTL eWON2001 Network Gateway

ADFWEB.COM SRL Datalogger Modbus RTU

ADVANTAGE ENGINEERING Sentra 300 Controller

ADVANTECH ADAM-5510EKW/TP Controller

ALERTON FLG-Modbus BACtalk Gateway

AMASS Data Technologies Inc Analog to Digital Conversion Module

AMASS Data Technologies Inc Embedded Control Digital I/O Module

AMASS Data Technologies Inc PSE/RTU Shaft Encoder Sensor

ANTX Inc Elite Gas Controller

APEX Automation Technologies GmbH PDnetIP-Controller

AQUASENSORS LLC

AQUASENSORS LLC DataStick System Sensor

ARCOM HtMux Network Gateway

ARCOM HtNode Network Gateway

AREVA T&D BiTRONICS M871

AUMA Riester GmbH & Co KG AUMATIC AC/DC Drive Control

BACHMANN ELECTRONIC M1 (M200 series) Controller

BARIX AG Barix IO12 I/O Module

BARIX AG Barix R6 I/O Interface

BARIX AG Barix X8 I/O Interface

BARNETT ENGINEERIING Ltd ProTalk SPX Monitoring Hardware

BECKHOFF Modbus Bus Terminal Controller BC7300 Controller

BELUK Capacitor-Protecting Relay KSR Sensor

BELUK EMM Power Analyzer Monitoring Hardware

BELUK Power Factor Control Relay BLR-CM

BENTEK SYSTEMS SMX-900 Modem

BIHL WIEDEMANN AS-i/Modbus Gateway

COMET SYSTEM SRO Ethernet Sensor

CONTROL MYCROSYSTEMS SCADAPack Controller

CONTROL TECHNIQUES Commander SE AC Vector Drive Control

CONTROL TECHNIQUES Commander SK AC/DC Drive Control

CONTROL TECHNIQUES Commander SX AC/DC Drive Control

CONTROL TECHNIQUES Epsilon Digital Servo AC/DC Drive Control

CONTROL TECHNIQUES MDS Modular Servo AC/DC Drive ControlControl Techniques Inc EN Servo Drive AC/DC Drive Control

CONTROL TECHNIQUES Unidrive SP AC/DC Drive Control

CONTROL TECHNIQUES. Mentor II DC AC/DC Drive Control

CONTROL TECHNIQUES. Quantum III DC AC/DC Drive Control

DAE Instrument SIO270 I/O Module

DANIEL Measurement and Control Model 3804 Liquid Ultrasonic Flow Meter Sensor

DATAFORTH Corporation isoLynx SLX200 Data Acquisition System

DATANAB LLC BarioNet Controller

DATAQ Instruments Inc DI-900MB Modules

DELTA COMPUTER SYSTEMS RMC70 Series One- and Two-Axis Mothion Controllers

DGH CORPORATION D1000M single-channel data acquisition modules

DGH CORPORATION D5000M Four Analog Input Modules

DGH CORPORATION DIN-100 Series I/O

ENDRESS HAUSER Flowtec AG Promag 53 Electromagnetic Flowmeter

ENDRESS HAUSER Flowtec AG Promass 83 Coriolis Flowmeter

EPRODUCTION SOLUTIONS Axess 2.4 GHz Gateway Sensor Receiver

EQUUSTEK SOLUTIONS DL2000-CMX Network Gateway

EQUUSTEK SOLUTIONS DL3500 Network Gateway

EQUUSTEK SOLUTIONS DL4000-DMX DF1 Network Gateway

EQUUSTEK SOLUTIONS DL4000-MMX Network Gateway

EQUUSTEK SOLUTIONS DL4500-MEDH+ Network Gateway

EQUUSTEK SOLUTIONS DL4500-MEDH-485 Network Gateway

EUROTHERM 2500 Intelligent Data Acqusition and Precision Multi-Loop PID Control

EXEMYS LLC MODBUS Serial Server Network Gateway

FLOWSERVE CORPORATION Valtek Logix 2000 Digital Positioner Controller

FLUENTA FGM

FRABA POSITAL Absolute Rotary Encoder Series OCD-EM

GALIL Motion Control IOC-7007 I/O Controller

GSE Scale Systems Indicator 460 Series

GSE Scale Systems Indicator 560 Series

GSE Scale Systems Indicator 660 Series

HACH COMPANY MOD I/O Modbus Interface

HACH COMPANY sc1000 Multi-parameter Universal Controller

HONEYWELL INTERNATIONAL Herculine Smart Actuators

ICP DAS USA M-7000 Series Controllers

INDUSTRIAL SCIENTIFIC CORPORATION 4800 Controller

INSTROMET

PRECISION DIGITAL CORPORATION Model PD865 Snooper RTU

PRECISION DIGITAL CORPORATION PD500 Series Controller

PROSOFT TECHNOLOGY MV156-MCM I/O Interface

PROSOFT TECHNOLOGY MVI56-MCMR Network Gateway

PROSOFT TECHNOLOGY MVI56-MNET Network Gateway

ROXAR RFM

SCHNEIDER ELECTRIC Advantys OTB Network Interface Module OTB 1E0 DM9LP

SCHNEIDER ELECTRIC Advantys STB Network Interface Module

SCHNEIDER ELECTRIC Altistart 48 Soft Starters Controller

SCHNEIDER ELECTRIC Altivar Speed Drives ATV 58

SCHNEIDER ELECTRIC Altivar Speed Drives ATV31

SCHNEIDER ELECTRIC Altivar Speed Drives ATV38

SCHNEIDER ELECTRIC Altivar Speed Drives ATV68

SCHNEIDER ELECTRIC Altivar Speed Drives ATV71H

SCHNEIDER ELECTRIC ASi Communications Gateways

SCHNEIDER ELECTRIC Atrium PL7 Processors

SCHNEIDER ELECTRIC Atrium Unity Processors TSX PCI 57

SCHNEIDER ELECTRIC Carriere Digital 600 Retrofit Trip Relay

SCHNEIDER ELECTRIC ConneXium Communications Gateways

SCHNEIDER ELECTRIC DeviceNet Modbus Communication Gateways

SCHNEIDER ELECTRIC Easergy Substation Control Unit Controller

SCHNEIDER ELECTRIC Fipio Modbus Communications Gateways

SCHNEIDER ELECTRIC Inductel Inductive Identification System XGK-S1.0421

SCHNEIDER ELECTRIC Inductel Inductive Identification System XGKS1715503

SCHNEIDER ELECTRIC LT6 Motor Control

SCHNEIDER ELECTRIC MASTERPACT Circuit Breaker

SCHNEIDER ELECTRIC Micro Communications Modules TSX ETZ 410

SCHNEIDER ELECTRIC Micro Communications Modules TSX ETZ 510

SCHNEIDER ELECTRIC Micro PL7 Processors

SCHNEIDER ELECTRIC Momentum M1 PLC Processor Controller

SCHNEIDER ELECTRIC Momentum M1E PLC Processor Controller

SCHNEIDER ELECTRIC PM500 Power Meter

SCHNEIDER ELECTRIC PM800 Power Meter

SCHNEIDER ELECTRIC PM9 Power Meter

SCHNEIDER ELECTRIC Power Logic Circuit Monitor CM3000

SCHNEIDER ELECTRIC Power Logic Circuit Monitor CM4000

SCHNEIDER ELECTRIC Premium Communications Modules TSX ETY 410

SCHNEIDER ELECTRIC Premium Communications Modules TSX ETY 510

SCHNEIDER ELECTRIC Premium family CPU module P571634

SCHNEIDER ELECTRIC Premium family CPU module P573634

SCHNEIDER ELECTRIC Premium family CPU module P574634

SCHNEIDER ELECTRIC Premium family CPU module P575634

SCHNEIDER ELECTRIC Premium PL7 TSX 57

SCHNEIDER ELECTRIC Premium Unity Processors TSX P57

SCHNEIDER ELECTRIC Preventa safety controllers Controller

SCHNEIDER ELECTRIC Profibus DP Modbus Communications Gateways

SCHNEIDER ELECTRIC Quantum Communications Modules 140 NOE 771 0

SCHNEIDER ELECTRIC Quantum Communications Modules 140 NOE 771 1X

SCHNEIDER ELECTRIC Quantum Concept Processors

SCHNEIDER ELECTRIC Quantum family CPU module CPU65160

SCHNEIDER ELECTRIC Quantum Unity Processors

SCHNEIDER ELECTRIC SEPAM 20 Protection Relays

SCHNEIDER ELECTRIC SEPAM 2000 Protection Relays

SCHNEIDER ELECTRIC SEPAM 40 Protection Relays

SCHNEIDER ELECTRIC SEPAM 80 Protection Relays

SCHNEIDER ELECTRIC Tesys U Motor Control and Protection Units Controller

Schneider Electric TSX 37 Controllers

SCHNEIDER ELECTRIC Twido Programmable Controllers

SCHNEIDER ELECTRIC Varlogic Power Factor Controller

SCHNEIDER ELECTRIC Vigilohm Insulation Monitor

SCHNEIDER ELECTRIC Vision System

SCHNEIDER ELECTRIC Zelio Smart Relays

SEALEVEL SYSTEMS SeaI/O-410 I/O Module

SEALEVEL SYSTEMS SeaI/O-420 I/O Module

SEALEVEL SYSTEMS SeaI/O-430 I/O Module

SEALEVEL SYSTEMS SeaI/O-440 I/O Module

SEALEVEL SYSTEMS SeaI/O-450 I/O Module

SEALEVEL SYSTEMS SeaI/O-462 I/O Module

SEALEVEL SYSTEMS SeaI/O-463 I/O Module

SEEKIRK A1700 Annunciator

STANLEY ASSEMBLY TECHNOLOGIES QPM Sigma Controller Q3000

WEED INSTRUMENT (EoTec) Modbus Remote I/O Electrical Interface

Supported Commands List

Read Coil Status

Read Input Status

Read Holding Registers as Unsigned 16-bit Integers

Read Holding Registers as Signed 16-bit Integers

Read Holding Registers as Unsigned 32-bit Integers

Read Holding Registers as Signed 32-bit Integers

Read Holding Registers as Unsigned 32-bit Integers (words reversed)

Read Holding Registers as Signed 32-bit Integers (words reversed)

Read Holding Registers as IEEE Floats

Read Holding Registers as IEEE Floats (bytes reversed)

Read Holding Registers as IEEE Floats (words reversed)

Read Input Registers as Unsigned 16-bit Integers

Read Input Registers as Signed 16-bit Integers

Read Input Registers as Unsigned 32-bit Integers

Read Input Registers as Signed 32-bit Integers

Read Input Registers as Unsigned 32-bit Integers (words reversed)

Read Input Registers as Signed 32-bit Integers (words reversed)

Read Input Registers as IEEE Floats

Read Input Registers as IEEE Floats (bytes reversed)

Read Input Registers as IEEE Floats (words reversed)

Force Single Coil

Force Multiple Coils

Preset Single Register as Unsigned 16-bit Integer

Preset Multiple Registers as Unsigned 16-bit Integers

Preset Multiple Registers as Unsigned 32-bit Integers

Preset Multiple Registers as Signed 32-bit Integers

Preset Multiple Registers as Unsigned 32-bit Integers (words reversed)

Preset Multiple Registers as Signed 32-bit Integers (words reversed)

Preset Multiple Registers as IEEE Floats

Preset Multiple Registers as IEEE Floats (bytes reversed)

Preset Multiple Registers as IEEE Floats (words reversed)

Read Coil Status

COMMAND DESCRIPTION:

Obtains current status (ON/OFF) in a group of logic coils.

This command implements Modbus function 1.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Input

HMITalk1.DriverNumPoints = 1-1000

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 1

HMITalk1.DriverP2 = Indicates the starting coil address.

 

RETURNS:

- HMITalk1.PointValue(0) = First coil status (0=OFF, 1=ON)

- HMITalk1.PointValue(1) = Second coil status (0=OFF, 1=ON)

...

- HMITalk1.PointValue(n-1) = Last coil status (0=OFF, 1=ON)

Read Input Status

COMMAND DESCRIPTION:

Obtains current status (ON/OFF) in a group of discrete inputs.

This command implements Modbus function 2.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Input

HMITalk1.DriverNumPoints = 1-1000

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 2

HMITalk1.DriverP2 = Indicates the starting input address.

 

RETURNS:

- HMITalk1.PointValue(0) = First input status (0=OFF, 1=ON)

- HMITalk1.PointValue(1) = Second input status (0=OFF, 1=ON)

...

- HMITalk1.PointValue(n-1) = Last input status (0=OFF, 1=ON)

Read Holding Registers as Unsigned 16-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as unsigned 16-bit integers from 0 to 65535.

This command implements Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-125

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 3

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value (0-65535)

- HMITalk1.PointValue(1) = Second register value (0-65535)

...

- HMITalk1.PointValue(n-1) = Last register value (0-65535)

Read Holding Registers as Signed 16-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as signed 16-bit integers from -32768 to 32767.

This command implements Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-125

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 74

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value (-32768 to 32767)

- HMITalk1.PointValue(1) = Second register value (-32768 to 32767)

...

- HMITalk1.PointValue(n-1) = Last register value (-32768 to 32767)

Read Holding Registers as Unsigned 32-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as unsigned 32-bit integer numbers.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 76

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as Signed 32-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as signed 32-bit integer numbers.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 75

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as Unsigned 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more holding registers

as unsigned 32-bit integer numbers with words in reverse

order.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 86

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as Signed 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more holding registers

as signed 32-bit integer numbers with words in reverse

order.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 85

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as IEEE Floats

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as 32-bit IEEE floating-point values.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 66

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as IEEE Floats (bytes reversed)

COMMAND DESCRIPTION:

Obtains the current values in one or more holding registers

as 32-bit IEEE floating-point values assuming that bytes are

received in reverse order.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 68

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Holding Registers as IEEE Floats (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more holding registers

as 32-bit IEEE floating point values assuming that the words

order is received in reversed order.

This command uses Modbus function 3.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 80

HMITalk1.DriverP2 = Indicates the starting memory address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

 

NOTE:

This command was added to support the floating-point format

used by the TSX-3722 PLC from Telemecanique.

Read Input Registers as Unsigned 16-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as unsigned 16-bit integers from 0 to 65535.

This command implements Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-125

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 4

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value (0-65535)

- HMITalk1.PointValue(1) = Second register value (0-65535)

...

- HMITalk1.PointValue(n-1) = Last register value (0-65535)

Read Input Registers as Signed 16-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as signed 16-bit integers from -32768 to 32767.

This command implements Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-125

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 179

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value (-32768 to 32767)

- HMITalk1.PointValue(1) = Second register value (-32768 to 32767)

...

- HMITalk1.PointValue(n-1) = Last register value (-32768 to 32767)

Read Input Registers as Unsigned 32-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as unsigned 32-bit integer numbers.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 176

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as Signed 32-bit Integers

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as signed 32-bit integer numbers.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 175

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as Unsigned 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more input registers

as unsigned 32-bit integer numbers with words in reverse

order.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 186

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as Signed 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more input registers

as signed 32-bit integer numbers with words in reverse

order.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 185

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as IEEE Floats

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as 32-bit IEEE floating-point values.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 166

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as IEEE Floats (bytes reversed)

COMMAND DESCRIPTION:

Obtains the current values in one or more input registers

as 32-bit IEEE floating-point values assuming that bytes are

received in reverse order.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 168

HMITalk1.DriverP2 = Indicates the starting register address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Read Input Registers as IEEE Floats (words reversed)

COMMAND DESCRIPTION:

Obtains current values in one or more input registers

as 32-bit IEEE floating point values assuming that the words

order is received in reversed order.

This command uses Modbus function 4.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station number (0-255).

HMITalk1.DriverP1 = 180

HMITalk1.DriverP2 = Indicates the starting memory address.

 

RETURNS:

- HMITalk1.PointValue(0) = First register value

- HMITalk1.PointValue(1) = Second register value

...

- HMITalk1.PointValue(n-1) = Last register value

Force Single Coil

COMMAND DESCRIPTION:

Forces a single logic coil to a state ON or OFF.

This command implements Modbus function 5.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 5

HMITalk1.DriverP2 = Indicates the coil address.

 

WHERE:

- HMITalk1.PointValue(0) = New coil status (0=OFF, 1=ON)

Force Multiple Coils

COMMAND DESCRIPTION:

Forces a series of consecutive logic coils to selected ON or OFF states.

This command implements Modbus function 15.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Output

HMITalk1.DriverNumPoints = 1-1000 (It is convenient for the groups to be a multiple of 8 elements)

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 15

HMITalk1.DriverP2 = Indicates the starting coil address.

 

WHERE:

- HMITalk1.PointValue(0) = New status for first coil (0=OFF, 1=ON)

- HMITalk1.PointValue(1) = New status for second coil (0=OFF, 1=ON)

...

- HMITalk1.PointValue(n-1) = New status for last coil (0=OFF, 1=ON)

Preset Single Register as Unsigned 16-bit Integer

COMMAND DESCRIPTION:

Places a specified value into a holding register as

an unsigned 16-bit integer value from 0 to 65535.

This command implements Modbus function 6.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 6

HMITalk1.DriverP2 = Indicates the register address.

 

WHERE:

- HMITalk1.PointValue(0) = New register value (0-65535)

Preset Multiple Registers as Unsigned 16-bit Integers

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers, as unsigned 16-bit integer values from 0 to 65535.

This command implements Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-125

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 16

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register (0-65535)

- HMITalk1.PointValue(1) = New value for second register (0-65535)

...

- HMITalk1.PointValue(n-1) = New value for last register (0-65535)

Preset Multiple Registers as Unsigned 32-bit Integers

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers, as unsigned 32-bit integer values.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 78

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as Signed 32-bit Integers

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers, as signed 32-bit integer values.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 77

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as Unsigned 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers, as unsigned 32-bit integer values

with words in reverse order.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 88

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as Signed 32-bit Integers (words reversed)

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers, as signed 32-bit integer values

with words in reverse order.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 87

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as IEEE Floats

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers as 32-bit IEEE floating point values.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 70

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as IEEE Floats (bytes reversed)

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers as 32-bit IEEE floating point values

where the bytes order is reversed.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 72

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

Preset Multiple Registers as IEEE Floats (words reversed)

COMMAND DESCRIPTION:

Places specified values into a series of consecutive

holding registers as 32-bit IEEE floating point values

where the required words order must be reversed.

This command uses Modbus function 16.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-62

HMITalk1.DriverP0 = Station Number (0-255).

If the station number is 0, the command is sent as a broadcast

message and no response is expected.

HMITalk1.DriverP1 = 81

HMITalk1.DriverP2 = Indicates the starting register address.

 

WHERE:

- HMITalk1.PointValue(0) = New value for first register

- HMITalk1.PointValue(1) = New value for second register

...

- HMITalk1.PointValue(n-1) = New value for last register

 

NOTE:

This command was added to support the format

used by the TSX-3722 PLC from Telemecanique.

Returned Errors List

[1005] DRIVER (Internal): Invalid driver stage

[1300] PROTOCOL (Timeout): No answer

[1421] PROTOCOL (Format): Negative acknowledge received from device

[1433] PROTOCOL (Format): Validation error in device response

[1435] PROTOCOL (Format): Invalid transaction identifier received

[2147] CONFIG (NumValues): Only one value can be read or written

[2185] CONFIG (NumValues): Too many values (max=125)

[2229] CONFIG (NumValues): Too many values (max=62)

[3014] CONFIG (P0): Invalid device address (0-255)

[3022] CONFIG (P0): Invalid device address (1-255)

[3508] CONFIG (P1): Invalid command

[4001] CONFIG (P2): Invalid address

[8013] CONFIG (Remote): Acknowledge

[8034] CONFIG (Remote): Busy (rejected message)

[8138] CONFIG (Remote): Failure in associated device

[8168] CONFIG (Remote): Illegal data address

[8170] CONFIG (Remote): Illegal data value

[8172] CONFIG (Remote): Illegal function

[8347] CONFIG (Remote): Unknown error

About the XMODBTCP.tlk driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Source Code Last Update: 02/12/2007 15:59:42

Driver Reference Last Update: 10/30/2008 17:42:06

© 1990-2008, CPKSoft Engineering. All rights reserved.

http://www.cpksoft.com - support@cpksoft.com

http://www.cpksoft.com.ar - soporte@cpksoft.com.ar>