用于安全控制系统的数据通信方法_2

文档序号:8380330阅读:来源:国知局
置单元11用于根据用户设定条件生成安全控制系统控制输出的组件数据报文,以及初始化数据报文,初始化数据报文是用于主处理器2和从处理器3的初始化及进入USB下载模式中进行数据传输的;发送单元12是用于发送初始化数据报文以及组件数据报文的,发送的方式例如是将报文中的数据分成多个包进行传送,各个包的报头和报尾(即各个数据包的包头和包尾,因与完整的组件数据报文的头部和尾部相同,故统称报头、报尾)均相同;主处理器2的转发单元21用于转发初始化数据报文以及组件数据报文,转发前首先根据报头寻址相应从处理器3,从处理器3收到根据两报文报头分别标记的包总数,完整接收初始化数据报文以及组件数据报文,报文响应单元31相应发送确认报文及结束报文给上位机I,上位机I内响应控制单元13响应确认报文及结束报文,从处理器3的组件数据单元32在接收到正确完整的组件数据报文后对该报文进行解析根据其中内容构建模块组件,输出控制单元33用于将安全控制系统接收的设备控制输入信号通过模块组件后输出控制相应继电器4动作,从而控制外部设备的启闭。
[0029]主处理器2和从处理器3均具有三个模式,包括工作模式、USB下载模式及显示模式,工作模式用于各处理器自行处理任务,显示模式用于信号显示,USB下载模式用于各处理器的数据下载与传输,系统通过三个模式进行任务分工,任务运行的出错率将大大降低,USB下载模式下,处理器处于调试状态中,数据传输出错的概率极低,并且即使出错时还可以重新上电传输,提高系统数据传输的可靠性。在开始传输数据前,2主处理器和从处理器3首先处于工作模式中,完成该模式中系统的任务。
[0030]图2示出了实施例一的用于图1系统的一种数据通信方法,该方法包括:
[0031]步骤S1:所述上位机的配置单元生成初始化数据报文,发送单元发送初始化数据报文至所述主处理器,主处理器根据初始化数据报文头部和尾部校验之后切换至USB下载模式并进行初始化,主处理器的转发单元根据初始化数据报文头部寻址并将所述初始化数据报文转发至寻址的从处理器;
[0032]步骤S2:所述从处理器接收主处理器转发的初始化数据报文、根据初始化数据报文头部确定初始化数据长度、校验报文头部和尾部之后切换至USB下载模式并进行初始化,从处理器的报文响应单元根据初始化数据长度确定需接收的初始化数据报文总数并在传输结束后生成确认报文通过主处理器应答给上位机;
[0033]步骤S3:所述上位机的响应控制单元响应所述确认报文,并通知发送单元将配置单元中的组件数据报文发送至主处理器,主处理器在USB下载模式中下载所述组件数据报文并将其转发至所述从处理器;
[0034]步骤S4:所述从处理器在USB下载模式中下载所述组件数据报文,所述组件数据单元解析所述组件数据报文形成模块组件,所述输出控制单元根据所述模块组件控制所述安全控制系统的输出。
[0035]在本实施例中,通过从处理器3的报文响应单元31接收初始化数据报文后回复确认报文以及接收组件数据报文后回复结束报文,实现报文交互,从而确保数据传送的完整性。
[0036]其中,模块组件(图上未示出)包括:输入组件,具备多个输入端,用于输入信号(安全控制系统接收的设备控制输入信号)的输入;开关组件,具备多个开关,其连接所述输入组件并根据所述输入信号控制其相应开关的导通并传输所述输入信号;逻辑组件,连接所述开关组件,其根据输入信号、开关组件、以及自身逻辑组成的配合得到输出信号;输出组件,连接所述逻辑组件,用于所述输出信号的输出;所述输出信号用于所述从处理器3的输出控制单元对继电器4的控制。
[0037]初始化数据报文分成多个数据包进行发送,最后在主处理器2和从处理器3端重组获取其中信息。所述组件数据报文在上位机I端分成多个包发送,在从处理器3端重组成一个组件数据报文,在从处理器3端分析组件数据报文的头部确定组件数据长度,从处理器3根据长度接收包总数后,报文响应单元31发送结束报文给上位机I。
[0038]图3示出了实施例二的用于图1系统的一种数据通信方法,该方法包括:
[0039]步骤SI,:所述上位机的配置单元生成初始化数据报文,发送单元发送初始化数据报文至所述主处理器,主处理器根据初始化数据报文头部和尾部校验之后切换至USB下载模式并进行初始化,主处理器的转发单元根据初始化数据报文头部寻址并将所述初始化数据报文转发至寻址的从处理器;
[0040]步骤S2’:所述从处理器接收主处理器转发的初始化数据报文、根据初始化数据报文头部确定初始化数据长度、校验报文头部和尾部之后切换至USB下载模式并进行初始化,从处理器的报文响应单元根据初始化数据长度确定需接收的初始化数据报文总数并在传输结束后生成确认报文通过主处理器应答给上位机;
[0041]步骤S3’:所述上位机的响应控制单元响应所述确认报文,上位机的发送单元相继发送两次组件数据报文至主处理器,每次组件数据报文分多个包发送,主处理器在USB下载模式中下载所述组件数据报文并将其转发至所述从处理器;
[0042]步骤S4’:从处理器在USB下载模式中依次下载所述组件数据报文,对两次组件数据报文进行校对,若一致则确定为待解析报文,所述组件数据单元解析所述待解析报文形成模块组件,所述输出控制单元根据所述模块组件控制所述安全控制系统的输出,若不一致则通知上位机重发组件数据报文。
[0043]在一个实施例中,所述从处理器3还包括划分多个存储区段的存储单元(图上未示出),其至少包括区段一、区段二和区段三,将所述两次组件数据报文分别存放在区段二和区段三中,将两次组件数据报文校对一致后得到的待解析报文存放于区段一中,若校对不一致导致上位机重发组件数据报文,则将重发的组件数据报文替换区段二或区段三中的组件数据报文。
[0044]所述存储单元例如可以为非易失性存储器,例如FLASH(闪存),FLASH为分段存储,配置其中三段分别设为区段一、区段二和区段三。
[0045]进一步的,在步骤S4’中,当两次组件数据报文校对一致并存入区段一中之后,从处理器将已存储于区段一中的待解析报文装入内存中,并清空所述区段二和区段三,以供其他数据进行存储,之后所述组件数据单元从内存中获取并解析所述待解析报文形成所述模块组件,模块组件可采用实施例一中的模块组件,在此不赘述。
[0046]在本实施例中,初始化数据报文分成多个数据包进行发送,最后在主处理器2和从处理器3端重组获取其中信息,每一次的组件数据报文在上位机I端分成多个包发送,在从处理器3端重组成一个组件数据报文,在从处理器3端分析组件数据报文的头部确定组件数据长度,从处理器3根据长度接收包总数后,报文响应单元31发送结束报文给上位机I,重复发送两次组件数据报文。
[0047]在本实施例中,通过从处理器的报文响应单元31接收初始化数据报文后回复确认报文以及接收组件数据报文后回复结束报文,实现报文交互,从而确保数据传送的完整性,此外,组件数据报文经过两次发送并在从处理器3端进行校验,确保正确后上位机I才停止发送,保
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1