PLC FX3U Board + esp32 เปิด ปิด อุปกรณ์ไฟฟ้า 10 อุปกรณ์ ตอนที่ 3

สวัสดีครับตอนนี้เป็นตอนที่ 3 แล้วนะครับ เมื่อเราเตรียมการจัดตอนที่ 1 และตอนที่ 2 เสร็จเรียบร้อยแล้วเราจะทำการเชื่อมต่อ PLC บอร์ดเข้ากับคอมพิวเตอร์ โดยผ่านอุปกรณ์ตัวกลางคือ USB to rs485 Converter adapter โดยวิธีการเชื่อมต่อสายตามภาพข้างล่าง

สำหรับซอฟต์แวร์ที่ใช้ในการเข้าไปอ่านค่า PLC board จะใช้โปรแกรม MODSCAN32 (สามารถดาวน์โหลดได้ในตอนที่ 2) โดยต้องมีการตั้งค่าการสื่อสารทั้งสองฝั่งคือ PLC และโปรแกรม MODSCAN32
จากภาพจะเห็นได้ว่า Communication settings จะมีการตั้งค่าที่เหมือนกันเพื่อให้สามารถติดต่อสื่อสารกันได้

ในที่นี้เราจะเริ่มต้นการตั้งค่า Communication setting ของ PLC board กันก่อน โดยกำหนดให้ PLC board เป็น Slave และ MODSCAN32 MASTER

  1. การตั้งค่า Communication setting ของ PLC board
    ให้ดาวน์โหลดคู่มือการตั้งค่าที่ให้ไป
    LE3U-Manual.pdf (6.0 MB)

สำหรับ Manual ของ PLC board เท่าที่ผมดูจะมีของยี่ห้อ lotte ซึ่งการตั้งค่าจะเหมือนกับ PLC board รุ่นที่ผมซื้อมา ส่วนพารามิเตอร์ต่างๆมันใกล้เคียงแต่ก็ไม่สามารถนำมาใช้งานได้ ในกรณีที่เราต้องการใช้พารามิเตอร์ที่สามารถเก็บค่าได้แม้ไฟดับ ผมจึงลองค้นหาใหม่ก็ปรากฏว่าเจอของอีกยี่ห้อหนึ่งซึ่งมีการใช้พารามิเตอร์ที่ตรงกับ PLC ยี่ห้อที่ผมซื้อมา ดังภาพข้างล่างนี้

หลังจากดาวน์โหลดแล้วให้เปิดไฟล์ขึ้นมา ดูหน้าที่ 7 และ 8 แล้วเริ่มต้นการตั้งค่ากันเลยนะครับ

จากคู่มือเขากำหนด Special register โดย D8120 จะเป็นตัวเก็บค่ารูปแบบการสื่อสารของ RS485
ซึ่งประกอบไปด้วย

  1. Protocal : Modbus RTU (Slave)
  2. BaudRate : 9600
  3. Parity : None
  4. DataLength : 8
  5. StopBits : 1

และ D8121 จะเป็นการตั้งค่า Address ของอุปกรณ์ Slave ว่าจะเป็น Slave ตัวที่ 1 ตัวที่ 2 หรือตัวที่ 3 …

โดยตารางการหาค่า Communication setting ผมได้นำมารวมไว้ในภาพนี้แล้ว

ดาวน์โหลดไฟล์ Excel ที่ผมเตรียมให้เพื่อใช้ประกอบการตั้งค่าการสื่อสาร ในบทความนี้
การตั้งค่าการสื่อสาร PLC FX3U Board.xlsx (865.0 KB)

แล้วทำตามคลิปนี้

จากนั้นให้นำค่าที่ได้ไปใส่ในชุดคำสั่งที่เราเขียนขึ้นไว้ในโปรแกรม GX works2 ของ Mitsubishi จะได้ดังภาพ
(เปิดไฟล์ที่ให้ไว้จากตอนที่ 2 ขึ้นมาดู : PBRelation_Eleceasy_KeepData.gxw )

ความหมายคือ PLC board เมื่อถูกจ่ายไฟเข้ามาจะเริ่มทำงาน โดยในส่วนของโปรแกรมก็จะเริ่มทำงานด้วย ซึ่งมีผลทำให้ register M8002 จะทำงาน และเกิดการย้ายข้อมูลที่มีค่าเท่ากับ H4081 ไปเก็บไว้ใน register D8120

ส่วน register D8121 ก็จะเก็บค่าที่ย้ายมาจาก K คือ 1 เอาไว้ หรือ D8121 จะเก็บค่า 1 เอาไว้ ถ้าแปลโดยรวม คือ PLC บอร์ดตัวนี้ โดนกำหนดให้เป็น Address ที่ 1 นั่นเอง แต่ถ้าเราต้องการให้กำหนดเป็น address อื่นๆ ก็เปลี่ยนค่าหมายเลขหลัง K ให้เป็นหมายเลขที่เราต้องการเช่น K2 k3…

ก็เป็นการสิ้นการตั้งค่าติดต่อสื่อสารหรือ Communication setting ของ PLC board แล้ว

ต่อไปเราจะมาตั้งค่า Communication settings ของโปรแกรม Modscan32 กัน

ให้ดูวิธีการตั้งค่า และการทดสอบ ในคลิปนี้ครับ

ขออนุญาติแปะลิ้งค์ครับ
PLC FX3U Board + esp32 เปิด ปิด อุปกรณ์ไฟฟ้า 10 อุปกรณ์ ตอนที่ 1
PLC FX3U Board + esp32 เปิด ปิด อุปกรณ์ไฟฟ้า 10 อุปกรณ์ ตอนที่ 2
PLC FX3U Board + esp32 เปิด ปิด อุปกรณ์ไฟฟ้า 10 อุปกรณ์ ตอนที่ 4 (ตอนจบจ้า)

ถ้าหากใน plc มีการต่อ rs485 อ่านอุณหภูมิแล้ว และควบคุมoutput ทั้งหลาย(y)
แล้วผมอยากให้ plc รายงานการทำงานทั้งหมด ไปยัง esp32 หรือ node8266 ผ่าน rs485 TTL
เพื่อให้ esp32 แสดงใน blynk อีกที ทำอย่างไรครับ
ในเมื่อตอนนี้ มี plc(slave) <> temp sensor(master)
แล้วเราจะจับคู่ plc(master)<>esp32(slave)อีกที ผมงงตรงนี้ครับ
ช่วยแนะแนวทางหน่อยครับ @PUYIOT
ขอบคุณครับ