一种臂架泵车智能控制装置的用户程序远程多点更新方法制造方法及图纸

技术编号:8021957 阅读:169 留言:0更新日期:2012-11-29 04:11
本发明专利技术公开了一种臂架泵车智能控制装置的用户程序远程多点更新方法,基于臂架泵车中通过CAN总线连接了多台智能控制装置的控制系统,通过上位机连接这个控制系统中的任何一台智能控制装置将最新的用户程序同时或有选择的更新到该系统其它所有的智能控制装置中。本发明专利技术提供了一种简单、节约维护成本、使用方便、可靠性好、稳定性强的用户程序远程更新方法。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
当前的臂架泵车控制系统中主要是采用了 CAN总线网络的控制技术,如图I所示,系统中的分布智能控制装置用于实现本区域的逻辑控制功能,这些分布智能控制装置本身都装载了用户应用程序,来根据用户的需求完成一些特定的逻辑控制功能。通常,系统中的分布智能控制装置在需要升级用户程序时就存在程序更新的问题。若要更新所有分布智能控制装置的用户程序,就需要技术人员跑到各个分布智能控制装置前利用现有的串口以一对一的通信方式,进行用户程序的更新。但是在臂架泵车上安装的分布智能控制装置的放置地点非常分散,有些甚至安装在有一定高度的臂架上,这样 一来,操作人员除了一次只能更新一台分布智能控制装置的用户程序外,在更新安装在臂架上的控制器时还需要进行攀爬,这就给现场操作人员带来了极大的不便和繁琐。因此,需要针对该控制系统设计一种利用CAN总线网络的通讯对所有智能控制装置进行用户程序更新的方法。
技术实现思路
本专利技术所要解决的技术问题是提供,该臂架泵车智能控制装置的用户程序远程多点更新方法设计巧妙、能方便地为多个分布式智能控制装置升级用户程序。专利技术的技术解决方案如下—种臂架泵车智能控制装置的用户程序远程多点更新方法,其特征在于,在臂架泵车中,多台智能控制装置通过CAN总线相连,上位机与其中一台智能控制装置通信连接;与上位机直接相连的智能控制装置记为第一智能控制装置;将每一个智能控制装置的RAM划分出了 4个缓冲区,分别是缓冲区A,缓冲区B,缓冲区C和缓冲区D ;缓冲区A用于数据信息的接收缓存,缓冲区B用于数据信息的发送缓存,缓冲区C用于确认信息的接收缓存,缓冲区D用于确认信息的发送缓存;用户程序远程多点更新方法的步骤如下步骤I :从上位机接收串口报文上位机向与上位机连接的智能控制装置发送串口报文,该智能控制装置接收到串口报文后,首先比较串口报文中的设备ID号是否与本智能控制装置的ID相同,如果相同,说明本串口报文是发送给本智能控制装置的,转步骤2 ;如果不同,转步骤3 ;步骤2 :与上位机连接的智能控制装置的程序更新通过报文中的数据类型标示符报文的第一个字节,程序更新报文为0X18,停止用户程序运行为0X19等来判定接收到的报文是否是程序更新报文,如果是程序更新报文,则程序更新报文通过缓冲区A解析处理后获得用户程序更新数据,并将用户程序更新数据写入本智能控制装置的FLASH中,再进行本智能控制装置的用户程序更新;返回步骤I;如果不是程序更新报文,则不进行后续的程序更新步骤,并返回步骤I等待接收下一个串口报文;即第一个字不是0X18,就按照第一个字节的内容执行不同的程序代码段,完成其他功能。步骤3 :更新其余分布的智能控制装置的用户程序其余分布的智能控制装置是指不与上位机直接连接的智能控制装置;与上位机连接的智能控制装置将串口报文拆分成CAN报文组并存放于缓冲区B,再将CAN报文组中所有的CAN报文都通过CAN总线发送给该串口报文中的设备ID号对应的智能控制装置,该智能控制装置记为智能控制装置i ;CAN报文组中的每一个CAN报文均有一个字节用于表不该CAN报文在CAN报文组中的序号;在CAN报文组中的第一个报文(即开始报文中)的第三个字节来表示CAN报文组中的CAN报文的个数。智能控制装置i每接收到CAN报文组中一个CAN报文后,首先判断该CAN报文是 否是针对本智能控制装置信息的CAN报文,如果是则接收该CAN报文并将该CAN报文放置于缓冲区A,否则丢弃接收到的CAN报文;智能控制装置i在每接收一个CAN报文时记录该CAN报文序号,并根据记录的序号来确定是否有CAN报文丢失,如果有则根据序号要求重传丢失的报文;当所有的CAN报文齐全,则按照该序号的顺序将CAN报文的数据依次存入缓冲区A中;缓冲区A再将CAN报文的数据写入FLASH中,以完成智能控制装置用户程序的更新;返回步骤1,直到每一个智能控制装置的程序或预定的所有智能控制装置都获得更新则停止程序更新过程;智能控制装置i完成程序更新后,通过缓冲区D回送一个确认报文组给与第一智能控制装置,第一智能控制装置将接收的确认报文组存放于缓冲区C,再通过缓冲区B将确认报文组(即智能控制装置i完成用户程序更新后的确认信息)返回给上位机,使得上位机获知各智能控制装置程序更新的状况。记录序号的字节位于CAN报文的末尾处。与上位机相连的智能控制装置完成程序更新后,也发送一个确认报文组给上位机。有益效果本专利技术的臂架泵车智能控制装置的用户程序远程多点更新方法,基于臂架泵车中通过CAN总线连接了多台智能控制装置的控制系统,通过上位机连接这个控制系统中的任何一台智能控制装置将最新的用户程序同时或有选择的更新到该系统其它所有的智能控制装置中。与现有技术相比,本专利技术的优点就在于I、技术人员可以在CAN总线网络的任一节点对所有分布智能控制装置进行用户程序的更新,操作方便,避免在操作人员不方便操作的位置(如吊臂的高端)进行升级操作,因此,安全性高。2、可以在同一时刻指定更新I N个分控制设备的用户程序。因为通过ID号识别不同分布式智能控制装置,因而各分布式智能控制装置互不干扰。综上所述,本专利技术提供了一种简单、节约维护成本、使用方便、可靠性好、稳定性强的用户程序远程更新方法。附图说明图I为臂架泵车智能控制装置控制系统的总体结构图;图2为程序结构图;图3为串口中断(接收/发送)处理流程图;图4为CAN中断处理流程图;图5为串口数据接收任务流程图;图6为串口接收buffer内部处理流程图;图7为串口数据发送任务处理流程图; 图8为CAN数据接收任务处理流程图;图9为CAN数据发送任务处理流程图。具体实施例方式以下将结合附图和具体实施例对本专利技术做进一步详细说明实施例I :,其特征在于,在臂架泵车中,多台智能控制装置通过CAN总线相连,上位机与其中一台智能控制装置通信连接;与上位机直接相连的智能控制装置记为第一智能控制装置;将每一个智能控制装置的RAM划分出了 4个缓冲区,分别是缓冲区A,缓冲区B,缓冲区C和缓冲区D ;缓冲区A用于数据信息的接收缓存,缓冲区B用于数据信息的发送缓存,缓冲区C用于确认信息的接收缓存,缓冲区D用于确认信息的发送缓存;用户程序远程多点更新方法的步骤如下步骤I :从上位机接收串口报文上位机向与上位机连接的智能控制装置发送串口报文,该智能控制装置接收到串口报文后,首先比较串口报文中的设备ID号是否与本智能控制装置的ID相同,如果相同,说明本串口报文是发送给本智能控制装置的,转步骤2 ;如果不同,转步骤3 ;步骤2 :与上位机连接的智能控制装置的程序更新并通过报文中的数据类型标示符(报文的第一个字节,程序更新报文为0X18,停止用户程序运行为0X19等)来判定接收到的报文是否是程序更新报文,如果是程序更新报文,则程序更新报文通过缓冲区A解析处理后获得用户程序更新数据,并将用户程序更新数据写入本智能控制装置的FLASH中,再进行本智能控制装置的用户程序更新;返回步骤I;如果不是程序更新报文,则不进行后续的程序更新步骤,并返回步骤I等待接收下一个串口报文;即第一个字不是0X18,就按照第一个字节的内容执行不同的程序代码段,完成其他功能。步骤3 :更新其余分布的智能控制装本文档来自技高网...

【技术保护点】
一种臂架泵车智能控制装置的用户程序远程多点更新方法,其特征在于,在臂架泵车中,多台智能控制装置通过CAN总线相连,上位机与其中一台智能控制装置通信连接;与上位机直接相连的智能控制装置记为第一智能控制装置;将每一个智能控制装置的RAM划分出了4个缓冲区,分别是缓冲区A,缓冲区B,缓冲区C和缓冲区D;缓冲区A用于数据信息的接收缓存,缓冲区B用于数据信息的发送缓存,缓冲区C用于确认信息的接收缓存,缓冲区D用于确认信息的发送缓存;用户程序远程多点更新方法的步骤如下:步骤1:从上位机接收串口报文:上位机向与上位机连接的智能控制装置发送串口报文,该智能控制装置接收到串口报文后,首先比较串口报文中的设备ID号是否与本智能控制装置的ID相同,如果相同,说明本串口报文是发送给本智能控制装置的,转步骤2;如果不同,转步骤3;步骤2:与上位机连接的智能控制装置的程序更新:通过报文中的数据类型标示符来判定接收到的报文是否是程序更新报文,如果是程序更新报文,则程序更新报文通过缓冲区A解析处理后获得用户程序更新数据,并将用户程序更新数据写入本智能控制装置的FLASH中,再进行本智能控制装置的用户程序更新;返回步骤1;如果不是程序更新报文,则不进行后续的程序更新步骤,并返回步骤1等待接收下一个串口报文;步骤3:更新其余分布的智能控制装置的用户程序:其余分布的智能控制装置是指不与上位机直接连接的智能控制装置;与上位机连接的智能控制装置将串口报文拆分成CAN报文组并存放于缓冲区B,再将CAN报文组中所有的CAN报文都通过CAN总线发送给该串口报文中的设备ID号对应的智能控制装置,该智能控制装置记为智能控制装置i;CAN报文组中的每一个CAN报文均有一个字节用于表示该CAN报文在CAN报文组中的序号;【在CAN报文组中的第一个报文(即开始报文中)的第三个字节来表示CAN报文组中的CAN报文的个数。】智能控制装置i每接收到CAN报文组中一个CAN报文后,首先判断该CAN报文是否是针对本智能控制装置信息的CAN报文,如果是则接收该CAN报文并将该CAN报文放置于缓冲区A,否则丢弃接收到的CAN报文;智能控制装置i在每接收一个CAN报文时记录该CAN报文序号,并根据记录的序号来确定是否有CAN报文丢失,如果有则根据序号 要求重传丢失的报文;当所有的CAN报文齐全,则按照该序号的顺序将CAN报文的数据依次存入缓冲区A中;缓冲区A再将CAN报文的数据写入FLASH中,以完成智能控制装置用户程序的更新;返回步骤1,直到每一个智能控制装置的程序或预定的所有智能控制装置都获得更新则停止程序更新过程;智能控制装置i完成程序更新后,通过缓冲区D回送一个确认报文组给与第一智能控制装置,第一智能控制装置将接收的确认报文组存放于缓冲区C,再通过缓冲区B将确认报文组返回给上位机,使得上位机获知各智能控制装置程序更新的状况。...

【技术特征摘要】

【专利技术属性】
技术研发人员:胡炎良戴侃邓君陆坚
申请(专利权)人:湖南先步信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1