APP下载

温控箱远程监控系统软件设计

2014-02-10邓霖杰任德均

机电工程技术 2014年7期
关键词:温控上位串口

邓霖杰,任德均,盘 龙

(四川大学,成都 610065)

温控箱远程监控系统软件设计

邓霖杰,任德均,盘 龙

(四川大学,成都 610065)

某公司设备分散分布在不同的区域,距离较远,环境干扰严重,且设备的控制系统种类繁多。本系统通过读写各类温控箱的可编程控制器,实现对各类温控箱运行状态和数据的远程集中监控与记录。要求可靠地实现设备的联网监控,且不能影响原系统的运行。介绍了以C#作为编程语言的系统软件设计,采用串口通信进行数据传输并保存在数据库中,实现了基本功能,且界面友好,运行稳定。

C#;Access数据库;串行通信

0 引言

随着计算机技术的快速发展,各行业技术的相互交流渗透,数据采集与控制系统广泛的运用于传统工业生产各领域。本系统采用RS232通讯接口与各类设备的可编程控制器交互,实现了各类数据的采集与记录,并且可对温控箱进行起停控制。由于使用Windows API编程非常繁琐且不易调试,本系统采用C#语言在Visual Studio 2010环境下编程。Microsoft.NET平台集成了大量的库类,使得程序员可以快速地编写各种基于Win⁃dows的应用程序,本文主要采用了SerialPort类与Thread类实现串口通讯编程与多线程处理[1]。

1 系统结构设计

1.1 系统框架

整个系统由接口及协议转换模块,上位机软件模块和后台数据库模块三个模块组成。

系统框图由图1所示。

1.2 工作方式

针对不同的PLC需要不同的读写指令格式,通过上位机负责编辑并发送各种指令来控制整个系统工作,接口及协议转换模块负责指令和数据的收集和分发以及上传。通过CAN总线和串口通讯两次协议转换来传递指令到对应的PLC上。通过读写PLC的内存地址,实现对温度和状态数据的采集以及对温控箱的运行状态的控制。采集的数据经由上位机分析校验后保存至数据库并实时显示于界面上。

1.3 自定义数据格式

由于所采集的数据和指令种类繁多,包含各监测点温度、基本工作状态、异常信息、以及控制指令和上位机与协议转换器的内部交互指令,故通过自定义数据格式来承载所必要的信息标识。数据格式如图2所示。

图1 系统框架

所图所示,数据帧类型代表该条数据帧的定义,以区分是温度、状态、控制指令或者其他指令;CAN总线地址代表与PLC相连的协议转换器在CAN总线上的地址,由协议转换模块上的拨码开关设定,实现对温控箱的唯一标识;PLC数据地址代表需要读取或者写入的数据在PLC的内存地址;由于各类型PLC的数据存放地址长度不一致,故在PLC数据地址和数据值之间加入分隔符以区分地址与数据;数据值为所要读取或者写入的数据;最后,本数据帧采用两位和校验来检验数据的正确性。例如:数据帧$A01IR0400,0079#44,‘$’和‘#’分别作为起始和结束符,‘,’作为分隔符;第二位‘A’代表该帧数据为温度数据帧,“01”代表是CAN总线地址为01号的温控箱,“IR0400”代表该温度数据所存放的PLC内存地址,“0079”代表当前该温度值为79摄氏度,最后“44”为两位和校验码。

2 上位机软件设计

本软件以Windows XP Embedded作为操作系统,数据库采用Microsoft Access 2010。上位机软件部分主要由数据库模块、数据采集功能模块和设备控制功能模块三部分构成。系统的主界面如图3所示,分为控制区域、状态区域和数据区域。

2.1 数据库模块

图2 数据格式

图3 系统的主界面

数据库中建立了多张表,包括设备信息表、数据信息表、状态信息表、数据记录表、工作日期表以及用户信息表等等。其中主要的设备信息表中包含了总线地址、所属车间、温控箱名称、PLC型号等字段;数据信息表中包含CAN总线地址、数据名称、内存区域、起始通道、位地址等字段;数据记录表中包含总线地址、设备名称、数据名称、实际数值和采集时间等字段。同时利用微软提供的OLEDB应用程序接口来读写、查询数据库实现对数据的读取、保存、修改、查询、输出等[2]。

2.2 数据采集功能模块

数据处理流程如图4所示。

图4 数据处理流程图

软件启动后,先从数据库中的设备信息表和数据信息表中读取设备信息以及所要采集的数据的信息,包括PLC型号和各数据地址以及通道长度等,同时针对不同型号的PLC将数据信息表中的各个字段用事先定义好的方式组合成的各种控制命令,将各类数据初始化为设备对象的成员变量,方便快速地调用。然后利用SerialPort类初始化一个串口对象,串口参数默认从配置文件中读取,用户也可修改串口参数,以满足通信要求。本软件采用多线程编程技术,将数据接收与数据处理过程分离。数据接收线程负责读取串口缓存区的数据并转移到数据队列中[3]。数据处理线程将数据队列的中的数据提取出来处理,数据通过完整性校验后,通过对数据帧中包含的总线地址和内存地址的信息与设备对象的成员变量的数据信息匹配,通过后分别调用各对象实例的数据处理函数,实现对不同设备不同的数据的显示和保存。采用多线程处理技术,极大的提高了数据处理能力,提高了运行效率。

2.3 设备控制功能模块

系统的控制功能主要是通过对PLC的内存写入来实现控制温控箱的运行状态。由于各温控箱使用的PLC型号各异,控制指令的内容也大不相同。本软件通过读数据库中的指令信息表,针对不同的PLC类型通过函数编写出各自的控制指令[4]。为确保在传输过程中控制指令的正确性,采用上位机将控制指令通过自定义协议打包后发送至协议转换器,转换器校验通过后只需将起始结束符以及校验码拆包后即可直接转发给PLC。为确保控制指令正确执行,系统建立了控制反馈机制。在发送完指令后,上位机将立即读取相应的设备状态,检测PLC是否做出相应的动作,若未正确执行,上位机将再一次做出控制动作,以确保指令执行到位。若多次控制无效,则会做出相应的提示并记录保存。

3 扩展功能

3.1 定时启动

工厂车间传统的工作方式是将温控箱24小时不间断工作,以保持温控箱供热使设备达到最佳的工作温度,但在流水线停止工作时段,继续恒温便造成了能源的浪费与设备的额外损耗。本系统加入定时启停功能,可以根据预先设定好的工作计划表,做出定时启动的动作。在流水线开始生产前,启动温控箱,提前将温度加热到最佳工作温度,确保不耽误正常生产,并且在流水线停止生产后定时停机,达到延时关闭温控箱的目的,实现了能源的节约以及减少设备损耗,降低了生产成本,带来了良好的经济效益。

3.2 数据分析

通过系统不间断的采集生产系统的各类数据,并人为预先的输入一些规则,比如设定各类数据的正常范围,软件可以分析和记录下异常数据的类型以及发生的时间,并且通过各类数据的图标导出,可以方便直观的帮助维护人员分析和诊断故障,以便快速的解决异常现象。

4 结论

通过更改在数据库中所保存的数据信息,输入正确的数据内存地址与通道长度,可实现对温控箱内部任意数据的采集,使得系统的扩展性和灵活性得到增强。同时建立异常处理机制和使用软件看门狗[5],对整个监测系统各功能模块可能会出现的异常采取自恢复处理或者错误消息保存方案,极大的提高了整个系统的稳定性与安全性。本软件经过长期现场测试,结果表明系统各项功能运行正常,较好的满足了数据采集系统对上位机软件的要求。

[1]Christian Nagel等著:李铭译.C#高级编程.北京:清华大学出版社,2010.11.

[2]曾建华.Visual Studio 2010(C#)Windows数据库项目开发[M].北京:电子工业出版社,2012.

[3]刘凯,周云耀.C#串口通讯时丢失数据的一种解决方法[EB/OL].中国科技论文在线,2008.

[4]范永胜,徐鹿眉.可编程控制器应用技术[M].北京:中国电力出版社,2010.

[5]叶帮利.用于工控监测系统的多进程软件看门狗[J].微计算机信息,2008(6):304-305.

Design for PC Software of Remote Temperature Monitor and Control System

DENG Lin-Jie,REN De-jun,PAN Long
(Sichuan University,Chengdu610065,China)

The on-site device of a company are scattered in different areas with long distance and serious environmental interference.The system remote centralized monitor and control of the temperature control box’s status and data by reading and writing various types of devices’PLC.Requires reliable interconnection between devices monitoring,and can’t affect the operation of the original system.This article describes the system PC software design based on C#,use serial port communication to transfer data and save data in database,actualizing basic functions with user-friendly and stable operation.

C#;Access database;serial communication

TP277

A

1009-9492(2014)07-0105-03

10.3969/j.issn.1009-9492.2014.07.031

邓霖杰,男,1988年生,四川成都人,硕士研究生。研究领域:机器视觉。

(编辑:向 飞)

2014-01-19

猜你喜欢

温控上位串口
浅谈AB PLC串口跟RFID传感器的通讯应用
温控/光控片上纳米裂结
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于MSP430和Android温控距控智能电风扇设计
基于ZigBee和VC上位机的教室智能监测管理系统
骨料自动温控技术
基于ARM7 和FPGA的风扇散热系统温控模块设计及实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信