Labview使用modbus或S7与PLC通信
一、modbus
1.使用VI Package Manager (VIPM)安装modbus库
2.安装好后如下显示会有Modbus Library
3.Master API作为客户端,如下有一个例程
4.Slave API作为服务端,如下有一个例程
上述两个例程是通过IP 127.0.0.1可以互相通信的。数据是一直存在服务端的,服务端程序不关闭数据不会丢失。在没有PLC的情况下可以写另一端程序模拟PLC逻辑流程。
5.由于modbus函数的一个地址两个字节,PLC给的地址可能如下,modbus读0时会把0与1数据都读到。具体modbus地址与PLC地址对应关系要根据实际情况修改。
modbus address | PLC start address | PLC end address |
0 | 0.0 | 0.0 |
0.1 | 0.1 | |
0.2 | 0.2 | |
0.3 | 0.3 | |
0.4 | 0.4 | |
0.5 | 0.5 | |
0.6 | 0.6 | |
0.7 | 0.7 | |
1.0 | 1.0 | |
1.1 | 1.1 | |
1.2 | 1.2 | |
1.3 | 1.3 | |
1.4 | 1.4 | |
1.5 | 1.5 | |
1.6 | 1.6 | |
1.7 | 1.7 | |
10 | 10.0 | 11.7 |
12 | 12.0 | 15.7 |
modbus address | PLC start address | PLC end address |
100 | 100.0 | 100.0 |
100.1 | 100.1 | |
101.0 | 101.0 | |
101.1 | 101.1 | |
101.2 | 101.2 | |
101 | 102.0 | 103.7 |
102 | 104.0 | 107.7 |
二、S7
通过网盘分享的文件:labview与PLC S7例程.zip
链接: https://pan.baidu.com/s/1srfp6gwApoPJB_FxzzEFAg?pwd=yp5d 提取码: yp5d
1.使用VI Package Manager (VIPM)安装S7库
2.安装好后如下显示
3.验证:
西门子plc使用如下例程下载到PLC中
通过指令编程实现S7-200 SMART 之间S7通信-SIMATIC S7-200 SMART通信-PLC-西门子下载中心常见问题大全
Labview如下:192.168.0.185为PLC的IP地址,Port默认102
多线程通信注意:每个循环的读写要使用独立的 链接。不能像第二张图使用一个 链接。
如下会报错(两个线程同时运行,应答帧数据存在被别的线程读取导致报错,两个轮流运行是可行的)