PLC的通讯一般有串口、网口通讯两大类。本节讲网口通讯,分为S7、TCP、OPC UA、WEB...
;
目录
前言
CPU 的 PROFINET 通信口主要支持以下通信协议及服务:
-
Profinet IO
-
PG 通信(编程调试)
-
HMI 通信
-
S7 通信
-
开放式用户通信
-
Web 服务器
-
OPC UA 服务器
要求:PLC的CPU属性设置
- 设备组态——防护与安全——(访问级别<完全访问>、连接机制<勾选允许PG/PC>)
- 项目——属性——保护<块编译时支持仿真>
- 通讯块程序一边写在循环中断块中(OB30…38),缩短PLC循环时间,降低PLC通讯负载
1.S7(PUT、GET)
S7为西门子生态,用于控制器之间的连接,仅需在客户端单边组态连接和编程,服务器端只准备好通信数据就行。
客户端使用方法
- 组态:组态 S7 连接(添加S7连接->配置通讯参数)
- 编程:客户端主动连接,进行编程 Get、Put 通信指令
注意事项
- 两个工程项目中的的CPU需定义或已知传送、接收区域
- “属性->常规->防护与安全”里“连接机制”一项需要勾选“允许来自远程对象的PUT/GET通信访问”
2.TCP(TSEND_C、TRCV_C)
TCP/IP协议是什么?
- TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等许多协议…
应用场景:
- 当PLC需要建立 TCP 或 ISO-on-TCP 通信连接时应用TSEND_C、TRCV_C指令。连接后,CPU 会自动保持和监视该连接
使用方法:
1)PLC作为TCP Server与Client用户通讯
- 做Server时:Server需要设置一个固定的端口号,等待Client的连接请求(主动连接)。用户伙伴Client的IP和端口号(为空:允许任意端口连接)
2)PLC作为TCP Client与Server服务通讯
- 做Client时:Client需要设置Server的IP地址和端口号。自身的端口号通常由设备自动分配(PLC主动连接)
注意事项
- 使用仿真必须为高级仿真S7-PLCSIM Advanced,一般仿真S7-PLC-SIM不支持TCP仿真。见-仿真步骤
- 当PLC做Server时,Client不需要填写IP、端口号(为空意为可以任意连接)为主动连接
- 当PLC做Client时为主动连接,指定Server的IP、端口号即可
- 指令TSEND_C的引脚REQ上升沿为发送数据,引脚CONT写1为建立连接(0为不发送数据)
- 指令TRCV引脚ADHOC=1(TCP协议)
虚拟机拟机如何与主机建立TCP连接?
- 设置虚拟网卡模式为——NAT模式
- 设置主机网卡(NAT模式VMnet8)与虚拟机网卡在——同一网段;
- 网卡VMnet8属性安装-安装-服务-VMware Bridge Protocol
- 开启虚拟机TCP Server
- 打开主机TCP Client测试连接
仿真教程、工具等—见-资源
3.MobusTCP(MB_Client、MB_Server)
TCP与Modbus TCP的区别?
- MODBUS TCP是一种专为工业自动化设计的通信协议,具有特定的报文格式和校验机制。
- TCP server则是一种更加通用的网络服务,可以支持各种应用层协议和数据格式,不局限于特定的报文结构或校验方式。
应用场景:
- 标准MODBUS TCP通讯(包括PLC之间的通讯连接)
1)PLC作为MD TCP Server与Client服务通讯
【1】PLC作为Server端,发布内容,测试第三方Client能否收到
- 调用 MB_SERVER(不同版本对应的功能不同V4、V5…)
- CONNECT 引脚的指针类型(TCON_IP_v4 是系统数据类型,不是在 PLC 数据类型中创建的)
- MB_HOLD_REG 引脚填写传输变量(03保持寄存器)
- 错误码80B7:本地端口号需设置(502)
- 错误码80C8:ID设置重复
参数 | 说明 |
---|---|
DISCONNET | 0(默认):被动建立与客户端的通信连接;1:终止连接。 |
MB_HOLD_REG | 指向 Modbus 保持寄存器的数据区。03功能码 |
CONNECT | 指向连接描述结构的指针。使用 TCON_IP_v4 数据类型。 |
PLC地址区 | 定义 | MODBUS映射 |
---|---|---|
输出位 | Q0.0 开始 | • 1:过程映像输出(与功能代码 1、5 和 15 一起使用)0x00001… |
输入位 | I0.0 开始 | • 2:过程映像输入(与功能代码 2 一起使用)1x10001… |
输入寄存器 | IW0 开始 | • 4:输入寄存器(与功能代码 4 一起使用) 3x30001… |
保持寄存器 | 由 MB_HOLD_REG 定义 | • 3:保持寄存器(与功能代码 3、6 和 16 一起使用) 4x40001… |
【2】多个客户端连接,需要编写多个Server块;要求ID、本地端口号不能重复
2)PLC作为MD TCP Client与Server服务通讯
PLC作为Client端,连接第三方Server
1.Connect连接参数((硬件标识64<网口属性>、ID=1<多个连接使用>、通讯类型0B<TCP类型>)、客户端为主动连接=1、填写Server的IP、远程端口号)
2.ReQ为true(建立连接)
3.MB_Mode…(规定了通讯执行的动作<读取、写入…>)
总结:
Server特点:
- 一个Server对应一个Client;多个Client请求编写多个Server块(ID、端口口不能重复)
Client特点
- Client按照03读取(可读取多个);04写入(一次只能写一个)
- 对于多个Client读取同一个IP不同端口的Server,同一变量只能一个Client有效控制
节语:对于单一客户端读取或写入连接方便,涉及多个客户端变量的读写费劲!
附:MODBUS通讯软件(虚拟串口、MODBUS Slave/Poll绝活哥)仿真说明
1.虚拟软件——Virtual Serial Port Driver 7.2
2.串口通讯——MODBUS Slave/Poll
- connection:设置连接协议(COM3-COM4)
- Setup:设置连接参数(从站地址、功能码、地址)
- Display:查看传输报文(TX—发送、RX—接收)
4.OPC UA(Server、Client)
OPC UA是一种面向服务的通信协议,可实现从机器到机器间的水平通信和从机器到云端的垂直通信。专门用于连接工业自动化及物联网设备和云端服务器之间,提供跨平台、安全、可扩展的数据交互。
技术特性
- 跨平台信息模型(支持.NET, Java, C++)
- 内置安全机制(X.509证书,AES256加密)
- 支持Pub/Sub模式(与MQTT结合)
典型应用
- 跨厂级数据采集(SCADA到MES层)
- 数字孪生数据对接
使用方法
1)PLC作为OPC Server与Client用户通讯
- 要求:设备组态—OPC UA—启动OPC UA服务器…设置相关参数(系统运行许可证)
- 服务器接口 :项目树OPC UA通讯—服务器接口—新增接口…
- 说明:接口定义成 服务器接口 与不定义接口直接访问全局变量的节点属性、格式均不一样(定义成接口更标准化)
2)PLC作为OPC Client与Server用户通讯
- 要求:在 CPU 特性中选择“OPC UA > 客户端”(OPC UA > Client)——选择“启用 OPC UA 客户端” 选项
- 第一步(创建客户端接口):项目树“OPC UA 通信 > 客户端接口”>双击 “添加新客户端接口” (Max=40/4)>选择客户端接口>添加读取/写列表>选择“源”>拖拽变量到列表>编译(自动生成 [Name]_Data/Configuration数据块:更改后会自动更新无需手动更改)
- 第二步(分配连接参数):右击客户端接口>属性>组态>设置连接地址(可“在线访问查看”)
- 第三步(编程及测试):编写FB块(连接-读写-释放…官方块<添加5个PLC数据类型UDT>变量表(用户常量4个)>)>调用FB块填写引脚参数(依据 [Name]_Data/Configuration数据块填写)
- PLCServer亲测有效;KepServer测试失败(两者节点类型不同(n=4;i=3/n=2;s=通道1.标记1)有关);
5.Web服务器(WWW)
功能:
- 可通过 Internet 或公司内网监视 CPU,进行远程评估和诊断。
- 使用 Web 浏览器访问自由设计的Web 应用程序。
要求:CPU特性—勾选“启用通过接口IP访问Web服务”—“Web服务器”设置相关参数(用户管理、监视表等…)。
过程:PC端、手机终端分别通过有线、无线的方式连接PLC,访问到WEB界面(标准界面、自定义界面)。
结构:如下图所示
1)PC端访问
- PC 和 PLC 分别连接到交换机上(无交换机可直连);PC端浏览器键入IP进入标准界面
- 注意:PC的有线网卡设置为PLC的IP段,确保联通性即可。
2)移动端访问
- 移动端无网络接口,只能通过无线形式,So,PLC 须通过无线设备(路由器)映射成无线(Wifi)信号供移动端连接;
- 注意:若手机端连接路由器Wifi信号(无需固定无线IP<路由器设置成DHCP为无线终端自动分配>),须关闭流量(确保只有一个WIFI信号连接)
3)自定义Web应用程序 (需用WWW指令)
4)总结
1.路由器设置方法(注意不能用WAN口),局域网IP段设置成PLC相同段(DHCP功能开启)
2.虚拟机无线连接PLC,虚拟网络编辑器-设置到无线网卡模式;网络形式为物理桥接
3.无线设备尽可能选用工业产品,这里测试用家用/企业华为路由器