对自动化设备的工业控制器编程的方法和装置的制作方法

文档序号:6321417阅读:165来源:国知局
专利名称:对自动化设备的工业控制器编程的方法和装置的制作方法
技术领域
本发明涉及一种对用于控制自动化设备的工业控制器进行编程的方法,所述设备 包括用于提供代表所述设备的实际系统状态的传感器数据的至少一个传感器和用于按照 所述实际系统状态来起 作用的至少一个致动器,并且所述控制器包括用于存储所述传感器 数据的数据存储器和用于存储机器代码程序的程序存储器,所述方法包括以下步骤-提供具有程序编辑器、调试工具和编译器的编程工具,-使用所述程序编辑器创建高级控制程序,所述高级控制程序包括多个高级控制 指令,-使用所述编译器编译所述高级控制程序,以便创建包括用于反复读取和处理所 述传感器数据的机器代码指令的机器代码程序,-向所述程序存储器中加载所述机器代码程序,以及-启用用于调试所述高级控制程序的所述调试工具,其中所述高级控制指令在所 述程序编辑器中示出。本发明还涉及一种用于对自动化设备的工业控制器进行编程的装置,所述装置包 括用于提供代表所述设备的实际系统状态的传感器数据的至少一个传感器和用于按照所 述实际系统状态来起作用的至少一个致动器,并且所述控制器包括用于存储所述传感器数 据的数据存储器和用于存储机器代码程序的程序存储器,所述装置包括程序编辑器,用于 创建高级控制程序,所述高级控制程序包括多个高级控制指令;编译器,用于编译所述高级 控制程序,以便创建包括用于反复读取和处理所述传感器数据的机器代码指令的机器代码 程序;接口,用于向所述控制器的所述程序存储器中加载所述机器代码程序;以及调试工 具,用于调试所述高级控制程序,其中所述高级控制指令在所述程序编辑器中示出。
背景技术
例如由EP1184758 A2已知一种该类型的方法和设备。在当今世界,许多技术过程都是自动化或者至少部分自动化地运行。不仅在工业 制造场所和生产车间,而且在日常生活情形(机场行李认领处、滑雪胜地中的滑雪缆车、游 乐场中的过山车等)中都能发现例子。这种设备的机器和其它部件由工业控制器操纵,所 述工业控制器接收和处理来自设备中的传感器的传感器数据并产生用于驱动设备中的致 动器的控制信号。例如,可以根据代表机械手的瞬时位置的传感器数据和根据由控制程序 限定的机械手的期望轨迹来自动控制机械手的操作位置。由控制器生成的控制信号对在期 望方向上移动机械手的电驱动装置进行激励。用于控制机械手的控制操作可能很复杂。然 而,希望在控制过程中具有高灵活性。因此,通常使用可编程控制器,即其中控制逻辑由通 常被称为应用程序的软件确定的控制器。有通常用于对工业控制器进行编程的多种专用编程语言。具体而言,国际标准 IEC61131定义了多种编程语言。因为由这些编程语言不能获得可在特定控制器上执行的机 器代码程序,所以就本发明而言它们是高级编程语言。相反,为了可在特定控制器上执行以高级编程语言编写的程序,必须将其转译成较低级的机器代码程序。转译过程可以包括多 个阶段,这些阶段包括中间级程序代码。为求简化,在这里用术语“编译器”表示包括逐行转 译器(解释器)和其它种类的转译器的任意一种适当的转译器。类似地,在这里用术语“机 器代码程序”表示所有的较低级的程序代码,这些较低级的程序代码是转译过程的结果并 且可以在控制器或者能够提供来自受控过程或设备的实际传感器数据的等效机器上运行。因为高级编程语言提供多个高级控制指令,这些指令允许程序员专注于控制问题 和控制逻辑而不是控制器的特定硬件上的实际实施,所以对高级编程语言的使用极大地推 动对工业控制器进行编程的过程。因此,高级编程语言被广泛地使用。然而,用于现代高度自动化控制应用的控制程序可能很复杂,并且常常难以识别 编程错误。因此普遍使用调试工具。调试工具或者调试器是在发现其它程序(如应用程 序)中的编程错误的过程中使用的专用计算机程序。通常,调试工具允许以逐步模式(单 步)和/或使用被称为断点的模式运行待调试的应用程序。断点是不在应用程序的正常进 程中使用的专用中止命令,该中止命令允许在断点处中止和暂停所检查的应用程序,从而 程序员可以有充足时间检查在所述断点处通过应用程序所达到的状态。上文提到的EP1184758 A2公开了一种用于调试用于工业控制器的应用程序的方 法,其中可不仅在机器代码级别而且在高级编程语言级别并且具体在流程图级别上使用单 步模式和/或断点模式。因而可在不同级别查寻编程错误,这被认为有助于错误检测。DE102004062852 A1公开了一种具有综合调试功能的工业控制器。该综合调试器 允许如上文所述的逐步和/或使用断点运行应用程序。然而可能存在其中不能中断受控过 程,以便例如避免不受控制的机器动作的情形。因此,DE102004062852 A1提出了可被选择 性地启用或者停用的断点。DE102004062852 A1因此解决了例如与调试用于桌面应用的计算机程序相比,对 于调试用于工业控制器的应用程序而言特有的基本问题,即由于不能在任何时刻停止受控 设备所导致的限制。未尝不普遍的是仅能在模拟运行(即没有实际移动或者控制设备)中 调试用于工业控制器的复杂控制程序。另外,使用现有调试工具来调试用于工业控制器的复杂控制程序仍然可能是非常 耗时和累人的过程。

发明内容
鉴于这一背景,本发明的目的在于提供一种用于对工业控制器进行编程的替代方 法和装置,该方法和装置包括用于复杂应用程序的快速调试的增强调试特征。根据本发明的一个方面,这一目的通过如开篇提及的方法来实现,在该方法中,在 启用调试工具的同时在控制器上执行机器代码程序,而调试工具确定运行于控制器上的机 器代码与程序编辑器中示出的至少一个高级控制指令之间的逆向关系,调试工具从数据存 储器读取传感器数据,且调试工具向至少一个高级控制指令分配来自数据存储器的传感器 数据,从而将至少一个高级控制指令与执行机器代码程序期间的实际系统状态联系起来。根据本发明的另一方面,这一目的通过如开篇提及的装置来实现,在该装置中,调 试工具被配置为启动机器代码程序在控制器上的执行,调试工具被配置为确定运行于控制 器上的机器代码与程序编辑器中示出的至少一个高级控制指令之间的逆向关系,调试工具还被配置为从数据存储器读取传感器数据,且调试工具被配置为向至少一个高级控制指令 分配来自数据存储器的传感器数据,从而将至少一个高级控制指令与执行机器代码程序期 间的实际系统状态联系起来。尽管在适当时也可以使用这些常规调试功能,但新方法和装置的调试工具不依赖 于使用断点和/或逐步模式。然而,核心方面在于建立实际运行于控制器上的机器代码与 程序编辑器中示出的至少一个优选为多个的高级控制指令之间的逆向关系。建立这一逆向 关系包括识别控制器上执行的哪一组机器代码指令对应于某个特定的高级控制指令,从而 可将程序编辑器中示出的至少一个高级控制指令与执行机器代码程序期间的实际系统状 态联系起来。确定逆向关系可以在一定程度上包括对机器代码程序进行反编译以便将机器 代码指令重译成至少一个高级控制指令的步骤。然而,可以有无需反编译步骤的实施方式。 例如,通过将适当的引用集成到机器代码中,逆向关系的基础可以已经设定在编译过程中。建立逆向关系允许将高级控制指令和受控设备的特定系统状态联系起来,该特定 系统状态是由所述高级控制指令启动的控制操作的结果。换而言之,新调试工具将至少一 个高级控制指令与它对受控设备的实际系统状态的影响关联起来。新调试工具自动地并且 优选地针对应用程序的任何高级控制指令建立新逆向关系。新调试工具的另一方面在于向由于逆向关系而识别出的至少一个高级控制指令 分配从控制器的数据存储器读取出的实际传感器数据。这两个方面一起提供在控制过程期 间的具体时刻的实际系统状态与导致这一具体系统状态的高级控制指令之间的联系。应认识到因为程序员可以容易地检查具体的高级控制指令对受控设备的实际影 响,所以新调试工具有助于高效调试过程。建立在实际系统状态与特定高级控制指令之间 的新联系揭示了在高级控制程序与受控设备之间的因果链中的原因。应用程序越复杂,新 调试工具就越有助于调试过程。从而完全实现上述目的。在本发明的一个优选改进中,当在控制器上执行机器代码程序时,调试工具从数 据存储器反复读取传感器数据。根据这一改进,调试工具提供不仅在执行控制程序期间的具体时刻而是更长时间 段的最新传感器数据。可以在调试过程中更容易地考量受控设备行为的长期变化。根据另一优选改进,在控制器上实时执行机器代码程序。根据这一改进,既不以断点也不以特定的逐步模式执行机器代码程序。相反,基本 上以与在实际控制过程中执行机器代码程序相同的方式执行它。在现实生活条件下执行机 器代码程序提供了控制过程的逼真画面,因此还进一步增强了调试过程。这对于必须应对 自然力(如重力)的应用程序和控制操作尤为成立,因为这些力无法被停止或者减缓。在另一改进中,向至少一个高级控制指令分配从数据存储器读取的传感器数据历 史。除此之外或者取而代之,调试工具从数据存储器读取传感器数据,并且根据预定触发条 件将其分配给至少一个高级控制指令。这两种改进可以在如下情况下有助于用户对收集的传感器数据的分析在机器代 码程序执行于控制器上之时和/或在正在检查的程序循环中传感器数据很快变化。传感器 数据历史可以是数据集合的任何形式,该数据集合示出了传感器数据在时间进程中的当前 和先前(历史)值。预定触发条件是为了识别读取期望的传感器数据的某个时刻而可以由 用户限定或者自动限定的任何条件。因此,预定条件提供用于读取向至少一个高级控制指
6令分配的传感器数据的触发信号。然而在另一改进中,以逐步方式在控制器上执行机器代码程序可以是有利的。如果在调试过程中(比如在很复杂的受控场景中)必须监测和考虑大量传感器数 据,则这一改进是有利的。在实际生活场景中如果可能则利用控制程序的逐步执行,这有助 于程序员对所有相关传感器数据的查看。在另一改进中,高级控制程序包括顺序与执行机器代码程序期间的时间顺序对应 的多个高级控制指令,而调试工具根据该时间顺序向至少一个高级控制指令分配来自数据 存储器的传感器数据。根据这一改进,取决于高级程序变量在高级控制程序内的使用位置,程序编辑器 中示出的同一高级程序变量可以在基本上同一时间(或者至少在相同操作周期中)具有不 同值。例如,布尔变量可以在已经执行至少一个高级控制指令之后具有“真”值,而相同布 尔变量可以在执行所述高级控制指令之前具有“假”值。本改进反映高级程序变量的值由 于执行机器代码程序期间的时间顺序所致的改变。这一改进还进一步有助于根据机器代码 程序在控制器上的计时行为或者时间顺序,通过运用实际传感器数据来高效调试复杂的高 级控制程序。换而言之,这一改进之所以有利,是因为它考虑了调试过程中受控设备的计时 行为。根据又一改进,从多个高级控制指令中选择有限数目的高级控制指令,并且调试 工具仅确定运行于控制器上的机器代码与这些有限数目的高级控制指令之间的逆向关系。在这一改进中,仅有限数目的高级控制指令可用于新调试过程。该限制可能乍一 眼看似不利,但其已经表明可以更高效地操作调试工具,因为用于建立逆向关系所需的处 理时间更少了。换而言之,使调试工具专注于特别令人感兴趣的有限数目的高级控制指令, 并且仅针对那些所选的控制指令确定逆向关系。可以针对有限数目的控制指令快很多地建 立逆向关系。在另一改进中,至少一个高级控制指令包括高级程序变量,而调试工具向高级程 序变量分配来自数据存储器的传感器数据。这一改进实现了实际传感器数据向至少一个高级控制指令的很简单和直接明了 的分配。因而,这一改进允许新调试工具的相当简单的实施方式。然而在另一改进中,调试 工具可以向包括程序命令和程序变量的复杂控制指令分配来自数据存储器的传感器数据。 这后一改进提高了新调试工具的灵活性和性能。根据又一改进,至少一个高级控制指令对应于来自数据存储器的多个传感器数 据,其中调试工具根据多个传感器数据来确定复杂数据变量,该复杂数据变量代表设备的 高级系统状态,并且其中调试工具向高级控制指令分配复杂数据变量。这一改进为高效调试过程提供十分灵活、高性能的方法。将多个不同传感器数据 组合成复杂数据变量并且向高级控制指令分配所述复杂数据变量,这允许在调试过程中专 注于总体系统行为而不是详细地监测多个传感器数据。例如,复杂数据变量可以表示机械 手的位置(上或者下、左或者右),其中定性的或者一般化(概括)的考虑可以对应于从机 器人的多个轴上的多个不同的位置编码器而来的多个传感器数据。如果在调试过程中主要 关注机器人的大致位置,则在调试过程中对复杂数据变量的使用允许监测机械手的大致位 置,这比监测多个不同传感器数据更容易和更高效。
根据另一改进,调试工具在程序编辑器中在接近高级程序指令的位置显示传感器 数据(特别是复杂数据变量)。因为程序员可以同时(即用一个界面)看见高级控制指令和相应指令对实际设备 的影响,所以这一改进允许实现很方便和高效的调试过程。将实际传感器数据反映到高级 程序代码中,这使得很易于识别编程错误。根据另一改进,调试工具包括数据库,该数据库包括各自图示出设备的多个预定 系统状态之一的多个图形符号,而调试工具根据分配的传感器数据在接近高级程序指令的 位置显示多个图形符号中的一个(或者多个)图形符号。如果复杂数据变量被用来将高级系统状态反映到程序代码中,则这一改进尤为有 利。例如,示出机械手在上方或者下方的机器人的图形符号可被用来象征机械手的对应系 统状态。然而这一改进也可以用于复杂度较低的传感器数据,比如可以仅由1位(bit)表 示的接通/关断开关。因为以很直观方式将实际传感器数据表示的实际系统状态反映到高 级程序代码中,所以这一改进为程序员提供很方便的易用接口。这极大地有助于调试用于 控制自动化设备的控制程序。


无需赘言,上文说明的特征和下文有待说明的特征可以不仅在它们的相应组合中 而且在其它组合中或者独自地加以运用而不脱离本发明的范围。下文将参照以下

本发明实施例的更多特征和细节图1示出了根据本发明的包括可编程控制器的自动化设备的一个实施例,图2在简化图示中示出了新方法和新装置的一个实施例,图3示出了根据图2的方法和装置的包括高级控制指令的程序编辑器,图4根据一个优选实施例将图3的程序编辑器与实际传感器数据一起示出,以及图5示出了程序编辑器的另一优选实施例,该程序编辑器包括高级控制指令和代 表实际系统数据的机器人的符号。
具体实施例方式图1示出了根据本发明一个优选实施例来控制和编程的设备10的简化图示。举 例而言,设备10包括具有可移动机械手12的机器人11。机械手12的动作由可编程控制器 14控制。控制器14从传感器接收信号,这些传感器被配置为测量或者检测代表实际系统状 态的物理量,该系统状态例如是机械手12在给定时刻的位置或者速度。向控制器14传送 传感器信号,从而控制器14接收由传感器测量或者检测到的表示相应实际系统状态的传 感器数据。举例而言,在图1中示出了与旋转驱动器18邻近的传感器16。传感器16被配 置为检测驱动器18的瞬时动作位置。驱动器18被配置为响应于来自控制器14的控制信 号来移动机械手12。控制器14按照根据本发明编程的控制指令并且按照从传感器16接收 的传感器数据来控制驱动器18。无需赘言,设备10可以包括多种类型的多个传感器和致动
o在本实施例中,控制器14也从被配置为监测防护门22的闭合位置的防护门开关 20接收信号。防护门开关20是在现代自动化设备中用来避免危险情形的与安全有关的传
8感器的典型例子。其它与安全有关的传感器可以包括紧急关闭按钮、光栅或者故障保护相 机系统(比如本受让人的SafetyEYE 相机系统)。根据本发明的优选实施例,控制器14 被配置为处理与安全有关的传感器数据和非与安全有关的(标准)传感器数据,以便根据 这两类信息来控制机器人11。在本实施例中,控制器14不仅控制驱动器18而且在需要时控制接触器24、26,这 些接触器被配置为响应于来自与安全有关的传感器(如防护门开关20)的传感器数据来中 断向机器人11的供电以提供安全中止。然而应认识到本发明也可以用于不处理与安全有 关的传感器数据的可编程控制器。图2示出了用于对控制器14进行编程的编程工具30的一个优选实施例。也更详 细地示出了可编程控制器14。如从图2可见,控制器14在这里包括两个冗余微处理器32、34。微处理器32、34 被配置为以两个通道的冗余度处理控制指令和传感器数据。两个微处理器比较它们的相 应处理结果并相互监测,以便提供与安全有关的控制操作所需的故障保护。毋庸赘言,控 制器14可以具有三个通道的冗余度和/或其它种类的内置测试功能,以便符合欧洲标准 EN954-1的3类或4类对用来控制与安全有关的控制操作的控制器有关的要求,或者国际标 准IS013849-1或者IEC61508的类似要求。然而,如上文已经表明的那样,新方法和装置也 可以用于不符合安全控制器要求的控制器进行编程——虽然优选使用安全控制器,因为新 方法和装置尤其很适合于调试与安全有关的控制程序。控制器14包括用于接收包括多个机器代码指令40的机器代码程序38的程序存 储器36。可想到程序存储器36可以包括用于存储多个冗余机器代码程序的多个冗余程序 存储器,每个冗余微处理器32、34—个程序存储器。然而为求简化,这里仅示出为两个微处 理器32、34提供机器代码程序的一个程序存储器36。控制器14也包括用于存储传感器数据和用于存储致动器数据的数据存储器38。 从传感器16、20接收传感器数据,并且冗余微处理器32、34根据存储于程序存储器36中的 机器代码指令来处理该传感器数据。由于该数据处理,生成并且向远程致动器18、24、26发 送致动器数据以便适当地驱动致动器18、24、26。应认识到存储于数据存储器38中的传感 器数据也可以包括预处理过的传感器数据,比如从预处理2位冗余传感器获得的1位数据。编程工具30包括优选地实施于通用个人计算机(PC)上的程序编辑器42。程序编 辑器42允许编写和编辑包括多个高级控制指令46的高级控制程序44。根据优选实施例, 程序编辑器42允许以国际标准IEC61131中限定的一种或者多种高级编程语言进行编程。编程工具30也包括用于编译高级控制程序44以便创建机器代码程序38的编译 器48。然后经由接口 50向程序存储器36中传送机器代码程序38,该接口可以是允许在基 于PC的编程工具30与控制器14之间传送数据的任何合适的接口。如本领域技术人员应认识到的那样,编译器48和接口 50可以包括同样提供程序 编辑器42的PC硬件部件和/或软件部件。编程工具30还包括调试工具52,该调试工具在优选实施例中也在PC上实施为软 件和/或硬件部件。调试工具52被配置为经由通信链路54从数据存储器38中读取代表 设备的实际系统状态的传感器数据。在一些实施例中,调试工具52能够在规定时限内反复 读取传感器数据,从而如标识数字55表明的那样实际上读取了传感器数据历史。
调试工具52也被配置为经由通信链路56识别当前在微处理器32上执行哪些机 器代码指令40。在一个实施例中,在微处理器32和/或34上执行的机器代码可以被配置 为向数据存储器38中和/或向单独存储器(这里未示出)中写入标识当前执行的机器代 码的标识符,从而调试工具可以容易地基于经由链路56读取的标识符来识别当前机器代 码指令。可想到调试工具52可以被配置为提供用于限定触发条件的域57,该触发条件触 发跨链路54和/或56的读取过程。优选地,域57可由程序员用来限定触发条件(例如 “如果机械手12在左边为真(left = true),则从存储器38读取传感器数据”)。以在下文中更详细说明的方式,调试工具52将来自数据存储器38的传感器数据 与程序编辑器42中示出的高级控制指令46相互联系起来。调试工具52因此被配置为同 时确定当前运行于微处理器32上的机器代码与程序编辑器42中示出的高级控制指令之间 的逆向关系。在优选实施例中,调试工具52被连接到包括多个图形符号的数据库58,每个 图形符号图示出机器人11的多个预定系统状态之一。例如,数据库58可以包括示出机械 手12在不同位置(上、下、左、右等)的机器人11的图形符号。调试工具52可以被配置为 根据经由通信链路54接收到的实际传感器数据来从多个图形符号中选择一个,以便如例 如图3至图5中所示将机器人11的当前系统状态符号化地反映到高级控制程序44中。图3示出了包括多个高级控制指令46的程序编辑器42。多个高级控制指令46形 成在本实施例中以文本语言编写的高级控制程序。然而也可想到使用图形编程语言,比如 已知的在国际标准IEC61131中定义的功能框图(Function Block Diagram)。图3示出了 停用调试工具52即没有新调试功能的程序编辑器42。图4示出了相同的程序编辑器42但启用有限数目的高级控制指令46和调试工具 52的情况。如从图4可见,文字数字符号60、62和图形符号64、66与高级控制指令46 —起 显示。符号60、62显示高级程序变量68的当前值,在所示实施例中该变量为被称为STATE 的变量。调试工具52根据当前传感器数据确定程序变量68的当前值。如可从图4中的图示所见,由于控制操作的运行,和/或由于传感器数据因其它 原因而产生的变化,在控制过程的进程中程序变量68可以具有不同值。调试工具52根据 与控制过程中的控制指令的时间序列69对应的时间线来显示程序变量68的相应当前值。 因此,如在图4中的符号60、62所示,程序变量68可以在一个高级控制指令中具有当前值 “5”,而它可以在其后的控制指令中具有当前值“6”。符号60、62显示字母数字值,这用于字节(BYTE)、字(WORD)、整型(INTEGER)或者 实数型(REAL)类型的高级程序变量可能是有用的,这些数据类型在根据IEC61131的编程 语言中为通用数据类型。相反,符号64、66是图形符号,优选地可用于显示布尔变量的当前 状态。在图4中示出的实施例中,符号64、66代表可以是“接通”或者“关断”的“绿灯”。然 而由符号64、66象征的任何布尔程序变量的当前状态同样根据控制操作的时间序列和根 据实际传感器数据来确定。图5示出了包括高级控制程序44的程序编辑器42的另一例子,所述程序44包括 高级控制指令46。程序44包括两个布尔变量70、72,并且在这里,控制程序的进程中的每个 程序变量70、72的相应当前状态通过示出机械手12的象形图的图形符号74、76表示。可 想到图形符号74、76可示出根据多个不同传感器数据确定的机械手12的当前位置。调试工具52可以被配置为根据多个传感器数据来确定复杂数据变量。例如,复杂数据变量可以 对应于表示机械手12的各关节的多个位置信息的多个传感器数据。符号74、76可以是机 械手12在相应位置的画面,每个画面代表不同位置并从而代表复杂数据变量的不同值。
在优选实施例中,在控制器14上无断点且实时地执行机器代码程序38。然而也可 想到在适当时除了新调试理念之外还可以使用逐步模式和/或使用断点。
权利要求
一种对用于控制自动化设备(10)的工业控制器(14)进行编程的方法,所述设备包括用于提供表示所述设备的实际系统状态的传感器数据的至少一个传感器(16,20)和用于按照所述实际系统状态来起作用的至少一个致动器(18,24,26),并且所述控制器(14)包括用于存储所述传感器数据的数据存储器(38)和用于存储机器代码程序(38)的程序存储器(36),所述方法包括以下步骤-提供具有程序编辑器(42)、调试工具(52)和编译器(48)的编程工具(30),-使用所述程序编辑器(42)创建高级控制程序(44),所述高级控制程序(44)包括多个高级控制指令(46),-使用所述编译器(48)编译所述高级控制程序(44),以便创建包括用于反复读取和处理所述传感器数据的机器代码指令(40)的机器代码程序(38),-向所述程序存储器(36)中加载所述机器代码程序(38),以及-启用用于调试所述高级控制程序(44)的所述调试工具(52),其中在所述程序编辑器(42)中示出所述高级控制指令(46),其特征在于在启用所述调试工具(52)的同时在所述控制器(14)上执行所述机器代码程序(38),而所述调试工具(52)确定运行于所述控制器(14)上的所述机器代码(38)与所述程序编辑器(42)中示出的至少一个高级控制指令(46)之间的逆向关系,所述调试工具(52)从所述数据存储器(38)读取所述传感器数据,并且所述调试工具(52)向所述至少一个高级控制指令(46)分配来自所述数据存储器(38)的所述传感器数据,从而将所述至少一个高级控制指令与执行所述机器代码程序(38)期间的实际系统状态联系起来。
2.根据权利要求1所述的方法,其中在在所述控制器(14)上执行所述机器代码程序 (38)的同时所述调试工具(52)从所述数据存储器(38)反复读取所述传感器数据。
3.根据权利要求1或2所述的方法,其中在所述控制器上实时执行所述机器代码程序 (38)。
4.根据权利要求1至3之一所述的方法,其中从所述数据存储器(38)读取传感器数据 历史(55)并且向所述至少一个高级控制指令(46)分配所述传感器数据历史(55)。
5.根据权利要求1至4之一所述的方法,其中所述调试工具(52)从所述数据存储器 (38)读取所述传感器数据并且根据预定触发条件(57)将它分配给所述至少一个高级控制 指令(46)。
6.根据权利要求1或2所述的方法,其中以逐步方式在所述控制器(14)上执行所述机 器代码程序(38)。
7.根据权利要求1至6之一所述的方法,其中所述高级控制程序(44)包括顺序与执行 所述机器代码程序(38)期间的时间顺序对应的多个高级控制指令(46),而所述调试工具 (52)根据所述时间顺序向所述至少一个高级控制指令(46)分配来自所述数据存储器(38) 的所述传感器数据。
8.根据权利要求1至7之一所述的方法,其中从所述多个高级控制指令(46)中选择有 限数目的高级控制指令(46),并且其中所述调试工具(52)仅确定运行于所述控制器(14) 上的所述机器代码(38)与所述有限数目的高级控制指令(46)之间的逆向关系。
9.根据权利要求1至8之一所述的方法,其中所述至少一个高级控制指令(46)包括高 级程序变量(68),而所述调试工具(52)向所述高级程序变量(68)分配来自所述数据存储器(38)的所述传感器数据。
10.根据权利要求1至9之一所述的方法,其中所述至少一个高级控制指令(46)与来 自所述数据存储器(38)的多个传感器数据有关,其中所述调试工具(52)根据所述多个传 感器数据确定复杂数据变量(74),所述复杂数据变量代表所述设备(10)的高级系统状态, 并且其中所述调试工具向所述高级控制指令(46)分配所述复杂数据变量。
11.根据权利要求1至9之一所述的方法,其中所述调试工具(52)在所述程序编辑器 (42)中在接近所述高级程序指令(46)的位置显示所述传感器数据。
12.根据权利要求11所述的方法,其中所述调试工具包括数据库(58),所述数据库包 括多个图形符号(74,76),所述多个图形符号中的每个图形符号图示所述设备(10)的多个 预定系统状态之一,而所述调试工具(52)根据所分配的传感器数据在接近所述高级程序 指令(46)的所述位置显示所述多个图形符号(74,76)之一。
13.—种包括程序代码的计算机程序,配置为当作为对用于控制自动化设备的工业控 制器进行编程的编程工具在计算机上执行所述程序代码时,实施根据权利要求1至12之一 的方法的所有方法步骤。
14.一种用于对自动化设备(10)的工业控制器(14)进行编程的装置,所述设备(10) 包括用于提供表示所述设备(10)的实际系统状态的传感器数据的至少一个传感器(16, 20)和用于按照所述实际系统状态来起作用的至少一个致动器(18,24,26),并且所述控制 器(14)包括用于存储所述传感器数据的数据存储器(38)和用于存储机器代码程序(38) 的程序存储器(36),所述装置包括-程序编辑器(42),用于创建高级控制程序(44),所述高级控制程序(44)包括多个高 级控制指令(46),_编译器(48),用于编译所述高级控制程序(44),以便创建包括用于反复读取和处理 所述传感器数据的机器代码指令(40)的机器代码程序(38),-接口(50),用于向所述控制器(14)的所述程序存储器(36)中加载所述机器代码程 序(38),以及-调试工具(52),用于调试所述高级控制程序(44),其中在所述程序编辑器(42)中示 出所述高级控制指令(46),其特征在于所述调试工具(52)被配置为在所述控制器(14)上启动所述机器代码程序 (38)的执行,所述调试工具(52)被配置为确定运行于所述控制器(14)上的所述机器代码 (38)与所述程序编辑器(42)中示出的至少一个高级控制指令(46)之间的逆向关系,所述 调试工具(52)还被配置为从所述数据存储器(38)读取所述传感器数据,并且所述调试工 具(52)被配置为向所述至少一个高级控制指令(46)分配来自所述数据存储器(38)的所 述传感器数据,由此将所述至少一个高级控制指令(46)与执行所述机器代码程序(38)期 间的实际系统状态联系起来。
全文摘要
对自动化设备的工业控制器编程的方法和装置。设备包括提供表示设备实际系统状态的传感器数据的至少一个传感器和按实际系统状态起作用的至少一个致动器。用于控制设备的控制器包括存储传感器数据的数据存储器和存储机器代码程序的程序存储器。对控制器编程的编程工具包括程序编辑器、调试工具和编译器。据本发明的一个方面,在启用调试工具的同时在控制器上执行机器代码程序,且调试工具确定运行于控制器上的机器代码与程序编辑器中示出的至少一个高级控制指令之间的逆向关系。调试工具从控制器中的数据存储器读取传感器数据并向至少一个高级控制指令分配传感器数据,由此将至少一个高级控制指令与执行机器代码程序期间的实际系统状态联系起来。
文档编号G05B19/05GK101866159SQ201010167320
公开日2010年10月20日 申请日期2010年4月20日 优先权日2009年4月20日
发明者弗洛里安·斯坦科, 蒂莫·纳夫拉蒂尔, 赫伯特·沃尔特, 马泰奥·坎塔雷利, 马蒂亚斯·罗伊施 申请人:皮尔茨公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1