e-works数字化企业网  »  文章频道  »  工业自动化控制  »  PLC/DCS

基于S7-200PLC的纸机控制系统通讯设计

2013/12/5    来源:万方数据    作者:李英春  王孟效  姚鹏      
关键字:纸机    PPI协议  S7-200  PLC  
系统采用SIEMENS S7-200 PLC,控制纸机的上浆浓度、流量等参数,达到间接控制纸页的定量和水分的目的。通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序,节省PLC资源,缩短了系统开发周期。

  (2)串口读取数据程序,以读取VB100 数据单元为例:

  Dim Str-Read(0 To 32)'定义发送的数据为字节为元素的数组。

  Str-Read(32)= &Hl6'相应的数组元素赋值,按照以下格式:

  Str-Read(29)=(100"8) 256'地址为指针值,先取高位地址指针
  Str- Read(30)=(100"8)Mod 256'取低位地址指针
  Str- Read(24)= l'读取的数据长度(Byte 的个数)
  For I = 4 to 30
  Temp-FCS = Temp- FCS + Str- Read(i)
  Next 1
  Str-Read(3l)= Temp- FCS Mod 256'计算FCS 校验码,其它数组元素赋值省略。
  68 1B 1B 68 2 O 6C 32 1 0 0 0 0 0 E 0 0 4 1 12 A 10 20 1 0 1 84 0 3 20 8B l6
  PLC 返回数据E5 后,确认读取命令,发送以下数据:
  10 20 5C 5E l6
  然后上位机VB 程序接受到以下数据:68 16 16 68 0 2 8 32 3 0 0 0 0 0 2 0 5 0 0 4 1 FF 4 0 822 78 16

  首先识别目标地址和源地址,确认是这次申请的返回数据,然后经过校验检查,正确后解析出第26 号数据(&H22)即为VBlOO 字节的数据。

  (3)串口写入数据程序,以写VBlOO 数据单元为例:Dim Str-Write(0 To 37)'定义发送的数据为字节为元素的数组。Str-Write(37)= &Hl6'相应的数组元素赋值,按照以下格式

  Str-Write(35)= &Hl0'要写入的数据值68 20 20 68 2 0 7C 32 1 0 0 0 0 0 E 0 5 5 1 12 A 10 2 0 1 0 1 84 03 20 0 4 0 8 C B9 l6

  PLC 返回数据E5 后,确认写入命令,发送以下数据:10 2 0 5C 5E l6

  然后上位机VB 程序接受到以下数据:68 12 l2 68 0 2 8 32 3 0 0 0 0 0 2 0 l 0 0 5 1 FF 47 16

  这是PLC 正确接收并写入信息的返回数据。

  (4)串口接收程序:

  在数据接收程序中,利用VB 中MSComm 控件,一次接收缓冲区中的全部数据,存放到数组形式的暂存单元中,然后分析每个元素的值,得到读写的数据。

数据

  在程序的读写过程中,一次最大可以读写222 个字节,目前给出的数据读写为整数格式。以上程序,是以读写PLC 的V 变量区为例,利用PPI 协议还可以读写S7 - 200PLC 中的各种类型数据,包括I、O、SM、M、V、T、C、S 等数据类型,能够直接读出以上变量中的位、字节、字、双字等,其中读位变量时,是读取该位所在的字节值,然后上位机自动识别出该位的值。按照读写的数据类型,其中Str- Read(27)的值各不同。

  在控制系统中,PLC 与上位计算机的通讯,采用了PPI 通讯协议,上位机每0.5 s 循环读写一次PLC。PLC编程时,将要读取的检测值、输出值等数据,存放在PLC 的一个连续的变量区中,当上位机读取PLC 的数据时,就可以一次读出这组连续的数据,减少数据的分次频繁读取。当修改设定值等数据时,进行写数据的通讯操作。此系统已经可靠运行两年,达到了要求的控制效果,实现了稳定的通讯连接。

4 结束语

  使用S7 -226PLC,完成纸机的测量和控制,系统控制效果良好。同时,利用PPI 协议,上位机与PLC 通讯连接就变得容易实现。而且程序编制简洁,PLC 中不必编写代码,与PLC 的通讯不占用PLC 的中断资源,节省了PLC 的用户空间。 

责任编辑:陈浩
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐