APP下载

PLC可编程控制器与PIC单片机的远程通信

2020-06-12严怀龙

电子技术与软件工程 2020年3期
关键词:校验码仪表指令

严怀龙

(内蒙古乌海市集中收付中心 内蒙古自治区乌海市 016000)

现场总线是控制室内控制系统与现场智能化仪器以及仪表设备进行交互式连接的重要通信网络结构,搭载现场总线可实现具有多节点、多变量、双向性、可串行以及数字化特点智能设备的数据参数采集,以现场总线技术为支持的现场总线测控系统凭借可操作性高、全分散性、全数字化、以及全开放性的性能优势,备受业内人士的关注与重视,更成为了工业测控系统结构发展转型中的重要成果。本文即搭载现场总线技术,研究PLC可编程控制器与PIC单片机远程通信功能的实现问题,望能够引起业内人士的关注与重视。

1 远程通信系统结构

PLC可编程控制器具有较高的系统运行可靠性,对恶劣不良现场环境条件有良好的适用性,故而广泛应用于各类自动化系统中。尤其随着大规模集成电路技术以及微电子技术的快速发展,微处理芯片处理功能持续提高,成本有所下降,智能化仪表装置得到了飞速的发展与进步。PIC16F87X作为一种搭载CMOS工艺的单片机装置,中央处理器单元采用RISC结构,系统程序存储器装置可达到14位宽度,数据存储器可达256字节,内置A/D转换器,可支持8个通道模拟量输入,并且可实现中断功能,上述特性有利于智能化仪表装置的开发以及功能实现,并且使智能化仪表装置表现出了极高的集成度以及功能化水平。

RS-485现场总线技术有良好的数据传输速率,可支持远距离数据传输,并且抗干扰能力强,具备双端平衡式电气接口特性,多站互联方便可靠,最大可允许并联32个站点,数据传输速率可达到10.0Mbit/s。在目前智能化仪表以及控制设备功能实现的过程中广泛应用RS-485现场总线标准,具备可靠、适用的优势。

如图1所示,图中给出了常见的现场总线结构模式。在现场总线结构中,以PC单机作为上位机,以全面且集中的方式对系统运行状态进行动态监控,支持包括可视化人机操作、网络连接、数据库系统、以及图形显示等在内的一系列功能,下位机选型西门子PLC可编程控制器,主要功能是接收上位机所发送各种操作指令,循环读取现场各类信号参数,在计算控制量的同时支持逻辑判断功能的实现。另外,应将现场所产生信号参数以及控制量送上位机进行实时性监控。现场总线中智能化仪表装置主要负责包括信号采集、现场显示、信号处理、以及数据通信等相关功能的实现。PC装置与CPU中央处理单元搭载PC/PP电缆操作接口实现,应用VB程序完成编程,通信功能搭载串行通信控件实现。PLC可编程控制器通过RS-485总线连接智能仪表装置,支持自由接口通信以及点对点通信两种模型。在此基础之上,由SN 75176将PIC单片机串行接口电平信号转换为RS-485总线可识别平衡信号,确保远程通信功能的顺利实现。

图1:现场总线结构模式示意图

2 远程通信协议设计

基于现场总线技术的智能化仪表装置主要涉及到两种类型:第一类智能化仪表装置实现了系统设置、信号采集、信号处理、参数显示、通信等相关功能的集成;第二类智能化仪表装置实现了系统设置、信号采集、信号处理、参数显示、通信、调节等相关功能的集成。以下所研究通信协议可用于第一类仪表装置。考虑到整套控制系统的实时性特点,搭载现场总线的通信协议设计应当符合实用性以及通用性的要求,同时最大限度减少附加信息的传输量。对于控制器而言,面向现场总线系统所发出控制指令的格式为“起始字符+数据字节数+仪表地址+校验码+结束字符”,仪表装置所发出数据帧格式则为“起始字符+数据字节数+仪表地址+高8位数据+低8位数据+...+校验码+结束字符”。

可编程控制器PLC通过发出读取指令的方式读取现场某特定智能仪表装置参数信息,当智能仪表接收读取指令后分析指令参数,依次判断:①是否属于本仪表地址对应区间;②是否为正确校验码,均判断正确后由仪表装置将现场参数以及地址信息发送至控制器;当判定属于本仪表地址范围但校验码不正确时,则由仪表装置将数据帧地址段设置为十六进制格式,对数据段进行更新并发送至控制器;当判定不属于本仪表地址范围时,则不对数据进行传输,控制器在发送仪表读取指令后进入数据接收状态,在规定时间内未接收到信息、接收异常、接收到的校验码与计算校验码不一致或接收的地址与发送地址不一致时重新发送命令。由于一个仪表的数据量一般比较少,采用这种数据帧也作为应答信号的方式更有利于控制器和仪表双方的通信程序设计,对于整个数据通信系统实时性功能的实现也有非常重要的意义。

3 PLC可编程控制器通信程序设计

对于S7-200PLC可编程控制器而言,在通信程序设计以及相关功能实现过程中,数据发送指令以及数据接收缓冲区指令格式一致,均为“字节计数+起始字符+数据字节数+字节数据1+...+字节数据N+校验码+结束字符”。其中,对于发送指令而言,其基本格式为“字节计数(5)+起始字符(00)+数据字节数(1)+仪表地址+校验码+结束字符(FFH)”,对于接收端数据指令而言,其基本格式则为“字节计数(7)+起始字符(00)+数据字节数(3)+仪表地址+高8位+低8位+校验码+结束字符(FFH)”。

可编程控制器与现场仪表装置通信功能实现程序的设计主要包括两个方面的内容,第一是通信功能初始化设置,第二是接口端参数信息收发设置。首先,在通信初始化功能设置过程中,基本实现方案为:

由PLC可编程控制器装置通过PORT1的方式读取智能化仪表装置关键信息,采集参数信息后,中断进入参数接收状态,在仪表装置接受装置后发送参数信息至PLC可编程控制器中,在接收终端产生后,对接收是否正确以及校验码是否正确进行判断,判断正确时则取出数据信息,判断不正确时重新发送指令,若参数被正确取出,一方面可通过PORT0口传输至PLC可编程控制器,另一方面则用于控制操作。

4 PIC单片机远程通信实现

为实现PIC的远程通信功能,将其作为仪表装置与RS-485网络进行连接,在技术层面应当完成通信接口设计、通信程序设计这两个方面的工作,确保远程通信的可靠性与稳定性。

图2:PIC作为仪表装置与RS-485网络的连接接口电路示意图

(1)PIC通信接口设计。PIC作为仪表装置与RS-485网络的连接接口电路如图2所示。结合图2,以RC7/RX为数据接收装置端,以RC6/TX为数据发送装置端,当RB0取值为1时,发送门处于开启状态,接受门切换至关闭状态,支持PIC完成数据发送指令。在当RB0取值为0时,发送门处于关闭状态,接受门切换至开启状态,支持PIC完成数据接收指令。整个PIC通信接口电路采用9芯串口插座,电路A/B与PLC可编程控制器A/B以交叉方式完成连接,引入双绞线以达到抗干扰性能。

(2)PIC通信程序设计。整个PCI单片机远程通信系统数据接收采用中断方式实现,发送采用查询方式实现,PIC通信程序设计包括两个部分。定义TXREG为发送参数寄存器装置,定义RCREG为接受参数寄存器装置,当RCIF为1时,表明接受数据寄存器装置已接收到1个字节参数,当该参数被取走后,RCIF为0。当RIP1为1时,表明发送数据寄存器装置为空闲状态,当RIP1为0时,表明发送数据寄存器装置为饱和状态。PIC 16F877接收由PLC可编程控制器发送操作指令,依据数据格式进行中断处理,反复接收中断5次后在接收缓冲区达到操作指令,并进入校验环节,确认操作指令正确判断是否为本智能仪表装置地址,经判断正确后将地址发送至缓冲区,若经校验数据存在误差,则生成错误代码255并发送至缓冲区,数据发送通过PIC查询方式实现。

5 结束语

以PIC单片机为智能化仪表装置,以PLC可编程控制器为网络系统的交互式通信系统硬软件结构体系,单片机选用PIC16F877,PLC可编程控制器选用西门子226CPU中央处理系统,搭载RS-485总线技术可支持点对多通信功能的实现,当智能化仪表装置接收来自PLC可编程控制器发送错误操作指令后,将对应地址段作为错误信号通信标准,可以点对多的方式实现PLC可编程控制器与现场仪表装置的交互式通信。整套搭载PIC的远程通信方案及其应用能够为现场智能化仪表装置控制提供参考意见。

猜你喜欢

校验码仪表指令
◆ 仪表
◆ 仪表
仪表
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
基于FPGA的循环冗余校验码设计
Microchip推出全新零漂移仪表放大器
坐标系旋转指令数控编程应用
基于FPGA和NAND Flash的存储器ECC设计与实现