自动化通信网络中的网络参与端的操作方法与流程

专利2022-05-09  64



1.本发明涉及一种自动化通信网络中的网络参与端的操作方法。
2.本专利申请主张德国专利申请10 2018 129 189.2的优先权,其公开内容通过回溯引用归并本文。


背景技术:

3.现有技术中揭示了借助自动化通信网络中分布的时钟来同步自动化通信网络中的网络参与端之间的数据交换。例如,ep2544389b1公开了一种用于自动化网络的从属域的工作周期和时间周期同步的方法。
4.为了同步自动化通信网络中的数据交换,通常使用时钟,这些时钟被构造为提供作为整数计数值的时间。自动化通信网络中的数据交换以设定的时钟频率进行。时钟频率可以被设定为使得时钟不能用整数计数值表示每周期的周期时间。如果时钟以时钟频率递增,则时钟的计数值与周期时间的倍数会出现偏差。时钟的计数值与周期时间的倍数的偏差可能对同步数据交换产生负面影响。
5.上述问题的一种解决方案是时钟以偏离时钟频率的频率递增,并将时钟的时钟域转换为数据交换的时钟域。但这种转换却非无延迟。这种延迟引起时钟提供的时间与参考时间的偏差。这样的偏差又称为抖动。抖动可能例如导致一部分作为数据交换所交换的数据包具备错误的时间戳。


技术实现要素:

6.本发明的目的是提供一种改进的自动化通信网络中的网络参与端的操作方法,一种构造为执行该方法的网络参与端以及一种包括至少两个构造为执行该方法的网络参与端的自动化通信网络。
7.本发明用以达成上述目的的解决方案为一种具有独立权利要求1所述特征的自动化通信网络中的网络参与端的操作方法、一种具有独立权利要求6所述特征的网络参与端以及一种具有独立权利要求7所述特征的自动化通信网络。本发明的有利改进方案参阅从属权利要求。
8.一种自动化通信网络的网络参与端被设置为以设定的时钟频率与自动化通信网络中的另外网络参与端交换数据。网络参与端具有内部时钟,用于与至少一个另外的网络参与端同步数据交换。内部时钟被设置为提供作为整数计数值的时间。时钟频率被设定为内部时钟不能用整数计数值表示每周期的周期时间。一种自动化通信网络中的网络参与端的操作方法包括以下方法步骤:借由设定的整数增量序列使内部时钟递增。整数增量序列被设定为使得整数增量的总和等于周期时间的整数倍数。
9.有利地,在借由增量序列使内部时钟递增之后,内部时钟的计数值等于内部时钟的理想计数值。理想计数值等于周期时间的倍数,内部时钟不能将其表示为整数计数值。在借由增量序列使内部时钟递增之后,理想计数值等于周期时间的整数倍数。这样,至少在递
增之后,内部时钟借由增量序列适配于数据交换的时钟频率。在单独的递增步骤之后,即在内部时钟借由增量序列完全完成递增之前,内部时钟的计数值与理想计数值的偏差可以减小到舍入误差。这样,网络参与端可以与自动化通信网络中的另外网络参与端进行同步数据交换。
10.内部时钟生成时间是基于自动化通信网络中数据交换的时钟频率。有利地,内部时钟生成的时间就不必转换为数据交换的时钟域。这样的转换并非无延迟,并且这种延迟尤其是非恒定,因此无法静态地将其包含在内。在数据交换期间,内部时钟提供的时间与基准时钟的系统时间之间因延迟而引起的偏差又称为抖动。抖动可能导致一部分作为数据交换所交换的数据包具备错误的时间戳。在所述方法中,有利地消除了因将内部时钟的时钟域转换为自动化通信网络中数据交换的时钟域引起的延迟。这样就能在自动化通信网络中从交换的数据包分配准确的时间戳。
11.在某一实施方式中,整数增量序列为第一增量和第二增量的交替序列。第一增量为小于周期时间的最大整数。第二增量为大于周期时间的最小整数。有利地,在每个递增步骤之后或每个周期之后,内部时钟的计数值(该计数值表示为整数)与交替序列的理想计数值的偏差被限制到舍入误差。
12.在所述方法的某一实施方式中,该增量序列被设定为使得每个周期之后已完成周期的增量总和与周期时间倍数的偏差最小。内部时钟的计数值与周期时间的倍数之间的偏差可能影响自动化通信网络中的数据交换。例如,提供数据包的接收时间与来自内部时钟的时间。各个网络参与端还须在设定的时间输出信号。出于这些因素,内部时钟的计数值与周期时间的倍数的偏差可能对自动化通信网络中的同步数据交换产生负面影响。这样的影响可以有利地通过增量序列的设定增量顺序而得以最小化。
13.在某一实施方式中,通过调适增量序列中的至少一个增量来考虑网络参与端的内部时钟相对于自动化通信网络的基准时钟的漂移。如果考虑并补偿内部时钟的漂移,则有利地保持同步数据交换。
14.在某一实施方式中,重复进行借由整数增量序列使内部时钟递增。这样就能有利地保持数据交换的同步。
15.网络参与端被设置为以设定的时钟频率与自动化通信网络中的另外网络参与端交换数据。网络参与端具有内部时钟,用于与至少一个另外的网络参与端同步数据交换。内部时钟被设置为提供作为整数计数值的时间。时钟频率被设定为使得内部时钟不能用整数计数值表示每周期的周期时间。网络参与端具有内部控制单元。内部控制单元被构造为使得借由设定的整数增量序列使内部时钟递增。该整数增量序列被设定为使得整数增量的总和等于周期时间的整数倍数。
16.自动化通信网络具有至少两个网络参与端。网络参与端经由现场总线互相连接以交换数据。自动化通信网络额外地具有连接到网络参与端的自动化通信网络的控制单元。
附图说明
17.下文参照附图结合实施例的描述,本发明的上述特点、特征和优势以及它们的实现方式将更加清楚且容易理解。在各示意图中:
18.图1示出示例性自动化通信网络;
19.图2示出用于调控要在自动化通信网络中同步的网络参与端的内部时钟的调控原理;以及
20.图3示出表明网络参与端的内部时钟借由整数增量序列来递增的不同可行方案的表格。
具体实施方式
21.图1示意性示出自动化通信网络1。
22.自动化通信网络1具有多个网络参与端2和控制单元50。自动化通信网络1例如具有19个网络参与端2。但自动化通信网络1可以具有不同数目的网络参与端2。自动化通信网络1的拓扑结构可以有别于图1所示的拓扑结构。控制单元50具有主机51,该主机51例如构造为软件并且可以控制现场总线3上的网络参与端2与控制单元50之间的至少一次通信,即数据交换。自动化通信网络1具有上级网络参与端4。上级网络参与端4又可称为总线耦合器。另外,自动化通信网络1具有隶属于上级网络参与端4的下级网络参与端5。
23.控制单元50经由现场总线3连接到上级网络参与端4。网络参与端2也经由现场总线3互相连接。网络参与端2与控制单元50可以经由现场总线3彼此交换数据。例如,网络参与端2和控制单元50可以被构造为基于ethercat协议交换数据。相应地,主机51被构造为根据ethercat协议发送和接收数据包。下级网络参与端5均具有用于处理交换数据的对接单元。该对接单元又可称为从机。对接单元例如可以被构造为专用集成电路(application

specific integrated circuit,asic),或者也可以被构造为现场可编程门阵列(field programmable gate array,fpga)。图1中未示出下级网络参与端5的对接单元。
24.下级网络参与端5被构造为输入/输出单元,其具有用于现场设备的接口6。现场设备可以例如是传感器和致动器。图1中未示出接到自动化通信网络1的现场设备。
25.下级网络参与端5还均具有内部控制单元。图1中未示出该内部控制单元。内部控制单元均经由数据线连接到对接单元。内部控制单元被构造为基于对接单元所处理的数据来驱控现场设备。
26.自动化通信网络1具有在数据交换方面互相同步的网络参与端7。例如,图1中的自动化通信网络1具有五个互相同步的网络参与端7。但自动化通信网络1也可以具有不同数目互相同步的网络参与端7。自动化通信网络1具有至少两个要互相同步的网络参与端7。为了同步数据交换,要同步的网络参与端7均具有内部时钟8。互不同步的网络参与端9均不具有任何内部时钟8。自动化通信网络1中要同步的网络参与端7和不同步的网络参与端9的布置可以有别于图1中的示图。
27.要同步的网络参与端7的内部时钟8是对接单元的组成部分。内部时钟8可以例如被构造为石英晶振。内部时钟8均被构造为递增计数器。内部时钟8被设置为提供作为整数计数值的时间。内部时钟8形成自动化通信网络1中的分布式时钟(distributed clock)。
28.内部时钟8使用对接单元作为基准时钟10,该对接单元在自动化通信网络1中作为第一从机随内部时钟8布置在主机51之后。这在图1中将第一下级网络参与端11的内部时钟8示为最大的时钟。基准时钟10可以例如适配于全局时钟,例如适配于标准ieee 1588中定义的根时钟(grandmaster clock)。基准时钟10被设置为提供系统时间。基准时钟10设置用于使网络参与端7在短时间标度上同步,例如在亚毫秒的时间标度上同步。这样,网络参与
端7基于基准时钟10的同步尤其是涉及实时同步。
29.控制单元50的内部时钟8作为主机51的组成部分且称作主时钟12,其用作绝对全局时间基准。主时钟12可以例如是基于全局时间格式,例如基于时间信号发送器dcf77的时间格式,或例如基于自动化通信网络1内可应用的时间,例如由bios时钟提供的时间。主机51被构造为使基准时钟10初始化,以通过使用主时钟12提供系统时间,并在自动化通信网络1中同步整体数据交换。网络参与端7基于基准时钟10的实时同步和自动化通信网络1基于主时钟12的整体数据交换同步发生在不同的时间标度内,因此主时钟12不会违背自动化通信网络1的基准时钟10的上级地位。
30.图2示意性示出用于调控自动化通信网络1中要同步的网络参与端7的内部时钟8的调控原理13。内部时钟8被构造为递增计数器并被设置为提供要同步的网络参与端7的本地时间14(作为整数计数值)。
31.可以将本地时间14提供给从机的同步管理器(sync

manager)15。同步管理器15被设置用于在主机51与连接到从机的内部控制单元之间进行一致且安全的数据交换。
32.主机51可以将数据包传输到从机。第一下级网络参与端11的第一从机可以将其基于基准时钟10的系统时间存储在数据包中。然而,可以将数据包从第一从机转发到自动化通信网络1中的其他从机。这样,全部从机和主机都能接收系统时间的副本。
33.自动化通信网络1的内部时钟8彼此独立地构造。内部时钟8可以各在不同的时间激活,因此内部时钟8可以彼此之间具有时间偏移。尤其是,内部时钟8相对于基准时钟10可以具有时间偏移16。针对每个内部时钟8,可以在相应的从机中本地补偿相对于基准时钟10的时间偏移16。为了能够在整个自动化通信网络1中提供一致的系统时间,针对每个内部时钟8,可以确定内部时钟8相对于主机51的系统时间的时间偏移16,并分别将其存储在主机51的寄存器中。这样就能为每个从机提供系统时间的本地副本17。
34.系统时间的本地副本17可以用于同步信号18或锁存信号19。同步信号18和锁存信号19是可用于使本地应用与自动化通信网络1的数据交换同步的信号。由从机输出同步信号18。同步信号18可以例如是中断请求(interrupt)。将锁存信号19传输到从机。可以基于系统时间的本地副本17在定义的时刻由从机输出同步信号18。向从机传输的锁存信号19设有定义的时间戳(time stamping)。
35.必须在从机中处理从主机51传输到从机的数据包,并将其转发到其他从机,因此在传输数据包期间可能发生渡越时间延迟20。这也可能是因从机之间的线缆长度有限所致。为了使网络参与端7同步,必须考虑基准时钟10与内部时钟8之间的渡越时间延迟。为了补偿渡越时间延迟的影响,主机51可以发送数据包,每个从机基于各自的本地时间14存储该数据包的接收时间。这些本地接收时间21各自存储在从机的寄存器22中。本地接收时间21可以例如是在从机的接口处或从机的处理设备处接收到数据包的数据字段的时间。数据字段可以例如是继数据包前导码之后的所谓帧起始数据字段(start

of

frame datenfeld)。主机51可以访问本地接收时间21,并由此确定每个从机的渡越时间延迟20。本地接收时间21就可以借由渡越时间延迟20来进行校正。额外地考虑时间偏移16,基于系统时间的本地副本17得到延迟校正的接收时间23。
36.另一种可能导致内部时钟8与基准时钟10之间出现偏差的效应是可能因时钟速度差异而引起的漂移。当内部时钟8以整数表示形式指示本地时间14作为递增计数,例如在周
期时间为10ns的周期中,将其本地时间14的计数值增加值“10”,但基准时钟10每周期前进9ns,则内部时钟8比基准时钟10更快。
37.为了补偿漂移的影响,主机51能够以周期性间隔向从机传输系统时间。将已传输的系统时间24(其中还考虑到渡越时间延迟20)和基于系统时间的本地副本17校正延迟后的接收时间23提供给比较装置25。比较装置25又可称为系统时间差过滤器。比较装置25被构造为基于系统时间的本地副本17来确定周期性传输的系统时间24与校正延迟后的接收时间23之间的平均系统时间差26。如果平均系统时间差26为正,则内部时钟8比基准时钟10更快。反之,如果平均系统时间差26为负,则内部时钟8比基准时钟10更慢。
38.随后,基于平均系统时间差26,确定内部时钟8与基准时钟10之间的速度差29,使其平滑,并将其提供用于补偿内部时钟8的漂移。
39.例如,当内部时钟8例如在周期时间为10ns的周期中将其本地时间14的计数值增加值“10”,但基准时钟10的时钟周期偏离10ns的周期时间,这一偏差可能在几个周期内渐增。可以将速度差29提供给调控装置30。调控装置30可以基于速度差29使内部时钟8适配于基准时钟10。可以通过不时地将内部时钟8的计数值增加值“9”或值“11”来进行调适。
40.在自动化通信网络1的操作中,全部网络参与端2以设定的时钟频率交换数据。时钟频率可以例如为100mhz。自动化通信网络1的分布式内部时钟8的系统也能以100mhz逻辑来操作。在100mhz的情况下,每个周期的周期时间为10ns。在此情况下有益的是,内部时钟8在周期时间为10ns的周期中将其本地时间14的计数值增加值“10”。在此情况下,时间分辨率为1ns。在这些条件下,例如以100mbit/s的处理速率处理位宽为1个比特的数据包。在补偿漂移期间,本地时间14的计数值在周期时间为10ns的周期中有时可能增加值“9”或值“11”而非值“10”。
41.可以设定处理速率应为1000mbit/s。在此情况下提出,以125mhz的时钟频率处理位宽为1byte(8个比特)的数据包。每周期的周期时间为8ns。如果分布式内部时钟8的系统要适配于这一周期,则内部时钟8可以在周期时间为8ns的周期中将其本地时间14的计数值增加值“8”。在补偿漂移期间,本地时间14的计数值在周期时间为8ns的周期中有时可能增加值“7”或值“9”而非值“8”。
42.在下文的描述中,描述了一种自动化通信网络1中要同步的网络参与端7的操作方法。该方法能够使得要同步的网络参与端7在自动化通信网络1的操作期间与至少一个另外的网络参与端7同步数据交换。自动化通信网络1中的全部网络参与端2皆应以设定的时钟频率交换数据,该时钟频率被设定为使得内部时钟8不能用整数计数值表示每周期的周期时间。
43.例如,对于10000mbit/s的处理速率,可以例如以156.25mhz的时钟频率处理64位宽的数据包。在此情况下,每周期的周期时间为6.4ns。因为内部时钟8被设置为提供作为整数计数值的本地时间14,这对于6.4ns的周期时间无法实现。从机的寄存器22也可以仅包含整数值,该寄存器22中例如存储有本地接收时间21。
44.原则上,本地时间14可以借由除数据处理的时钟域以外的时钟域来生成。而分布式内部时钟8的系统耦合到数据处理。例如,在确定渡越时间延迟20期间,将本地接收时间21分配给数据包。当在自动化通信网络1中以设定的时钟频率处理数据包时,但分布式内部时钟8的系统以不同的时钟域运行,则本地时间14必须从其时钟域转换为数据处理的时钟
域。但这种转换却非无延迟,并且可能在数据交换期间导致本地时间14与系统时间发生额外的偏差。结果,数据包的接收时间在转换期间的误差可能增多。出于这种原因,当使用所述方法来操作要同步的网络参与端7时,基于数据处理的时钟频率来生成要同步的网络参与端7的本地时间14。
45.所述方法包括以下方法步骤:要同步的网络参与端7的内部时钟8借由设定的整数增量序列来递增。该整数增量序列被设定为使得增量序列的整数增量总和等于周期时间的整数倍数,其中,内部时钟8不能用整数计数值表示每周期的周期时间。该方法的基础在于,整数增量序列被设定为使得内部时钟8的计数值在内部时钟8递增之后与内部时钟8的理想计数值之间的偏差借由增量序列来进行补偿。理想计数值等于时钟周期数或增量序列的增量数与不能用整数计数值表示的周期时间的乘积,这称为理想增量。
46.对于156.25mhz逻辑的示例,可以例如选择增量“6”和“7”的序列。例如,增量序列(6,6,6,7,7)提供的增量总和为值“32”。这等于值为“6.4”的理想增量的五倍。在内部时钟8借由序列(6,6,6,7,7)递增之后,内部时钟8的计数值与理想计数值“32”即无偏差。
47.图3中示出表明要同步的网络参与端7的内部时钟8借由整数增量序列来递增的不同可行方案的表格。例如,每周期的理想增量应为“6.4”。
48.图3中的表格示出列100,在该列中输入周期号或增量序列的增量号“k”。在第一列101中输入第一增量序列“n
k”。在第二列102中输入第二增量序列“n
k”。在第三列103中输入第三增量序列“n
k”。第一增量序列、第二增量序列和第三增量序列关于整数增量“6”和“7”的序列有所不同。第一增量序列是(6,7,6,7,6)。第二增量序列是(7,6,6,6,7)。第三增量序列是(6,6,6,7,7)。
49.在第四列104中输入第一序列的增量总和“σn
k”。例如,在第三周期(k=3)之后,σn
k
=n1 n2 n3。在第五周期(k=5)之后,σn
k
=n1 n2 n3 n4 n5。类似地,在第五列105和第六列106中输入第二序列或第三序列的增量总和“σn
k”。在第五周期(k=5)之后,各个增量序列的整数增量的增量总和为“32”。各个增量总和相同且等于理想增量“6.4”的整数倍数。
50.在第七列107中输入内部时钟8的计数值在一周期后相对于第一增量序列的理想计数值的偏差“(σn
k
)

nt”。在此,“t”对应于周期时间或理想增量。“n”表示周期“k”总和的终值。类似地,在第八列108和第九列109中输入内部时钟8的计数值在一周期后相对于第二增量序列和第三增量序列的理想计数值的偏差“(σn
k
)

nt”。
51.基于偏差“(σn
k
)

nt”,可以看出,增量“6”和“7”的顺序对偏差存在影响。例如,第三增量序列(6,6,6,7,7)在第三周期后的最大偏差为
“‑
1.2”。在第二增量序列(7,6,6,6,7)中,第一个周期后的最大偏差为“ 0.6”,或第四周期后的最大偏差为
“‑
0.6”。通过使用第二增量序列代替第三增量序列使内部时钟8递增,即通过调适增量序列的顺序,利用所述方法操作要同步的网络参与端7可减小最大偏差。
52.第一增量序列(6,7,6,7,6)为增量“6”和“7”的交替序列。在此情况下,第一周期后的最大偏差为
“‑
0.4”,或第四周期后的最大偏差为“ 0.4”。通过使用第一增量序列代替第二增量序列使内部时钟8递增,利用所述方法操作要同步的网络参与端7即可进一步减小最大偏差。第一增量序列代表最大偏差最小化的序列。
53.一般而言,在所述方法中可以选择整数增量序列,该序列为第一增量和第二增量的交替序列。第一增量为小于周期时间或理想增量的最大整数。第二增量为大于周期时间
或理想增量的最小整数。
54.在第一增量序列中,增量“6”代表第一增量。增量“7”代表第二增量。交替序列应以第一增量开始还是以第二增量开始取决于理想增量。如果理想增量为“6.4”,则建议交替序列以第一增量开始,因为在此情况下,第一增量与理想增量的偏差小于第二增量与理想增量的偏差。如果理想增量例如为“6.6”,则建议交替序列以第二增量开始。
55.一般而言,在所述方法中即可选择整数递增序列,该序列的顺序被设定为使得每个周期之后已完成周期的增量总和与周期时间倍数的偏差最小。例如,第一增量序列即为这种情况。
56.在自动化通信网络1以设置为使得内部时钟8不能用整数计数值表示每周期的周期时间的时钟频率进行操作时,可以重复所述方法。即,可以重复进行借助该整数增量序列使内部时钟8递增,以保持网络参与端7与另外的网络参与端7的同步性。
57.在所述方法中,还可以通过调适增量序列中的至少一个增量来考虑要同步的网络参与端7的内部时钟8相对于自动化通信网络1的基准时钟10的漂移。必要时,应在确定漂移的时刻对漂移进行补偿,否则,与漂移相关的偏差会随时钟周期次数的增加而累积。
58.也可以重复进行借由经调适的整数增量序列使内部时钟8递增,以保持网络参与端7与另外的网络参与端7的同步性。

技术特征:
1.一种自动化通信网络(1)中的网络参与端(7)的操作方法,其中,所述网络参与端(7)被设置为以设定的时钟频率与所述自动化通信网络(1)中的另外网络参与端(2)交换数据,其中,所述网络参与端(7)具有内部时钟(8),用于与至少一个另外的网络参与端(7)同步数据交换,其中,所述内部时钟(8)被设置为提供作为整数计数值的时间,其中,所述时钟频率被设定为使得所述内部时钟(8)不能用整数计数值表示每周期的周期时间,其中,所述方法包括以下方法步骤:

借由设定的整数增量序列使所述内部时钟(8)递增,其中,所述整数增量序列被设定为使得所述整数增量的总和等于所述周期时间的整数倍数。2.根据权利要求1所述的方法,其中,所述整数增量序列为第一增量和第二增量的交替序列,其中,所述第一增量为小于所述周期时间的最大整数,其中,所述第二增量为大于所述周期时间的最小整数。3.根据权利要求1或2所述的方法,其中,所述增量序列被设定为使得每个周期之后已完成周期的增量总和与周期时间倍数的偏差最小。4.根据前述权利要求中任一项所述的方法,其中,通过调适所述增量序列中的至少一个增量来考虑所述网络参与端(7)的内部时钟(8)相对于所述自动化通信网络(1)的基准时钟(10)的漂移。5.根据前述权利要求中任一项所述的方法,其中,重复进行借由所述整数增量序列使所述内部时钟(8)递增。6.一种网络参与端(7),其被设置为以设定的时钟频率与自动化通信网络(1)中的另外网络参与端(2)交换数据,其中,所述网络参与端(7)具有内部时钟(8),用于与至少一个另外的网络参与端(7)同步数据交换,其中,所述内部时钟(8)被设置为提供作为整数计数值的时间,其中,所述时钟频率被设定为使得所述内部时钟(8)不能用整数计数值表示每周期的周期时间,其中,所述网络参与端(7)具有内部控制单元,其中,所述内部控制单元被构造为借由设定的整数增量序列使所述内部时钟(8)递增,其中,所述整数增量序列被设定为使得所述整数增量的总和等于所述周期时间的整数倍数。7.一种自动化通信网络,其包括至少两个根据权利要求6所述的网络参与端(7),其中,所述网络参与端(7)互相连接以经由现场总线(3)交换数据,其中,所述网络参与端(7)连接到所述自动化通信网络(1)的控制单元(50)。
技术总结
一种自动化通信网络(1)的网络参与端(7)被设置为以设定的时钟频率与自动化通信网络(1)中的另外网络参与端(2)交换数据。网络参与端(7)具有内部时钟(8),用于与至少一个另外的网络参与端(7)同步数据交换。内部时钟(8)被设置为提供作为整数计数值的时间。时钟频率被设定为使得内部时钟(8)不能用整数计数值表示每周期的周期时间。一种自动化通信网络(1)中的网络参与端(7)的操作方法包括以下方法步骤:借由设定的整数增量序列使内部时钟(8)递增。整数增量序列被设定为使得整数增量的总和等于周期时间的整数倍数。于周期时间的整数倍数。于周期时间的整数倍数。


技术研发人员:艾利克
受保护的技术使用者:倍福自动化有限公司
技术研发日:2019.11.19
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-10449.html

最新回复(0)