1 引言
为了达到自动化控制系统的灵活性和高效率性,许多plc厂商都开发出了opc通讯方式。西门子公司为s7-200系列plc开发了专用的opc服务器pc access,本项目选用opc方式实现wincc和plc之间的通信,实验证明该方式使用方便、实时性高。借助可视化编程软件visual basic方便快捷的数据处理功能,实现了实验室加热器各项参数的记录归档和曲线绘制。目前,该系统已成功投入运行使用。项目的开发背景是为能源动力实验室解决人工抄表和数据归档的繁琐性、低效率性问题。
2 系统组成和原理
加热器测试系统以西门子s7-200系列cpu224cn为主控制器,配合3个模拟量采集模块,采集实验室加热设备各个传感器和仪表数据,plc以自由口通讯方式和油耗仪进行通信,实现采集和控制功能。wincc以opc通讯方式和plc建立通信,为了实现更方便的数据归档、多个数据库操作,上位监控计算机采用visual basic进行编程,实现了计算机与可编程控制器的控制。系统结构图如图1所示。
转速表输出经简易运算放大电路板后接至cpu224的高速计数输入端i0.0,经程序处理后可采集到转速表的实时转速值。pc/ppi电缆连接plc和监控计算机,监控计算机上安装有s7-200编程软件、pc access通讯软件、上位监控软件wincc和数据处理编程软件visual basic。最终的数据采集和处理都集中在visual basic中进行,在其开发环境下加入dmc控件,调用dmc控件的属性和方法即可读写wincc中的数据,最终实现visual basic和s7-200的通信。借助visual basic方便且强大的数据库处理功能,实现能源动力实验室加热器的自动化控制。
3 软件设计
3.1 plc程序设计
(1)plc与油耗仪的自由口通讯:采用自由口通信方式时,s7-200上的自由口完全由用户控制,可以与任意协议已知的设备进行通信。s7-200用于自由口通讯模式定义的特殊标志字节有smb30和smb130,对应的接受信息状态有smb86和smb186,接受信息的控制字节有smb87和smb187。plc自由口通讯初始化子程序如图2所示。
(2)热电偶温度采集子程序(见图3)
(3)采集风扇转速子程序:对高速计数器编程的步骤有定义计数器和模式、设置控制字节、设置初始值、设置预置值、指定并使能中断服务程序和激活高速计数器。本程序配置高数计数器0,模式0,控制字节16#f8存于smb37中,初始值0存于smd38中,预置值10000000存于smd42中。循环自动计时周期性触发中断0,在中断事件号10中读取hc0的值,则转速=hc0*240。如图4所示。
3.2 通过pc access建立plc和wincc通信
pc access是西门子s7-200专用的opc服务器软件,可以于任何标准的opc客户端通信并提供数据信息。pc access软件自带opc客户机测试端,用户可以方便的检测其项目的通信质量及配置的正确性。在pc access中创建变量,注意地址一定要与plc中的变量一一对应。将创建好的变量拖拽到pc access集成客户测试端,当质量为“好”时,表示通信成功,再将变量导入到wincc中即可建立opc连接。
3.3 visual basic数据处理程序
安装完wincc之后,会在visual basic部件库中添加wincc dmc control控件,调用此控件即可建立visual basic和wincc通信。首先建立wincc对象,调用dmc控件的connect事件属性建立和wincc的通信,然后调用read事件周期性读取wincc中变量的值(如图5所示)。进入加热器实时测试中心(见图5),成功建立与采集中心连接,待油耗仪充满油之后,便可开始采集。系统将按照设定的采样周期采集各个检测量,并能自动启动油耗仪的测量程序。实时值可以显示在文本框中,也可绘制在监督图(见图6)上,同时数据将保存到后台数据库中,从而避免了手工抄表所带的一系列麻烦。
4 结束语
加热器测试系统经反复调试之后投入到能源与动力实验室运行使用,大大减低了实验室数据监控的劳动量,方便了实验室设备管理,同时为学院自动化实验室建设起了个带头作用。