一种基于控制器的实时通讯方法与流程

    专利查询2024-03-30  114



    1.本发明涉及移动货叉的同步运行控制和实时通讯方式在全自动生产以及仓储和物流领域的应用。


    背景技术:

    2.移动货叉具体应用时为两台无物理连接,要求同步通讯、同步运行的智能物流搬运设备,分为主叉和从叉,主叉和从叉相互通信配合完成搬运工作。移动货叉现有的同步控制通讯方式是基于硬件twincat plc的twincat ads通讯,通讯方式为事件触发式,是beckhoff公司定义的一种专用协议,可以用于twincat设备之间的非周期性通讯,也可以应用于控制器之间的twincat设备通讯。
    3.twincat plc既可以做ads server也可以做ads client。要在分别安装于主叉和从叉上的两套twincat plc之间做ads通讯,用户自己决定其中一台做server(安装于主叉上),另一台做client(安装于从叉上)。server(主叉)端不需要任何通讯程序,只是提供数据给client(从叉)访问。client(从叉)端编写twincat plc程序实现ads通讯,运行时需要调用tcsystem.lib。
    4.具体从叉的adsread如图1所示:
    5.netid:对方设备(主叉)所在的twincat系统的netid。
    6.port:对方设备(主叉)的端口号,比如851。
    7.idxgrp:要访问的数据组,比如输出区%mw为“16#4020”。
    8.idxoffs:要访问的数据地址,比如地址%mw300为“300”。
    9.len:读或者写的字节数。指以idxoffs为起始地址,连续读或者写多少字节。
    10.destaddr:目的地址(读),比如adr(read_array)
    11.read:ads通讯是事件触发式,此处为读的触发信号,上升沿有效。
    12.tmout:报警延时,默认500ms,即“t#500ms”。
    13.以下为client(从叉)端通过ads通讯块读取server(主叉)端的数据的程序:
    14.enable1:=enable;
    15.if not ads_read.busy then
    16.enable:=true;
    17.end_if;
    18.if enable1 then
    19.enable:=false;
    20.enable1:=false;
    21.end_if;
    22.ads_read(
    23.netid:='5.69.72.60.1.1',
    24.port:=851,
    25.idxgrp:=16#4020,
    26.idxoffs:=0,
    27.len:=80,
    28.destaddr:=adr(read_array),
    29.read:=enable,
    30.tmout:=t#500ms,
    31.busy=》,
    32.err=》,
    33.errid=》;
    34.ads_read程序块的触发条件是enable的上升沿,enable置1的条件是not ads_read.busy,也就是当ads_read程序块正在读取server端(从叉)数据时ads_read.busy=true,当读取完成时ads_read.busy=false,紧接着的下一个循环周期enable=1再次执行ads_read程序块。时序如图2所示。
    35.这种通讯方式最快为每3个控制器的循环周期可以执行一次ads_read程序块,也就是最快3个循环周期才能读到一次数据,而且从server端(主叉)有数据变化时到client(从叉)端读到数据,最多会产生2倍的ads_read程序块执行时间。在实际使用时,移动货叉的主叉和从叉的实时通讯和同步运行效果不理想,从叉跟随主叉有滞后现象,尤其是移动货叉高速运行时,实时通讯和同步运行效果更差。
    36.综上所述:现有的基于硬件twincat plc的twincat ads通讯方式的缺点是不能满足移动货叉的主叉与从叉的实时通讯和同步运行功能要求。


    技术实现要素:

    37.本发明解决了现有移动货叉使用基于硬件twincat plc的twincat ads通讯方式实时通讯差,同步效果不好的缺点,消除了移动货叉的主叉和从叉的不同步的现象,保证了移动货叉的主叉和从叉实时通讯和同步运行的功能要求。
    38.本发明的技术方案为:一种基于控制器的实时通讯方法,包括:首先,分别在控制器端进行网络配置,使得无物理连接的若干个控制器之间建立组网链路;然后,设定发送或接收的程序控制指令,使得组网链路中的各个控制器之间进行实时通讯。
    39.所述该方法是基于如下系统实现的,系统包括:若干个待组网的控制器,之间通过realtime ethernet进行以太网实时通讯。
    40.所述待组网的控制器为twincat控制器。
    41.所述通过网络配置建立组网链路的步骤包括:
    42.设置控制器的变量类型,所述变量类型包括输出变量或输入变量,用于定义进行组网链路通讯的信息发送者或接收者;
    43.设置待组网控制器的网络id,用于将组网链路中控制器的实际物理地址进行关联。
    44.所述发送或接收的控制指令,包括:
    45.定义作为输出变量的控制器为主控制器,作为接收变量的控制器为从控制器;
    46.主控制器根据自身状态字判断当前状态是否可进行通讯;若是,则发送通讯请求
    至从控制器;
    47.从控制器接收通讯请求信号并将当前从控制器的状态字反馈至主控制器;
    48.若主控制器收到从控制器状态字表征其可以接受主控制器控制时,主控制器与从控制器建立握手连接;
    49.主控制器向从控制器发送实时控制指令,使得组网链路中的各个控制器之间进行实时通讯。
    50.本发明的有益效果为:
    51.通过realtime ethernet通讯方式通讯,使移动货叉的主叉和从叉同步运行的可靠性和实时性有大幅度提高,实时通讯和同步运行效果非常理想,从叉跟随主叉无滞后现象,保证了移动货叉的实时通讯和同步运行特性,在全自动生产以及仓储和物流领域的应用。
    附图说明
    52.图1是本发明的对比控制方法adsread程序功能块;
    53.图2是本发明的对比控制方法时序图;
    54.图3是本发明实方法流程图;
    55.图4是本发明实施例的配置输出变量publiser的配置界面;
    56.图5是本发明实施例的配置“变量值改变时才发送”的配置界面图;
    57.图6是本发明实施例的配置输出对应变量的配置界面;
    58.图7是本发明实施例的配置输入变量subscriber的配置界面;
    59.图8是本发明实施例的配置输入对应变量的配置界面;
    具体实施方式
    60.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方法做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
    61.除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
    62.本发明实施例:
    63.如图3所示,一种基于控制器的实时通讯方法,包括:首先,分别在控制器端进行网络配置,使得无物理连接的若干个控制器之间建立组网链路;然后,设定发送或接收的程序控制指令,使得组网链路中的各个控制器之间进行实时通讯。具体如下:
    64.realtime ethernet是beckhoff公司io级的以太网实时通讯,可以实现pc控制器之间的io级实时通讯。相比其它通讯方式而言,realtime ethernet性价比极高,不需要增加额外的硬件,就可以实现twincat控制器之间的毫秒级实时通讯。解决移动货叉基于硬件twincat plc的twincat ads通讯实时通讯差,同步效果不好的问题。
    65.realtime ethernet是基于tcp/ip,它对网络的带宽占用并不高,可以和其它以太
    网协议同时运行,比如modbus tcp、ads通讯等,所以同一张网卡,既能用于编程调试又能连接以太网触摸屏。realtime ethernet的通讯双方,也以netid互相识别。realtime ethernet通讯不需要plc编程,只需要在system manager的“i/o device”中配置输出变量(publiser)和输入变量(subscriber)并链接到plc程序的变量即可。
    66.添加网络变量network variable publisher,选择unicast方式,表示这个数据只送到netid为“5.69.72.60.1.1”的控制器。如图4所示。
    67.为了节约网络带宽,勾选on change only,表示变量值改变时才发送。如果是状态类变量,可以勾选此项,如果是模拟量值,可能每个plc周期都变化,则不必勾选。尤其是网络中节点较多,或者还需要与其它以太网协议并行的时候,最好勾选此项。如图5所示。
    68.在publisher下增加pub-bar 1项,在pub-bar 1下增加vardata的类型为int。如图6所示。
    69.在另一台控制器上添加网络变量network variable subscriber,选择receving options为publisher netid,并输入通讯对方的netid“6.59.72.154.2.1”。如图7所示。
    70.在subscriber下选择insert network variable项,然后选择browse for computer,选择已经增加好的pub-bar 1,结果subscriber项下,就出现了pub-bar 1项,与第一台控制器的publisher下的pub-bar 1对应。如图8所示。
    71.以x轴运行为例,变量x轴准备好axisxready信号的条件:
    72.if xaxis_err=0and xgearin_ok=1and power_x_ok=1then
    73.axisxready:=1;
    74.else
    75.axisxready:=0;
    76.end_if
    77.将主叉的x轴准备好axisxready信号以write[2]发送给从叉:
    [0078]
    if axisxready=1then
    [0079]
    write[2]:=1;
    [0080]
    else
    [0081]
    write[2]:=0;
    [0082]
    end_if
    [0083]
    当主叉的x轴准备好axisxready信号为1并且收到从叉的x轴准备好axisxready信号即read[2],则开始运行:
    [0084]
    if axisxready=1and read[2]=1then
    [0085]
    axisxmove1.position:=targetpositionmotion;
    [0086]
    axisxmove1.velocity:=target_velocity;
    [0087]
    axisxmove1.execute:=1;
    [0088]
    end_if
    [0089]
    从叉和主叉的通讯程序相同,即判断对方x轴准备好之后立即运行,这样可以利用realtime ethernet通讯方式的实时性,来保证数据可以在1个循环周期内传输完毕。
    [0090]
    通过realtime ethernet通讯方式通讯,移动货叉主叉和从叉之间的跟随信号和数据可以在1个循环周期内全部传输完毕,这与ads通讯方式相比可靠性和实时性有大幅度
    提高,移动货叉的实时通讯和同步运行效果非常理想,从叉跟随主叉无滞后现象。
    [0091]
    以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰应视为本发明的保护范围。

    技术特征:
    1.一种基于控制器的实时通讯方法,其特征在于,包括:首先,分别在控制器端进行网络配置,使得无物理连接的若干个控制器之间建立组网链路;然后,设定发送或接收的程序控制指令,使得组网链路中的各个控制器之间进行实时通讯。2.根据权利要求1所述的一种基于控制器的实时通讯方法,其特征在于,所述该方法是基于如下系统实现的,系统包括:若干个待组网的控制器,之间通过realtime ethernet进行以太网实时通讯。3.根据权利要求2所述的一种基于控制器的实时通讯方法,其特征在于,所述待组网的控制器为twincat控制器。4.根据权利要求1所述的一种基于控制器的实时通讯方法,其特征在于,所述通过网络配置建立组网链路的步骤包括:设置控制器的变量类型,所述变量类型包括输出变量或输入变量,用于定义进行组网链路通讯的信息发送者或接收者;设置待组网控制器的网络id,用于将组网链路中控制器的实际物理地址进行关联。5.根据权利要求1所述的一种基于控制器的实时通讯方法,其特征在于,所述发送或接收的控制指令,包括:定义作为输出变量的控制器为主控制器,作为接收变量的控制器为从控制器;主控制器根据自身状态字判断当前状态是否可进行通讯;若是,则发送通讯请求至从控制器;从控制器接收通讯请求信号并将当前从控制器的状态字反馈至主控制器;若主控制器收到从控制器状态字表征其可以接受主控制器控制时,主控制器与从控制器建立握手连接;主控制器向从控制器发送实时控制指令,使得组网链路中的各个控制器之间进行实时通讯。

    技术总结
    本发明涉及一种基于控制器的实时通讯方法,包括:首先,分别在控制器端进行网络配置,使得无物理连接的若干个控制器之间建立组网链路;然后,设定发送或接收的控制指令,使得组网链路中的各个控制器之间进行实时通讯。本发明方法通过Realtime Ethernet通讯方式通讯,使移动货叉的主叉和从叉同步运行的可靠性和实时性有大幅度提高,实时通讯和同步运行效果非常理想,从叉跟随主叉无滞后现象,保证了移动货叉的实时通讯和同步运行特性,在全自动生产以及仓储和物流领域的应用。产以及仓储和物流领域的应用。产以及仓储和物流领域的应用。


    技术研发人员:于祖涛 何妍 孙志坚
    受保护的技术使用者:沈阳新松机器人自动化股份有限公司
    技术研发日:2020.11.23
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-21679.html

    最新回复(0)