嵌入式系统在传统PLC控制系统中的应用

时间:2008-08-16

  温湿度数据的采集广泛应用于工业测量中,为了确保数据的正确稳定,通常需要进行多点远距离测量,并且测量点的位置要求能灵活配置。对于少量测试点可以扩展 PLC功能模块,一旦测量点过多(本系统超过200个测量点且分布集中),如所有点采用功能模块,会给部分挂接过多功能模块的PLC程序执行带来影响,造成读写周期过长,上位机监控软件响应过慢,同时带来整体系统成本上升。采用普通的A/D传感器或者PLC温湿度模块都不能很好地解决。本文通过嵌入式系统的应用改善了上述问题。并运用C++ Builder6.0编写上层监控软件为控制系统提供人机界面。

  图1 系统模块框图

  二、系统概述

  本系统的温湿度传感模块由Dallas公司的单总线器件DS2438和Honeywell公司的湿度传感器HIH-3610构成,巧妙地实现了多点灵活测量。数据通过单总线传给AT90mega8515并通过RS-422A串行总线传递至上位机,上位机的监控软件判断当前参数后发送控制命令给PLC,实现对现场温度的控制。如图1所示,通过嵌入式系统的应用把PLC配置的测量模块从PLC中分离出来,可以减低系统对PLC的要求。单PLC模式或上位机协同多PLC控制模式的改变,提高了整个系统的执行效率,增加了配置灵活性,降低了应用成本。以下介绍系统各模块,并重点说明各器件与测控相关的功能。

  三、系统硬件设计

  (一)温湿度传感测量模块

  该模块由器件DS2438和HIH-3610构成。电路图如图2所示。DS2438完成温度采集并将HIH-3610的直流电压信号数字化,通过单总线接口传递给MCU。

  图2 温湿度测量模块电路图

  1.HIH-3610为新型的相对湿度传感器,该传感器采用热固聚酯电容式传感头,通过功能电路将电容值转换成线性电压输出,输出特性曲线如图3所示。

  由HIH-3610的特性得知其输出电压由当前湿度值、输入电压、环境温度三者决定,具体计算公式为:

  综合上述公式,得出实际湿度值为:

  公式的计算由上位监控计算机完成,实际测量的温度湿度值通过RS422A串行总线传递。

  2.DS2438是Dallas公司推出的智能电池监视1-wire芯片,方便地解决了便携式电子产品电池的实时监测问题。本系统利用了片内13位温度传感器和片内10位二通道电压A/D转换器实现了温湿度的数据采集"并通过单总线传递数据。

  DS2438的内部存储单元分易失性的SRAM和非易失的E2PROM,其中对该器件的操作是通过对64个字节的存储器完成的。该存储器分成地址为 00~07H的8页,00页包含了状态/配置寄存器、温度寄存器、电压寄存器、电流寄存器、阈值寄存器。温度寄存器以2的补码形式给出了温度转换后的温度值;电压寄存器以10MV的分辨率给出了电压转换后的10 位数据,实际电压值为(电压寄存器值)×10MV。在本应用中所有对DS2438的操作都是针对00页。单片机通过对单总线的读写控制温度和电压(湿度)转换,并读取内部存储单元数据。

  图3 HIH-3610电压与湿度特性曲线

  对单总线器件的操作要遵循Dallas公司对单总线的时序定义,由于单总线上没有同步时钟,因此延时是判断总线数据的惟一依据。对单总线器件的操作需要用到ROM命令和内存控制RAM命令,设计中用到的内存控制命令有温度转换命令[44H]、电压转换命令[B4H]等。对于设计中需要在总线上挂接多个 DS2438的情况还需要发出器件识别码,以匹配识别各模块。由于DS2438包含了温度传感器和A/D转换单元,使得通过单总线远程传输湿度信号成为可能。

  (二)嵌入式MCU与RS485通讯模块

  本文采用Atmel公司的AVR嵌入式单片机AT90mega8515控制单总线并通过RS485总线将采集的温湿度数据传给上位机。AVR RISC单片机AT90mega8515时AT90S8515的升级产品。在提供ISP在线可编程的同时还哦提供了RS232串口输入输出,极大地方便了模块现场升级与及时通讯。

  RS-422A通讯协议通过差分输入输出信号电平可实现最长1200米的传输距离,在此采用maxim公司的MAX489芯片实现电平转换。MAX489是全双工RS422A电平转换芯片,并提供输入输出使能控制。

  (三)PLC的上位链接系统(Host Link System)模块

  系统采用的OMRON公司多系列PLC均支持上位链接网络。该网络是把一台微型计算机作为上位机,通过Host Link单元及串行总线链接多台PLC构成监督监控系统,属于一种主从式总线型工业局域网。上位机可对PLC传送程序,并监控PLC的数据区,以及向通过链接的PLC发送命令,控制其工作情况,实现系统的集散控制。

  上位机链接通信使用的是OMRON的Host Link协议,PLC与上位机按帧的格式实现数据交换,一帧最多包含131个字节,传递协议按照发送权轮换进行。即上位机发送一帧包含控制正文和识别码的数据包给PLC,PLC回应一帧数据,如此往复。

  由于系统部分低成本PLC只支持RS232通讯协议可以通过接口模块将RS422A电平转换成RS232电平,实现多机互联,并延长传输距离。上位机与PLC的接口可以通过Host Link模块,但如果串口上连接了多个PLC,会造成读写周期过长,影响监控系统性能。本系统通过PCI桥转接多串口在硬件上实现了多通道同时读写。

  四、系统软件设计

  高性能PC机取代可编程终端(PT)作为人机接口无论在成本还是性能上都有无可比拟的优势。在更高性能的硬件平台上,监控软件功能的提高成为可能。C++ Builder是Borland公司推出的产品。它采用面向对象的设计方法,提供了相当简洁方便的开发环境,因而实现了强大功能与简单操作的有机结合,进一步缩短了开发周期。

  系统监控软件的编写分为三大部分,即图形界面显示、数据库及与上行下行模块的通讯。图形界面与数据库可根据用户使用实际情况定制,而在上位机与下行模块间的通讯过程中,通讯周期需要严格控制。由于PLC的RS232协议传输数据,速度非常有限,因而在高性能PC机上需通过多线程技术缩短读写周期。

  线程可以认为是操作系统多任务的应用扩展。多个应用程序在操作系统中可以同时运行,实际上是因为操作系统把多个任务分成不同的时间片交叉调用。线程的实现也是在单个应用程序中通过时间片完成。本程序需要完成多个COM口的同步读写,在读写的同时还需要完成图形的显示和数据库更新,因而通过线程的嵌套来实现。程序流程图如图4所示。

  在主程序中,通过定时器触发主线程。需要注意的是,当前定时器事件触发时可能上的读写线程或者上定时器事件还没有完成并悬挂起来,这时可以通过状态变量函数检测主线程或上定时器事件是否完成,进而决定当前的定时器事件是否需要执行。子线程从启动到挂起这一个周期只能实现读或者写操作,要实现读和写操作,可以在读写线程中通过判断当前修改内容决定读写操作是否执行。

  五、结论

  本系统采用模块设计,通过对电源管理芯片的巧妙应用,实现对远程温湿度的数据采集,并将其模块化应用于PLC控制系统中经现场检验稳定可靠。相对于传统的 PT端人机接口,上位机和Host Link网络的使用,极大地方便了用户操作,并为嵌入式系统在PLC控制系统中应用提供了平台。上层监控软件在执行过程中,通过多线程技术提高了多串口的读写速度,节约了系统成本。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)

上一篇:适用型PID控制器参数整定性能比较
下一篇:适用PLC使用的步进电机控制驱动器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。