李玉霞 狄敬国
摘要为了减轻温室管理的难度,实现温室的远程监控,提出了一种新型智能化的温室控制方法,采用VC++进行编程,实现计算机与PLC的远程通信,可以灵活地监测控制温室里的温度、潮湿度、光照强度等。操作控制方便,工作可靠稳定,环保节能。实际操作证实,该远程通信技术在温室的自动远程控制方面起到了很大的作用,提高了劳动效率和农业管理水平。
關键词PLC;VC++;远程通信
中图分类号S273文献标识码A文章编号0517-6611(2014)09-02799-02
基金项目山东省星火计划项目(2012XH11009)。
作者简介李玉霞(1979- ),女,山东莱芜人,讲师,从事通信技术研究。
监测控制温室环境要充分根据客观的自然条件,例如太阳光照、雨水等非人为资源,进一步通过操作调节温室内相应的气温、潮湿度、光照强度等必须的生长环境参数,才可以给温室内的植物提供优良的生长环境,达到优质、高产、高效的目的,从而提高经济效益[1]。为了使人们的生活更加方便,多种作物、水果蔬菜必须在温室中种植。该温室控制系统采用PLC作为控制器。PLC采集并分析温室的温度、湿度、光照等数据,通过控制加热器、通风机、移动喷灌等设备,达到自动控制各项参数的目的。
为减轻温室管理的难度,实现对温室的远程监控与管理,笔者基于FINS协议实现了计算机与PLC的远程通信。计算机采用VC++ 6.0编程,借助现有的电话网络可以方便地读取参数数据,并控制温室的各种设备,方法简单,实用性强,特别适合居住地与温室相距较远、数据量较小的场合。
1硬件设计
该设计以OMRON公司的CP1H PLC作为温室控制器。CP1H主机支持模拟量输入输出,无需额外扩展,节省成本。温室内现场数据信息的采集是利用不同的传感器,例如对温度数据的采集使用温度传感器,对光照强度参数的采集利用光电传感器,对湿度数据的采集利用湿度传感器等。根据所采集信号控制调温抽湿风扇、温室内外设置的遮阳网、灌溉用的水泵、风机等设备,从而达到对温室的智能操控调节,能够灵活自主地对温室内的相应信号参数进行调节,对温室内的作物生长参数能够进行自动监控,使系统的可维护性和可扩展性进一步得到提升。
下位PLC的监测控制是由上位机来完成的,该系统采用的是计算机,从而完成了计算机远程对温室相应参数的操作。CP1H型PLC上没有串行接口,需要加装 RS232C串行通信模块(型号为CP1WCIF01),该通信模块支持多种通信功能。CP1H型PLC是OMRON的新型PLC,数据区有较大扩充,其通信协议也有很大变化,因此该系统采用FINS通信协议实现通信[2]。计算机与PLC都要连接调制解调器,计算机可以读写PLC的数据甚至控制其运行,从而实现上位计算机对温室的远程管理与监控。通信结构如图1所示。
3FINS通信协议
FINS通信协议是OMRON网络通信的核心,用于工厂自动化网络的指令响应系统。FINS通信帧包括FINS指令帧和FINS响应帧两种形式。两种形式的帧都是由FINS报头(存储传输控制信息)、FINS指令域(存储1个FINS指令)以及FINS参数/数据域(存储指令参数和发送/响应数据)3个部分所组成的。需要特别指出的是在用FINS协议完成电脑与PLC的通讯时,要结合OMRON公司的HOSTLINK协议来实现,即在FINS数据帧前后加入HOSTLINK的起始符、校验码和结束符等信息。通信帧的开始和结束分别用起始符及设备号和校验码及结束符标示。响应帧中还包括响应码。FINS嵌入HOST-LINK后,完整的通信帧格式如图2所示。
4计算机程序设计
VC++6.0中可以利用MSComm控件通过串行口发送和接收数据。如果通过串口连接Modem,则可以经过电话线与远程设备进行数据交换。MSComm控件提供了事件驱动法来处理串口数据交换。该方法利用OnComm事件捕获通信数据,当CommEvent属性发生变化时,就产生事件并等待相应处理[3]。
上位机对PLC进行读写操作时,上位机先发出命令给PLC,启动通信过程,并接收PLC的返回数据[4]。程序主要由串口初始化、Modem拨号、数据发送、数据接收与校验码计算等几部分组成。
4.1Modem拨号Modem启动后首先进入命令状态,准备接收和解释上位机发来的AT命令,连接后进入在线状态开始数据的发送和接收,此时不接收用户命令,直至上位机发送“+++”后,再进入命令状态。Modem命令格式是AT+命令及其参数。该程序使用音频拨号ATDT+电话号码,上位机通过Modem与远程PLC建立通信。拨号成功后,响应数据显示: