PLC,通信方式及其在工业监控系统中的应用

发布时间:2023-09-16 13:45:04   来源:心得体会    点击:   
字号:

平 路

(国网三门峡供电公司, 河南 三门峡 472000)

工业监控系统用于对工业设备或场所进行监视控制,监控系统一般包括传感器、控制器、执行器,控制器用的较多的是PLC,PLC 与PLC 之间,PLC 与传感器、 执行器之间的通信方式多种多样, 通信方式的选择和实施是监控系统的重点,也是难点,本文拟对以PLC 为核心的工业监控系统的通信方式和具体实现方法加以分析。

常用的本地工业监控系统包括监测设备和环境参数的传感器,如温度、压力、流量等传感器,用于控制设备和环境因素的各种执行器,如变频器、电磁阀、接触器等,以及与现场设备配套的触摸屏、仪器仪表等。如果需要远程监控,还需要云智能网关、云平台、智能终端等设备。本文主要分析本地工业现场监控系统,其常用构架见图1。

图1 工业现场常用监控系统架构图

在现场工业监控系统中,PLC 是监控系统核心器件,本文以西门子S7-1200PLC 为例介绍现场工业监控系统常用的通信方式。

2.1 智能IO 设备通信

如果一个系统由多个站组成, 每个站由一个S7-1200PLC 控制,则可以将其中一个PLC 做为上位机(主站),其它PLC 做为该上位PLC 的智能IO 设备,用智能IO 设备通信方式,将各个站的信息汇集到上位PLC,也可以从上位PLC 下发控制指令到其它做为智能IO 设备的PLC 中。

2.2 分布式IO 通信

分布式IO 通信是指PLC 与分布式IO 设备之间的通信。当S7-1200PLC 的本机需要分层分机架布局IO 点时,可以采用这种通信方式。

2.3 开放式以太网通信

开放式以太网通信适宜于PLC 与其它设备间的报文传输。

TSEND_C 指令把发送数据块的指令发送给对方,TRCV_C 指令将从对方接收的数据存放在接收数据块中。

2.4 Modbus RTU 通信

Modbus RTU 通信用于与支持Modbus RTU 通信协议的设备进行通信。

PLC Modbus RTU 通信指令有三条:MB_COMM_LOAD 指令、MB_MASTER 指令和MB_SLAVE指令。

仪器仪表、变频器等用Modbus RTU 协议通信的比较多。

2.5 自由口通信

S7-1200PLC 的自由口通信是串行通信。

适宜与不支持Modbus 协议的仪器仪表通信。

S7-1200PLC 的自由口通信指令有两条:
一是SEND_PTP (发送数据);

二是RCV_PTP(接收数据)。

S7-1200PLC 之间,S7-1200 与其它设备仪器之间不同通信方式的实现方法和步骤如下:

3.1 PLC 之间的智能IO 设备通信

PLC 之间的智能IO 设备通信方式可用在两个或多个PLC 之间通信。

(1)硬件与接线。

两个或多个PLC 之间通过交换机,用网线连接。

(2)组态与编程。

①添加两个或多个PLC,设置IP 地址,使不同PLC 处于同一网段;
②智能设备通信是主从通信,在拟作为从站的PLC 的硬件组态中,点击PLC 的网口,在属性的常规-操作模式-智能设备通信中,设置发送区和接收区;
③根据上述发送区和接收区的设置,分别在主PLC 和作为智能IO 设备的从PLC 进行编程。

3.2 PLC 与阀岛的分布式IO 通信

(1)硬件与接线。

智能阀岛是智能IO 与电磁阀汇流板的集成产品。与传统的离散式电磁阀相比,简化了接线,增加了分布式IO 的控制功能。

分布式IO 集成了通信接口、电源模块、I/O 模块等。

PLC 与阀岛之间用网线连接。

(2)组态与编程。

GSD 文件安装:①打开Portal 软件,打开项目视图,点击选项中的管理通用站描述方件(GSD);
②选择阀岛所对应用GSD 文件,安装。

设备组态:①选择网络视图,点击硬件目录,选择过滤;
②点击Profinet 下的I/ O;
③双击Syckin Intelligent 下的SV2Series;
④连接PLC 和分布式IO;
⑤设定智能阀岛参数:修改阀岛IP 地址;
⑥修改阀岛名称。

组态扩展模块:在设备视图右侧硬件目录中,选中模块下的SV2PN,拽到设备视图中。

编程:硬件组态后,根据智能阀岛属性中的分配地址进行编程。

智能阀岛只有输出Q 地址。

3.3 PLC 与RFID 的开放式以太网通信

(1)硬件与接线:①硬件:PLC 与RFID 的开放式以太网通信硬件包括PLC 和RFID。

RFID 是一种非接触的射频识别技术, 通过射频信号识别特定目标标签数据并进行读写传输;

②接线:RFID 与PLC 通过网线连接;
③RFID 软件调试:RFID 软件调试包括IP 地址设置、 端口号、功率、读取模式等。

(2)编程:PLC 与RFID 开放式以太网通信用到了两条指令:TSEND_C 指令和TRCV_C 指令,这里以和TRCV_C指令为例分析。

TSEND_C 指令如图2 所示。

图2 TSEND_C 指令

TSEND_C 指令参数含义如下:

REQ:在上升沿启动发送工作

CONT:控制通信连接,0-断开通信连接;
1-建立并保持通信连接。

LEN:发送的最大字节数,如果在参数DATA 中使用纯符号值,则LEN 参数的值必须为0。

CONNECT:指向连接描述的指针,这个包含连接关系的指针会自动生成。

DATA:发送数据块,需要将其属性中的优化数据块中的对钩去掉并编译,并在其中建数组变量。

编程方法:编程中先将RFID 中的报文内容分别写在发送数据块的数组元素中, 然后启动发送指令RCV_C,将发送数据块中的内容发送到RFID 中, 然后启动TRCV_C 指令接收RFID 反馈的数据。

3.4 PLC 与变频器的Modbus RTU 通信

(1)硬件与接线:PLC 与变频器的Modbus RTU 通信需要的硬件为:支持Modbus 的变频器、S7-1200 的PLC、S7-1200 配套的通信扩展板CB1241 或扩展模块CM1241。

需要注意:
接线时要将CM1241 或CB1241 的RS485的A 端或正端接变频器的B 端,RS485 的B 端或负端接变频器的A 端,这一点与其它RS485 的接线方式有所不同。

(2)组态和编程:①组态。

将硬件目录-通信模块-点到点中的CM1241(RS485)添加到PLC 模块的左侧通信扩展槽中,并设置对应参数,如“9600-N-8-1”等;
②编程。编程中要用到Modbus RTU 指令:MB_COMM_LOAD 和MB_MASTER 或MB_SLAVE 指令。

这里以主站指令MB_MASTER 为例介绍。

MB_COMM_LOAD 指令作用:
组态Modbus 通信端口,该指令只需执行一次。

MB_COMM_LOAD 指令主要参数含义:

REQ:上升沿执行

PORT:通信端口ID。

PARITY:奇偶校验选项。

0-无、1-奇、2 偶。

BAUD:波特率。

MB_DB:指向MB_MASTER 的背景数据块。

DONE:指令执行完毕,无错。

ERROR:错误,0-无错、1-有错。

STATUS:错误代码,存在WORD 变量中。

MB_MASTER 指令作用:作为MASTER 主站,可以访问一个或多个MASTER 从站中的数据,因为RS485 通信是半双工,所以多个MASTER 指令要进行轮询访问。

MB_MASTER 指令主要参数含义:

REQ:
请求输入,0-无请求,1—请求将数据发送到MASTER 从站设备。

MB_ADDR:Modbus RTU 从站地址。

默认地址范围:0-247。

MODE:模式选择:读取、写入或诊断。

DATA_ADDR:从站中的起始地址,指定Modbus 从站中将要访问的数据起始地址,比如40001。

注意:ModbusRTU 设备协议中的数据地址和指令中的Modbus 寄存器地址之间需要换算。

DATA_LEN:从站中被访问的数据长度。

以位或字为单位。

DATA_PTR:
参数是指向用来写入或读取数据的数据块或位存储器的指针, 书写参考格式:P#DB1.DBX0.0 INT 2。

利用上述两条指令就可以读取或写入变频器参数,如启停命令或运行频率等。

3.5 PLC 与扫码枪的自由口通信

如果仪器仪表不支持Modbus 协议, 就需要采用S7-1200PLC 的自由口通信协议来完成PLC 与仪器仪表的通信。

(1)硬件和接线:扫码枪内置二维码传感器。

二维码传感器由光源发出的光线照射到条形码, 反射光成像在光电转换器,译码成数字信号经自由口通信传输给PLC。

扫码枪上有网口, 可分解为RS232 串口和USB 口。用调试软件设置扫码枪参数时,需要用网口转USB 转接线与电脑相连。

PLC 需要在左侧扩展一个RS232 的通信模块, 以便与PLC 进行串口连接。

(2)组态和编程:①扫码枪软件设置。点击设置-点击系统设置-点击扫描设置-将解码格式改为感应模式-点击保存到设备。在设置里面点击通信接口-点击RS232 设置-将通信格式设置为“9600-N-8-1”,点击保存到设备;
②PLC 硬件组态:
将硬件目录-通信模块-点到点中的CM1241(RS232)添加到PLC 模块的左侧通信扩展槽中,并设置其对应参数,如“9600-N-8-1”等;
③编程:编程会用到两个通信指令:一个是SEND_PTP,其功能是发送发送缓冲区中的数据;
另一个是RCV_PTP,其功能是启用接收信息,将接收的数据放在接收缓冲区中。

这里以RCV_PTP 为例进行介绍。

RCV_PTP 的位置:

指令-通信-通信处理器-点到点。可以将其拖拽到程序编辑区中。

RCV_PTP 指令参数含义:

EN_R:启用接收指令,上升沿触发。

PORT:通信模块的端口标识符,当添加了通信模块后会自动生成端口标识符。

BUFFER:指向接收缓冲区的起始地址,不要在接收缓冲区中使用STRING 类型的变量。

新建一个扫码枪数据接收DB 块,在其中新建变量Array[0..10],然后将其属性中优化的块访问的对钩去掉,对块进行编译。

本文主要分析了工业设备及场所的本地监控系统中PLC 与PLC 之间,PLC 与其它设备器件之间的通信方式及实现方法,这些方法分为两类:以太网通信(智能IO 设备通信、分布式IO 通信、开放式以太网通信)和串行通信(Modbus 通信、自由口通信)。

本文所分析通信方式也可在其它领域推广应用。

猜你喜欢组态接线指令一起非常规接线导致的主变压器间隙保护误动分析湖南电力(2021年4期)2021-11-05基于PLC及组态技术的恒温控制系统开发探讨河北农机(2020年10期)2020-12-14基于PLC和组态的智能电动拧紧系统凿岩机械气动工具(2017年2期)2017-07-19220kV变电站电气主接线的设计及探讨山东工业技术(2016年15期)2016-12-01杀毒软件中指令虚拟机的脆弱性分析电信科学(2016年10期)2016-11-23PLC组态控制在水箱控制系统的应用工业设计(2016年11期)2016-04-16铸造行业三维组态软件的应用中国铸造装备与技术(2015年5期)2015-12-10中断与跳转操作对指令串的影响科技传播(2015年20期)2015-03-25一种基于滑窗的余度指令判别算法西安航空学院学报(2014年5期)2014-07-13MAC指令推动制冷剂行业发展汽车零部件(2014年2期)2014-03-11