记录原因
因项目需求,要写上位机与PLC进行通讯,查了诸多资料与他人使用心得,因此写下此篇作为记录,供日后查看,也是本人第一篇博客。
项目要求
项目使用PLC进行运动控制,我只需做测试和记录部分。而PLC的运动流程需要我给出指示,并且作为上位机,我需要读出PLC的状态,因此我需要对PLC的寄存器进行读写操作。
工具与资料
PLC型号:FX3U-M08
USB-SC09-FX(PLC编程线,CH340 usb转串口)
串口助手
PLC说明书(网上查的)
Labview(最终编写上位机程序)
通讯格式
说明书截图
串口设置为波特率9600,7位数据,Even偶校验,1停止位
指令需要进行和校验,校验码取最低两位
M寄存器,一个寄存器两个Byte,例如1234,ADBC
读寄存器
读寄存器:STX 02H+ CMD 30H+ 寄存器首地址(地址+1000H)+ 寄存器位数 + 终止ETX 03H + CRC
写寄存器
写寄存器:STX 02H+ CMD 31H+ 寄存器首地址(地址+1000H)+ 寄存器位数 + 写入数据 + 终止ETX 03H + CRC、
注意写入数据的排列,1234:33H 34H 31H 32H
PLC回复数据
06表示OK
15表示指令错误,大部分是CRC错了
最后附几张上位机截图
写
读
版权声明:本文为john_liu_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。