Modbus ASCII between E1000 and Jokab Pluto

Modbus ASCII between E1000 and Jokab Pluto
It’s possible to communicate between an E1000 and a Pluto safety PLC from Jokab Safety via the Modbus ASCII protocol.
The communication is made via RS-232 and standard programming cable for Pluto is used (Jokab Safety order no. is 20-07056).
E1000
The Modbus Master version has to be 4.06.02 or higher.
Driver settings
Docmal_eng, 001110
Settings tab
Set the Serial station number to 1 and select Modbus protocol to Master ASCII.
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
1 (8)
Modbus ASCII between E1000 and Jokab Pluto
Docmal_eng, 001110
Adressing tab
Set the max address to 65535.
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
2 (8)
Modbus ASCII between E1000 and Jokab Pluto
Docmal_eng, 001110
Data format tab
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
3 (8)
Modbus ASCII between E1000 and Jokab Pluto
Advanced tab
Set XRTS in the Command Line Setting. The RTS-signal in the E1000 is then set high. The RTS-signal is used as a power
supply for the RS232-communication circuits of the Pluto.
Docmal_eng, 001110
Communication format
The format for the communication has to be set to 57600, None, 8, 1.
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
4 (8)
Modbus ASCII between E1000 and Jokab Pluto
Pluto
The version of the Pluto OS has to be 2.06.2 or higher.
Check the version of the Operating system in the Pluto. Go to the Tools menu, online info and select Pluto connected to PC.
The version of the Operating system files can be read on the second line.
Setup of external device in Pluto
Docmal_eng, 001110
Set the external communication according to the settings below or refer to Pluto software manual.
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
5 (8)
Modbus ASCII between E1000 and Jokab Pluto
Pluto function blocks
To send and receive data from the E1000 two function blocks are used. To get access to the blocks the function block file
“Ext01” must be imported to the project. Go to the “Function Libraries” menu and click on the Change button, select “Add
standard library” and select the Ext01.fps file.
Function block Ext_Sig
The block reads signals (1 bit) from external devices such as HMI, gateways etc.
The external devices can either be connected to the Pluto CAN-bus or the serial programming port.
By connection to the programming port Modbus ASCII communication protocol is used.
- VarNo is an input for a constant which specifies the variable number (0..63).
- PostClear is an input for setting the output "Q" to 0 next cycle.
- Q is output and can control a M, GM or Q according to what the external device transmits.
Description:
An external device can transmit up to 64 1-bit variables numbered 0..63. This block can take care of
one of these variables and set a memory or output (M, GM or Q) with the output "Q" from the block.
By Modbus devices each "VarNo" corresponds to a Modbus "Output coil":
VarNo: 0 to Output coil 0
VarNo: 1 to Output coil 1
...
VarNo: 63 to Output coil 63.
So if for example a HMI controls output coil 4 the constant to input "VarNo" shall be set to "4".
PostClear sets the output "Q" to 0 in next PLC cycle, if it is unconditionally set "Q" will be set to "1" during one cycle if the
external device writes "1" to the variable (output coil).
Function block Ext_Val
The block reads values (16 bit) from external devices such as HMI, gateways etc.
The external devices can either be connected to the Pluto CAN-bus or the serial programming port.
By connection to the programming port Modbus ASCII communication protocol is used.
- VarNo is an input for a constant which specifies the variable number (0..7).
- Value is the output for the value from the external device and must be connected to a Register (R).
- PostClear is an input for setting the output "Value" to 0 in next PLC cycle.
- Q is mainly a dummy output which is normally 1. However it must be connected to a M, GM or Q.
Description:
An external device can transmit up to 8 16-bit variables numbered 0..7. This block can take care of one of these variables and
write it to a register (R) with the output "Value" from the block.
By Modbus devices each "VarNo" corresponds to a Modbus "Holding register":
VarNo: 0 to Holding reg. 400000,
VarNo: 1 to Holding reg. 400001,
...
VarNo: 7 to Holding reg. 400007.
So if for example a HMI controls output coil HREG 400002 the constant to input "VarNo" shall be set to "2".
Docmal_eng, 001110
PostClear sets the output "Value" to 0 in next PLC cycle. If the input is unconditionally set, "Value" will be set to the value
written by the external device during one cycle. Then it will be reset to "0" again.
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
6 (8)
Modbus ASCII between E1000 and Jokab Pluto
Modbus-addresses
Read / write variables
Output bit [0..63] = 000000 .. 000063
Output word [0…7] = [400000 … 400007]
Read only variables
Variables are mapped in the Pluto as follows:
Global variables: 100000+P*16+[G (bitwise) & 15] + [G (bitwise) & 16]*32
Local variables: 101024+L
Local register: 300000+R
G=Global variable No
L=Local variable No
R=Local register No
P=Pluto No
Example
I0.2
P=0 G=2
Modbus-address = 100000 + 0*16+ [2 & 15] + [2 & 16]*32 = 100002
[2 & 15] = binary =[00000010 & 00001111] = 00000010 = decimal = 2
[2 & 16] = binary =[00000010 & 00010000] = 00000000 = decimal = 0
GM4.5
P=4 G=25
Modbus-address = 100000 + 4*16+ [25 & 15] + [25 & 16]*32 =100585
[25 & 15] = binary =[00011001 & 00001001] = 00000010 = decimal = 9
[25 & 16] = binary =[00011001 & 00010000] = 00000000 = decimal = 16
This means a total of 2048 boolean variables which occupies 256 bytes.
The variable mapping differs depending on the PlutoTypeCode.
Docmal_eng, 001110
Global Variable
I0..I7
I10..I17
Q0..Q3
GM0..GM11
PlutoTypeCode=0x0 (A16, A20, B16, B20, S19, S20)
Global Variabel No (G)
0..7
8..15
16..19
20..31
Local Variable (Bit)
Q10..Q17
Reserved
SM0..SM199
M0..M807
Local Variable No (L)
0..7
8..15
16..215
216..1023
Local Registers
SR0..SR99
R0..149
Local register No (R)
0..99
100..249
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
7 (8)
Modbus ASCII between E1000 and Jokab Pluto
Global Variable
I0
ASI1..ASI15
Q0..Q3
GM0..GM11
PlutoTypeCode=0x1 (AS-i)
Global Variabel No (G)
0
1..15
16..19
20..31
Safe input
Safe AS-i input node
Safe output
Global memories
Local Variable
Q10..Q13
Reserved
I1..I3
I10..13
SM0..SM199
M0..M543
ASI16..ASI31
ASI1.1,2,3,4,ASQ1.1,2,3,4
to
ASI31.1,2,3,4,ASQ31.1,2,3,4
Local Variable No (L)
0..3
4..8
9..11
12..15
16..215
216..759
760-775
776..1023
Local Registers
SR0..SR99
R0..149
Local register No (R)
0..99
100..249
Global Variable
I0..I7
I10..I17
Q0..Q3
GM0..GM11
PlutoTypeCode=0x3 (B46, S46)
Global Variabel No (G)
0..7
8..15
16..19
20..31
Local Variable
Q10..Q17
Q20..Q27
SM0..SM199
M0..M775
I20..I27
I30..I37
I40..I47
Reserved
Q4..Q5
Reserved
Local Variable No (L)
0..7
8..15
16.215
216..991
992..999
1000..1007
1008..1015
1018..1019
1020..1021
1022..1023
Local Registers
SR0..SR99
R0..149
Local register No (R)
0..99
100..249
Nonsafe output
Safe input
Safe input
Safe AS-i input node
Nonsafe AS-i I/O
Websites
Docmal_eng, 001110
http://www.beijerelectronics.com
http://www.jokabsafety.com
Initiated by
Date
JEL
2007-09-11
Approved by
Revision
-
Revision date
-
Number
Page
8 (8)