数据发送方法、数据处理方法及工业控制系统的制作方法

文档序号:6319809阅读:116来源:国知局
专利名称:数据发送方法、数据处理方法及工业控制系统的制作方法
技术领域
本发明涉及以工业以太网构建的大规模自动化工业控制系统,尤其涉及 工业控制系统中的数据发送技术和数据处理技术。
背景技术
传统的工业控制系统包括操作站、控制站和控制网,操作站与控制站之 间通过控制网连接,控制网转发操作站与控制站之间传输的数据。操作站收 到控制站广播的数据后,需要对接收到的数据设置时间标签,以便于后续处 理。 一般来说,设置的时间标签所标明的时刻是操作站设置时间标签的时刻。 当操作站内部的处理器比较忙时,可能不会及时处理操作站内部的网卡收到 的数据。这种情况下,网卡要緩存其收到的数据。当处理器有能力处理网卡 緩存的数据时,再开始处理网卡緩存的数据。
但是,发明人经过仔细研究上述现有技术后发现当处理器开始处理网 卡緩存的数据时,处理器会对在不同时刻到达网卡的^t据设置相同的时间标 签。然而,现有技术要求,不同时刻到达操作站的数据需要设置有不同的时 间标签,以便于其他程序处理数据。例如,正常情况下,操作站在每一秒都 会收到控制站广播的数据,对于每一秒收到的数据,才喿作站都应该设置用于 标明数据到达时刻的时间标签,也就是说,操作站为每一秒到达的数据都设 置了标明数据到达时刻的时间标签。如果处理器对在不同时刻到达网卡的数 据设置相同的时间标签,那么处理器就只能选择保留其中的一秒到达的数据, 也就是说,处理器要丢弃或覆盖掉一些具有相同时间标签的数据。显然,这 种情况不利于后续的凄t据处理。

发明内容
本发明提供数据发送方法、控制站、数据处理方法、操作站及工业控制 系统,用以避免操作站在处理不同时刻到达的数据的过程中丢掉或覆盖掉数据。
一种数据发送方法,适用于包括控制站和操作站的工业控制系统,控制 站执行下述步骤设置步骤,对需要广播的数据设置时间标签;广播步骤,将设置有所述时间标签的所述数据广播给操作站。
一种控制站,适用于包括控制站和"J喿作站的工业控制系统,所述控制站
包括设置单元,对需要广播的数据设置时间标签;广播单元,将设置有所 述时间标签的所述数据广播给操作站。
一种数据处理方法,适用于包括控制站和操作站的工业控制系统,所述 方法包括操作站连续多次接收控制站广播的携带有时间标签的数据,所述 时间标签是控制站设置的;操作站根据所述连续多次接收的数据携带的时间 标签,对所述连续多次接收的数据处理。
一种操作站,适用于包括控制站和操作站的工业控制系统,所述操作站 包括接收单元,连续多次接收控制站广播的携带有时间标签的数据,所述 时间标签是控制站设置的;处理单元,根据所述连续多次接收的数据携带的 时间标签,对所述连续多次接收的数据处理。
一种工业控制系统,包括控制站、操作站和控制网;控制网,转发控制 站与操作站之间的数据;控制站,对需要广播的数据设置时间标签,并将设 置有所述时间标签的所述数据通过控制网广播给操作站;操作站,从控制网 连续多次接收控制站广播的携带有时间标签的数据,并根据所述连续多次接 收的数据携带的时间标签,对所述连续多次接收的凝:据处理。
本发明与现有技术相比,至少具有如下优点
由于控制站一般都会定时(例如每一秒)向操作站广播数据,所以,如 果由控制站对广播给操作站的数据设置时间标签,那么可以基本避免出现时 间标签相同的数据(例如,按照设置时间标签的时刻^:置时间标签)。这样, 操作站收到的数据携带的时间标签都会不同,自然也不会轻易的丢弃或覆盖 掉一些数据,有利于后续的数据处理。
同时,多个操作站接收到的相同数据都会携带相同的时间标签,避免了 同 一个数据在不同的操作站上显示不同的时刻。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的数据发送方法的流程图; 图2为本发明的控制站的逻辑结构示意图; 图3为本发明的凄t据处理方法的流程图; 图4为本发明的操作站的逻辑结构示意图; 图5为本发明的工业控制系统的逻辑结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于本发明涉及到工业控制系统,所以下面首先介绍工业控制系统中的 一些4支术常识。
工业控制系统包括控制站、操作站和控制网,控制网转发控制站和操作 站之间的数据。控制站一般会在每一秒都向操作站广播数据,广播的数据的 形式是数据包,数据包中包括数据的实时值和数据的质量码信息。例如,假 设控制站在第n (n为正整数)秒广播第n个数据包,那么控制站会在第n+l 秒广播第n+l个数据包,在第n+2秒广播第n+2个凄t据包,以此类推,在第 n+m ( m为正整数)秒广播第n+m个数据包。再々li殳共设置1000个位号,一 个位号对应一个实时值,那么一个数据包中就会有1000个实时值。操作站在 收到控制站广播的数据后,会定期对数据进行统计,例如统计每个位号的实 时值的变化趋势等信息。
本发明既可以从控制站的角度来描述,也可以从操作站的角度来描述, 还可以从工业控制系统的角度来描述。
首先从控制站的角度来描述。对此,本发明提供了一种数据发送方法。 这种方法适用于包括控制站和操作站的工业控制系统。如图1所示,控制站 执行下述步骤
S101:设置步骤,对需要广播的数据设置时间标签; S102:广播步骤,将设置有所述时间标签的所述数据广播给操作站。 具体的,时间标签标明的时刻可以是控制站设置时间标签的时刻。例如, 假设控制站在设置时间标签时,当前时刻为07:00:00,那么设置的时间标签就
10可以是07:00:00。这里需要说明的是,虽然广播步骤应该在设置步骤之后执行, 但控制站执行设置步骤和广播步骤的时间间隔非常短,或者说,时间间隔可 以忽略不计,所以,控制站设置时间标签的时刻也可以认为是控制站广播数 据的时刻。
为保证数据的实时性,控制站可以釆用以太网用户数据报协议(UDP, User Datagram Protocol)方式将设置有时间标签的数据广播给操作站。
上面提到过,控制站可以在每一秒都广播数据,所以,控制站可以在每 一秒都执行S101和S102。也就是说,控制站可以以1秒为单位,重复执行 S101和S102。例如,控制站在07:00:00广播携带07:00:00的数据包,在07:00:01 广播携带07:00:01的数据包,以此类推。
上面也提到过,控制站广播的数据的形式是数据包,数据包中包括数据 的实时值和数据的质量码信息。在本发明中,控制站广播的设置有时间标签 的数据的形式也可以是数据包,这样的数据包应该至少包括数据的实时值、 时间标签和数据的质量码信息,其中,质量码信息表明实时值的可靠程度。 另外,与现有技术相同, 一个数据包中包括对应所有位号的实时值,例如, 假设有1000个位号,那么 一个数据包中就应该有1000个实时值。
由于控制站需要对广播的数据设置时间标签,操作站需要根据时间标签 处理数据,所以,时间标签是本发明的一个很重要的技术点。为保证控制站 与操作站之间的时钟同步,可以将一个操作站设置为时钟源,控制站和其他 操作站都与时钟源进行时钟同步。
具体的,在设置步骤之前,数据发送方法还可以包括同步步骤,控制站 与时钟源进行时钟同步。这样,控制站可以以同步后的时钟为基准,对需要 广播的数据设置时间标签。
对应于上述的数据发送方法,本发明还提供一种控制站。同样,这种控 制站也可以适用于包括控制站和操作站的工业控制系统。如图2所示,这种 控制站包括设置单元201,对需要广播的数据设置时间标签;广播单元202, 将设置有所述时间标签的所述数据广播给揭:作站。
具体的,时间标签标明的时刻可以是设置单元201设置时间标签的时刻。 例如,假设设置单元201在设置时间标签时,当前时刻为07:00:00,那么设置 的时间标签就可以是07:00:00。这里需要说明的是,虽然广播单元202将设置有所述时间标签的所述数据广播给操作站应该在设置单元201对需要广播的 数据设置时间标签之后执行,但是,设置单元201执行的步骤与广播单元202 执行的步骤之间的时间间隔非常短,或者说,时间间隔可以忽略不计,所以, 设置单元201设置时间标签的时刻也可以认为是广^"单元202广播数据的时 刻。
为保证数据的实时性,广播单元202可以采用以太网用户数据^t艮协议 (UDP, User Datagram Protocol )方式将设置有时间标签的数据广播给操作站。
上面提到过,控制站可以在每一秒都广播数据,所以,在每一秒,设置 单元201都要对需要广播的数据设置时间标签,广播单元202都要将设置有 时间标签的数据广播给操作站。也就是说,设置单元201和广播单元202可 以以1秒为单位,重复执行设置步骤和广4番步骤。例如,广4番单元202在 07:00:00广播携带07:00:00的数据包,在07:00:01广播携带07:00:01的数据 包,以ot匕类4侏。
上面也提到过,控制站广播的数据的形式是数据包,数据包中包括数据 的实时值和数据的质量码信息。在本发明中,广播单元202广播的设置有时 间标签的数据的形式也可以是数据包,这样的数据包应该至少包括数据的实 时值、时间标签和数据的质量码信息,其中,质量码信息表明实时值的可靠 程度。另外,与现有技术相同, 一个数据包中包括对应所有位号的实时值, 例如,假i殳有1000个位号,那么一个数据包中就应该有1000个实时值。
由于设置单元201需要对广播的数据设置时间标签,操作站需要根据时 间标签处理数据,所以,时间标签是本发明的一个很重要的技术点。为保证 控制站与操作站之间的时钟同步,可以将一个操作站设置为时钟源,控制站 和其他操作站都与时钟源进行时钟同步。这种情况下,本发明提供的控制站 还可以包括同步单元(图中未绘示),在设置单元201对需要广播的数据设置 时间标签之前,与时钟源进行时钟同步。这样,设置单元201在对需要广播 的数据设置时间标签时,就可以以同步后的时钟为基准,对需要广播的数据 ^殳置时间标签。
下面再从操作站的角度来描述。对此,本发明提供了一种数据处理方法。 这种方法适用于包括控制站和操作站的工业控制系统。如图3所示,这种方 法包括S301:操作站连续多次接收控制站广播的携带有时间标签的数据,所述 时间标签是控制站设置的;
S302:操作站根据所述连续多次接收的数据携带的时间标签,对所述连 续多次接收的数据处理。
上面提到过,控制站可以连续向操作站广播携带有时间标签的数据,这 样,操作站就可以连续多次接收控制站广播的携带有时间标签的数据。例如, 控制站在每一秒都向操作站广播携带有时间标签的数据包,这样,操作站在 每一秒都可以接收到控制站广播的携带有时间标签的数据包。操作站接收的 数据的形式可以是数据包,有关数据包的描述可以参见在上述的数据发送方 法和控制站中关于数据包的描述,这里不再赘述。
操作站在连续多次接收携带有时间标签的数据后,可以根据时间标签对 数据进行多种方式的处理。
例如,如果操作站根据预先规定的时间标签所标明的时刻的变化规律, 检测到连续多次接收的数据携带的时间标签所标明的时刻中存在空缺的时 刻,则在所述连续多次接收的数据中补充空缺的时刻所对应的数据。具体的, 预先规定的时间标签所标明的时刻的变化规律可以为,每一次接收的数据携 带的时间标签所标明的时刻相对于之前一次接收的数据携带的时间标签所标 明的时刻增加一秒,也就是说,时间标签所标明的时刻是以1秒为单位递增 的。这种情况下,上述的存在空缺的时刻的表现形式可以为,在连续多次接 收的数据携带的时间标签所标明的时刻中,至少有两个连续接收的数据携带 的时间标签所标明的时刻之间的差值超过一秒,也就是说,没有收到设置有 其中一秒的时间标签的数据。例如,假设控制站设置的时间标签的规律应该 是07:00:00、 07:00:01、 07:00:02、 07:00:03、 07:00:04和07:00:05,并假设操 作站在6秒内收到了携带07:00:00的数据包、携带07:00:01的数据包、携带 07:00:02的数据包、携带07:00:04的数据包和携带07:00:05的数据包,显然, 空缺的时刻应该是指07:00:03。当然,如果操作站在6秒内收到了携带07:00:00 的数据包、携带07:00:04的数据包和携带07:00:05的数据包,那么空缺的时 刻就应该是指07:00:01、 07:00:02和07:00:03。
在实际应用中,操作站可以按照下述方式在连续多次接收的数据中补充 空缺的时刻所对应的数据,即,操作站在连续多次接收的数据中,将空缺的时刻所对应的数据补充为在所述空缺的时刻之前、且与所迷空缺的时刻相邻
的时刻所对应的数据。例如,夺支设对于位号06,操作站在6秒内收到了携带 07:00:00的数据包、携带07:00:01的数据包、携带07:00:02的数据包、携带 07:00'.04的数据包和携带07:00'.05的数据包,显然,操作站没有收到对应 07:00:03且对应位号06的实时值,这种情况下,操作站可以将对应07:00:03 且对应位号06的实时值补充为携带07:00:02的数据包中的对应位号06的实 时值。同理,对应07:00:03且对应其他位号的实时值都可以补充完整。再例 如,假设对于位号06,操作站在6秒内收到了携带07:00:00的数据包、携带 07:00:01的数据包、携带07:00:04的数据包和携带07:00:05的数据包,显然, 操作站没有收到对应07:00:02和07:00:03且对应位号06的实时值,这种情况 下,才喿作站可以将对应07:00:02且对应^立号06的实时^i补充为携带07:00:01 的数据包中的对应位号06的实时值,将对应07:00:03且对应位号06的实时 值补充为携带07:00:02的数据包中的对应位号06的实时值,当然,携带 07:00:02的数据包中的对应位号06的实时值也是携带07:00:01的数据包中的 对应位号06的实时值。
操作站也可以按照下述方式根据所述连续多次接收的数据携带的时间标 签、对所述连续多次接收的数据处理,即,操作站如果发现所述连续多次接 收的数据携带的时间标签中存在相同的时间标签,则再检查在所述相同的时 间标签所标明的时刻之前、且与所述相同的时间标签所标明的时刻相邻的时 刻是否空缺;如果空缺,则操作站将所述空缺的时刻所对应的数据补充为所 述相同的时间标签对应的数据中的最先收到的数据;如果不空缺,则操作站 删除所述相同的时间标签对应的数据中的最先收到的数据。例如,假设操作 站在6秒内收到了携带07:00:00的数据包、携带07:00:01的数据包、携带 07:00:02的数据包、两个携带07:00:04的数据包和携带07:00:05的数据包, 显然,有两个数据包的时间标签为07:00:04,而且,空缺的时刻为07:00:03。 这种情况下,操作站可以将两个携带07:00:04的数据包中的一个数据包作为 对应07:00:03的数据包,优选的,将最先收到的携带07:00:04的邀:据包作为 对应07:00:03的数据包。再假设,操作站在6秒内收到了携带07:00:00的数 据包、携带07:00:01的数据包、携带07:00:02的数据包、携带07:00:03的数 据包、两个携带07:00:04的数据包和携带07:00:05的数据包。这种情况下,
14可以将两个携带07:00:04的数据包中的一个凝:据包删除,优选的,删除最先 收到的携带07:00:04的数据包。
操作站如果发现所述连续多次接收的数据携带的时间标签中存在相同的 时间标签,则也可以再冲企查在所述相同的时间标签所标明的时刻之后、且与 所述相同的时间标签所标明的时刻相邻的时刻是否空缺;如果空缺,则操作
的最后收到的数据;如果不空缺,则」操作站删除所述相同的时间标签对应的 数据中的最先收到的数据。例如,假设操作站在6秒内收到了携带07:00:00 的数据包、携带07:00:01的数据包、两个携带07:00:02的数据包、携带07:00:04 的数据包和携带07:00:05的数据包,显然,有两个数据包的时间标签为 07:00:02,而且,空缺的时刻为07:00:03。这种情况下,操作站可以将两个携 带07:00:02的数据包中的一个数据包作为对应07:00:03的数据包,优选的, 将最后收到的携带07:00:02的数据包作为对应07:00:03的数据包。再假设, 操作站在6秒内收到了携带07:00:00的数据包、携带07:00:01的数据包、两 个携带07:00:02的数据包、携带07:00:03的数据包、携带07:00:04的数据包 和携带07:00:05的数据包。这种情况下,可以将两个携带07:00:02的数据包 中的一个数据包删除,优选的,删除最先收到的携带07:00:02的数据包。
操作站连续多次接收控制站广播的携带有时间标签的数据的过程可以包 括操作站存储每次接收的数据,其中,对于任意一次接收的数据操作站 可以判断已存储的数据量是否达到预先设置的容量门限;如果操作站判断出 已存储的数据量达到了预先设置的容量门限,则删除最早存入的数据,并根 据当前接收的数据携带的时间标签所标明的时刻与已存储的数据携带的时间 标签所标明的时刻之间的先后顺序,存储当前接收的数据;如果操作站判断 出已存储的数据量未达到预先设置的容量门限,则根据当前接收的数据携带 的时间标签所标明的时刻与已存储的数据携带的时间标签所标明的时刻之间 的先后顺序,存储当前接收的数据。在实际应用中,可能由于时钟同步等原 因,控制站修改了本地时钟,这种情况下,控制站广播的数据携带的标签在 某个时刻就不能按照一秒的单位递增。例如,假设操作站先后收到了 35个数 据包,并且存储了这些数据包,这些数据包携带的时间标签依次为07:00:00、 07:00:01、 07:00:02..... 07:00:34。再假设预先设置的容量门限就是35个数据包,这种情况下,当操作站再次收到数据包后,可以将携带07:00:00的数 据包删除,这样,操作站就可以存储再次收到的数据包。当然,操作站也可 以将最早接收的几个数据包一同删除。另外,正常情况下,操作站再次收到 的数据包应该是携带07:00:35的数据包,假设操作站再次收到的数据包是携 带07:00:30的数据包,此时,操作站可以将原来存储的携带07:00:30的数据 包删除,将再次收到的携带07:00:30的数据包存储到原来存储携带07:00:30 的数据包的位置。同理,原来存储的携带07:00:31的数据包、携带07:00:32 的数据包、携带07:00:33的数据包和携带07:00:34的数据包都将分别被再次 收到的携带07:00:31的数据包、携带07:00:32的数据包、携带07:00:33的数 据包和携带07:00:34的数据包替换掉。
操作站连续多次接收控制站广播的携带有时间标签的数据的过程也可以 包括操作站存储每次接收的数据,其中,对于任意一次接收的数据如果 操作站判断出当前接收的数据携带的时间标签所标明的时刻在至少一个已存 储的数据携带的时间标签所标明的时刻之前,则删除携带的时间标签所标明 的时刻在当前接收的数据携带的时间标签所标明的时刻之后的数据;或者, 如果操作站判断出当前接收的数据携带的时间标签所标明的时刻与已存储的 数据携带的时间标签所标明的时刻中最靠后的时刻之差超过了预先设置的差 值门限,则删除已存储的所有数据。例如,假设操作站先后收到了 IO个数据 包,并且存储了这些数据包,这些数据包携带的时间标签依次为07:00:00、
07:00:01、 07:00:02..... 07:00:09。正常情况下,操作站再次收到的数据包应
该是携带07:00:10的数据包,假设操作站再次收到的数据包是携带07:00:07 的数据包,此时,操作站可以将原来存储的携带07:00:07的数据包、携带 07:00:08的数据包和携带07:00:09的数据包删除,并且在原来存储的携带 07:00:06的数据包之后,存储再次收到的携带07:00:07的数据包。再假设,操 作站在先后存储了携带07:00:00的数据包、携带07:00:01的数据包等9个数 据包后,再次收到的数据包应该是携带07:00:10的数据包,而操作站却收到 了携带07:00:50的数据包,这种情况下,可以将原来存储的9个数据包都删 除。
当然,在上述几个技术手段中,可能会丢掉一个或多个数据包,但是, 这都是在控制站调整时钟时发生的,而并不是经常存在的现象。实际上,从
16第 一个以调整后的时钟为基准设置的时间标签开始,在其后设置的时间标签 还是会以一秒为单位递增的,这样,后续不会产生丢包的现象。
对应于上述的数据处理方法,本发明提供一种操作站。同样,这种操作 站也适用于包括控制站和操作站的工业控制系统。如图4所示,这种操作站
包括接收单元401,连续多次接收控制站广播的携带有时间标签的数据,所 述时间标签是控制站设置的;处理单元402,根据所述连续多次接收的数据携 带的时间标签,对所述连续多次接收的数据处理。 具体的,处理单元402可以有多种实现形式。
例如,处理单元402可以包括第一检测模块,根据预先规定的时间标 签所标明的时刻的变化规律,检测到连续多次接收的数据携带的时间标签所 标明的时刻中是否存在空缺的时刻;补点模块,如果第一检测模块根据预先 规定的时间标签所标明的时刻的变化规律,;险测到连续多次接收的数据携带 的时间标签所标明的时刻中存在空缺的时刻,则补点模块在所述连续多次接 收的数据中补充空缺的时刻所对应的数据。
再例如,处理单元402可以包括第二斥企测才莫块,4全测连续多次^接收的 数据携带的时间标签中是否存在相同的时间标签;第三检测模块,如果第二 检测模块检测出所述连续多次接收的数据携带的时间标签中存在相同的时间 标签,则第三检测模块检测在所述相同的时间标签所标明的时刻之前、且与 所述相同的时间标签所标明的时刻相邻的时刻是否空缺;补点模块,如果第 三检测模块检测出在所述相同的时间标签所标明的时刻之前、且与所述相同 的时间标签所标明的时刻相邻的时刻空缺,则补点模块将所述空缺的时刻所 对应的数据补充为所述相同的时间标签对应的数据中的接收单元401最先收 到的数据;如果第三检测模块检测出在所述相同的时间标签所标明的时刻之
删除所述相同的时间标签对应的数据中的接收单元401最先收到的数据。
再例如,处理单元402可以包括第二检测模块,检测连续多次接收的 数据携带的时间标签中是否存在相同的时间标签;第三检测模块,如果第二 检测模块检测出所述连续多次接收的数据携带的时间标签中存在相同的时间 标签,则第三检测模块检测在所述相同的时间标签所标明的时刻之后、且与 所述相同的时间标签所标明的时刻相邻的时刻是否空缺;补点模块,如果第三检测模块检测出在所述相同的时间标签所标明的时刻之后、且与所述相同 的时间标签所标明的时刻相邻的时刻空缺,则补点模块将所述空缺的时刻所
对应的数据补充为所述相同的时间标签对应的数据中的接收单元401最后收 到的数据;如果第三检测模块检测出在所述相同的时间标签所标明的时刻之
删除所述相同的时间标签对应的数据中的接收单元401最先收到的数据。 接收单元401也可以有多种实现形式。
例如,接收单元401可以包括接收模块,接收控制站广播的携带有时 间标签的数据;存储模块,存储接收模块每次接收的携带有时间标签的数据; 对于接收模块任意一次接收的数据存储模块判断已存储的数据量是否达到 预先设置的容量门限;如果存储模块判断出已存储的数据量达到了预先设置 的容量门限,则删除最早存入的数据,并根据当前接收的数据携带的时间标 签所标明的时刻与已存储的数据携带的时间标签所标明的时刻之间的先后顺 序,存储当前接收的数据;如果存储模块判断出已存储的数据量未达到预先
存储的数据携带的时间标签所标明的时刻之间的先后顺序,存储当前接收的 数据。
再例如,接收单元401可以包括接收模块,接收控制站广播的携带有 时间标签的数据;存储模块,存储接收模块每次接收的携带有时间标签的数 据;对于接收模块任意一次接收的数据如果存储模块判断出当前接收的数 据携带的时间标签所标明的时刻在至少 一个已存储的数据携带的时间标签所 标明的时刻之前,则删除携带的时间标签所标明的时刻在当前接收的数据携 带的时间标签所标明的时刻之后的数据;或者,如果存储模块判断出当前接 收的数据携带的时间标签所标明的时刻与已存储的数据携带的时间标签所标 明的时刻中最靠后的时刻之差超过了预先设置的差值门限,则删除已存储的 所有数据。
需要说明的是,由于上述的操作站中的各个单元及其中的各个模块都是 虚拟单元或虚拟模块,并且这些单元或模块都是对上述的数据处理方法中的 步骤虚拟化得到的,所以,这些单元或模块的相关描述完全可以参见上述的 数据处理方法中的对应步骤的相关描述,这里不再赘述。上面提到过,本发明可以应用在工业控制系统中。对此,本发明还提供 一种工业控制系统。如图5所示,这种工业控制系统包括控制站、操作站和
控制网。其中,控制网,转发控制站与操作站之间的数据;控制站,对需要 广播的数据设置时间标签,并将设置有所述时间标签的所述数据通过控制网 广播给操作站;操作站,从控制网连续多次接收控制站广播的携带有时间标 签的数据,并根据所述连续多次接收的数据携带的时间标签,对所述连续多 次接收的数据处理。
上述的工业控制系统可以包括多个操作站,其中一个操作站可以作为时 钟源,这个时钟源可以将时钟信息提供给控制站和其他操作站,控制站和其 他操作站根据时钟源提供的时钟信息,完成时钟同步。同步时,可以釆用简 单网络时间协议(SNTP, Simple Network Time Protocol)。
关于控制站的描述,可以参见本发明提供的上述的数据发送方法和控制 站中的相关描述。关于操作站的描述,可以参见本发明提供的上述的数据处 理方法和操作站中的相关描述。这里不再赘述。
在本发明的所有实施例中,控制站可以是指用于直接与现场通信的I/O处 理装置。优选的,控制站可以在每一秒都广播携带有时间标签的数据,这样 可以避免出现漏包现象。
在本发明的所有实施例中,操作站可以是指用户使用的终端,例如计算 机。操作站接收到控制站广播的携带有时间标签的数据包后,可以解析数据 包,并可以对数据包中的对应所有位号的实时值都设置这个时间标签,之后, 存储对应所有位号的携带有时间标签的实时值。优选的,操作站中可以设置 有数据緩存区,这个数据緩存区最多可以存储每个位号的最新的35个实时值 (相当于本发明提供的上述的数据处理方法和操作站中的预先设置的容量门 限)。另外,操作站可以定时对数据緩存区中的数据进行处理,例如,定时统 计每个位号的实时值的变化趋势。再例如,操作站定时检查是否存在空缺的 时刻,或者说,检查时间标签所标明的时刻是否是按照1秒连续增加的,如 果发现空缺了其中的一秒或几秒,那么就需要补充空缺的时刻所对应的数据。
在本发明的所有实施例中,操作站可以对其数据緩存区中的数据进行必 要的补点操作,这样可以基本过滤携带有错误的时间标签的数据,极大的保 证了数据的正确性。
19在本发明的所有实施例中,可以将其中的一个操作站作为时钟源,时钟 源可以向控制器和其他操作站同步时钟信息,控制器和其他操作站收到时钟 信息后,可以调整本地时钟。这样,工业控制系统中的操作站之间、操作站 和控制站之间、控制站之间都达到了时钟同步。
在本发明的所有实施例中,控制站对广播的数据设置时间标签,这样, 接收到控制站广播的数据的操作站都获得了对应同 一个数据的相同的时间标 签,这样,无论用户在哪个操作站上处理数据,所看到的时间标签都是一致
的。例如,假设控制站向操作站1 、操作站2和操作站3广播数据,在07:00:00, 控制站向操作站1、操作站2和操作站3广播携带有07:00:00的某个数据包, 这样,操作站l、操作站2和操作站3接收的这个数据包都携带了 07:00:00。 无论用户在操作站1 、操作站2还是操作站3上处理这个数据包,用户所看到 的这个数据包携带的时间标签都是07:00:00。
在本发明的所有实施例中,由控制站对广播的数据设置时间标签。由于 控制站一般都会定时(例如每一秒)向操作站广播数据,所以,如果由控制 站对广播给操作站的数据设置时间标签,那么可以基本避免出现时间标签相 同的数据(例如,按照设置时间标签的时刻设置时间标签)。这样,操作站收 到的数据携带的时间标签都会不同,自然也不会轻易的丟弃或覆盖掉一些数 据,有利于后续的数据处理。
需要说明的是,对于本发明中的控制站和操作站来说,其中包括的很多 单元及其中的模块都是虚拟单元和虚拟模块,即,由计算机语言的语句或语 句组合实现。在实际应用中,不同语句的组合实现的功能可以有所不同,这 种情况下,对虚拟单元和虚拟模块的划分也可能有所不同。也就是说,本发 明只是给出了一种虚拟单元和虚拟模块的划分方式,在实际应用中,本领域 技术人员可以根据实际需要而采用不同的虚拟单元和虚拟模块的划分方式, 只要保证能够实现本发明中的控制站和操作站所具有的功能即可。
本领域普通技术人员可以理解,实现本发明提供的方法中的全部或部分 流程,是可以通过计算机程序来指令相关的硬件来完成的,所述的程序可存 储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的 实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种数据发送方法,其特征在于,适用于包括控制站和操作站的工业控制系统,控制站执行下述步骤设置步骤,对需要广播的数据设置时间标签;广播步骤,将设置有所述时间标签的所述数据广播给操作站。
2. 如权利要求1所述的方法,其特征在于,在设置步骤之前,还包括同 步步骤,控制站与时钟源进行时钟同步;所述设置步骤的实现方式为以同步后的时钟为基准,对需要广播的数 据设置时间标签。
3. 如权利要求1所述的方法,其特征在于,所述时间标签标明的时刻为控 制站设置时间标签的时刻。
4. 如权利要求1所述的方法,其特征在于,所述广播步骤的实现方式为 控制站采用以太网用户数据报协议UDP方式将设置有所述时间标签的所述数 据广播给操作站。
5. 如权利要求1所述的方法,其特征在于,控制站在每一秒都执行所述设 置步骤和所述广播步骤。
6. 如权利要求1所述的方法,其特征在于,设置有所述时间标签的所述数 据为一个数据包,所述数据包至少包括数据的实时值、所述时间标签和数据 的质量码信息。
7. —种控制站,其特征在于,适用于包括控制站和操作站的工业控制系统, 所述控制站包括设置单元,对需要广播的数据设置时间标签;广播单元,将设置有所述时间标签的所述数据广纟番给操作站。
8. 如权利要求7所述的控制站,其特征在于,还包括同步单元,在设置 单元对需要广播的数据设置时间标签之前,与时钟源进行时钟同步;设置单元在对需要广播的数据设置时间标签时,以同步后的时钟为基准。
9. 一种数据处理方法,其特征在于,适用于包括控制站和操作站的工业控 制系统,所述方法包括操作站连续多次接收控制站广播的携带有时间标签的数据,所述时间标 签是控制站设置的;操作站根据所述连续多次接收的数据携带的时间标签,对所述连续多次 接收的数据处理。
10. 如权利要求9所述的方法,其特征在于,操作站按照下述方式根据所述连续多次接收的婆:据携带的时间标签、对所述连续多次接收的数据处理如果操作站根据预先规定的时间标签所标明的时刻的变化规律,检测到 连续多次接收的数据携带的时间标签所标明的时刻中存在空缺的时刻,则在 所述连续多次接收的数据中补充空缺的时刻所对应的翁:据。
11. 如权利要求IO所述的方法,其特征在于,所述变化规律为每一次接 收的数据携带的时间标签所标明的时刻相对于之前一次接收的数据携带的时 间标签所标明的时刻增加一秒;所述存在空缺的时刻的表现形式为在连续多次接收的数据携带的时间 标签所标明的时刻中,至少有两个连续接收的数据携带的时间标签所标明的 时刻之间的差值超过一秒。
12. 如权利要求IO所述的方法,其特征在于,操作站按照下述方式在所述 连续多次接收的数据中补充空缺的时刻所对应的数据操作站在所述连续多 次接收的数据中,将空缺的时刻所对应的数据补充为在所述空缺的时刻之前、 且与所述空缺的时刻相邻的时刻所对应的lt据。
13. 如权利要求9所述的方法,其特征在于,操作站按照下述方式根据所 述连续多次接收的数据携带的时间标签、对所述连续多次接收的数据处理操作站如果发现所述连续多次接收的数据携带的时间标签中存在相同的 时间标签,则再^r查在所述相同的时间标签所标明的时刻之前、且与所述相 同的时间标签所标明的时刻相邻的时刻是否空缺;如果空缺,则操作站将所述空缺的时刻所对应的数据补充为所述相同的 时间标签对应的凝:据中的最先收到的凝:据;如果不空缺,则操作站删除所述相同的时间标签对应的数据中的最先收 到的数据。
14. 如权利要求9所述的方法,其特征在于,操作站按照下述方式根据所 述连续多次接收的数据携带的时间标签、对所述连续多次接收的数据处理操作站如果发现所述连续多次接收的数据携带的时间标签中存在相同的 时间标签,则再检查在所述相同的时间标签所标明的时刻之后、且与所述相同的时间标签所标明的时刻相邻的时刻是否空缺;如果空缺,则操作站将所述空缺的时刻所对应的数据补充为所述相同的 时间标签对应的数据中的最后收到的数据;如果不空缺,则操作站删除所述相同的时间标签对应的数据中的最先收 到的数据。
15. 如权利要求9所述的方法,其特征在于,才喿作站连续多次接收控制站 广播的携带有时间标签的数据的过程包括操作站存储每次接收的数据,其 中,对于任意一次接收的数据才喿作站判断已存储的数据量是否达到预先设置的容量门限; 如果操作站判断出已存储的数据量达到了预先设置的容量门限,则删除 最早存入的数据,并根据当前接收的数据携带的时间标签所标明的时刻与已 存储的数据携带的时间标签所标明的时刻之间的先后顺序,存储当前接收的 数据;如果操作站判断出已存储的数据量未达到预先设置的容量门限,则根据 当前接收的数据携带的时间标签所标明的时刻与已存储的数据携带的时间标 签所标明的时刻之间的先后顺序,存储当前接收的婆:据。
16. 权利要求9所述的方法,其特征在于,操作站连续多次接收控制站广 播的携带有时间标签的数据的过程包括操作站存储每次接收的数据,其中, 对于任意一次接收的数据如果操作站判断出当前接收的数据携带的时间标签所标明的时刻在至少 一个已存储的数据携带的时间标签所标明的时刻之前,则删除携带的时间标 签所标明的时刻在当前接收的数据携带的时间标签所标明的时刻之后的数 据;或者,如果操作站判断出当前接收的数据携带的时间标签所标明的时刻与已存 储的数据携带的时间标签所标明的时刻中最靠后的时刻之差超过了预先设置 的差值门限,则删除已存储的所有数据。
17. —种操作站,其特征在于,适用于包括控制站和操作站的工业控制系 统,所述操作站包括接收单元,连续多次接收控制站广播的携带有时间标签的数据,所述时 间标签是控制站设置的;处理单元,根据所述连续多次接收的数据携带的时间标签,对所述连续 多次接收的数据处理。
18. 如权利要求17所述的操作站,其特征在于,处理单元包括 第一检测模块,根据预先规定的时间标签所标明的时刻的变化规律,检测到连续多次接收的数据携带的时间标签所标明的时刻中是否存在空缺的时 刻;补点模块,如果第一检测模块根据预先规定的时间标签所标明的时刻的 变化规律,检测到连续多次接收的数据携带的时间标签所标明的时刻中存在 空缺的时刻,则补点模块在所述连续多次接收的数据中补充空缺的时刻所对 应的tt据。
19. 如权利要求17所述的操作站,其特征在于,处理单元包括第二检测模块,检测连续多次接收的数据携带的时间标签中是否存在相同的时间标签;第三检测模块,如果第二检测模块检测出所述连续多次接收的数据携带 的时间标签中存在相同的时间标签,则第三检测模块检测在所述相同的时间是否空缺;补点模块,如果第三检测模块检测出在所述相同的时间标签所标明的时 刻之前、且与所述相同的时间标签所标明的时刻相邻的时刻空缺,则补点才莫块将所述空缺的时刻所对应的数据补充为所述相同的时间标签对应的数据中 的接收单元最先收到的数据;如果第三检测模块检测出在所述相同的时间标签所标明的时刻之前、且与所述相同的时间标签所标明的时刻相邻的时刻不 空缺,则补点模块删除所述相同的时间标签对应的数据中的接收单元最先收 到的数据。
20. 如权利要求17所述的操作站,其特征在于,处理单元包括第二检测模块,检测连续多次接收的数据携带的时间标签中是否存在相 同的时间标签;第三检测模块,如果第二检测模块检测出所述连续多次接收的数据携带 的时间标签中存在相同的时间标签,则第三检测才莫块4全测在所述相同的时间 标签所标明的时刻之后、且与所述相同的时间标签所标明的时刻相邻的时刻是否空缺;补点模块,如果第三检测模块检测出在所述相同的时间标签所标明的时 刻之后、且与所述相同的时间标签所标明的时刻相邻的时刻空缺,则补点模的接收单元最后收到的数据;如果第三检测模块检测出在所迷相同的时间标 签所标明的时刻之后、且与所述相同的时间标签所标明的时刻相邻的时刻不 空缺,则补点;漠块删除所述相同的时间标签对应的数据中的接收单元最先收 到的数据。
21. 如权利要求17所述的操作站,其特征在于,接收单元包括 接收模块,接收控制站广播的携带有时间标签的数据; 存储模块,存储接收模块每次接收的携带有时间标签的数据; 对于接收模块任意一次接收的数据存储^^莫块判断已存储的数据量是否达到预先设置的容量门限; 如果存储模块判断出已存储的数据量达到了预先设置的容量门限,则删 除最早存入的数据,并根据当前接收的数据携带的时间标签所标明的时刻与 已存储的数据携带的时间标签所标明的时刻之间的先后顺序,存储当前接收 的数据;如果存储模块判断出已存储的数据量未达到预先设置的容量门限,则根 据当前接收的数据携带的时间标签所标明的时刻与已存储的数据携带的时间 标签所标明的时刻之间的先后顺序,存储当前接收的数据。
22. 权利要求17所述的操作站,其特征在于,接收单元包括 接收模块,接收控制站广播的携带有时间标签的数据; 存储模块,存储接收模块每次接收的携带有时间标签的数据; 对于接收模块任意 一次接收的数据如果存储模块判断出当前接收的数据携带的时间标签所标明的时刻在至 少一个已存储的数据携带的时间标签所标明的时刻之前,则删除携带的时间据5或者,如果存储模块判断出当前接收的数据携带的时间标签所标明的时刻与已 存储的数据携带的时间标签所标明的时刻中最靠后的时刻之差超过了预先设置的差值门限,则删除已存储的所有数据。
23. —种工业控制系统,包括控制站、操作站和控制网,其特征在于 控制网,转发控制站与操作站之间的数据;控制站,对需要广播的数据设置时间标签,并将设置有所述时间标签的 所述数据通过控制网广播给操作站;操作站,从控制网连续多次接收控制站广播的携带有时间标签的数据, 并根据所述连续多次接收的数据携带的时间标签,对所述连续多次接收的数 据处理。
24. 如权利要求23所述的系统,其特征在于,所述工业控制系统包括多个 操作站,其中一个操作站作为时钟源,将时钟信息提供给控制站和其他操作 站,控制站和其他操作站根据时钟源提供的时钟信息,完成时钟同步。
全文摘要
本发明提供一种数据发送方法,适用于包括控制站和操作站的工业控制系统,控制站执行下述步骤设置步骤,对需要广播的数据设置时间标签;广播步骤,将设置有所述时间标签的所述数据广播给操作站。本发明还提供一种控制站、数据处理方法、操作站和工业控制系统。在本发明中,由控制站对广播给操作站的数据设置时间标签,操作站收到的数据携带的时间标签都会不同,这样,操作站自然也不会轻易的丢弃或覆盖掉一些数据,有利于后续的数据处理。同时,多个操作站接收到的相同数据都会携带相同的时间标签,避免了同一个数据在不同的操作站上显示不同的时刻。
文档编号G05B19/418GK101515175SQ20091013087
公开日2009年8月26日 申请日期2009年4月16日 优先权日2009年4月16日
发明者伟 张, 辉 曹, 汪月林 申请人:浙江浙大中控信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1