经常在项目实施中,需要实现设备联网,需要从PLC采集工艺与生产数据。但是部分老旧PLC没有网络接口,且PLC串口均被占用。此时只能考虑从HMI上获取PLC的数据。
一、硬件资料
PLC:三菱FX5U-32M
HMI:TK6070IP
由于三菱PLC固件老旧,不支持Modbus TCP协议栈,且三菱的MC协议也不通。但且设备为关键设备,没有原厂家的支持,我们也不想升级PLC的固件。
所以计划从HMI上采集PLC的数据。
HMI有一个DB9口,有1个RS485和1个RS232。其中RS485通过422总线已经和三菱PLC通讯,所以我计划使用RS232连接HMI实现数据采集。
二、采集过程
- 找一根USB转RS232的串口线,实现RS232与Windows连接;(需要注意RS232的RX/TX 两端需要反接,即HMI的RX接到电脑的TX,电脑的TX接到HMI的RX)
- RS232另外一端连接到HMI的RS232口;
- 进入HMI的EasyBuilder8000软件,打开HMI程序后,点击编辑->系统参数设置;
- 点击设备列表->新增,实现通过RS232实现Modbus Server;
- 点击原件->定时式资料传输,将三菱PLC D区的内容转移到HMI LM内部存储区域;
- 下载HMI程序;
- Windows上运行Modbus Poll,通过Modbus RTU连接HMI;
- 成功读取到HMI的数据;(也是PLC的数据)
三、相关图
三菱PLC FX5U-32M的照片见下,左侧4根RS485/422的串口线连接威纶通HMI;
威纶通HMI的接线见下,COM1 RS232连接电脑,COM2 RS485连接三菱PLC:
威纶通的HMI串口9针接线顺序图见下:
三菱PLC RS485接线图见下:
EasyBuilder8000 系统配置见下:
设备列表见下,红色区域为本次新加的设备:
添加的Modbus Server见下:
威纶通配置定时资料传输:
下图,定时将三菱D区1000个Word转移到HMI的 LW区:
Windows电脑上运行Modbus Poll连接HMI:
在Read Holding Registers:
四、常见问题
4.1未识别到安装的字体
解决方法:关闭Easybuild软件,在字体文件右键,选择“为所有用户安装”。
打开旧项目,EB8000 提示未安装字体,但实际上字体我刚从网上下载安装了。
4.2 若HMI的串口被占用怎么办?
威纶通hmi的一个db9串口中,通常有2个COM口,如上图所见,有COM1和COM2。
可以用DB9 一分二,将HMI的DB口分一路出来。
4.3 RS232始终不通怎么办?
RS232需要连接三根线,RX/TX/GND,其中GND一定需连接DB9中的对应GND,小心接错至DB9的绝缘层。