当前位置:文档之家› 西门子PLC的PPI通信协议研究

西门子PLC的PPI通信协议研究

西门子PLC的PPI通信协议研究

■中国烟草总公司重庆市市公司物流分公司潘必胜关键词西门子PLCPPI通信协议通信程序报文数据远程监控

1PPI通信协议

在PPI通信协议中,计算机和PLC采用主从方式进行通信,主设备是计算机,从设备是PLC。其通信过程是计算机按照通信任务,用一定格式的数据向PI。C发送通信命令。PI。c收到命令后,进行命令校验。如命令数据格式无误。则PI。C向计算机发出表示命令正确的初步应答信号,计算机在收到初步应答信号后,再向PLC发送确认命令。PLC收到确认命令后,执行命令响应。

在实际编程过程中,采用主设备先向从设备发送请求命令的方案。让主设备等待一定的时间(确保请求命令响应完成),直接发送确认命令数据给从设备,再等待一定时间(确保从机对确认命令响应完成),再去读取从设备对请求命令和确认命令响应的所有数据,并对数据格式进行校验。如果正确,则进行相应的数据处理;如果数据错误,则放弃收到的数据重新进行通信。

2通信程序

在上位机与PLC通信时,上位机采用VB6.0进行编程,计算机采用PPI电缆或普通的485串口卡与PLC的编程口连接,利用VB6.0的MSComm控件进行数据通信。2.1初始化串口

WithMSComml

.CommPort—1

.settings=”19200,E,8,I”

.RThreshold一0

.InputLen=0

.EOFEnable=True

.InputMode—comlnputModeBinary

.PorK)pen—True

End

With

2.2请求命令

根据需要监控数据的内容和PPI协议的格式要求,完成PLC时钟设置、PLC时钟读取、PLC运行、PI。C停止、输入输出点强制置位(或复位)、按地址取消强制位、全部取消强制位、向PI.C各种类型元件存储单元写入数据、读取Pl,C各种类型元件数据等功能的子程序,根据不同要求产生不同形式的请求报文数组。请求报文数组采用DimRequestCommand(OToXX)AsByte语句定义为字节元素数组,利用MSComml.Output=RequestCom—mand向PI,C发送形成的请求命令。

在进行请求命令报文时,每次为不同的请求命令报文数据单元的PDU—REF参数设置特定的代号值,以便对应答数据处理时进行区分;利用MSComml.RThreshold—XX语句设置串口CommEvent属性为eomEvReeeive,并产生OnComm事件之前要接收的字符数。

调用各种功能子程序之前,利用VB语言为每次请求定义一个名称(特定字符串),以便在OnComm事件中进行不同的处理。

2.3确认命令

当请求命令发送后,利用VB的Sleep(XX)语句实现响应等待。其中等待时问由请求命令的内容决定,目的是确保请求命令完成。等待结束后发送确认命令:DimSureCommand(0To5)AsByte

SureCommand(O)一&H10

SureCommand(1)=&H2

SureCommand(2)一&H0

SureCommand(3)一&HSC

SureCommand(4)一&H5E

paper@mesnet.corn.cn(投稿专用)圄圜蟹蘑重嘲Mi。m。。。。。II。&Emb。ddedS,m。。35万方数据

相关主题
文本预览
相关文档 最新文档