好文档 - 专业文书写作范文服务资料分享网站

VB与S7-200通讯

天下 分享 时间: 加入收藏 我要投稿 点赞

本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200 PLC自由口通信进行的方法。

常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。利用Visual Basic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情况下的数据信息的双向通信传输。

SIMATIC S7-200内部集成的PPI接口物理特性为RS485,可在多种模式下工作,其中自由口通信方式是S7-200PLC的一个很有特色的功能,它可以与任何协议公开的其它设备、控制器等进行通信。上位机串口符合RS-232C标准协议,为了实现两者的通信必须进行协议转换,可以利用PC/PPI电缆连接两者,并同时完成协议转换的任务。

控制系统组成

基于VB和PLC的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。

VB6. 0提供了串行端口通信控件MSComm,该控件封装了通信过程的底层操作,用户只需设置MSComm控件的属性和对相应的事件进行编程,即可完成串行通信功能。

MSComm控件提供了事件驱动和查询2种处理通信的方法,其中事件驱动方法通过设置CommEvent、Rthreshold等属性实现对MSComm控件的OnComm事件驱动;查询方法则通常通过OutPut属性直接写输出缓冲区,且通过InPut属性直接读输入缓冲区实现。因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与PLC之间的串行通信。

1.S7-200PLC的自由口通信

西门子S7-200系列PLC的CPU支持多样的通信协议,如PPI接口协议、

MPI协议、Profibus协议、自由口通信协议等。其中自由口通信是S7-200 PLC的一个很有特色的功能,它使S7-200 PLC可以与任何具有串行接口和通信协议公开的智能设备(如变频器、单片机和Modem等)通信,使通信范围扩大、控制系统配置更加灵活。

自由口通信模式在物理接口上要求双方都使用RS485接口,使用PPI编程电缆或其他具有RS485/RS232转换功能的通信电缆,这样就可以实现S7-200 PLC与计算机的自由口通信(即串行通信)。S7-200 PLC的自由口通信,即用户可以通过用户程序对通信口进行操作,通信协议完全由用户程序控制。通过设定特殊存储字节SMB30(端口0)或SMB130 (端口1)允许自由口模式,同时这两个特殊存储字节也用于选择波特率、奇偶校验、数据位数和通信协议,用户可以通过使用发送中断、接收中断、发送指令(XMT)和接收指令(RCV)对通信口进行操作。S7-200 PLC使用RCV指令接收数据,RCV指令可以接收一个或最多至255个字符。在缓冲区接收到最后一个字符时,会产生一个中断事件23,也可以采用查询方式监视状态字节SM86来判断数据接收是否完成。通过对SMB87接受状态字节的设定,用户可自定义通信协议中帧的具体格式。

2.S7-200PLC自由口通信协议设计

基于液压试验台的设计功能要求,这里讲述工业控制计算机作为上位机向作为下位机的S7-200PLC发送指令的自由口通信。该协议中工业控制计算机向S7-200 PLC的缓冲区发送数据帧,工业控制计算机发送的数据帧格式见表1。缓冲区中存储的数据格式见表2。本程序中的实际接收到的数据存储情况见表3。当PLC收到数据帧的结束字符就会产生中断事件23调用中断程序INT0,进而调用子程序SBR 1进行相应的实验过程控制。表4中为部分S7-200 PLC的自由口通信程序,包括自由口初始化程序和接收到控制信息数据后相应的中断INT 0程序。

[1] 西门子公司.SIMATIC S7-200可编程控制器系统手册[M].2000

VB与S7-200通讯

本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200PLC自由口通信进行的方法。常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。利用VisualBasic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情
推荐度:
点击下载文档文档为doc格式
6cswz05jxg7zlrl1bkfq6d7jn4l91z013ao
领取福利

微信扫码领取福利

微信扫码分享