240 likes | 441 Views
DT80 range Modbus capability. David Williams Product Development Manager 23 March 2010. Introduction to Modbus. What is Modbus? Is an serial data protocol for transferring data between intelligent devices. Widely used in industrial sector Designed to be scalable in size and complexity.
E N D
DT80 range Modbus capability David Williams Product Development Manager 23 March 2010
Introduction to Modbus • What is Modbus? • Is an serial data protocol for transferring data between intelligent devices. • Widely used in industrial sector • Designed to be scalable in size and complexity. • Supported in SCADA (Supervisory Control And Data Acquisition) applications • Has a Master (Client) that requests data from Slave (Server) devices
Introduction to Modbus • Modbus can operate using a broad range of communications media. • Serial connection are typically RS232, RS422 or RS485 • TCP/IP network, which can use a variety of physical link types e.g. Ethernet wireless, fibre-optic, serial (PPP) • There are two methods of data transfer • Modbus RTU (Remote Telemetry Unit) • Binary data in packet format • Most common implementation • Modbus ASCII • Plain text in packet format (Little used)
Introduction to Modbus • Modbus Serial • One master per network • Each network can have up to 247 slave devices • 1 slave device for RS232 • Each slave device has a unique address (1 to 247) • Modbus TCP/IP • Multiple masters on one network • Slave devices identified by TCP/IP address.
Introduction to Modbus • The master device requests data from the slave • Message includes; • Slave address • Function codes; • 0 = Read a coil (e.g. Read / write the state of a digital channel) • 1 = Read state • 3 = Input register (Read a register) • 4 = Output register (Read or write to a register.) • Starting address of registers to be accessed • Number of registers • 16 bit check sum
Introduction to Modbus • Slave device will respond only to messages direct to it. • Slave devices can have up to 65535 registers • Registers can be either coils (bit state) or data • Data can be of types; • Signed 16 bit integer • Unsigned 16 bit integer • Signed 32 bit integer • Unsigned 32 bit integer • 32 bit floating point number • Maximum message length is 255 bytes • This means you need to understand the device configuration and mapping
DT80 Range Modbus capability • Generic implementation • No special drivers required for SCADA packages • Ease of integration into existing SCADA systems • Supports standard Modbus data types • Flexible communications • Can support non standard baud rates and other communications settings (Parity, TCP/IP ports etc) • Can be simultaneously connected to more than one Modbus network • Can be a master and slave simultaneously on different networks
DT80 Range Modbus capability • Example; • Can be a master on an serial sensor port RS485 network and a slave on the RS232 host port • Can be a master and a slave on a TCP/IP network
DT80 Range Modbus capability • The DT80 supports Modbus master or slave modes over • RS232 - Serial sensor port and Host port • RS422 - Serial sensor port • RS485 - Serial sensor port • TCP/IP - Ethernet or PPP • On a TCP/IP network a DT80 can be both a master and a slave device at the same time.
DT80 Range Modbus capability • Unusual capabilities • Back filling data in to SCADA systems • SCADA systems are real time. If the network or power fails then data is lost. The DT80 having independent power will keep data that can be recovered latter. • Independent alarming. • The DT80 has the capability to send alarms independent of SCADA system • Gateway • Modbus to Modbus • SDI-12 to Modbus • Serial to Modbus • CAN to Modbus (e.g. OBDII, J1939)
DT80 Range Modbus capability • Unusual capabilities • FTP Client - Can push data to a site • FTP Server - Can serve data when requested • High quality web interface built in as standard • Custom web pages • Allows real time inter logger calculations and data exchange.
DT80 Range Modbus Slave configuration • Introduced in V6.02 firmware (May 2006) • Modbus registers mapping • Channel variables - Registers 1 to 1000 • System variables - Registers 4001 to 4053 • Digital I/O and relay - Registers 8000 to 8009 Note: Modbus master can access digital i/o directly • Data types supported • Signed 16 bit integer • Unsigned 16 bit integer • Signed 32 bit integer • 32 bit floating point number
DT80 Range Modbus Slave configuration • Slave commands and settings • SetModBus • Used to set the data type in the registers • Profile settings • Allow the DT80 to be configured to suit Modbus network • Set communications interface to slave mode Note: Modbus ASCII is not supported
DT80 Range Modbus Master configuration • Example of code Begin“Slave" SETMODBUS 1..2CV MBI 100 'Configure Modbus registers for temperature readings RA("B:",Data:NOV:60D)1M ' Measure concrete temperature - 2 thermocouples per channel on CEM20 #1 101*TT(=1CV,"Temp1~DegC",ff2) 'Temperature 1 mapped to MODBus register 1 101TT(=2CV,"Temp2~DegC",ff2) 'Temperature 2 mapped to MODBus register 2 END
DT80 Range Modbus Master configuration • Introduced in V8 firmware (March 2010) • New channel type nMODBUS(Options)(=Assign) • Access to the different communications interfaces • 1 = Serial sensor port • 2 = Host port • 4 = TCP/IP
DT80 Range Modbus Master configuration • Channel options; • Allow read / access to all Modbus functionality • Assign (Option) • Writing data to single or multiple registers - =x..xxCV • Profile settings • To configure DT80 to match Modbus network • Set communications interface to master mode • Error messages and diagnostics • Full error reporting will 11 new error messages • Diagnostics for Modbus added
DT80 Range Modbus Master configuration • Example of code Begin"Master" RA1M '======================================================= 'Read remote temperatures from MODBus slave ' RTU address - AD“myDT80.com.au" ' Register 3 start address 1 - R3:1 ' Read consecutive registers to CV's - =1..2CV ' Read MODBus signed integers - MBI ' Integers have been x 100 so we x by 0.01 - 0.01 ' 3 re-tries - RT3 ' 15 second time out - TO15 '======================================================= 4MODBUS(AD"myDT80.com.au",R3:1,=1..2CV,MBI,0.01,RT3,TO15,W) 1cv(ff2,"RmtTemp1~DegC") 'Remote Temperature 1 2cv(ff2,"RmtTemp2~DegC") 'Remote Temperature 2 End
DT80 Range Modbus applications • Who use Modbus? • Manufacturing • Petrochemical • Chemical • Power • Water • Desalination • Purification • Waste treatment
DT80 Range Modbus applications • What can we connect to? • Programmable Logic Controllers (PLC) • Controllers (Ovens, water baths, fridges, freezers etc) • Human Machine Interfaces (HMI) • Analog and digital I/O modules • Smart Sensors • RFID tag readers • Pressure • Supervisory Control And Data Acquisition (SCADA) • Whole new ranges of sensors, devices and applications.
DT80 Range Modbus applications • HMI • Allows operator to enter data directly into DT80 • Change set points • Batch ID’s • Operator ID • Graphical display of real time data to operator • Indicators • Charts • Mimic type displays.
DT80 Range Modbus applications • Dam monitoring • Multiple remote sites (50+) • Mix of sensors • SDI-12 • Modbus depth sensor • Vibrating wire piezometers • Remote Network connection via VPN back to central SCADA system • Data is backed up by using dataTaker unload commands to a separate system.
DT80 Range Modbus applications • Vehicle location & down time monitoring • In each vehicle • Modbus RTU RFID tag read • Touch screen HMI • DT80 • RFID tags distributed around site • If a vehicle has been stationary for more than a set period of time then the driver is required to input a reason why.