仿真多个联网的可编程逻辑控制器的系统和方法

文档序号:6281237阅读:147来源:国知局
专利名称:仿真多个联网的可编程逻辑控制器的系统和方法
仿真多个联网的可编程逻辑控制器的系统和方法 相关申请的交叉引用本申请要求于2005年2月25日提交的美国临时专利申请序列号 60/656592的优先权。技术领域传统的PLC软件仿真器当前并不支持网络中的多个PLC。因此,行业 中需要软件来仿真整个PLC网络(1个或多个PLC),以便在将其安装在实 际网络上之前测试应用。该仿真应当能够提供一种监视通信的机制,以及提 供生成多种有关网络的故障的机制。为了通信测试的目的,人机接口 (HMI) 应用应当能够连接到仿真的网络。发明内容本发明允许用户对可以包括多个编程逻辑控制器(PLC)的整个系统进 行仿真。它将提供监视和检测系统上的节点(PLC、 HMI等)之间的通信 的机制,并且将提供生成有关网络的故障的能力。它还将仿真各种类型的连 接,包括但不限于PROFIBUS (处理现场总线)型的串行现场总线协议、 以太网、多处理器互连(MPI)或者其他专有网络连接。具体地说,根据本发明的一个方面, 一种仿真多个联网的编程逻辑控制 器的方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不 存在配置,则通过在网络中创建多个编程逻辑控制器来扩充配置,编程逻辑 控制器的扩充是利用用于收集网络信息的网络查看器提供的;和与至少一个 编程逻辑控制器交互,来仿真至少一个联网的编程逻辑控制器。根据本发明这方面的方法,网络信息是从编程逻辑控制器的数量、编程 逻辑控制器的类型、连接到编程逻辑控制器的I/O、每个逻辑编程控制器的 连接类型、或者该信息的各种组合中选择的。在这方面中,网络信息还可以是与联网的编程逻辑控制器相关联的至少 一个节点,并且该方法还可以包括从网络中删除所选节点。该方法还可以包 括更新和显示没有所选节点的配置。此外根据本发明这方面的方法,网络信息可以定义至少一个节点,并且 还包括修改该节点。该方法还可以包括更新和显示具有修改后的节点的配置。此外,根据本发明这方面的方法,每个联网的编程逻辑控制器具有各自 的编程逻辑控制器查看器,并且该方法还可以包括打开至少两个联网的编程 逻辑控制器查看器以便至少两个联网的编程逻辑控制器进行交互。该方法还 可以包括向联网的编程逻辑控制器返回差错消息,以便校正联网的编程逻辑 控制器的不当响应。此外根据本发明这方面,该方法还可以包括评估网络中的多个编程逻辑 控制器,确定网络周期时间,并且基于该网络周期时间为网络中的每个编程 逻辑控制器分配各自的处理时间。该方法还可以包括向至少一个处理时间添 加延迟时间。根据本发明的另 一方面, 一种仿真多个联网的编程逻辑控制器的方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不存在该配置, 则通过在网络中创建多个编程逻辑控制器来扩充配置,编程逻辑控制器的扩 充是利用在用于由用户输入网络信息的网络查看器中的向导提供的;和与至 少一个编程逻辑控制器交互,来仿真联网的编程逻辑控制器。根据本发明这方面的方法,网络信息包括从编程逻辑控制器的数量、编 程逻辑控制器的类型、连接到编程逻辑控制器的I/O、每个逻辑编程控制器 的连接类型以及该信息的各种组合。在本发明这方面中,网络信息还可以包括与联网的编程逻辑控制器相关 联的至少一个节点。该方法还可以包括从网络中删除所选节点。此外该方法 可以包括更新和显示没有所选节点的配置。此外根据这方面,网络信息可以定义至少一个节点,并且该方法还包括 修改该节点。该方法还可以包括更新和显示具有修改后的节点的配置。此外,根据本发明这方面,每个联网的编程逻辑控制器具有各自的编程 逻辑控制器查看器,并且该方法可以包括打开至少两个联网的编程逻辑控制 器查看器以便至少两个联网的编程逻辑控制器进行交互。该方法还可以包括 评估网络中的多个编程逻辑控制器,确定网络周期时间,并且基于该网络周 期时间为网络中的每个编程逻辑控制器分配各自的处理时间。
根据本发明的另 一方面, 一种仿真多个联网的编程逻辑控制器的方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不存在该配置, 则通过在网络中创建多个编程逻辑控制器来扩充配置,编程逻辑控制器的扩 充是利用用于收集网络信息的装置提供的;和与至少一个编程逻辑控制器交 互,来仿真至少一个联网的编程逻辑控制器。所述用于收集的装置可以是网 络查看器或者网络查看器中的向导。


在说明书其余部分一 包括对附图的参考中更加具体地说明本发明的完整 和授权公开,包括对于本领域技术人员的最佳模式,在附图中 图1是根据本发明一个方面的多个PLC仿真的架构总览; 图2示出图1中的网络查看器与多个PLC之间的互连关系; 图3是示出根据本发明一个方面的时间分片的条形图; 图4示出根据本发明一个方面的流程图; 图5是图4流程图的继续; 图6是图5流程图的继续 图7是图6流程图的继续 图8是图7流程图的继续;以及 图9是图8流程图的继续具体实施方式
现在将对显示实施本发明的示例的附图进行详细引用。该详细描述^:用 数字和字母标记来指代附图的特征。在附图和描述中使用相同或类似的标记来指代本发明相同或类似的部分。附图和详细描述提供对本发明以及制造和使用本发明的方式和过程的完 整和详细书面描述,以便本领域技术人员制造和使用它。附图和详细描述还 提供实施本发明的最佳模式。然而,附图和详细描述中所阐述的示例仅仅是 通过说明本发明的方式提供的,并不意味着对本发明的限制。本发明因此包 括下面示例的落入权利要求书及其等效物范围内的任何修改和变形。如附图中广泛体现的那样,用户从PLC编程工具下载仿真系统,用于 仿真一个或多个PLC以及监视和测试该系统中仿真的各PLC之间的通信。
如下面将要详细描述的那样,该系统还将提供生成有关网络的故障的能力,以便评估对仿真的PLC的多种影响以及该PLC的响应。现在参照图1和图2,网络仿真或多PLC仿真模型的架构总览用元件 标号10总的指代,该架构总览宽泛地包括网络查看器12。图2具体示出在 网络仿真器10中网络查看器12和各个CPU查看器14之间的互连关系的实 施例。如图所示,网络查看器10将允许用户生成各种系统仿真所需的多个 PLC16。如下面将要详细描述的,当用户对网络查看器12进行改变时,适 当的出错消息返回做出不正确操作的各个PLC 16。本领域技术人员将认识 到,尽管所有PLC 16显示为设置在单个应用内,但也可以互连多个应用中 的PLC;因此,本发明不限于附图中所示的示例。转到图3,定时问题是图2所示的示例性网络仿真器10的重要部分。 因此,网络查看器12将提供"微调"网络仿真器10的性能的能力,以及提 供测试实际网络上可能发生的定时问题的方法(例如见图6中的步骤225)。如图3所示,网络查看器12提供多个PLC 16的"时间分片(time-slicing)" 的建立,以确保所有PLC 16接收等量的处理时间。这对于在PC (未示出)的处理能力内仿真PLC是需要的,并且在较大系统中可能特别 重要。更具体地说,图3显示网络查看器12将提供接口,以便在给定的"网 络周期"时间(例如见图6中的步骤230)期间给予例如四个PLC 16A、 16B、 16C和16D时间量。这里使用的网络周期被定义为所选网络中所有PLC执 行它们分配的时间片所需的时间,这是由网络查看器确定的。此外,时间分 片A&于仿真时间,而非PC时间。图3还显示系统中给定的多个PLC 16以及PLC 16A中给定的100ms 定时器,该定时器将直到PLC 16A从定时器被触发时起接收到100ms的仿 真时间为止才会过期。由于该定时器在PLC 16A的时间片开始之后的某一 时刻开始,因此定时器的完成将需要三个时间片。在该示例中,网络周期时 间是200ms。在下面参照图5进一步讨论时间分片。现在参照图4习所示的操作的示例性方法,可以更好地理解本发明。图4例如显示用户将使用网络查看器(100),如上面介绍的网络查看器 10,来在网络查看器打开(105)之后在启动下载之前创建多个PLC 16。如 图所示,用户可以选择打开已有的配置或者创建新的网络配置(110)。如果 打开已有配置,则将从保存的文件中载入指定配置,并且将显示当前配置(115)。用户然后可以修改该配置或者按它当前那样开始使用该配置(120)。 如果用户选择创建新网络配置,则将显示空配置(125),并且用户必须 用网络中的节点扩充(populate)该配置。这将通过两种方法之一完成(130 )。 第一种方式包括网络查看器基于编程工具中的特定项目向编程工具查询网络 信息(135)。网络查看器将收集关于网络的所有可得到的信息,包括但不限 于PLC的数量、PLC的类型、连接到PLC的I/O、以及每个PLC的连接 类型(PROFIBUS型协议、以太网、MPI等)。如果使用该方法,则网络查 看器将随同上面提到的相关信息一起提供PLC的可选择列表(140)。该信 息的显示将是可配置的(145)。如果编程工具中的项目数据中没有上述步骤(140)中的信息,或者用 户希望手动配置网络,则将使用图5所示的第二方法来将网络填充到1到n 个网络连接U50)。如图所示,网络查看器将提供向导来生成每个网络连接 所需的信息(155)。该向导将提醒用户定义节点及其连接所需的所有有关信 息(160),并且显示各节点及其相应信息(165)。参照图5和图6,不管选择创建该配置的方法如何,可以在任何时候修 改当前显示的配置(215)。具体地说,用户可以向该网络添加新节点(150), 这将再次引出配置向导(155)。将再次收集数据(160),并且将显示新节点 及其数据(165 )。如图5进一步所示,用户可以从网络中删除已有节点(170)。如果选择 了要删除节点,则将提示用户确认删除(175)。如果用户确认删除,则从该 配置中删除节点的简档(180),并且显示更新的配置(185)。用户还可以修 改所选节点的数据(190)。 一旦完成了修改,就显示更新的配置(195)。如 图所示,用户可以对已有配置进行期望次数的修改。进一步参照图6,在建立了网络连接之后,用户可以选择每个PLC连 接来打开该PLC的PLC查看器(205)。 一旦打开该PLC查看器,用户就 能够与所选PLC的该PLC交互(210 )。每个PLC查看器特定于所选的PLC, 但可以同时打开多个PLC查看器,从而提供与多个PLC交互的机会。才艮据 本发明的一个方面,可以通过网络查看器摧毁PLC。每个PLC将具有它自 己的PLC查看器,但只有在从网络查看器中选择了该PLC时才显示。换而 言之,并不需要所有PLC在任何给定时刻保持它们的查看器激活。系统中 并没有阻止这一点,但只有用户选择使所有查看器有效时这才是必要的继续参照图6,用于PLC之间通信的定时的问题由网络查看器处理, 如上面参照图3所介绍的那样。如所讨论的,定时问题可能是网络仿真的关 键部分.因此,如图6所示,网络查看器将允许用户指定允许网络上的各个 PLC之间的通信的时间量(235)。时间增量将在上面提到的网络周期时间 之外。换句话说,如果仿真的系统具有200ms的网络周期时间和50ms的通 信时间间隔,则网络周期将不会多于每250ms —次。只有能在分配的时间 间隔内处理的这些通信分组才会在该特定间隔期间发生。换而言之,如果存 在比分配时间内能处理的更多的通信分组,则将剩余的分组一直延迟到下一 通信周期,这时它们将是首先要处理的。为了测试PLC之间的某些特定的"定时"问题,如图6进一步所示,网络查看器还提供按需要向通信间隔中加入"延迟"时间的能力(240),这 可以用下面方式实现。在上面提供的例子中,用户指定50ms的通信间隔。 为了测试出在通信期间的差错状况,用户输入30ms作为通信延迟时间。在 网络查看器中设置了这些值之后,用户可以通过从网络查看器接口中选择延 迟选项来开启和关闭延迟。当延迟特征被激活时,在该通信间隔的头30ms 期间没有通信发生。在后20ms期间,通信将正常工作,处理在此期间能够 处理的分组,其余的被拖延到下一次通信间隔。该处理将继续下去,直到延 迟特征被抑制为止。参照图3和图7,除了提供针对仿真网络中的PLC之间的通信的定时 操纵特征,网络查看器还将提供通信监视器来观察和进一步操纵仿真网络的 通信特性(220)。图7具体示出网络查看器将提供通信跟踪向导(280)来 配置要监视什么通信,以及将允许用户指定通信转储(dump)的日志文件 (295 )。图7中的向导将允许用户定制他们希望监视哪个通信业务(285)。用户 可以选择是将所选信息记录到日志文件中(290)还是使用"软"监视器显 示(315)。当跟踪触发开关被激活时(300),要监视的所选信息于是将被收 集(305)和写入到指定文件(310)。如图7所示,网络查看器还将提供使用"软"监视器主动监视通信业务 的能力。当通过监视触发开关激活时(320),该监视器将收集(330)和显 示(335)所选数据。如果触发开关激活但当前未显示监视器,则本发明将
启动监视器(325 )。监视器将保持显示到用户关闭它为止,不管它是否主动 更新。所有通信监视都是通过通信跟踪接口配置的,而不管它是被记录到日志 文件还是通过"软"监视器主动监视。该接口还允许统计信息,如平均分组 数量、平均分组传输时间、节点之间的中间跳数、以及要递送的消息内的所 有分组所需的周期数。可以收集的统计信息可以包括但不限于上面所列出 的。该监视器和提供的统计信息允许用户确定在所分配的时间内是否发生通 信任务。监视器还将允许用户确认点到点通信的有效性和完整性。这在验证 数据是否精确递送到HMI接口时将特别有用。再次简要参照图6,网络查看器还允许用户仿真多个网络系统故障和压 力(245)。这包括但不限于单节点故障、"线缆"故障、网络上的"干扰" (jabber )、损坏分组的传输、分组的丢掉以及通信业务使网络过栽。如业 内所公知的,"干扰"是通信术语,被认为是"垃圾通信"或噪声。现在参照图8和9,网络查看器将提供网络的图形视图,包括网络上的 所有节点及其连接。如果当用户希望仿真网络差错时该图形视图未被启动 (340),则将启动它(345 )以提供仿真网络差错的接口。如图所示,为了 仿真单节点故障(350),用户简单地选择一个节点,并且将该节点置入"故 障"模式(355)。这与从搁物架上"拽下"实际的PLC —样有效,从而将 其从网络中移除。用户可以对仿真网络中任何数量的节点进行该操作,以仿 真多个故障。所选节点将保持在"故障"状态,直到它们被选择并置入"良 好"状态为止(425)。这将清除该节点的故障状态标志(430)。如图9进一步所示,用户还可以通过选择节点之间的连接或"线缆"并 将其设为故障模式(365)来仿真线缆故障(360)。当线缆处于故障模式时, 不能通过该连接发生通信。可以选择多个线缆来仿真网络中的多个线缆故 障。所选线缆将保持在"故障"状态,直到它们被选择并置入"良好"状态 为止(43"。这将清楚该节点的故障状态标志(440)。可以选择一个或多个 线缆(3")来引入干扰(jabber)到该网络(370)。这样做可以确保节点 应付它们在给定连接上接收到垃圾的情况(380)。可以选择一个或多个线缆 来"损坏"通过它们的分组(400)。有两种不同类型的分组损坏(405)。第 一种类型的损坏发生在数据在发送器和接收器之间被损伤或改变时(410 )。 当选择该选项时,本发明将损坏单独的分组。第二种类型发生在分组丢失、
从而不完整的消息将到达接收器时(415)。当选择该选项时,本发明将删除 指定数量的分组(420)。用户还可以选择使特定线缆或整个网络过载(390) 以过载数据通信(385)。这将强调节点之间的带宽通信(395)。这在选择到 HMI的连接时也是有用的,从而可以测试到HMI设备的通信是否处于重负 载。再次简要参照图5,当用户结束仿真网络时,他们将从网络查看器中选 择关闭(250)。将提示用户确认他们希望结束仿真(255)。 一旦用户确认仿 真结束,将提示他们保存配置(260)。如果用户选择保存该配置,则本发明 将该配置保存到指定文件(265)。在保存了配置之后,或者如果用户选择不 保存配置,网络查看器将被关闭(270),从而结束仿真(275)。尽管显示和描述了本发明的优选实施例,但本领域技术人员将认识到可 以对上述实施例进行其他改变和修改,而不背离本发明范围和宗旨。本发明 意图保护落入权利要求书及其等效物范围内的所有这些改变和修改。
权利要求
1.一种仿真多个联网的编程逻辑控制器的方法,该方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不存在该配置,则通过在网络中创建多个编程逻辑控制器来扩充配置,编程逻辑控制器的扩充是利用用于收集网络信息的网络查看器提供的;和与至少一个编程逻辑控制器交互,来仿真至少一个联网的编程逻辑控制器。
2. 如权利要求l所述的方法,其中,所述网络信息包括从编程逻辑控 制器的数量、编程逻辑控制器的类型、连接到编程逻辑控制器的1/0以及每 个逻辑编程控制器的连接类型中选择的至少一个。
3. 如权利要求l所述的方法,其中,所述网络信息定义与联网的编程 逻辑控制器相关联的至少 一个节点。
4. 如权利要求3所述的方法,还包括从网络中删除所选节点。
5. 如权利要求4所述的方法,还包括更新和显示没有所选节点的配置。
6. 如权利要求l所述的方法,其中,所述网络信息定义至少一个节点, 并且还包括修改该节点。
7. 如权利要求6所述的方法,还包括更新和显示具有修改后的节点的 配置。
8. 如权利要求l所述的方法,其中,每个联网的编程逻辑控制器具有 各自的编程逻辑控制器查看器,并且还包括打开至少两个联网的编程逻辑控 制器查看器以便至少两个联网的编程逻辑控制器进行交互。
9. 如权利要求l所述的方法,还包括向联网的编程逻辑控制器返回差 错消息,以便校正该联网的编程逻辑控制器的不当响应。
10. 如权利要求l所述的方法,还包括评估网络中的多个编程逻辑控制 器,确定网络周期时间,并且基于该网络周期时间为网络中的每个编程逻辑 控制器分配各自的处理时间。
11. 如权利要求IO所述的方法,还包括向至少一个处理时间添加延迟 时间。
12. —种仿真多个联网的编程逻辑控制器的方法,该方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不存在该配置,则通过在网络中创建多个编程逻辑控制器来扩充配 置,编程逻辑控制器的扩充是利用在用于由用户输入网络信息的网络查看器 中的向导提供的;和与至少一个编程逻辑控制器交互,来仿真联网的编程逻辑控制器。
13. 如权利要求12所述的方法,其中,所述网络信息包括从编程逻辑 控制器的数量、编程逻辑控制器的类型、连接到编程逻辑控制器的1/0以及 每个逻辑编程控制器的连接类型中选择的至少一个。
14. 如权利要求l所述的方法,其中,网络信息定义与联网的编程逻辑 控制器相关联的至少一个节点。
15. 如权利要求14所述的方法,还包括从网络中删除所选节点。
16. 如权利要求14所述的方法,还包括更新和显示没有所选节点的配置。
17. 如权利要求12所述的方法,其中,网络信息定义至少一个节点, 并且还包括修改该节点。
18. 如权利要求17所述的方法,还包括更新和显示具有修改后的节点 的配置。
19. 如权利要求12所述的方法,其中,每个联网的编程逻辑控制器具 有各自的编程逻辑控制器查看器,并且还包括打开至少两个联网的编程逻辑 控制器查看器以便至少两个联网的编程逻辑控制器进行交互。
20. 如权利要求l所述的方法,还包括评估网络中的多个编程逻辑控制 器,确定网络周期时间,并且基于该网络周期时间为网络中的每个编程逻辑 控制器分配各自的处理时间。
21. —种仿真多个联网的编程逻辑控制器的方法,该方法包括 确定网络中是否存在联网的编程逻辑控制器的配置; 如果不存在该配置,则通过在网络中创建多个逻辑控制器来扩充配置,编程逻辑控制器的扩充是利用用于收集网络信息的装置提供的;和与至少一个编程逻辑控制器交互,来仿真至少一个联网的编程逻辑控制器。
22. 如权利要求21所述的方法,其中,所述用于收集的装置是网络查 看器或者网络查看器中的向导。
全文摘要
一种仿真多个联网的编程逻辑控制器的方法包括确定网络中是否存在联网的编程逻辑控制器的配置;如果不存在该配置,则通过在网络中创建多个逻辑控制器来扩充配置,编程逻辑控制器的扩充是利用用于收集网络信息的网络查看器提供的;和与至少一个编程逻辑控制器交互,来仿真联网的编程逻辑控制器。
文档编号G05B19/05GK101128782SQ200680005987
公开日2008年2月20日 申请日期2006年2月23日 优先权日2005年2月25日
发明者C·E·吉布森, D·E·马丁, H·A·小布赖恩, S·菲利普斯 申请人:西门子能量及自动化公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1