在嵌入式控制系统开发中借鉴了Windows消息驱动的思想,使部分不需要始终执行的任务处于等待信号状态,这样它们不会占用资源。只有当需要进行相应处理时通过需要它们运行的任务发送给它们SIGNAL,它们才会进入RUNNING任务队列中,得到执行。相关的系统函数为:
&n
bsp; os_wait (K_SIG, 0, 0); //等待信号
os_send_signal (Task_ID);//向Task_ID任务发送一个信号。
这样的处理,可以使微控制器在有限的资源下集中精力处理好耗时且重要的事情。
2.3 排爆机器人嵌入式控制系统固件开发
上位机嵌入式控制器固件结构如图5所示。根据控制器要完成作业的***性分割成几个任务片。图5表示了各任务之间的关系、与外设连接关系。整个系统被区分成三个层次。
减少上、下位机之间数据交换的次数及数据量有利于减少下位控制器中断机器人的运动控制转入通讯协议处理的几率,可以提高运动控制的质量。所以PBJ-1的通讯部分固件程序设计没有采用传统的定时向下位机传送输入设备的状态这种高通讯负担的方法,而是基于消息驱动的思想。通讯任务依靠输入设备检测任务执行的结果来决定是否***、进入消息队列以实现控制器之间的通讯。这样只有当操作者实际改变了输入设备的状态,上位机才向下位机发送相应的信息。利用消息驱动思想来开发通讯程序十分方便、可靠,并且大大减少了通讯线路的负担。为了保证数据传输的高可靠性,每次数据交换都先经过握手以确保无误。下位机嵌入式控制器固件结构如图6所示。
图5 上位机嵌入式控制系统固件结构
图6 下位机嵌入式控制系统固件结构
由于有些任务不需要一直执行,例如机器人需要响应上位机的指令完成继电器的切换等,也将利用os_wait函数处理,使它们平时不进入RUNNING任务队列中,减少资源浪费。在下位机串口中断中利用isr_send_signal向该任务发送信号***该任务,使得该要求得到执行。具体调用方法如下:
isr_send_signal(Task_ID); //从一个中断发送一个信号到Task_ID任务。
通过Windows消息驱动的思想和RTX51 Tiny实时操作系统的配合,合理分配了系统的资源。下位机控制器“集中精力” 完成机器人运动学解算及分解运动控制运算这些相当耗时的任务,实时控制机械臂运动。
在微控制器固件开发中嵌入操作系统还大大提高了系统的稳定性。即使某个外设或任务出现故障,与之无关的任务一般不会受到影响,不像传统的顺序循环机制的程序设计方法中如果某一环节出现问题会立刻造成整个系统的崩溃。
Stainless Steel Mixer impeller 150mm 1.5m Agitator Shaft with coupling 22,5mm
500Kg capacity stainless double cone blender mixer 2.75 HP
3" Inch 75mm Alfagomma Italy T-400 all food suction and delivery hose $65/metre
Foot operated piston filler stainless hopper
KLEP Glass Lined Teflon Diaphragm Valve 1" inch 25mm DN 25 NEW
ILPRA Tray Film Sealer Packaging Machine
Alfa L***al 3191M milk separator high speed disc bowl centrifuge 11KW 10000l/h
Stainless hopper dry chemical addition valve lid sight glass 150mm 6in B***
Very he***y duty fabricated stainless steel mesh screen 1320mm x 700mm x 100mm
Hitachi U-3200 UV / Visible Spectrophotomet?er
Thermoscribe P600 print and apply labeling system SATO M -84S Mectech
Label Aire print and apply labeling system SATO M -8485Se Mectech
He***y duty stainless steel 5" 5inch 125mm x 50mm castors castor whees set of 4
Stewart Buchanan pressure gauge 400KPA stainless steel B*** 2" diaphragm isolator
Badotherm pressure gauge 800KPA stainless steel B*** 2" diaphragm isolator
Badotherm pressure gauge 400KPA stainless steel 2inch B*** diaphragm isolator
Badotherm pressure gauge 800KPA stainless steel B*** 1.5 inch diaphragm isolator
Badotherm pressure gauge 800KPA stainless steel
Stiko pressure gauge 600KPA stainless steel 2 inch B*** diaphragm isolator
Stewart Buchanan pressure gauge 400KPA stainless steel 2" B*** diaphragm isolator
Stewart Buchanan pressure gauge 800KPA stainless steel
Lowara Multistage Centrifugal Pump. 2.2kw on stainless steel skid.
2" flanged stainless progressive c***ity mono pump 2.2KW 3 phase
2" stainless progressive c***ity mono pump 2.2KW 3 phase B*** connecti***
Alfa L***al 3184M milk separator disc centrifuge sn 2861805
ITT Jabsco 3 inch Pureflo lobe pump
Stainless Steel Pipe with Bend B*** Fittings 40mm or 1 1/2" inch diameter L1250mm
Stainless Steel Pipe with Bend B*** Fittings 75mm or 3"inch Diameter Length 870mm
Stainless Steel Millipore Filter Housing. Zetapore Membrane triclover tri clover