DT80 range Modbus capability

Download Report

Transcript DT80 range Modbus capability

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
2
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)
3
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.
4
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
5
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
6
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
7
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
8
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.
9
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)
10
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.
11
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
12
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
13
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
14
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
15
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
16
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
17
DT80 Range Modbus applications
• Who use Modbus?
• Manufacturing
• Petrochemical
• Chemical
• Power
• Water
• Desalination
• Purification
• Waste treatment
18
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.
19
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.
20
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.
21
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.
22