Back to Top

การสื่อสารระหว่าง PLC กับ PLC ด้วยวิธี I-Device

 |  Technical Information - Siemens

News & Articles

I-Device เป็นวิธีการสื่อสารระหว่าง PLC กับ PLC ที่แตกต่างจากวิธี PUT/GET ตรงที่การทำ I-Device นั้นไม่ได้อาศัยการทำโปรแกรมเพื่อคุยกัน แต่เป็นการตั้งค่าเพื่อทำการ map address input-output ระหว่าง PLC เพื่อให้แลกเปลี่ยนค่ากัน โดยมอง PLC ตัวหนึ่งเป็นตัวหลักเรียกว่า IO-Controller และอีกตัวเป็นตัวลูกเรียกว่า IO-Device

.


I-Device_01

ขั้นตอนการใช้งาน I-Device

1. ทำการสร้าง PLC ที่ต้องการแลกเปลี่ยนข้อมูลกัน ทำการตั้ง IP address และชื่ออุปกรณ์ตามปกติ
I-Device_02

2. กรณีนี้ เราจะใช้ S7-1200 ทำตัวเป็น IO-Controller และ S7-1500 ทำตัวเป็น IO-Device เพื่อแสดงให้เห็นว่าเราสามารถใช้ PLC รุ่นเล็กกว่าทำตัวเป็น IO-Controller ให้อุปกรณ์รุ่นสูงกว่าก็ได้  ให้เราทำการตั้งค่าที่อุปกรณ์ที่ต้องการเป็น IO-Device (PLC2: S7-1500) ในส่วนของ Operating mode ให้ทำการ enable IO device
I-Device_03

3. ในส่วนของ Assigned IO controller ให้เราทำการเลือกอุปกรณ์ที่จะมาเป็น IO-Controller ซึ่งก็คือ PLC1(S7-1200) ในกรณีตัวอย่างนี้
I-Device_04

4. ให้ทำการตั้ง Transfer areas โดยระบุจำนวน Byte ที่ต้องการแลกเปลี่ยนข้อมูล (ได้สูงสุด 1,024 bytes) แล้วทำการ map address Q และ I ที่ต้องการแลกเปลี่ยนข้อมูลซึ่งกันและกัน
I-Device_05

Address Q และ I นั้น ให้เราเลือก address ตำแหน่งไหนก็ได้ที่ไม่ได้ถูกใช้เป็น Input และ Output จริงๆ จากการตั้งดังรูปสรุปได้ว่า

  • PLC1 จะส่งค่าจาก Q500-501 ไปยัง I500-501 ของ PLC2
  • PLC2 จะส่งค่าจาก Q600-601 ไปยัง I600-601 ของ PLC1

5. ตรวจสอบเวลารวมของ Watchdog time ค่าปกติจะอยู่ที่ 6ms คือเมื่อใดที่อุปกรณ์ทั้งสองตัวขาดการสื่อสารในเกิน 6ms จะมีไฟ error แจ้งเตือนให้เราทราบ และสามารถดูรายละเอียดได้จาก Diagnostic buffer ของ PLC
I-Device_06

สำหรับการเชื่อมต่อระหว่างอุปกรณ์ผ่านทาง wifi จะใช้เวลาในการสื่อสารนานกว่านี้ ดังนั้นหากเราใช้ค่าปกติ 6ms อาจจะทำให้มีไฟ error ขึ้นตลอดเวลา เพราะ watchdog มีช่วงเวลาตรวจสอบข้อมูลเร็วกว่าความเร็วของ wifi มาก ดังนั้นอาจจะต้องปรับให้เวลารวมของ watchdog มีค่ามากขึ้นประมาณ 70-80ms

6. สังเกตว่าที่ฝั่ง PLC1 ซึ่งเป็น IO-Controller เราไม่ต้องไปทำอะไรเลย เพราะว่า default ของแต่ละอุปกรณ์จะกำหนดให้ตัวเองเป็น IO controller อยู่แล้ว
I-Device_07

7. ลองทดสอบด้วยการเขียนโปรแกรมแบบง่ายลงไป

ที่ฝั่ง PLC1 ทำการทดสอบด้วยการเขียนโปรแกรมเพื่อ move ค่าไปยัง %QW500 เพื่อทำการส่งค่าไปยัง PLC2
I-Device_08

ที่ฝั่ง PLC2 ทำการเขียนรับค่าจาก %IW500 เพื่ออ่านค่าจาก PLC1I-Device_09

8. ผลการทดสอบจะเห็นว่าเราสามารถส่งค่าจาก PLC1 ไปยัง PLC2 ได้แล้ว

PLC1 : จาก %MW20 โยนค่าไปยัง %QW500
I-Device_10

PLC2 : รับค่าจาก %IW500 ไปเก็บยัง %MW20
I-Device_11

9. ในส่วนของการโยนค่าจาก PLC2 ไปยัง PLC1 ก็ทำเช่นเดียวกัน แต่เราจะใช้ชุด address 600 แทน

PLC2 : จาก %MW30 โยนค่าไปยัง %QW600
I-Device_12

PLC1 : รับค่าจาก %IW600 ไปเก็บยัง %MW30
I-Device_13

 

Note: เมื่อไรก็ตามที่การสื่อสารระหว่าง IO-Controller และ IO-Device ขาดจากกัน PLC ทั้งคู่จะแสดงสถานะ error ให้เราทราบ (แต่ว่า แต่ละตัวยังคงทำ logic ของตัวเองได้) เป็นไฟสีแดงกระพริบที่ LED ERROR และ Diagnostic buffer จะแสดงข้อความว่า IO device failure – IO device not found

I-Device_14
I-Device_15.png

 

 

thx to siemens

click1 click2 click3

 PLC, HML, TIA, Siemens, Technical Information, IOT

« Back
© Developed by CommerceLab