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)
© Copyright 2026 Paperzz