VB与S7-200通讯

VB与S7-200通讯

ID:46767542

大小:282.00 KB

页数:5页

时间:2019-11-27

VB与S7-200通讯_第1页
VB与S7-200通讯_第2页
VB与S7-200通讯_第3页
VB与S7-200通讯_第4页
VB与S7-200通讯_第5页
资源描述:

《VB与S7-200通讯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200PLC自由口通信进行的方法。常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。利用VisualBasic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情况下的数据信息的双向通信传输。SIMATICS7-200内部集成的PPI接口物理特性为RS485,可在多种模式下工作,其中自由口通信方式是S7-200PLC的一个很有特色的功能

2、,它可以与任何协议公开的其它设备、控制器等进行通信。上位机串口符合RS-232C标准协议,为了实现两者的通信必须进行协议转换,可以利用PC/PPI电缆连接两者,并同时完成协议转换的任务。控制系统组成基于VB和PLC的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。VB6.0提供了串行端口通信控件MSComm,该控件封装了通信过程的底层操作,用户只需设置MSComm控件的属性和对相应的事件进行编程,即可完成串行通信功能。MSComm控件提供了事件驱动和查询2种处理通信的方法,其中事件驱动方法通过设置CommEvent、

3、Rthreshold等属性实现对MSComm控件的OnComm事件驱动;查询方法则通常通过OutPut属性直接写输出缓冲区,且通过InPut属性直接读输入缓冲区实现。因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与PLC之间的串行通信。1.S7-200PLC的自由口通信西门子S7-200系列PLC的CPU支持多样的通信协议,如PPI接口协议、MPI协议、Profibus协议、自由口通信协议等。其中自由口通信是S7-200PLC的一个很有特色的功能,它使S7-200PLC可以与任何具有串行接口和通信协议公开的智能设备

4、(如变频器、单片机和Modem等)通信,使通信范围扩大、控制系统配置更加灵活。自由口通信模式在物理接口上要求双方都使用RS485接口,使用PPI编程电缆或其他具有RS485/RS232转换功能的通信电缆,这样就可以实现S7-200PLC与计算机的自由口通信(即串行通信)。S7-200PLC的自由口通信,即用户可以通过用户程序对通信口进行操作,通信协议完全由用户程序控制。通过设定特殊存储字节SMB30(端口0)或SMB130(端口1)允许自由口模式,同时这两个特殊存储字节也用于选择波特率、奇偶校验、数据位数和通信协议,用户可以通过使用发送中断、接

5、收中断、发送指令(XMT)和接收指令(RCV)对通信口进行操作。S7-200PLC使用RCV指令接收数据,RCV指令可以接收一个或最多至255个字符。在缓冲区接收到最后一个字符时,会产生一个中断事件23,也可以采用查询方式监视状态字节SM86来判断数据接收是否完成。通过对SMB87接受状态字节的设定,用户可自定义通信协议中帧的具体格式。2.S7-200PLC自由口通信协议设计基于液压试验台的设计功能要求,这里讲述工业控制计算机作为上位机向作为下位机的S7-200PLC发送指令的自由口通信。该协议中工业控制计算机向S7-200PLC的缓冲区发送数

6、据帧,工业控制计算机发送的数据帧格式见表1。缓冲区中存储的数据格式见表2。本程序中的实际接收到的数据存储情况见表3。当PLC收到数据帧的结束字符就会产生中断事件23调用中断程序INT0,进而调用子程序SBR1进行相应的实验过程控制。表4中为部分S7-200PLC的自由口通信程序,包括自由口初始化程序和接收到控制信息数据后相应的中断INT0程序。[1]西门子公司.SIMATICS7-200可编程控制器系统手册[M].20003.VB通信控制程序的实现VB6.0为串行通信程序设计提供了一种标准串行通信控件MSComm。该控件具有完善的串行数据的发送

7、和接收功能,不但包括了全部WindowsAPI中关于串行通信的函数所具有的功能,还提供了更多的对象属性来满足不同用户的编程需要。下面详细介绍采用MSComm控件实现与S7-200PLC进行自由口通信的程序。程序运行过程中只要点击相应的按钮就可以得到相应的控制信息数据,这样S7-200PLC接收到控制信息数据后,就可以实现液压实全部过程的自动控制。以下是工业控制计算机向S7-200PLC的V变量存储区写数据的自由口通信程序的简单示例。程序代码:OptionExplicitPrivateSubCommand1Click()DimBuff(2)AsB

8、yteBuff(0)=&H1‘起始字符Buff(1)=&H41‘接收到的控制信息数据Buff(2)=&H3‘结束字符MSComm1.Output=Bu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。