0% found this document useful (0 votes)
2K views

Methods - ModbusClient - EasyModbusTCP (UDP) and RTU .NET - Modbus TCP and UDP Client and Server For Data Exchange Between PLC and

This document describes the methods available for the ModbusClient class in the EasyModbusTCP .NET library. It lists constructors for connecting to Modbus TCP servers or serial ports, and methods for reading and writing common Modbus data types including coils, registers, and handling float and double conversions between registers. It also includes properties and methods for getting and setting connection parameters and checking the connection status.

Uploaded by

direct1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views

Methods - ModbusClient - EasyModbusTCP (UDP) and RTU .NET - Modbus TCP and UDP Client and Server For Data Exchange Between PLC and

This document describes the methods available for the ModbusClient class in the EasyModbusTCP .NET library. It lists constructors for connecting to Modbus TCP servers or serial ports, and methods for reading and writing common Modbus data types including coils, registers, and handling float and double conversions between registers. It also includes properties and methods for getting and setting connection parameters and checking the connection status.

Uploaded by

direct1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

15/11/2015 Methods"ModbusClient"EasyModbusTCP(UDP)andRTU.NETModbusTCPandUDPClientandServerfordataexchangebetweenPLCand.

NET

Methods ModbusClient
.NET PROPERTIES (.DLL)

ModbusClient(string ipAddress, int port)


ConstructorExecutedwhenobjectiscreated
ParameteripAddress:IPAddressofModbusTCPServer
Parameterport:PortofModbusTCPServerlistening

ModbusClient(string serialPort)
ConstructorExecutedwhenobjectiscreatedforseriallineconnection(RTU)
ParameterserialPort:SerialPortNamee.G."COM1"

ModbusClient()
ConstructorExecutedwhenObjectiscreated

void Connect()
ConnectstotheModbusTCPServerorModbusRTUSlave

void Connect(string ipAddress, int port)


ConnectstotheModbusTCPServerwithadifferentIPAddressorPortasspecifiedinconstructor
ParameteripAddress:IPAddressofModbusTCPServer
Parameterport:PortofModbusTCPServerlistening

bool[] ReadDiscreteInputs(int startingAddress, int quantity)


ReaddiscreteInputsfromServer(FunctionCode2)

bool[] ReadCoils(int startingAddress, int quantity)


ReadcoilsfromServer(FunctionCode1)

int[] ReadHoldingRegisters(int startingAddress, int quantity)


ReadholdingregistersfromServer(FunctionCode3)

int[] ReadInputRegisters(int startingAddress, int quantity)


ReadInputregistersfromServer(FunctionCode4)

void WriteSingleCoil(int startingAddress, bool value)


WritesingleCoiltoServer(FunctionCode5)

void WriteSingleRegister(int startingAddress, int value)


WritesingleRegistertoServer(FunctionCode6)

http://www.easymodbustcp.net/index.php/help/methodsmodbusclient.html

1/3

15/11/2015 Methods"ModbusClient"EasyModbusTCP(UDP)andRTU.NETModbusTCPandUDPClientandServerfordataexchangebetweenPLCand.NET

void WriteMultipleCoils(int startingAddress, bool[] values)


WritemultiplecoilstoServer(FunctionCode15)

void WriteMultipleRegisters(int startingAddress, int[] values)


Writemultipleregisterstoserver(FunctionCode16)

int[] ReadWriteMultipleRegisters(int startingAddressRead, int quantityRead, int startingAddressWrite, int quantityWrite)


ReadsandWritesMultipleRegisters(FunctionCode23)

void Disconnect()
closeconnectiontoServer

static oat ConvertRegistersToFloat(int[] registers)


Convertstworegistersintofloatvaluecanbeusedtoreadfloatvaluesfromserver
FirstsentRegistermustbethe"LowRegister"Second"HighRegister"
Parameterint[]registers:TwoRegisterswillbeconnectedforthefloatvalue
Exampletoreadfloatvaluesfromserver:
EasyModbus.ModbusClient.ConvertRegistersToFloat(modbusClient.ReadHoldingRegisters(19,2))

static oat ConvertRegistersToFloat(int[] registers, RegisterOrder registerOrder)


Convertstworegistersintofloatvaluecanbeusedtoreadfloatvaluesfromserver
Parameterint[]registers:TwoRegisterswillbeconnectedforthefloatvalue
ParameterRegisterOrderregisterOrder:TheorderofHighRegisterandLowRegistercandetermined
Exampletoreadfloatvaluesfromserver:
EasyModbus.ModbusClient.ConvertRegistersToFloat(modbusClient.ReadHoldingRegisters(19,2),ModbusClient.RegisterOrder.LowHigh)

static Int32 ConvertRegistersToDouble(int[] registers)


Convertstworegistersinto32BitvaluecanbeusedtoreadDaublevaluesfromserver
FirstsentRegistermustbethe"LowRegister"Second"HighRegister"
Parameterint[]registers:TwoRegisterswillbeconnectedforthedoublevalue
Exampletoreaddoublevaluesfromserver:
EasyModbus.ModbusClient.ConvertRegistersToDouble(modbusClient.ReadHoldingRegisters(19,2))

static oat ConvertRegistersToDouble(int[] registers, RegisterOrder registerOrder)


Convertstworegistersinto32Bitvaluecanbeusedtoreaddoublevaluesfromserver
Parameterint[]registers:TwoRegisterswillbeconnectedforthedoublevalue
ParameterRegisterOrderregisterOrder:TheorderofHighRegisterandLowRegistercandetermined
Exampletoreaddoublevaluesfromserver:
EasyModbus.ModbusClient.ConvertRegistersToDouble(modbusClient.ReadHoldingRegisters(19,2),ModbusClient.RegisterOrder.LowHigh)

static int[] ConvertFloatToTwoRegisters( oat oatValue)


Convertsfloatvalueintotworegisterscanbeusedtowritefloatvaluestoserver
Exampletowritefloatvalueintoserver:
modbusClient.WriteMultipleRegisters(24,EasyModbus.ModbusClient.ConvertFloatToTwoRegisters((float)1.22))

http://www.easymodbustcp.net/index.php/help/methodsmodbusclient.html

2/3

15/11/2015 Methods"ModbusClient"EasyModbusTCP(UDP)andRTU.NETModbusTCPandUDPClientandServerfordataexchangebetweenPLCand.NET

static int[] ConvertFloatToTwoRegisters( oat oatValue, RegisterOrder registerOrder)


Convertsfloatvalueintotworegisterscanbeusedtowritefloatvaluestoserver
ParameterRegisterOrderregisterOrder:TheorderofHighRegisterandLowRegistercandetermined
Exampletowritefloatvalueintoserver:
modbusClient.WriteMultipleRegisters(24,EasyModbus.ModbusClient.ConvertFloatToTwoRegisters((float)1.22),ModbusClient.RegisterOrder.LowHigh)

static int[] ConvertDoubleToTwoRegisters(Int32 doubleValue)


Converts32Bitvalueintotworegisterscanbeusedtowritedoublevaluestoserver
Exampletowritedoublevalueintoserver:
modbusClient.WriteMultipleRegisters(24,EasyModbus.ModbusClient.ConvertDoubleToTwoRegisters((Int32)122546))

static int[] ConvertDoubleToTwoRegisters(Int32 doubleValue, RegisterOrder registerOrder)


Converts32Bitvalueintotworegisterscanbeusedtowritedoublevaluestoserver
ParameterRegisterOrderregisterOrder:TheorderofHighRegisterandLowRegistercandetermined
Exampletowritedoublevalueintoserver:
modbusClient.WriteMultipleRegisters(24,EasyModbus.ModbusClient.ConvertDoubleToTwoRegisters((Int32)122546),
ModbusClient.RegisterOrder.LowHigh)

static UInt16 calculateCRC(byte[] data, UInt16 numberOfBytes, int startByte)


CaclculatesCRCChecksumforModbusRTU.Onlyneededforinternaluse

JAVA Properties (.JAR)


boolean isConnected
returns"TRUE"ifclientisconnectedtoServerand"FALSE"ifnot

string getIPAddress; void setIPAddress(string)


getsorsetstheIPAddressweretheModbusTCPServerisreachable

int getPort; void setPort(int)


getsorsetstheportoftheModbusTCPServer(Standardis502)

boolean getUDPFlag; void setUDPFlag(boolean)


EnablesModbusUDP(ModbusTCPwillbedisabled)

http://www.easymodbustcp.net/index.php/help/methodsmodbusclient.html

3/3

You might also like