输出优先实现最短报文的HEBus高效现场总线系统及通信方法
【技术领域】
[0001]本发明涉及一种输出优先实现最短报文的HEBus高效现场总线系统及通信方法,属于工业控制技术领域。
【背景技术】
[0002]在工业控制技术领域中,单个控制单元很难满足多点分布式协同控制系统的需求,对于多点分布式协同控制系统,各站点之间需要通过大量的通信才能进行多点采集协同控制,随着网络技术和现场总线技术的不断发展,已有多种技术能够实现多点分布式协同控制。
[0003]目前工业控制技术领域中应用较广泛的通信协议有]?0(113118、?抓打13118、]\031、1^?、UDP、EtherCAT等,基于以上协议组成的通信系统,多数采用总线方式连接,进行点对点通信,协议设计简单,接线方便,但只能实现主站与从站之间的逐一通信,各从站之间无法直接通信,大大限制了数据同步速度,当总线上的从站过多时会导致系统的同步延时较长、主站频繁通信工作负担较大,逻辑控制效率较低。
[0004]基于以上协议组成的通信系统中,有的还使用交换机进行网络连接,与串口通信的系统相比其通信速率有了大幅度的提高,但其协议设计复杂,成本较高,各站点仍然采用点对点的通信方式,需要复杂的处理机制完成站点之间的协同控制;有的也采用环网方式连接,环网连接有效的解决了点对点通信的不足,减轻了主站的工作负担,但多数环网通信的数据帧为各站点分配了指定的映射长度,系统中每个站点只需要获取少量的数据信息却要花费大量的时间接收、处理、转发同等长度的数据帧,导致映射过程中报文的利用率不高,有大量的传输浪费,此外,环网通信过程中任意站点或线路出现故障,都会导致通信中断,故网络可靠性较差。
【发明内容】
[0005]为了克服现有技术中存在的不足,本发明目的是提供一种输出优先实现最短报文的HEBus高效现场总线系统及通信方法。该通信方法能够实现环网和点对点两种通信方式,通信过程中采用输出优先实现最短报文递推传输,减少了主站的工作负担,提高了报文利用率,同时具有完善的网络冗余功能和自恢复功能,以保证数据通信的实时性和可靠性,解决了现有通信技术设计复杂、传输效率低、可靠性低等问题。
[0006]为了实现上述发明目的,解决现有技术中所存在的问题,本发明采取的技术方案是:一种输出优先实现最短报文的HEBus高效现场总线系统通信方法,包括以下步骤:
[0007]步骤1、初始化设置,现场总线系统上电后,共享总线上连接的各站点开始工作,主站对共享总线上的各从站进行初始化设置,至少包括从站扫描,节点地址配置和参数配置;主站扫描总线上的所有从站,获取从站的设备类型和物理资源,确认网络拓扑结构,所述网络拓扑结构中的从站均称为有效从站;若初始化设置成功,则进行步骤3,开始数据通信;若初始化过程中有故障,则进行步骤2,进行故障处理。
[0008]步骤2、故障处理,主站会根据通信过程中记录的故障码,判别故障类型,处理故障,并发送报警信息。
[0009]步骤3、环网通信,主站会周期性的发送环网通信帧,并通过环网通信帧完成主站和从站、从站和从站之间的数据交换,由于采用环网通信方式,一条数据帧要装载系统中所有站点的映射信息,系统中从站的数量越多,数据帧的长度就越大,为减少报文传输时间,本系统中主站利用重新编址后的从站顺序组装通信数据,采用输出优先的方式,在数据区中只装载需要写给各从站的物理输出资源的映射信息,保证只传输有效数据信息,最后将组装好的数据校验打包发送给第一个从站;所述环网通信帧会依次被每个从站接收处理,从站接收后会裁剪数据帧,截取自身物理输出的映射信息,添加物理输入的映射信息,并将重组后的数据帧发送给下一个从站或主站,整个传输过程数据帧长度会因各从站的信息需求自动的变化,减少了传输过程中的冗余信息;在环网通信过程中,若出现故障,则返回步骤2进行故障处理,若经故障处理确认环网通信中断,则进行步骤4,切换为点对点通信,保证网络的可靠性。
[0010]步骤4、点对点通信,用于辅助环网通信完成主站和从站之间的数据交换,通信过程中,主站会采用轮询方式按照节点地址从小到大的顺序依次对有效从站发送点对点通信帧,通信过程中一次帧传输可以完成主站与其中一个从站的数据交换;主站会根据有效从站的设备地址组装点对点通信数据,并将数据校验打包生成点对点通信帧发送到共享总线上;所述点对点通信帧将会被总线上的所有从站接收,各从站对接收到的数据帧进行过滤,若数据帧的目标地址不是该从站的设备地址则丢弃,否则接收,从数据区中提取自身物理输出的映射信息并将物理输入的映射信息写入数据区中,对数据重新校验打包,生成响应数据帧,发送至共享总线待主站接收;主站接收到目标从站的响应数据帧后,会以轮询方式和下一个从站通信;所述点对点通信过程中,主站会周期性的检测网络状态,若网络恢复则返回步骤1中的子步骤(a),扫描共享总线上的所有从站,若所有从站都为有效从站,并且历史从站全部在线,则切换到步骤3恢复环网通信,否则返回到步骤2进行故障处理。
[0011]步骤5、通信终止,当通信过程中遇到不可恢复故障时,主站将切换为空闲状态,不发送任何数据帧,整个通信系统停止工作;在空闲状态中,主站会通过人机交互模块等待上位机的启动命令,接收到启动命令后返回步骤1,重新进行初始化工作。
[0012]所述步骤1中的初始化设置具体包括以下子步骤:
[0013](a)从站扫描,系统上电后,主站会对总线上的所有从站进行全地址扫描,按照设备地址从小到大的顺序依次对指定地址的从站发送扫描帧,获取从站的设备类型和物理资源,确认网络拓扑结构;主站有两种扫描方式:首次扫描和自恢复扫描,若为首次扫描即主站中没有存储历史从站信息时,主站会根据扫描上的所有从站确认网络拓扑结构;若为自恢复扫描即主站中已存储历史从站信息时,主站会对重新扫描上的从站进行信息比对:扫描上的从站的设备类型和设备地址与主站中存放的历史从站信息相同,则为有效从站,否则为无效从站;若为无效从站,则记录故障码,说明网络拓扑结构有异常,待扫描完毕后进行步骤2,进行故障处理。
[0014](b)节点地址配置,主站按子步骤(a)所确定的网络拓扑结构对连接到总线上的各从站进行节点地址配置,主站会根据各从站的I/O资源计算各从站的净输出值,所述净输出值是指各从站的物理输出与物理输入的差值进行降序排列,以净输出值的排列顺序为各从站配置节点地址,此外,主站也为自己分配了一个节点地址即最后一个从站的节点地址加1;在节点地址配置过程中,若有配置超时或负响应,则进行步骤2,进行故障处理;否则,完成节点地址配置并进行下一子步骤。
[0015](c)参数配置,主站会根据自身的参数信息对共享总线上所有从站进行统一的参数配置,配置参数均为系统的公共参数;主站会按照节点地址从小到大的顺序依次对指定地址的从站发送参数设置帧,完成总线上所有从站的参数配置,配置参数中分为两类,一类是立即生效参数,另一类是系统重新上电生效参数;若参数配置失败,则进行步骤2,进行故障处理;否则,完成参数配置并进行下一子步骤。
[0016](d)初始化设置成功,进行步骤3,各个站点之间进行环网通信。
[0017]所述步骤2中的故障处理具体为:在通信过程中,主站的通信管理模块会根据主站的故障检测模块记录的故障码,判别故障类型,对现场总线系统进行故障处理,若故障可恢复,则通过步骤4继续通信,若故障不可恢复,则进行步骤5,停止通信。
[0018]所述步骤3中的环网通信帧包括节点地址、帧类型、数据区长度、数据区和校验码;所述环网通信帧采用输出优先方式传输,数据帧会先经过净输出值最大的从站,然后经过净输出值次大的从站,依次经过所有从站,最终由净输出值最小的从站回给主站处理;通信过程中,所述环网通信帧的数据区采用动态分配方式,所述动态分配方式是指数据帧经过各从站时,从站会先从数据区起始地址中获取输出数据,再从数据区的尾地址起插入输入数据,并修改数据长度;全过程数据区长度会由多变少,又由少变多,保证传输数据均为有效数据,减少了传输过程的时间浪费;所述环网通信帧会以递推方式经过所有从站,最终回给主站处理,每个通信周期中,主站只需发送一条数据帧就可以完成与所有从站的数据交换,从而控制共