modbus rtu relay8 / in8 - ett · คู่มือการใช้งาน modbus rtu relay8 /...

11
คู ่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8 เป็นชุดบอร์ด Relay ขนาด ช่อง และ Input opto-Isolate 8ช่อง สําหรับใช้สังงานควบคุม และอ่านค่าสถานะ Input ผ่านทางพอร์ตสือสารอนุกรมโดยใช้การเชือมต่อสือสาร ผ่านสัญญาณ RS485 แบบ Half Duplex ด้วย Protocol การสือสารแบบ Modbus RTU รองรับการ เชือมต่อสือสารระยะไกลแบบ Multi-drop ตามมาตรฐาน RS485 สามารถเชือมต่ออุปกรณ์ร่วมกันในระบบ บัสเดียวกันได้มากถึง อุปกรณ์ โดยสามารถกําหนดค่า Slave Address ได้อิสระจากคําสัง มีคําสัรองรับการทํางานของ Relay แบบ PLC ในลักษณะ ON/OFF ผ่านฟังก์ชัน Write Single Coil (0x05)ใน การควบคุมรีเลย์ทีละช่อง หรือ Write Multiple Coils(0x0F) ในการควบคุมรีเลย์หลายช่อง และคําสังอ่าน ค่าสถานะของ Input ผ่านฟังก์ชัน Read Discrete Inputs(0x02)

Upload: others

Post on 18-May-2020

70 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 1

Modbus RTU Relay8 / In8

Modbus RTU Relay8 / In8 เป็นชดุบอร์ด Relay ขนาด 2ชอ่ง และ Input opto-Isolate 8ชอ่ง

สําหรับใช้สั<งงานควบคมุ และอา่นคา่สถานะ Input ผา่นทางพอร์ตสื<อสารอนกุรมโดยใช้การเชื<อมตอ่สื<อสาร

ผา่นสญัญาณ RS485 แบบ Half Duplex ด้วย Protocol การสื<อสารแบบ Modbus RTU รองรับการ

เชื<อมตอ่สื<อสารระยะไกลแบบ Multi-drop ตามมาตรฐาน RS485 สามารถเชื<อมตอ่อปุกรณ์ร่วมกนัในระบบ

บสัเดียวกนัได้มากถึง UV อปุกรณ์ โดยสามารถกําหนดคา่ Slave Address ได้อิสระจากคําสั<ง มีคําสั<ง

รองรับการทํางานของ Relay แบบ PLC ในลกัษณะ ON/OFF ผา่นฟังก์ชั<น Write Single Coil (0x05)ใน

การควบคมุรีเลย์ทีละชอ่ง หรือ Write Multiple Coils(0x0F) ในการควบคมุรีเลย์หลายชอ่ง และคําสั<งอา่น

คา่สถานะของ Input ผา่นฟังก์ชั<น Read Discrete Inputs(0x02)

Page 2: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 2

คุณสมบัต ิ

ใช้กบัแหลง่จา่ยไฟ 12VDC

สื<อสารด้วย RS485 Half Duplex กําหนด Slave Device ID ได้อิสระจากคําสั<ง

8 Output Relay 2 Contact (NO / COMMON / NC)

o AC Contact Rating 10A / 220VAC

o DC Contact Rating 10A / 30VDC

8 Input Opto-Isolate 12V แบบ Sink Input

การเชื<อมตอ่สื<อสารผา่นสญัญาณแบบ RS485 Half Duplex ด้วย Modbus RTU Protocol

o สามารถกําหนดคา่ Slave Address ได้อิสระจาก คําสั<ง

o Baudrate 9600bps, Data 8Bit, None Parity, 1 Stop Bit

มีคําสั<งรองรับการทํางานแบบ

o Write Single Coil(0x05) สําหรับสั<ง ON/OFF

o Read Discrete Inputs(0x02) สําหรับสั<งอ่านสถานะ Input

ขนาด ความกว้าง 6.7ซม. x ความยาว mn.o ซม.

Page 3: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 3

ข้อกาํหนดในการสื(อสาร

ข้อกําหนดในการตดิตอ่สื<อสาร จะใช้การสื<อสารแบบอนกุรม ผา่นระบบสญัญาณ RSn2o แบบ

Half Duplex ด้วย Modbus RTU โดยในการสื<อสารจะมีข้อกําหนดของคา่พารามิเตอร์ของการสื<อสาร

อนกุรมเป็นดงันี p

Baudrate qrssBPS

Data 2Bit

None Parity

m Stop Bit

รูปแสดง ตาํแหน่ง จุดเชื(อมต่อ RS485

Page 4: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 4

การกาํหนดค่า Slave Deice Address

ตามปรกติดแล้วค่า Slave Device Address จะถกูกําหนดค่ามาตรฐานเป็น 0x01 ไว้

เมื<อต้องการใช้งานบอร์ดร่วมกนัมากกว่า mบอร์ดมีความจําเป็นต้องกําหนดค่า Slave Address

ใหม่ไม่ให้ซํ pากนั ให้โดยใช้คําสั<งของ Function16(0x10) ในการกําหนดและต้องกระทําใน

ขณะที<ทําการเชื<อมต่อบอร์ดไว้ในบสั RS485 เพียง mบอร์ดเท่านั pน ไม่เช่นนั pนแล้วบอร์ดทกุบอร์ด

จะถกูกําหนดให้มีค่าเหมือนกนัทกุบอร์ด

เราสามารถใช้ Function 0x03(Read Holding Register) ในการอ่านค่า Slave Device

Address ของบอร์ดได้ดงัตวัอย่าง

ตวัอย่างการสั<งอ่านค่า Slave Device Address

Tx : 00 03 00 00 00 01 85 DB // Read Holding Register จาก Address : 0x0000 จํานวน 1ตําแหน่ง

Rx : 00 03 02 00 01 44 44 // คา่ Slave Device Address = 01

ตวัอย่างการสั<งเปลี<ยนค่าตําแหน่ง Slave Device Address จาก 0x01 เป็น 0x09

Tx : 01 10 00 00 00 01 02 00 09 66 56

01 = Slave 01 10 = Function 16(0x10) : Write Multiple Registers 00 00 = Start Address Hi:Lo(0x0000) = เริ:มจากตําแหนง 0x0000 00 01 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0001) = 1ตําแหน่ง 02 = Data Byte Count = 2ไบต ์ 00 09 = Data 2 Byte(00 09) ซึ:งคอืคา่ กําหนดตําแหน่ง = 0x0009 66 56 = CRC(0x66, 0x56)

Rx : 01 10 00 00 00 01 01 C9 01 = Slave 01 10 = Function16(0x10) : Write Multiple Registers 00 00 = Start Address Hi:Lo(0x0000) = เริ:มจากตําแหนง 0x0000 00 01 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0001) = 1ตําแหน่ง 01 C9 = CRC(0x01, 0xC9)

Page 5: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 5

การควบคุม RELAY

การควบคมุการทํางานของ Relay ในบอร์ด Modbus RTU Relay8 / In8 จะใช้คําสั<ง

ของ ฟังก์ชั<น Write Single Coil (0x05) และ Write Multiple Coils(0x0F) ในการสั<งงาน โดย

Function 0x05 จะใช้สั<งงานรีเลย์แบบทีละช่อง ส่วน Function 0x0F จะใช้สั<งงานรีเลย์พร้อม

กนัทั pง 8ช่อง

Function 0x05(Write Single Coils) เฟรมคําสั<งจะประกอบไปด้วยข้อมลูจํานวน 2ไบท์

จะใช้ตําแหนง่ Start Address ของเฟรมคําสั<งเป็นตวักําหนดหมายเลขรีเลย์ 1-8 โดย Address 0x0000 ใช้

อ้างถึงรีเลย์m และ Address 0x0007 ใช้อ้างถึงรีเลย์8 ซึ<งมีรูปแบบดงันี p

Byte No 1 2 3 4 5 6 7 8 Modbus Slave ID Function Address Data CRC Check Function Device ID Function Relay(0..3) Command ON/OFF CRC Check ON RELAY1 00-FF 05 00 00 01/FF 00 2 Byte CRC ON RELAY2 00-FF 05 00 01 01/FF 00 2 Byte CRC ON RELAY3 00-FF 05 00 02 01/FF 00 2 Byte CRC ON RELAY4 00-FF 05 00 03 01/FF 00 2 Byte CRC ON RELAY5 00-FF 05 00 04 01/FF 00 2 Byte CRC ON RELAY6 00-FF 05 00 05 01/FF 00 2 Byte CRC ON RELAY7 00-FF 05 00 06 01/FF 00 2 Byte CRC ON RELAY8 00-FF 05 00 07 01/FF 00 2 Byte CRC OFF RELAY1 00-FF 05 00 00 00 00 2 Byte CRC OFF RELAY2 00-FF 05 00 01 00 00 2 Byte CRC OFF RELAY3 00-FF 05 00 02 00 00 2 Byte CRC OFF RELAY4 00-FF 05 00 03 00 00 2 Byte CRC OFF RELAY5 00-FF 05 00 04 00 00 2 Byte CRC OFF RELAY6 00-FF 05 00 05 00 00 2 Byte CRC OFF RELAY7 00-FF 05 00 06 00 00 2 Byte CRC OFF RELAY8 00-FF 05 00 07 00 00 2 Byte CRC

ตารางแสดงคําสั:ง Write Single Coils

Function 0x0F(Write Multiple Coils) จะกําหนด Start Address:0x0000 และ Byte Count เป็น1 Byte คงที:แลว้ใช ้Data 8บติในการกําหนดคา่ ON/OFF Relay โดยบติขอ้มลูที:มีคา่เป็น 1 = ON และ 0 = OFF

Byte No 1 2 3 4 5 6 7 8 9 10 Modbus Slave Function Address Relay Count Byte Data 2 Byte CRC Relay

ON/OFF Slave 00..FF

0x0F 0x00,0x00 0x00,0x08 0x01 0x00..FF 0:OFF,1:ON

2 Byte CRC

ตารางแสดงคําสั:ง Write Multi Coils

Page 6: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 6

ตวัอยา่งการสั:งงาน Relay ครั bงละ 1ชอ่ง ของ Device ID = 01

ON RELAY1 Tx : 01 05 00 00 FF 00 8C 3A Rx : 01 05 00 00 FF 00 8C 3A

ON RELAY2 Tx : 01 05 00 01 FF 00 DD FA Rx : 01 05 00 01 FF 00 DD FA

ON RELAY3 Tx : 01 05 00 02 FF 00 2D FA Rx : 01 05 00 02 FF 00 2D FA

ON RELAY4 Tx : 01 05 00 03 FF 00 7C 3A Rx : 01 05 00 03 FF 00 7C 3A

ON RELAY5 Tx : 01 05 00 04 FF 00 CD FB Rx : 01 05 00 04 FF 00 CD FB

ON RELAY6 Tx : 01 05 00 05 FF 00 9C 3B Rx : 01 05 00 05 FF 00 9C 3B

ON RELAY7 Tx : 01 05 00 06 FF 00 6C 3B Rx : 01 05 00 06 FF 00 6C 3B

ON RELAY8 Tx : 01 05 00 07 FF 00 3D FB Rx : 01 05 00 07 FF 00 3D FB

OFF RELAY1 Tx : 01 05 00 00 00 00 CD CA Rx : 01 05 00 00 00 00 CD CA

OFF RELAY2 Tx : 01 05 00 01 00 00 9C 0A Rx : 01 05 00 01 00 00 9C 0A

OFF RELAY3 Tx : 01 05 00 02 00 00 6C 0A Rx : 01 05 00 02 00 00 6C 0A

OFF RELAY4 Tx : 01 05 00 03 00 00 3D CA Rx : 01 05 00 03 00 00 3D CA

OFF RELAY5 Tx : 01 05 00 04 00 00 8C 0B Rx : 01 05 00 04 00 00 8C 0B

OFF RELAY6 Tx : 01 05 00 05 00 00 DD CB Rx : 01 05 00 05 00 00 DD CB

OFF RELAY7 Tx : 01 05 00 06 00 00 2D CB Rx : 01 05 00 06 00 00 2D CB

OFF RELAY8 Tx : 01 05 00 07 00 00 7C 0B Rx : 01 05 00 07 00 00 7C 0B

Page 7: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 7

ตัวอยา่งการสั:งงาน Relay แบบหลายชอ่ง ของ Device ID = 01

Tx : 01 0F 00 00 00 08 01 00 FE 95

01 = Slave 01 0F = Function15(0x0F): Write Multiple Coils 00 00 = Start Address Hi:Lo = เริ:มจากตําแหน่ง 0x0000 00 08 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0008) = 8ตําแหน่ง(รเีลย ์1-8) 01 = Data Byte Count = 1ไบต ์ 00 = Data (00000000) = OFF Relay 1-8

Rx : 01 0F 00 00 00 08 54 0D

Tx : 01 0F 00 00 00 08 01 FF BE D5

01 = Slave 01 0F = Function15(0x0F): Write Multiple Coils 00 00 = Start Address Hi:Lo = เริ:มจากตําแหน่ง 0x0000 00 08 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0008) = 8ตําแหน่ง(รเีลย ์1-8) 01 = Data Byte Count = 1ไบต ์ FF = Data (11111111) = ON Relay 1-8

Rx : 01 0F 00 00 00 08 54 0D

Tx : 01 0F 00 00 00 08 01 81 3E F5

01 = Slave 01 0F = Function15(0x0F): Write Multiple Coils 00 00 = Start Address Hi:Lo = เริ:มจากตําแหน่ง 0x0000 00 08 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0008) = 8ตําแหน่ง(รเีลย ์1-8) 01 = Data Byte Count = 1ไบต ์ 81 = Data (10000001) = ON Relay 1 และ 8, OFF Relay2-7

Rx : 01 0F 00 00 00 08 54 0D

Tx : 01 0F 00 00 00 08 01 01 3F 55

01 = Slave 01 0F = Function15(0x0F): Write Multiple Coils 00 00 = Start Address Hi:Lo = เริ:มจากตําแหน่ง 0x0000 00 08 = จํานวนตําแหน่งที:เขยีน Hi:Lo(0x0008) = 8ตําแหน่ง(รเีลย ์1-8) 01 = Data Byte Count = 1ไบต ์ 01 = Data (00000001) = OFF Relay2-8, ON Relay 1

Rx : 01 0F 00 00 00 08 54 0D

Page 8: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 8

การสั( งอ่านค่า สถานะ ON/OFF ของรีเลย์

ในการตรวจสอบสถานะของการ ON/OFF ของรีเลย์จะใช้ Function 0x01(Read Coils)

ในการตรวจสอบ ซึ<งบอร์ดจะตอบรับคําสั<งกลบัมาด้วยข้อมลูขนาด mไบต์ ซึ<งเป็นค่าสถานะ

ของรีเลย์ทั pง 2ช่อง โดยใช้บิต D0 แทนค่าของ รีเลย์m และ D1 แทนค่าของรีเลย์2 ไล่เรียงไป

จนถึง D7 แทนค่าของ Relay8 ตามลําดบั ซึ<งค่าบิตข้อมลูที<มีค่า 0 หมายถึง Relay OFF และ

ค่าบิตข้อมลูที<เป็น 1 หมายถึง Relay ON ดงัตวัอย่าง

ตัวอย่างการสั( งอ่านสถานะ ON/OFF ของ Relay

Tx : 01 01 00 00 00 08 3D CC

01 = Slave 01 01 = Function 0x01(Read Coils) 00 00 = Start Address Read Hi:Lo = 0x0000(เริ:มจากตําแหน่ง 0x0000) 00 08 = จํานวนที:ตอ้งการอา่น Hi:Lo = 0x0008(8 ตําแหน่ง) 3D CC = CRC(0x3D,0xCC)

Rx : 01 01 01 01 90 48

01 = Slave 01 01 = Function 0x01(Read Coils) 01 = Data Byte Count = 1 Byte 01 = Data Relay Status(00000001) = Relay2-8:OFF, Relay1:ON 90 48 = CRC(0x90,0x48)

Tx : 01 01 00 00 00 08 3D CC

01 = Slave 01 01 = Function 0x01(Read Coils) 00 00 = Start Address Read Hi:Lo = 0x0000(เริ:มจากตําแหน่ง 0x0000) 00 08 = จํานวนที:ตอ้งการอา่น Hi:Lo = 0x0008(8 ตําแหน่ง) 3D CC = CRC(0x3D,0xCC)

Rx : 01 01 01 0F 11 8C

01 = Slave 01 01 = Function 0x01(Read Coils) 01 = Data Byte Count = 1 Byte 0F = Data Relay Status(00001111) = Relay5-8:OFF, Relay1-4:ON 11 8C = CRC(0x11,0x8C)

Page 9: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 9

การต่อใช้งานสัญญาณ Input Opto-Isolate

วงจร Input Opto-Isolate ของบอร์ด Modbus RTU Relay8/In8 เป็นแบบ Sink Input

โดยการต่อสญัญาณที<ขั pวต่อ IN1-IN8 ผ่านหน้าสมัผสัสวิตช์ หน้าสมัผสัรีเลย์ หรือเซนเซอร์ต่างๆ

แล้วลง GND ที<ขั pวต่อ P(-) ของบอร์ดดงัตวัอย่าง

รูปแสดง ลักษณะการต่อใช้งาน Input Opto-Isolate

Page 10: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 10

ในกรณีที<ต้องการใช้งานวงจร Input แบบ Isolate โดยการแยกแหล่งจ่ายไฟเลี pยงบอร์ด

และไฟเลี pยง Input ออกจากกนั ให้ทําการถอด Jumper เลือกสญัญาณ P(+) และ P(-) ออก

แล้ว ต่อแรงดนั +12V กบั GND จากภายนอกเข้าที<ขั pวต่อ P(+) และ P(-) ดงัรูป

ในกรณีที<ต้องการใช้แหล่งจ่ายไฟของบอร์ดและวงจร Input ร่วมกนั ให้ต่อ Jumper

เลือก P(+) กบั 12V และต่อ P(-) กบั GND โดยไม่ต้องต่อแรงดนั 12V External จากภายนอก

ให้กบับอร์ดทางขั pวต่อ P(+) และ P(-) ดงัรูป

Page 11: Modbus RTU Relay8 / In8 - ETT · คู่มือการใช้งาน Modbus RTU Relay8 / In8 ETT CO.,LTD. หน้า 1 Modbus RTU Relay8 / In8 Modbus RTU Relay8 / In8

คูมื่อการใช้งาน Modbus RTU Relay8 / In8

ETT CO.,LTD. หน้า 11

การสั( งอ่านค่า Input(Read Discrete Inputs)

ในการอ่านค่า Input ทั pง 8ช่อง นั pนจะใช้ฟังก์ชั<น 0x02(Read Discrete Inputs) ในการ

อ่านค่า โดยสญัญาณ Input ทั pง 2ช่อง สามารถรับสญัญาณภายนอกขนาด 12V โดยใช้การต่อ

Input ผ่านหน้าสมัผสัสวิตช์ หรือหน้าสมัผสัรีเลย์มายงั (P-) สามารถใช้งาน Input ได้ทั pงแบบ

Opto-Isolate โดยแยกแหล่งจ่ายไฟ Input(P+,P-) จากภายนอกแยกต่างหากจากบอร์ด หรือใช้

แบบ 12V Input GND ร่วมกนักบัแหล่งจ่าย 12V ของบอร์ด ถ้าจะต่อ Input ที<มีระดบั

สญัญาณสงูกว่า mVV ต้องทําการต่อตวัต้านทานจํากดักระแสให้กบัแรงดนัในส่วนที<สงูกว่า mVV

เพิ<มเติมด้วย สําหรับการสั<งอ่านค่า Input ทําได้ ดงัตวัอย่าง

ตัวอย่างการสั( งอ่านค่า Input จาก Device ID = 01

TX : 01 02 00 00 00 08 79 CC

01 Slave-01 02 Function Code : Read Discrete Input 00 00 : Start Address Hi:Lo = 0x0000 00 08 : 8 Address Read 79 CC : CRC(0x79, 0xCC)

RX : 01 02 01 83 E0 29

01 : Slave 01 02 : Function Code : Read Discrete Input 01 : 1 Byte Result 83 : Result 0x83(D7-D6-D5-D4-D3-D2-D1-D0 : 10000011)

o 0x83(10000011) : Input 8,2,1:ON, Input3-7: OFF E0 29 : CRC(0xE0, 0x29)