วันอังคารที่ 21 กันยายน พ.ศ. 2564

SENDING TO SLAVE

 


มีอยู่งานทดลองเล่นๆ งานหนึ่งต้องเอามาเขียนไว้กันลืม
คือการส่งข้อมูลเซนเซอร์ไปให้ PLC ตอนนี้เซนเซอร์เยอะแยะ ประหลาดๆ ราคาถูกๆ มันก็มีเป็น module ของ Arduino ซะเยอะ
คือถ้าเป็นเซนเซอร์ที่ output เป็น Analog หรือไม่ก็มี protocol RS485 ก็ไม่ลำบากไรมาก ต่อเข้า PLC ได้สะดวก แต่ถ้าสื่อสารกันด้วย TTL/I2C/SPI ก็ลำบากนิด
    นึกอยากจะใช้เซนเซอร์เหล่านี้ ก็เอาของที่มีอยู่มาลอง ไม่ต้องลงทุนเพิ่มแล้วล่ะ ก็ต่อผ่าน Arduino ให้มันส่งค่าไปให้ PLC

เหมือนงานเก็บข้อมูล ต้องให้ PLC เป็นบ่าว(Slave) แล้วบอร์ดน้อยเป็นนาย(Master)
อ่านค่าได้แล้วก็จัด payload ส่งไปให้ยังเครื่องรับ เป็นแบบนี้วนๆ ไป

ใช้ Function 06:
    01 06 00 01 AA BB CR LF |  00 01 คือแอดเดรส ที่ FX3U หมายถึง D1 ชุดคำสั่งต้องอ้างอิงคู่มือ PLC
AA BB คือข้อมูลที่ต้องการส่ง ตบท้ายด้วย CRC ซึ่งต้องเขียนโค้ด เพราะข้อมูลเปลี่ยนไปตามที่วัดจากเซนเซอร์ CRC ก็เปลี่ยน

อุปกรณ์
Sensor <====> Arduino --------->PLC
ในฐานะบ่าวที่ดี PLC ก็ตอบกลับมาแบบเลี่ยงไม่ได้ แต่เราก็ไม่ฟัง สั่งอย่างเดียว (แท้จริงแล้วควรฟังอ่ะนะว่ามันได้อย่างสั่งหรือไม่)


 

Receiving data on PLC side.


 ต้องส่งเป็น byte เป็นข้อความไม่ได้

กันลืม การต่อขา
DHT11 module
    OUT --- PIN_D2

LEVEL CONVERTER TTL-485
    TX --- TX PIN0
    RX --- RX PIN1

  


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

MAPs

วันก่อนได้ลองเขียนแบบ แบบตัวนั้นมันต้องแนบแผนที่สังเขปของโครงการ ลองๆ แล้วก็ใช้ snazzymaps แล้วก็เอามาทำต่อใน inkscape มันก็ออกมาดูได้ระดับห...