PLC编程—网口通讯

PLC的通讯一般有串口、网口通讯两大类。本节讲网口通讯,分为S7、TCP、OPC UA、WEB...


前言

CPU 的 PROFINET 通信口主要支持以下通信协议及服务:

  • Profinet IO

  • PG 通信(编程调试)

  • HMI 通信

  • S7 通信

  • 开放式用户通信

  • Web 服务器

  • OPC UA 服务器


要求:PLC的CPU属性设置

  • 设备组态——防护与安全——(访问级别<完全访问>、连接机制<勾选允许PG/PC>)
  • 项目——属性——保护<块编译时支持仿真>
  • 通讯块程序一边写在循环中断块中(OB30…38),缩短PLC循环时间,降低PLC通讯负载

SIMTIC NET
以太网通讯


1.S7(PUT、GET)

S7为西门子生态,用于控制器之间的连接,仅需在客户端单边组态连接和编程,服务器端只准备好通信数据就行。

客户端使用方法

  • 组态:组态 S7 连接(添加S7连接->配置通讯参数)
  • 编程:客户端主动连接,进行编程 Get、Put 通信指令

在这里插入图片描述

注意事项

  • 两个工程项目中的的CPU需定义或已知传送、接收区域
  • “属性->常规->防护与安全”里“连接机制”一项需要勾选“允许来自远程对象的PUT/GET通信访问”

S7通讯


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 会自动保持和监视该连接

TCP, TCP/IP, HTTP有什么区别
网络基础知识

使用方法:

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通讯1
见-西门子TCP通讯2

虚拟机拟机如何与主机建立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设置重复
    在这里插入图片描述
参数说明
DISCONNET0(默认):被动建立与客户端的通信连接;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 TCP
PLC做Modbus TCP Server
PLC做Modbus TCP 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)有关);
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

S7-1500 OPC UA 客户端


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.无线设备尽可能选用工业产品,这里测试用家用/企业华为路由器
在这里插入图片描述

Web Server 说明
Web 常见问题
PC端访问
手机端访问


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GesLuck

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值