用于钢铁连续退火系统的以太网通信控制方法

文档序号:7697834阅读:138来源:国知局

专利名称::用于钢铁连续退火系统的以太网通信控制方法
技术领域
:本发明涉及一种以太网通信方法,特别是涉及一种用于控制钢铁连续退火系统的通信方法。
背景技术
:在现代化的钢铁连续退火处理线控制系统当中,往往采用多级控制系统,以实现生产信息无纸化和全生产过程控制。作为最底层的基础自动化系统(LevelI)执行常规/先进调节控制、过程数据采集、过程状态监视、信号检测等工作,而上一级的过程自动化系统(LevelII)则担任着作业指示、操作指导、设定计算、实绩收集和先进调节控制的角色,二者之间存在着大量的信息交换和数据联系。比如,LevelII系统通过LevelI系统采集实时生产数据,而LevelI系统则接收LevelII系统的生产任务和工艺设定参数。因此,在LevelI系统和LevelII系统之间必须建立实时、稳定的信息通信链路,以满足大量数据交换的需要。由于工业以太网的高传输速率、可靠的稳定性和很好的开放性,在连续退火处理线中通常采用基于TCP/IP协议的工业以太网作为物理连接链路。如图l所示,作为基础自动化系统的主控制器,西门子(Siemens)S7—400可编程逻辑控制器(PLC)通过专用的CP443-1以太网通信模块与过程自动化系统服务器进行物理连接。LevelII网络包括多个L2终端,并通过L2服务器和交换机接至LevelI网络;LevelI网络包括多个S7-400(即LI控制器)和Ll画面服务器。当S7-400通过CP443-1通信模块(以下统称为以太网通信处理模块)与其他节点在工业以太网上进行数据交换时,必须在用户程序中调用系统发送功能和系统接收功能来实现。系统发送功能包括AG一SEND、AG—SEND和AG丄SEND,三种功能相同,只是在每个任务能够发送的数据量上有区别。系统接收功能包括AG—SRECV、AG_RECV和AG—LRECV,三者的功能相同,只是在每个任务能够接收的数据量上有区别。系统发送功能(以AG—SEND为例)和系统接收功能(以AG—RECV为例)的形参外部管脚如图2所示,其中各形参的定义见表l。如图3和图4所示,在用户程序(CPU周期)中调用系统发送能和系统接收功能作为CPU与以太网通信处理模块(CP)通信模块的接口,并且在程序中实时收集系统发送功能或系统接收功能返回的执行状态,根据返回的参数对通信过程进行监视和控制。如图3所示,在数据发送模式下,随着时间不断推移,用户程序通过系统发送功能AG—SEND提供数据"X",任务脉冲位ACT置1,此时任务被触发,CP开始向通信伙伴传输数据"X",CP返回"作业正在进行中"的状态报告。ACT随后置0,同时用户程序继续通过系统发送功能AG—SEND向CP询问数据发送状态,直至接收到"发送作业无错误完成"的状态报告为止。如图4所示,在数据接收模式下,通讯伙伴向以太网CP传送数据"X",用户程序通过系统接收功能AG_RECV询问数据接收状态,如果以太网CP上不存在任何已接收的数据,则用户程序通过系统接收功能AG—RECV提供的信息"尚无可用的数据"对作业进行确认,用户程序在CPU周期内接收该消3息,直到以太网CP成功接收到通信连接上的数据,系统接收功能给出"接收作业无错误完成"的状态报告为止。最后用户程序接受/评估所接收的数据"X"。表1功能AG—SEND和AG_RECV的形参定义<table>tableseeoriginaldocumentpage4</column></row><table>通常在连续退火处理线控制系统当中,因为LevelI和LevelII存在着大量的数据交换,每个PLC与LevelII服务器之间都存在着通信连接,并且每条通信连接上同时有多个电文回路,有事件型电文也有数据型电文,长度也存在多种规范。同时,它们的发送时刻由现场的生产情况来决定,很有可能在同一时间有发送请求,此时,对于CPU处理速度(功能调用,即FC调用)大于数据传输速度的通信链路,存在着数据丢失的问题。例如图5中,当某一通讯连接上数据区A正在从CP模块数据缓冲区发送给通讯伙伴时,系统发送功能返回给发送方用户程序的状态为"作业正在进行",如果此时发送方用户程序触发了数据区B和C的传送任务,系统发送功能将传送数据区B和C给CP模块数据缓冲区,这时很容易造成CP数据缓冲区的紊乱和数据丢失,并且若系统发送功能在100ms内检测到当前数据区没有开始传输,会反复执行发送命令,进而产生数据拥堵。在某些情况下,CP与通信伙伴之间的通信连接可能会中断,比如物理链接断开、通信伙伴端口关闭或交换机断电等,假如这时在用户程序中调用系统发送功能执行数据发送任务,系统发送功能会检测到通信连接故障,并在100ms后重启发送任务,直到发送任务无错误完成。因此,在通信连接故障情况下,如果在用户程序中放任系统发送功能的调用,可能会造成CP的数据缓冲区溢出,最终导致CP模块死机,或者在通信连接恢复的一瞬间使得网络拥堵。
发明内容本发明所要解决的技术问题是提供一种用于钢铁连续退火系统的以太网通信控制方法,该方法可保证连续退火处理线控制系统中基础自动化系统(LevelI)和过程自动化系统(LevelII)间数据传输的实时稳定性。为了实现上述目的,本发明的技术方案是用于钢铁连续退火系统的以太网通信控制方法,是在用户程序中调用系统发送功能和系统接收功能作为CPU与以太网通信处理模块的接口,并且在程序中实时收集系统发送功能或系统接收功能返回的执行状态,根据返回的参数对通信过程进行监视和控制,其特征在于在用户程序中设置一个通信信道占用标志位来辅助控制系统发送功能的调用通信信道占用标志位的初始值为0,当发送任务脉冲来到时,通信信道占用标志位置l,同时用户程序调用系统发送功能执行发送任务;在以太网通信处理模块与通信伙伴传输数据的过程中,通信信道占用标志位为占用状态1,系统发送功能不被再次触发调用;当通信任务无错误完成时,以太网通信处理模块通过系统发送功能返回状态参数,告知用户程序通信回线处于空闲状态,这时通信信道占用标志位复位为0,系统发送功能释放,等待下一次任务脉冲来触发调用。在数据接收时,在传输的电文中设置一个电文头,利用电文头的不同内容来区分该回线上的各个任务;在用户程序的数据接收时,为每一通信连接单次无条件调用系统接收功能,一旦系统接收功能的返回状态显示接收到新数据,通过系统接收功能将以太网通信处理模块的数据缓冲区的数据保存到用户数据缓冲区;然后任务接收模块判断用户数据缓冲区中的电文头内容,最终根据电文号将接收的数据分发到各电文相应的数据存储区。本发明的优点通过在用户程序中调用系统发送功能或系统接收功能,尤其是在一条通信连接上有多条通信电文回路时,在用户程序中对功能调用加以二次处理,开发出了更为优化的发送/接收任务模块,能够保证基础自动化系统(LevelI)和过程自动化系统(LevelII)间数据传输的实时稳定性。图1是用于控制钢铁连续追火系统的以太网络通信系统结构。图2是现有技术中系统发送功能AG—SEND和系统接收功能AG一RECV形参示意图。图3是现有技术中发送数据任务的处理序列。图4是现有技术中接收数据任务的处理序列。图5是现有技术中单回线多任务发送模式下的任务处理序列。图6是实施例1,即单任务发送模式下的任务处理流程。图7是实施例2,即单回线多任务发送模式下的任务执行寄存器。图8是实施例2,即单回线多任务发送模式下的任务处理流程。图9是实施例3,即加入连接状态判断机制的通信方法。图10是实施例4,即单回线多任务发送模式下,加入区分不同任务的电文头之后的通信方法。具体实施例方式本发明基于TCP/IP协议和西门子S7-400以太网通信模型,其内容包括用于钢铁连续退火系统的以太网通信控制方法,是在用户程序中调用系统发送功能和系统接收功能作为CPU与以太网通信处理模块的接口,并且在程序中实时收集系统发送功能或系统接收功能返回的执行状态,根据返回的参数对通信过程进行监视和控制,其特征在于在用户程序中设置一个通信信道占用标志位来辅助控制系统发送功能的调用通信信道占用标志位的初始值为0,当发送任务脉冲来到时,通信信道占用标志位置l,同时用户程序调用系统发送功能执行发送任务;在以太网通信处理模块与通信伙伴传输数据的过程中,通信信道占用标志位为占用状态1,系统发送功能不被再次触发调用;当通信任务无错误完成时,以太网通信处理模块通过系统发送功能返回状态参数,告知用户程序通信回线处于空闲状态,这时通信信道占用标志位复位为0,系统发送功能释放,等待下一次任务脉冲来触发调用。当在单回线多任务发送的情况下,还可在用户程序中设置一个具有多个存储位的任务执行寄存器来标识各个任务的优先级,任务执行寄存器的每一位作为相应发送任务的执行标志位,当对应发送任务脉冲来到时,执行标志位置1:当多个任务触发脉冲同时来到时,对应的执行标志位均被置l,此时优先级最高的发送任务首先执行,通信信道占用标志位置l,其他的发送任务均挂起;当优先级较高的发送任务完成,通信信道占用标志位置0,相应的执行标志位复位为0,系统发送功能被优先级次之的发送任务调用,直到所有发送任务完成;当任务执行寄存器为0时,表明当前无发送任务挂起,通信连接空闲。在用户程序和通信伙伴之间的每一条通信连接上还可以协议一个心跳电文,心跳电文用于监视回线和对方通信程序的状态,心跳电文内容只包含电文头,并且间隔一段时间相互发送一次;在用户程序执行过程中,首先检测心跳电文的发送返回结果,当返回结果没有错误时,进入用户程序的主功能部分,等待数据发送任务;一旦检测到心跳电文返回状态异常,则无条件跳过用户程序主功能部分,并且复位通信信道占用标志位为0,为下一次心跳电文的发送释放系统发送功能的调用功能,直到检测到心跳电文的返回状态正常时,才继续进入用户通信程序主功能部分。在数据接收时,在传输的电文中设置一个电文头,利用电文头的不同内容来区分该回线上的各个任务;在用户程序的数据接收时,为每一通信连接单次无条件调用系统接收功能,一旦系统接收功能的返回状态显示接收到新数据,通过系统接收功能将以太网通信处理模块的数据缓冲区的数据保存到用户数据缓冲区;然后任务接收模块判断用户数据缓冲区中的电文头内容,最终根据电文号将接收的数据分发到各电文相应的数据存储区。因为接收数据的过程是一个实时过程,所以调用系统接收功能AG—RECV不需要触发脉冲。在单任务接收模式下,只需在用户通讯程序中为每一单任务通讯连接无条件调用一次系统接收功能AG_RECV,当系统接收功能AG—RECV的输出形参NDR为1,ERROR为0时,表示CP模块无错误地接收到了新的数据,此时只需用户程序调用系统接收功能AG—RECV将CP通信模块数据缓冲区的数据保存到该电文的数据存储区即可。实施例1:如图6所示,在单任务发送模式下,每条通信连接上只有一个电文回路。在用户程序中设置一个通信信道占用标志位M—TASK来辅助控制FCAG一SEND的调用。M—TASK初始值为0,触发发送任务脉冲位ACT置1时,M—TASK标志置1,同时用户程序调用系统发送功能AG—SEND执行发送数据"X"的任务,此时状态参数为完成任务量DONE为0,错误任6务数ERROR为0,状态参量为8181H(8181H代表任务在执行)。在CP模块与通信伙伴传输数据的过程中,通信信道一直处于忙碌状态,CP返回显示作业正在进行的状态,M—TASK标志位为占用状态"1",在此过程中系统发送功能AG_SEND不会被再次触发调用。注意图中在M_TASK为1之后出现的多次系统发送功能AG—SEND的来回箭头代表的是查询调用。査询调用时系统发送功能AG—SEND的形参ACT无上升沿,不会触发新的发送任务;而触发调用时系统发送功能AG—SEND的形参ACT有上升沿,会触发新的发送任务。因为一般用户程序的执行周期短于发送任务执行的时间,所以此时每次右箭头代表用户程序在其一个执行周期里査询一次系统发送功能AG一SEND的状态参数,相应的左箭头则代表系统发送功能AG—SEND在这个用户程序执行周期里返回给用户程序的任务执行状态,多次系统发送功能AG—SEND就代表了经过数个用户程序执行周期,发送任务才被执行完,实际上多次系统发送功能AG—SEND代表的是在发送任务执行期间,用户程序多次査询系统发送功能AG_SEND的状态参数以便判断任务执行的情况。当通信任务无错误完成时,CP模块通过系统发送功能AG一SEND返回DONE为1、ERROR为0、STATUS为0000H的状态参数,告知用户程序发送任务已经无错误地完成,通信回线处于空闲状态,可以再次被使用。这时,标志位M—TASK复位,系统发送功能AG—SEND释放,等待下一次任务脉冲来触发调用。实施例2:在单回线(Channel)多任务发送模式下,每条通信连接上同时有多个(例如N个,N是大于1的自然数)电文回路,为避免在同一时刻有多个任务触发脉冲而导致CP数据缓冲区的紊乱、数据的丢失和拥堵,在单任务发送模式基础上,增加一个任务执行寄存器,例如TSK—REG,实现多任务工况下的任务排序功能。具体而言,在用户程序中设置一个具有N个存储位的任务执行寄存器,例如TSK—REG来标识各个任务的优先级。如图7所示,任务执行寄存器TSK—REG为一个16位单字寄存器,在用户程序中由空闲的中间标识来指派。此吋TSK一REG最多可以为同一通信连接上的16个发送任务设定优先级,其中高位BIT15的优先级(PRI)为l,是最高优先级,对应TSK一16;低位BIT0的优先级为16,是最低优先级,对应TSK—1。TSK—REG的每一位作为相应发送任务的执行标志位,当对应发送任务脉冲来到时,执行标志位置l。当多个任务触发脉冲同时来到时,对应的执行标志位均被置l,此时优先级最高的发送任务(如PRIl)首先执行,通信信道占用标志位置l,其他的发送任务均挂起;当优先级较高的发送任务完成,通信信道占用标志位置0,相应的执行标志位复位为0,系统发送功能AG—SEND被优先级次之的发送任务(如PRI8)调用,直到所有发送任务完成;当任务执行寄存器TSK—REG为0时,表明当前无发送任务挂起,通信连接空闲。在优先级判别的工作模式下,任务处理流程如图8所示。单回线多任务接收模式的处理流程见实例4。实施例3:在用户通信程序中加入连接状态判断机制,避免以太网通信处理模块CP与通信伙伴之间的通信连接中断可能会造成的通信处理模块CP数据缓冲区溢出、CP模块死机或者使得在通信连接恢复的一瞬间网络拥堵。在用户程序和通信伙伴之间的每一条通信连接上协议一个心跳电文,心跳电文内容只包含电文头,并且间隔一段时间(例如一分钟或两分钟)相互发送一次,避免占用网络资源。如图9所示,在用户通信程序执行过程中,首先检测心跳电文的发送返回结果,当返回结果没有错误时(DONE为1,ERROR为0,STATUS为OOOOH),进入通信程序的主功能部分,等待数据发送任务,其电文发送功能模块包括任务发送和任务结束。一旦检测到心跳电文返回状态异常,即状态参量STATUS为8304H(8304H代表通信连接未被建立,发送任务将在100ms后被重启),则无条件跳过通信程序主功能部分,并且复位FC占用标志M一TASK,为下一次心跳电文的发送释放系统发送功能的调用功能。直到检测到心跳电文的返回状态正常时,才继续进入用户通信程序主功能部分。实施例4:通常情况下由于用户程序的顺序扫描周期快于数据传输时间,CP通信模块存在一个数据缓冲区,只要通信伙伴正确发送信息,只需要在用户程序中为每一通信连接单次无条件调用系统接收功能AG—RECV,就能够满足数据接收任务的执行要求。在单回线多任务模式下,同时还在传输的电文中设置一个电文头,利用电文头的不同内容来区分该回线上的各个任务。如图10所示,一旦系统接收功能AG一RECV的返回状态显示接收到新数据,系统接收功能AG—RECV将CP通信模块数据缓冲区的数据保存到用户数据缓冲区,然后任务接收模块判断用户数据缓冲区中的电文头内容,最终根据电文号将接收的数据分发到各电文相应的数据存储区,例如电文l发送到电文l的数据存储区,电文2发送到电文2的数据存储区,.电文3发送到电文3的数据存储区。本发明在现有的系统发送功能和系统接收功能的基础上幵发了更为优化的发送/接收任务模块,有效克服了现有数据交换技术的不足,为连续退火生产线中LevelI和LevelII系统提供了稳定可靠的信息链路。权利要求1.用于钢铁连续退火系统的以太网通信控制方法,是在用户程序中调用系统发送功能和系统接收功能作为CPU与以太网通信处理模块的接口,并且在程序中实时收集系统发送功能或系统接收功能返回的执行状态,根据返回的参数对通信过程进行监视和控制,其特征在于在用户程序中设置一个通信信道占用标志位来辅助控制系统发送功能的调用通信信道占用标志位的初始值为0,当发送任务脉冲来到时,通信信道占用标志位置1,同时用户程序调用系统发送功能执行发送任务;在以太网通信处理模块与通信伙伴传输数据的过程中,通信信道占用标志位为占用状态1,系统发送功能不被再次触发调用;当通信任务无错误完成时,以太网通信处理模块通过系统发送功能返回状态参数,告知用户程序通信回线处于空闲状态,这时通信信道占用标志位复位为0,系统发送功能释放,等待下一次任务脉冲来触发调用。2.如权利要求l所述的以太网通信控制方法,其特征在于在用户程序中设置一个具有多个存储位的任务执行寄存器来标识各个任务的优先级,任务执行寄存器的每一位作为相应发送任务的执行标志位,当对应发送任务脉冲来到时,执行标志位置1;当多个任务触发脉冲同时来到时,对应的执行标志位均被置1,此时优先级最高的发送任务首先执行,通信信道占用标志位置1,其他的发送任务均挂起;当优先级较高的发送任务完成,通信信道占用标志位置0,相应的执行标志位复位为0,系统发送功能被优先级次之的发送任务调用,直到所有发送任务完成;当任务执行寄存器为0时,表明当前无发送任务挂起,通信连接空闲。3.如权利要求l所述的以太网通信控制方法,其特征在于在用户程序和通信伙伴之间的每一条通信连接上协议一个心跳电文,心跳电文内容只包含电文头,并且间隔一段时间相互发送一次;在用户程序执行过程中,首先检测心跳电文的发送返回结果,当返回结果没有错误时,进入用户程序的主功能部分,等待数据发送任务;一旦检测到心跳电文返回状态异常,则无条件跳过用户程序主功能部分,并且复位通信信道占用标志位为0,为下一次心跳电文的发送释放系统发送功能的调用功能,直到检测到心跳电文的返回状态正常时,才继续进入用户通信程序主功能部分。4.如权利要求13中任一项所述的以太网通信控制方法,其特征在于在传输的电文中设置一个电文头,利用电文头的不同内容来区分该回线上的各个任务;在用户程序的数据接收时,为每一通信连接单次无条件调用系统接收功能,一旦系统接收功能的返回状态显示接收到新数据,通过系统接收功能将以太网通信处理模块的数据缓冲区的数据保存到用户数据缓冲区;然后任务接收模块判断用户数据缓冲区中的电文头内容,最终根据电文号将接收的数据分发到各电文相应的数据存储区。全文摘要本发明提供了用于钢铁连续退火系统的以太网通信控制方法通信信道占用标志位的初始值为0,当发送任务脉冲来到时,通信信道占用标志位置1,同时用户程序调用系统发送功能执行发送任务;在以太网通信处理模块与通信伙伴传输数据的过程中,通信信道占用标志位为占用状态1,系统发送功能不被再次触发调用;当通信任务无错误完成时,以太网通信处理模块通过系统发送功能返回状态参数,告知用户程序通信回线处于空闲状态,这时通信信道占用标志位复位为0,系统发送功能释放,等待下一次任务脉冲来触发调用。该方法可保证连续退火处理线控制系统中基础自动化系统和过程自动化系统间数据传输的实时稳定性。文档编号H04L12/28GK101626331SQ20091006343公开日2010年1月13日申请日期2009年8月4日优先权日2009年8月4日发明者炜丁,黄杏往申请人:中冶南方(武汉)自动化有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1