咨询电话
ENGLISH0755-88840386发布时间:2019-11-07 14:46:52 |来源:网络转载
1 引言
定量称重控制技术越来越成熟,它追求快速、准确、可靠。快速性和准确性是一对矛盾,为解决这一对矛盾,我们研制过双CPU的定量称重控制器,较好地解决了这一矛盾,但是由于存在软件组合异常,可靠性指标不高。目前单片微控器的集程度越来越高,功能越来越完善,且价格日趋降低,采用多单片微控器组成系统,成本可以接受。我们在定量称重控制器中,采用了一种3CPU的方案,既解决了快速性和准确性的矛盾,又提高了系统的可靠性,防止了双CPU方案可能产生的软件组合异常问题。
2 硬件设计
主机的作用:接收夹袋状态信号,输出关/合袋夹动作,从甲、乙机的到秤信号,读取各秤的累计袋数和累计重量,并将总累计袋数和重量值送给上位机。
甲、乙机的作用:读取各缓冲料斗的料位状态,根据传感器变换的重量值往秤斗中进行快、中、慢加料,根据主机给的信号进行放料。
单片微控器的选择:主机主要完成协调功能,程序量不大,可选择片内程序存储器小,且引脚较少的的单片微控器,这种微控器必须有全双工串行口和一定的外中断识别能力。我们选择了AT90S2313,它内部还具有串行EEPROM和WDT,体现了真正的单片特性,较以往的单片微控器省去了相应的扩展电路。甲、乙机的程序量相对主机的大,要配置显示和键盘电路,需要较强的外扩展能力,我们选择了与主机同系列的单片微控器AT90S4414,它的内部同样具备串行EEPROM和WDT,也省去了这部分扩展电路。累计袋数和累计重量值是通过主机和甲、乙机的串行口进行的,涉及放料部分的信息处理是由它们的并行口和外中断协调的。
3 相应软件的设计
系统的主要工作流程如下:开机后,甲、乙机根据各自缓冲料斗的料位状态,往各自秤斗中加料,并不断判断到秤状态,到秤后,进行落差补偿,向主机申请放料。主机不断判断袋夹按钮是否按下,按下后主机控制袋夹关闭,袋夹关闭到位后,判断甲、乙机是否有到秤的,若有,则通知甲、乙机可以放料,延时一定时间后,主机控制打开袋夹,放下装满料的袋子,甲或乙机又进行装料循环,主机又进入袋夹按钮是否按下和甲、乙机是否到秤的判断。
在这种硬件条件下,就不怕甲、乙机同时放料冲突。由于主机的两个外中断优先级不一样,即使它们同时申请中断,主机也不会同时中断,也就不会同时放料。甲、乙机可以从容地装料,仿佛对方不存在。
主机的软件工作流程:
(1)初始化,包括中断和定时器的初始化,与甲、乙机联络信号的初始化。
(2)判断按纽按下状态,若未按下,等待,否则,到(3)。
(3)判断甲、乙机是否到秤,若不到秤,等待,否则,到(4)。
(4)清到秤标志,给甲或乙机发出放料信号。
(5)延时到一定时间后,打开袋夹,同时清除给甲或乙机的放料信号,返回(2)。外中断服务程序0:
(1)禁止外中断1中断。
(2)设定甲机到秤标志。
(3)返回。
外中断服务程序1:
(1)禁止外中断0中断。
(2)设定乙机到秤标志。
(3)返回。
定时器0中断服务程序:
(1)判断按钮按下状态,为高,到(4),为低,到(2)。
(2)延时一段时间,判断按钮按下状态,为高,到(4),为低,到(3)。
(3)设定按纽按下标志。
(4)重装定时器初值,返回。
甲或乙机到秤后,向主机发出放料申请,然后分别进入等待放料状态,判断主机给出的放料信号,直到可以放料。在放料的同时,清除送给主机的到秤信号。
4 进一步的讨论
一些较大系统中采用并进行处理技术是为了提高系统的速度,完成实时性很强的任务。它将一个单机串行处理有时很难在一定约束条件下解决的问题,简化为相对简单且时间上可同时进行的子问题,满足了诸如实时性等约束条件。由于集成电路的集成度越来越高,价格不断下降,这种并行处理技术可以在一些小系统中采用,解决单机串行处理所无法解决的问题。就我们所设计的这个测控系统,如果用一个CPU控制两个模拟通道和两个功率输出通道,并进行必要的显示控制,同时解决快速性和准确性的问题,这是不可能的。即使采用速度很快的CPU,由于A/D转换器的速度匹配不上,还要进行数字滤波计算、重量判断,在快速装料过程中不能达到同时准确到秤判断,也解决不了问题。但是,我们采用双CPU或3CPU,这一问题的的解决变得简单了。它的成功就在于利用了并行处理的思想。因此,在今后类似的小系统中,可以移植或简化一些以往由于成本的原因仅在大系统中使用的技术,在硬件条件的允许下,可以使问题的解决变得简单。
5 结束语
本文给出了一种可以解决定量称重控制的快速性、准确性和可靠性的方案。它采用了较新的单片微控器,使硬件设计更为简单、可靠。它所采用的技术思想,可以为其他类似系统所借鉴。
[参考文献]
[1]胡春海.双CPU定量包装电子秤[J].自动化仪表,1998,19(9):23-24.
本文源于网络转载,如有侵权,请联系删除