很多刚学三菱FX3U的朋友都头疼:想练串口通讯,但手里只有PLC,没有智能仪器、变频器这些外设怎么办?还没开始就不想去试了。其实不用愁,用串口助手(我喜欢用UartAssist,界面比较简洁好用)就能模拟各种设备,照样能把通讯逻辑练明白。这篇就带你用“PLC+串口助手”实操常见通讯场景,接线、设置、调试一步一步来,小白也能跟着做,编程软件使用的GX Works2。
一、先搞懂串口通讯到底是什么
串口通讯说白了就是数据“排队走单线”,一个字节一个字节地传,比多线并行省线路,工业现场用得特别多。常见的接口有三种,区别主要在传输能力上,不深入讲解,大家先理解如何应用:
- RS232:三线制,电脑上的DB9口就是这种。传不远(最多15米),抗干扰一般,只能一对一连设备。适合接近处的小设备,比如触摸屏、扫码枪这些。接线方法是发送对接收,接收对发送,地对地。
- RS485:两线制,工业现场的主力,变频器、仪表基本都认它。传得远(最多1200米),抗干扰强,还能一个主设备带32个从设备,组网方便。接线方法是正对正,负对负。
- RS422:五线制,算是RS485的“升级版”,能支持多个主设备,但布线麻烦(要4根线),平时很少用,知道就行。
接线图:
二、三菱FX3U怎么进行串口通讯
FX3U的串口功能挺灵活,靠本体和扩展设备能搭出不同场景(FX3U是小型PLC,一般用在小设备上):
- 本体接口:自带RS422编程口(DB9母座),可通过USB-SC09-FX电缆连电脑。
- 扩展设备:
FX3U-232-BD/FX3U-232ADP-MB:扩展RS232接口,ADP即插即用更方便。
FX3U-485-BD/FX3U-485ADP-MB:扩展RS485接口,支持长距离、多设备组网。
- 支持协议:无顺序通讯(自定义格式)、专用协议通讯(MC协议)、Modbus RTU(通用协议)。
我们可以在三菱官方提供的MELSEC-F系列机种选型工具上进行选型:
扩展板位置可以选FX3U-232-BD或者FX3U-485-BD,左侧适配器扩展可以选FX3U-232ADP-MB或FX3U-485ADP-MB。
协议选择:我们在编程时通过工程->参数->PLC参数->PLC系统设置(2)进行设置,CH1代表扩展板位,CH2代表左侧适配器位,在协议下拉框可选择"无顺序通讯"或"专用协议通讯",具体使用在下文案例中展示。
重点:不管选择232还是485,这个是在物理层面,我们软件层面的协议是一样的,就是说232和485硬件可以选择同样的协议 我们下面就要通过232来实验。
三、准备工具和接线
(一)得备这些东西
- 三菱FX3U PLC(自制电源线)、对应扩展板FX3U-232-BD
- 串口调试线:USB转RS232线
- 电脑(装GX Works2编程软件和串口助手,推荐UartAssist,免费好用)
(二)接线,FX3U-232-BD是DB9接口,直接把USB转232线接上即可。
- 记着!连接一定要把PLC电源关掉,带电插拔容易烧接口,血的教训!
四、案例1:无协议通讯(自己定格式,灵活)
场景:使用PLC给串口调试助手发送ABCD,串口调试助手返回EFG
步骤1:接线
用USB转RS232串口线一端插PLC 232-BD模块一端插电脑USB口。电脑上打开“设备管理器→端口”,记一下COM号(比如COM8)。
步骤2:设PLC参数(GX Works2里)
1. 新建个FX3U的工程,工程->参数->PLC参数->PLC系统设置(2)进行设置,因为我们使用的扩展板位置,所以是选择CH1。
2. 按常用参数设:波特率9600、8位数据、无校验、1位停止位,协议选“无顺序通信”,H/W类型选普通/RS-232C,不用和校验,传送控制步骤增加格式4(有CR,LF),也就是增加回车换行,如图。
一定要点设置结束,就OK了,一定要记得下载参数并重启PLC电源才能生效。
步骤3:梯形图编写
通过RS2(第一个扩展口)指令实现通讯,上图!
步骤4:用串口助手调试监控
1. 打开UartAssist,查看设备管理器里面USB转RS232线的COM号,波特率9600、8位、无校验、1位停止位,勾上“十六进制显示”和“十六进制发送”。
2. PLC打监控状态,触发发送(置位一下M1):
- 串口助手的接收区应该会显示“31 32 33 34”(说明PLC发成功了)
常见问题
- 收不到数据?先看线接反没(RS232串口线分直连和交叉),再看COM号对不对,参数是不是全一致。
- 数据乱码?十有八九是波特率或校验位设错了,两边必须一模一样。
-高低位不同?查看发送设置是16位还是8位,数据字节位置是否正确,1个D是16位。
五、案例2:专用协议通讯(一般与上位机或者客户MES系统交互用)
场景:用串口助手模拟上位机,读取PLC的寄存器D0数据。
步骤1:接线(和案例一相同)
用USB转RS232串口线一端插PLC 232-BD模块一端插电脑USB口。电脑上打开“设备管理器→端口”,记一下COM号(比如COM8)。
步骤2:设PLC参数
1.进入程序,工程->参数->PLC参数->PLC系统设置(2)进行设置。
2. 协议选“专用协议通信”,设置如图。
一定要记得下载参数并重启PLC电源才能生效。此协议无需写梯形图!
步骤3:用串口助手模拟调试
我们先来看下协议格式(很多类型,此处只介绍读取D,其他类似):
发送:05 30 30 46 46 57 52 30 44 30 30 30 30 30 31 32 41 0D 0A
返回:02 30 30 46 46 31 32 33 34 03 42 39 0D 0A
加下划线的31 32 33 34 就是ASCII 1234,十六进制的1234,对应PLC的16进制。
一定要注意,16进制发送,不要勾选发送设置其他选项!
六、调试小技巧(新手少走弯路)
1. 先查线,再查参数:通讯不通先别急着改程序,用万用表测测线接没接好,再对着两边的参数(波特率、校验位)一个个对,八成问题在这。
2. 用好校验和工具:Modbus和MC协议都要算校验位,可能通过工具算,省得自己算错,或者通过程序实现。
3. 看指示灯:PLC的RUN灯亮着(运行正常),扩展板的SD/RD灯闪(有数据在传),说明硬件和参数基本没问题。
其实就算没有专业外设,用串口助手模拟着练,也能把通讯的门道摸透——关键是搞懂“接线别错、参数要对、协议格式要准”这三点。多试几次,遇到报错就按上面的步骤排查,很快就能上手,以后接真设备也不怕了!