理,并通知功率扩展模块和信号扩展模块,由它们分别输出相应PWM (脉宽调制波)信号、数字量输出信号,给出相应提示和声光报警。昀终控制相应比例阀、开关阀做出响应,驱动整车液压机械臂的运动,实现自动收车、自动展车、智能避障、防自损等高空作业车的智能运动。
在电路保护方面,为了防止控制对象端(高空作业车)采集的信号突变或发生强干扰,破坏主控模块内部电路,设计时在信号输入端与控制电路间采用了保险丝和光耦隔离元件等,使得信号采集端具有短接保护、过载保护等功能,并与控制端完全隔离,消除互相间存在的共模干扰。在信号输出端,为了防止输出短路和过流过热,造成机械臂液压阀被非正常驱动,甚至现场事故的发生,电路中使用了Infenion的BTS650P、BTS721L1智能电源开关。另一方面,电路中预留了相应冗余的I/O端口,并将主控制器与扩展存储器独立出来,利用接插件与主控板相连,这样设计大大方便了控制系统的维修和升级,也降低了相应成本。
3 高空作业车控制系统中的CANopen协议应用
3.1 CANopen协议在系统中的实现
如上所述,在CANopen中每一个设备都有一个相对应的对象字典,用于定义对象属性,如设备属性参数和通讯参数等。所以,完成对象字典的设计是CANopen应用中的重要一环。本文为某型号高空作业车设计了控制系统,该系统共有11个节点,以主从方式工作,1个主节点和10个从节点。主控制器模块对应主节点,10个从节点分别由4个长度角度传感器,2个信号扩展模块,超声测距传感器、总线手柄、显示模块、功率扩展模块各1个组成。
这里我们以高空作业车控制系统中显示模块为例,说明设备对象字典的建立过程。如前所述,CANopen协议中定义了对象字典的通用结构,其中通讯子协议和制造商子协议部分是我们主要需要设计的部分,它们代表的索引值区间分别是0x1000至0x1FFF和0x2000至0x5FFF。对于通讯子协议部分,除了软硬件版本号等固定对象参数外,需要根据显示模块的功能确定所需通讯对象的种类和数量,并据此分配相应的对象空间。在该系统中显示模块作为从节点,主要支持主节点的访问,配合系统参数设置,因此需要一个SDO。其次,显示模块需要从其他从节点处获得相应传感器数据信息用于显示,并发送显示器按键信息给主节点。由于每个PDO昀多传输8字节数据,根据数字量信号和总线信号传输的需要,这里配置了1个发送PDO和4个接收PDO。具体的对象字典如表1所示。
表1 显示模块的对象字典
除了对象字典的设置,在CANopen协议应用中,其网络初始化boot-up过程是网络正常运行的前提,该过程过后,系统方可正常通讯。具体到本文所设计的高空作业车控制系统,首先要将控制模块主节点和所有从节点分别上电,初始化物理层CAN芯片并使各节点自动从初始化(Initialising)状态进入预操作(Pre-Operational)状态;其次,主节点根据电子数据文档文件(EDS:Electronic Data Sheet)中的描述,向从节点发送SDO,访问并修改从节点的对象字典中的对象设置;昀后由主节点向从节点发送NMT 指令,使从节点进入运行(Operational)状态,至此主节点和从节点即可以通过PDO和SDO的发送与接收进行正常通讯和数据交换了。
3.2 软件控制流程
软件设计的主要目的在于通过设置相应参数,在保证正常通讯的同时,响应控制命令并根据接收到的传感器的信息,完成指定操作和处理