一种计算机实时控制系统的分析及其DCS实现
2017-08-01 17:20
288 查看
1 引言
自七十年代以来,以微机为核心的分布式控制系统将现代科技的最新成就:计算机(Computer),通讯(Communication),和自动化控制(Control)技术(简称3C技术)集为一体形成DCS/' target='_blank'>集散控制系统,它采用危险分散、控制分散,而操作和管理集中的基本设计思想、多层分级的结构形式,使其可以胜任各种复杂实时控制的要求。
实时控制是计算机应用的一个重要而极富潜力的方面,它主要包含实时性和多任务性两大特点。实时性是指在控制系统中,控制行为必须在指定的时间内开始和完成,信号要求按时序发送;多任务性是指系统中有多个独立和/或半独立的任务,同时分别执行对不同信号的处理和对不同设备、不同过程的控制。某型水下机器人的控制系统属于典型的实时控制问题,要求在一个节拍(0.5秒)内系统完成对各路传感装置的信息获取、控制计算、推力分配、分发控制指令,为此自行设计了一个小型集散控制系统,其系统构成如图1所示。
2 系统的工作流程
如图1所示,处在水下的三个单片机主要负责数据采集,经处理后再通过串口将数据传送给上位机(动力定位控制主机);由两台声纳解算机单独完成对多普勒测速声纳、定位测高声纳反馈的水声信号的处理,然后再将所需机器人的速度信息和位置姿态信息通过RS-485串口发送给上位机。上位机根据这些反馈信息作控制计算,然后将控制指令发送给单片机,由单片机控制各执行机构。
![](http://www.dqjsw.com.cn/uploads/allimg/091208/14360Q428-0.JPG)
图1 某型水下机器人控制系统结构简图
3 系统功能实现
3.1 硬件设计
根据分散控制、集中管理的设计思想并结合该课题的实际情况,设计了以动力定位控制主机为管理级计算机、以两台声纳解算机和主单片机为监控级计算机、两片从单片机为直接控制机的三级控制系统,其中主、从单片机均选用80c196kc。
在传感装置的选用上,尽量选用抗干扰性强的智能传感仪器,同时考虑到预研项目的经费情况,也用了一些常规的传感器。另外,由于机器人外部有很多传感器,而舱室空间又十分有限,因而本文参考现场总线控制系统信息处理现场化的思想在机器人外部放置了一个单片机,完成这些传感器数据的处理后再上传给主单片机。试验表明,这种方案不仅可以缓解主单片机的工作压力,实现分布系统的设计思想,还可以减少信号传输线上的共模干扰。
控制系统的执行机构主要是五台推进电机、舵、及纵横倾调节装置。其中纵横倾调节装置为24V力矩电机带动滑块移动从而调节水下机器人的纵横倾,经高性能光电隔离芯片后与从单片机1并行口连接。在水下机器人的运动过程中,随时可能要改变推进电机的转速以得到不同的推进力,而变频调速是实现电机调速的最理想方式。本系统采用台达VFD-A/H型变频器,它不仅可以实现各种转速曲线,而且还具有过压、过流、过热等完善的保护措施。该变频器与控制系统的接口为RS485串行口,一块CPU最多可接32个变频器。
3.2 系统通讯
从图1中可以看出,该控制系统是一个典型的多机系统,多机系统的关键技术和难题之一是信息共享,这一难题解决的好坏直接关系到控制系统能否顺利实现对水下机器人的运动控制。根据控制系统的实际情况和上位机对执行机构随动的要求,本文采用了并行通讯与串行通讯相结合的通讯方式,以下将简要介绍这几种通讯方式。
3.2.1 单片机1与五台变频器之间的通讯
采用标准串行口RS485半双工通讯方式,原理如图2所示。其中,从单片机1作为主机,波特率为9600bps,奇校验,模式3方式,字符8位、起始位1位、停止位1位、1位地址/数据位,共11位。由于是点对多点的通讯,因而采用地址位唤醒方式,五台变频调速器的地址分别是$00~$04。
![](http://www.dqjsw.com.cn/uploads/allimg/091208/14360RD2-1.JPG)
图2 从单片机1与变频调速器间的通讯电路
![](http://www.dqjsw.com.cn/uploads/allimg/091208/14360TC1-2.jpg)
图3 主、从单片机间的通讯电路
由于RS-485为半双工通讯方式,同一时刻只允许CPU工作在发送(或接收)一种工作方式下,因而在从单片机1中设有发送/接收切换程序。在初始化时,将P2.6和P2.7清零使从单片机1串口只接收数据,以中断方式接收变频器数据;在发送程序中,首先将P2.6和P2.7置位使从单片机1串口工作在发送方式,发送完毕后再将P2.6和P2.7清零,这样就实现了从单片机1与变频器之间的半双工通讯。
3.2.2 主单片机与从单片机1之间的并行通讯
在图1所示
4000
的控制系统中, 主单片机与从单片机1之间的通讯不仅通信量大而且为实现随动控制系统,要求执行机构对控制器控制指令的滞后越小越好,因而宜采用并行通讯。在现今很多种并行通讯方式中,双端口存储器能以最小的软、硬件代价实现高速、可靠的并行通讯,因而本文采用双口RAM IDT7132作为主、从单片机的共享RAM来实现并行通讯,如图3所示(注意图中READYL与READYR的位置)[3]。由于双端口RAM的特殊结构使得双机可以方便快速地进行数据交换,从而大大减少了通讯所引起的滞后,为实现随动控制提供了可能。如果要构成2K×16位双口RAM,再加一片IDT7142即可。
3.2.3 主单片机与动力定位控制主机之间的串行通讯
通讯电路图与图2相仿,只不过为提高通讯速率将RS485二线制通讯方式改成了RS422四线制通讯方式,收发器由MAX485换成了MAX490。
在主单片机一侧,由于要发送的信息很多(共有107个字符)因而在程序中将待发送的数据分成两组,每一组分别设有协议头和校验和,根据上位机通讯控制字符(分别是55H和66H)的不同来确定发送哪一组数据。在上位机一侧,由于上位机要动态显示水下机器人的运动姿态,接收各种设备的返回信息,如采用中断信息接收方式,在同一时间每个下位机都向上位机发送信息时,会发生冲突导致信息丢失。为此,各下位机向上位机的信息传输要按照上位机的命令,整个系统按照统一节拍工作。当上位机空闲时就按顺序发送一个使能命令给第i个下位机,第i个下位机接到命令后立即将要上传的信息发出,如果上位机没有接到,则重新发送该使能命令。同时为了提高通讯的可靠性,在通讯的每一侧将待发送字符拆为3xH的形式,再对所发送的这组数据进行加和运算以求出校验码。通讯的另一侧接收完一组数据后进行求和校验,如校验和不正确,则该组数据作废,等待下一组数据。
4 结束语
本文设计了由上位PC机、下位PC机及单片机所组成的一种实时分布式控制系统,采用智能传感仪器和常规传感器相结合的信息获取方式及变频器的变频调速控制,实现了水下机器人的运动控制。整个控制系统中动力定位控制主机用于通讯的时间最长,约为0.2秒,但仍远小于系统所要求的工作节拍(0.5秒),从而实现了对机器人位置姿态信息的实时获取。该型水下机器人已经完成了航向控制和定深控制实验,试验结果表明,该分布式系统已经实现了实时控制,为我国水下机器人的进一步研究创造了条件。(工控资料窝www.gkwo.net)
自七十年代以来,以微机为核心的分布式控制系统将现代科技的最新成就:计算机(Computer),通讯(Communication),和自动化控制(Control)技术(简称3C技术)集为一体形成DCS/' target='_blank'>集散控制系统,它采用危险分散、控制分散,而操作和管理集中的基本设计思想、多层分级的结构形式,使其可以胜任各种复杂实时控制的要求。
实时控制是计算机应用的一个重要而极富潜力的方面,它主要包含实时性和多任务性两大特点。实时性是指在控制系统中,控制行为必须在指定的时间内开始和完成,信号要求按时序发送;多任务性是指系统中有多个独立和/或半独立的任务,同时分别执行对不同信号的处理和对不同设备、不同过程的控制。某型水下机器人的控制系统属于典型的实时控制问题,要求在一个节拍(0.5秒)内系统完成对各路传感装置的信息获取、控制计算、推力分配、分发控制指令,为此自行设计了一个小型集散控制系统,其系统构成如图1所示。
2 系统的工作流程
如图1所示,处在水下的三个单片机主要负责数据采集,经处理后再通过串口将数据传送给上位机(动力定位控制主机);由两台声纳解算机单独完成对多普勒测速声纳、定位测高声纳反馈的水声信号的处理,然后再将所需机器人的速度信息和位置姿态信息通过RS-485串口发送给上位机。上位机根据这些反馈信息作控制计算,然后将控制指令发送给单片机,由单片机控制各执行机构。
图1 某型水下机器人控制系统结构简图
3 系统功能实现
3.1 硬件设计
根据分散控制、集中管理的设计思想并结合该课题的实际情况,设计了以动力定位控制主机为管理级计算机、以两台声纳解算机和主单片机为监控级计算机、两片从单片机为直接控制机的三级控制系统,其中主、从单片机均选用80c196kc。
在传感装置的选用上,尽量选用抗干扰性强的智能传感仪器,同时考虑到预研项目的经费情况,也用了一些常规的传感器。另外,由于机器人外部有很多传感器,而舱室空间又十分有限,因而本文参考现场总线控制系统信息处理现场化的思想在机器人外部放置了一个单片机,完成这些传感器数据的处理后再上传给主单片机。试验表明,这种方案不仅可以缓解主单片机的工作压力,实现分布系统的设计思想,还可以减少信号传输线上的共模干扰。
控制系统的执行机构主要是五台推进电机、舵、及纵横倾调节装置。其中纵横倾调节装置为24V力矩电机带动滑块移动从而调节水下机器人的纵横倾,经高性能光电隔离芯片后与从单片机1并行口连接。在水下机器人的运动过程中,随时可能要改变推进电机的转速以得到不同的推进力,而变频调速是实现电机调速的最理想方式。本系统采用台达VFD-A/H型变频器,它不仅可以实现各种转速曲线,而且还具有过压、过流、过热等完善的保护措施。该变频器与控制系统的接口为RS485串行口,一块CPU最多可接32个变频器。
3.2 系统通讯
从图1中可以看出,该控制系统是一个典型的多机系统,多机系统的关键技术和难题之一是信息共享,这一难题解决的好坏直接关系到控制系统能否顺利实现对水下机器人的运动控制。根据控制系统的实际情况和上位机对执行机构随动的要求,本文采用了并行通讯与串行通讯相结合的通讯方式,以下将简要介绍这几种通讯方式。
3.2.1 单片机1与五台变频器之间的通讯
采用标准串行口RS485半双工通讯方式,原理如图2所示。其中,从单片机1作为主机,波特率为9600bps,奇校验,模式3方式,字符8位、起始位1位、停止位1位、1位地址/数据位,共11位。由于是点对多点的通讯,因而采用地址位唤醒方式,五台变频调速器的地址分别是$00~$04。
图2 从单片机1与变频调速器间的通讯电路
![](http://www.dqjsw.com.cn/uploads/allimg/091208/14360TC1-2.jpg)
图3 主、从单片机间的通讯电路
由于RS-485为半双工通讯方式,同一时刻只允许CPU工作在发送(或接收)一种工作方式下,因而在从单片机1中设有发送/接收切换程序。在初始化时,将P2.6和P2.7清零使从单片机1串口只接收数据,以中断方式接收变频器数据;在发送程序中,首先将P2.6和P2.7置位使从单片机1串口工作在发送方式,发送完毕后再将P2.6和P2.7清零,这样就实现了从单片机1与变频器之间的半双工通讯。
3.2.2 主单片机与从单片机1之间的并行通讯
在图1所示
4000
的控制系统中, 主单片机与从单片机1之间的通讯不仅通信量大而且为实现随动控制系统,要求执行机构对控制器控制指令的滞后越小越好,因而宜采用并行通讯。在现今很多种并行通讯方式中,双端口存储器能以最小的软、硬件代价实现高速、可靠的并行通讯,因而本文采用双口RAM IDT7132作为主、从单片机的共享RAM来实现并行通讯,如图3所示(注意图中READYL与READYR的位置)[3]。由于双端口RAM的特殊结构使得双机可以方便快速地进行数据交换,从而大大减少了通讯所引起的滞后,为实现随动控制提供了可能。如果要构成2K×16位双口RAM,再加一片IDT7142即可。
3.2.3 主单片机与动力定位控制主机之间的串行通讯
通讯电路图与图2相仿,只不过为提高通讯速率将RS485二线制通讯方式改成了RS422四线制通讯方式,收发器由MAX485换成了MAX490。
在主单片机一侧,由于要发送的信息很多(共有107个字符)因而在程序中将待发送的数据分成两组,每一组分别设有协议头和校验和,根据上位机通讯控制字符(分别是55H和66H)的不同来确定发送哪一组数据。在上位机一侧,由于上位机要动态显示水下机器人的运动姿态,接收各种设备的返回信息,如采用中断信息接收方式,在同一时间每个下位机都向上位机发送信息时,会发生冲突导致信息丢失。为此,各下位机向上位机的信息传输要按照上位机的命令,整个系统按照统一节拍工作。当上位机空闲时就按顺序发送一个使能命令给第i个下位机,第i个下位机接到命令后立即将要上传的信息发出,如果上位机没有接到,则重新发送该使能命令。同时为了提高通讯的可靠性,在通讯的每一侧将待发送字符拆为3xH的形式,再对所发送的这组数据进行加和运算以求出校验码。通讯的另一侧接收完一组数据后进行求和校验,如校验和不正确,则该组数据作废,等待下一组数据。
4 结束语
本文设计了由上位PC机、下位PC机及单片机所组成的一种实时分布式控制系统,采用智能传感仪器和常规传感器相结合的信息获取方式及变频器的变频调速控制,实现了水下机器人的运动控制。整个控制系统中动力定位控制主机用于通讯的时间最长,约为0.2秒,但仍远小于系统所要求的工作节拍(0.5秒),从而实现了对机器人位置姿态信息的实时获取。该型水下机器人已经完成了航向控制和定深控制实验,试验结果表明,该分布式系统已经实现了实时控制,为我国水下机器人的进一步研究创造了条件。(工控资料窝www.gkwo.net)
相关文章推荐
- BitBlaze:一种通过二进制代码分析实现计算机安全的全新方法(一)
- Ajax详解及其案例分析之如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
- 一种hashtable 实现源码分析
- 四位计算机的原理及其实现
- 四位计算机的原理及其实现
- Storm之——Storm+Kafka+Flume+Zookeeper+MySQL实现数据实时分析(环境搭建篇)
- QuickContact分析及其弹出窗口实现
- 二,使用Storm实现实时大数据分析实例:用storm来监测车辆速度是否超过80km/h
- 一个小语言的词法分析程序原理及其实现(2)
- 经典排序算法分析及其Java实现
- 各种排序算法的分析及其Java代码的实现
- 阿里旺旺分析系列一:实时获取阿里旺旺聊天消息,实现旺旺客服机器人
- 使用Storm实现实时大数据分析
- 使用Storm实现实时大数据分析
- 使用JDBC连接MySQL数据库--典型案例分析(九)----财务帐号的DAO设计及其实现
- C++异常机制的实现方式和开销分析 (大图,编译器会为每个函数增加EHDL结构,组成一个单向链表,非常著名的“内存访问违例”出错对话框就是该机制的一种体现)
- 旧文备份:单片机上实现实时多任务的一种方法
- 使用Storm实现实时大数据分析!
- 把你带进计算机的世界——四位计算机的原理及其实现
- 实时检索系统Zoie实现分析