·上一文章:诱导无线定位系统在行移台车上的运用
·下一文章:基于Logistic映射PN序列的FPGA实现
在本采集控制系统中,核心模块作为主机,各个采集和控制模块作为从机响应主机发出的命令帧。当主机发送Ox03功能码时,从机会把模拟量的值或者状态量/频率量的值返回给主机。当主机发送0x16功能码时,会使控制模块开关量通断,并且控制模块会返回当前的状态。每个数据采集/控制模块有4路输入或输出通道。因此在每个采集/控制模块内部定义了4个寄存器,每个寄存器占两个字节。采集/控制模块按字节接收数据,每接收一个字节就进入一次串口中断。进入串口中断之后,对接收到的数据进行解析。解析数据的流程图如图5所示。首先判断地址是否与本机地址匹配,地址不匹配则放弃本次接受。地址匹配之后再保存功能码。当数据帧接收完之后,对接收到的数据进行CRC校验,并于接收到的CRC校验码进行比较。若CRC校验错误,则放弃本次数据。若CRC校验正确,主程序则根据保存的功能码,寄存器起始地址以及寄存器个数来响应主机。当功能码为Ox03时,采集模块根据接收到寄存器起始地址及寄存器个数将采集到的数据发送给主机。当功能码为Oxl6时,控制模块根据接收到的寄存器值打开或关闭继电器,并且将继电器状态返回给主机。
4 结束语
该数据采集控制系统可以对模拟信号、状态量以及脉冲量进行采集和处理,并且能够根据采集的数据来控制继电器的开关。主机和模块之间通过RS一485总线以标准的Modbus协议传输数据。因此可以很容易的实现扩展和与其它厂商的检测仪表进行集成。该系统采用了实时操作系统,使系统优先级明确,提高了实时性,同时实现了大容量的数据存储和远程网络访问。因此本系统有很好的实用性,已经被我们应用到灌溉施肥控制系统中。