首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于μC/OS—II操作系统的数据采集控制系统
来源:本站整理  作者:佚名  2009-05-05 13:21:46




3.2 数据采集/控制模块软件设计
    RS一485标准只是一个物理的通信接口标准,要实现总线监控还要在此基础上建立自己的高层通信协议。Modbus协议是美国可编程控制器供应商Modicon公司制定的一种工业通讯协议,现在已经被许多工控厂商所支持,广泛的应用到只能仪表,总线监控等领域。
    Modbus协议采用主从结构的通信方式,适用于半双工的RS一485总线。协议规定总线上有一个主机,多个从机,每个主机分配唯一的地址。工作时可采用命令/应答的通讯方式,主机向要从机发出命令帧,地址匹配的从机进行响应,并向主机发出与命令帧对应的应答帧。Modbus有两种通信模式:ASCII模式和RTU模式。在相同的情况下,RTU模式比ASCII模式能够传送更多的数据,因此在本系统中采用RTU模式。RTU消息帧典型格式如表l所示。

    在本采集控制系统中,核心模块作为主机,各个采集和控制模块作为从机响应主机发出的命令帧。当主机发送Ox03功能码时,从机会把模拟量的值或者状态量/频率量的值返回给主机。当主机发送0x16功能码时,会使控制模块开关量通断,并且控制模块会返回当前的状态。每个数据采集/控制模块有4路输入或输出通道。因此在每个采集/控制模块内部定义了4个寄存器,每个寄存器占两个字节。采集/控制模块按字节接收数据,每接收一个字节就进入一次串口中断。进入串口中断之后,对接收到的数据进行解析。解析数据的流程图如图5所示。首先判断地址是否与本机地址匹配,地址不匹配则放弃本次接受。地址匹配之后再保存功能码。当数据帧接收完之后,对接收到的数据进行CRC校验,并于接收到的CRC校验码进行比较。若CRC校验错误,则放弃本次数据。若CRC校验正确,主程序则根据保存的功能码,寄存器起始地址以及寄存器个数来响应主机。当功能码为Ox03时,采集模块根据接收到寄存器起始地址及寄存器个数将采集到的数据发送给主机。当功能码为Oxl6时,控制模块根据接收到的寄存器值打开或关闭继电器,并且将继电器状态返回给主机。

4 结束语
    该数据采集控制系统可以对模拟信号、状态量以及脉冲量进行采集和处理,并且能够根据采集的数据来控制继电器的开关。主机和模块之间通过RS一485总线以标准的Modbus协议传输数据。因此可以很容易的实现扩展和与其它厂商的检测仪表进行集成。该系统采用了实时操作系统,使系统优先级明确,提高了实时性,同时实现了大容量的数据存储和远程网络访问。因此本系统有很好的实用性,已经被我们应用到灌溉施肥控制系统中。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:196,414.10000 毫秒