CN102906652A - 用于闭环控制器编程的方法和系统 - Google Patents
用于闭环控制器编程的方法和系统 Download PDFInfo
- Publication number
- CN102906652A CN102906652A CN2011800259612A CN201180025961A CN102906652A CN 102906652 A CN102906652 A CN 102906652A CN 2011800259612 A CN2011800259612 A CN 2011800259612A CN 201180025961 A CN201180025961 A CN 201180025961A CN 102906652 A CN102906652 A CN 102906652A
- Authority
- CN
- China
- Prior art keywords
- control routine
- realistic model
- special use
- data handling
- handling system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004088 simulation Methods 0.000 claims abstract description 20
- 238000012937 correction Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 239000003607 modifier Substances 0.000 claims description 4
- 230000006399 behavior Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000011960 computer-aided design Methods 0.000 description 7
- 238000005755 formation reaction Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007474 system interaction Effects 0.000 description 3
- 241001597008 Nomeidae Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Numerical Control (AREA)
Abstract
一种方法,包括:接收仿真模型的输入(302),所述仿真模型包括传感器。该方法包括并行执行仿真模型和所仿真的物理控制器的控制代码(304,306),所述控制代码根据所述传感器的状态与所述仿真模型进行交互。该方法包括基于所执行的仿真模型和控制代码生成修正的控制代码(312),以及基于所述修正的控制代码生成控制器专用的控制代码。最后,该方法包括执行仿真模型(314)和控制器专用的控制代码,所述控制器专用的控制代码与所述仿真模型进行交互。
Description
技术领域
本公开总体上涉及使用在计算机辅助设计、制造、使用,建模,以及可视化(个别及统称为“CAD”和“CAD系统”)和产品生命周期管理系统(“PLM”)及其它系统中的系统和方法。
背景技术
许多工业产品首先在计算机辅助设计(CAD)系统中被设计和建模,PLM系统被制造商、零售商、顾客和其它用户用来管理各种产品的设计、使用和处置。期望改进的系统。
发明内容
各种实施例中包括系统、方法和计算机可读介质。一种方法,包括:接收仿真模型的输入,所述仿真模型包括传感器。该方法包括并行地执行仿真模型及用于所仿真的物理控制器的控制代码,在控制器处,控制代码根据传感器的状态与仿真模型进行交互。该方法包括基于执行的仿真模型和控制代码生成修正的控制代码,以及基于修正的控制代码生成控制器专用的控制代码。该方法包括执行仿真模型和控制器专用的控制代码,控制器专用的控制代码与仿真模型进行交互。
前面已经比较粗略地概述了本公开的特征和技术优点,使得本领域的技术人员可以更好地理解下面的详细描述。构成权利要求的主题的本公开的其它特征和优点将在下文进行描述。本领域的技术人员将理解,可以容易地使用所公开的概念和具体实施例作为基础来修改或设计用于实施与本公开的目的相同目的的其它结构。本领域的技术人员也将认识到,这样的等同结构没有脱离本公开的最宽泛形式的精神和范围。
在开始说明以下的“具体实施方式”之前,说明贯穿本专利文献中使用的特定词语或短语的定义是有利的:术语“包括”和“包含”及其衍生物,其含义是没有限制的包括;术语“或”是包容性的,其含义是和/或;短语“与...关联”和“与其关联”及其衍生物,可以指包括、包括在…内、与...互连、包含、包含在…内、连接到或与…连接、耦接到或与…耦接,可与……通信、与...协作、交织、并列、接近、被绑定到或与…绑定、具有、具有...的特性等;以及术语“控制器”是指控制至少一个操作的任何装置、系统或其部分,而不管该装置是以硬件、固件、软件还是其中的至少两个的组合来实施。应该指出的是,与任何专用控制器相关联的功能性可以是集中式的或分布式的,本地的或是远程的。对特定词语和短语的定义贯穿本专利文件,并且本领域的普通技术人员将会理解,这样的定义在许多场合(即使不是绝大多数)下适用于这样定义的词和短语的先前和将来的使用。虽然某些术语可包括各种各样的实施例,但是所附的权利要求书中明确地将这些术语限制到特定的实施例。
附图说明
为了更透彻地理解本公开及其优点,现在参考下面结合附图的描述,在附图中相同的标记代表相同的对象,其中:
图1示出了可以实现实施例的数据处理系统的框图;
图2示出了根据所公开的实施例的系统架构的框图;
图3示出了根据所公开的实施例的处理的流程图。
具体实施方式
下面讨论的图1~图3和本专利文献中用于描述本公开的原理的各种实施例仅是示例性的,并且不应被解释为以任何方式限制本公开的范围。本领域的技术人员将理解,本公开的原理可以以任何适当布置的装置实现。将参照示例性的非限制性实施例描述本申请的多个创新的教导。
生产机床和其它装置越来越多地由数字控制器控制。在过去,生产机床的特点是通过一个大的电动机驱动一个中心立轴。各种各样的传动装置物理地将该轴的运动传递和分配给多个执行机构。
现代化的机床由通过机床来移动和处理工作物质的分散的执行机构和监视生产过程的状态的传感器组成。通过运行于数字控制器上的软件来执行执行机构关于生产过程的状态的协调。这种方法的好处在于,这些机床可以容易地通过编辑控制器软件来适应于生产新产品或适应于生产过程中的变化。
由于现在在软件中而不是在物理传动装置中指定机床的功能,因而生产工作构件的复杂性已变成编程问题。数字控制器的程序员需要具有之前处于分离领域的专业知识。程序员需要对于机床具有深厚的机械和处理的理解,也必须要精通控制器上所使用的编程语言。由于这些不同的需求,目前只有高素质的人员可以创建用于自动化的现代化生产机床的代码,并且即使是对于那些高素质的专家,在机床能够投产之前,仍需要花费大量的时间和进行测试。
所公开的实施例通过提供与机械系统如何工作的直观概念更匹配的用于开发控制器编程的交互式系统来减轻程序员的负担。
图1示出数据处理系统的框图,其中,实施例可以被实施并被配置为执行本文描述的处理。所示出的数据处理系统包括连接到二级缓存/桥接器104的处理器102,处理器102反过来连接到本地系统总线106。本地系统总线106可以例如是外围组件互连(PCI)架构总线。在所示出的例子中,主存储器108和图形适配器110也连接到本地系统总线。图形适配器110可以被连接到显示器111。
其它外围设备,例如局域网(LAN)/广域网络/无线(例如,无线局域网)适配器112,也可以连接到本地系统总线106。扩展总线接口114将本地系统总线106连接到输入/输出(I/O)总线116。I/O总线116连接到键盘/鼠标适配器118、盘控制器120和I/O适配器122。盘控制器120可以被连接到存储器126,其可以是任何适合的可用机器或机器的可读存储介质(包括但不限于非易失性、硬编码型介质,例如只读存储器(ROM)或可擦除、电可擦可编程只读存储器(EEPROM)、磁带存储装置)和用户可记录型的介质(如软盘、硬盘驱动器和光盘只读存储器(CD-ROM)或数字多功能盘(DVD)),以及其它已知的光学、电学或磁存储设备。
示例中示出音频适配器124也被连接到I/O总线116,扬声器(未示出)可以与音频适配器124连接以播放声音。键盘/鼠标适配器118提供用于指示设备(未示出,例如鼠标、轨迹球、磁道指示器等)的连接。
本领域的普通技术人员将理解,对于特定的实施方式,图1中所示的硬件可能会有所不同。例如,也可另外使用其它外围设备(如光盘驱动器等)或以其它外围设备替换所示出的硬件。所示出的例子仅为了说明的目而提供,并不意味着隐含与本公开相关的架构限制。
根据本公开的实施例中的数据处理系统包括采用图形用户界面的操作系统。该操作系统允许在图形用户界面中同时呈现多个显示窗口,其中每个显示窗口为不同的应用或相同应用的不同情况提供界面。用户可以通过指示设备来操作图形用户界面中的光标。可以改变光标的位置,和/或产生激励期望响应的事件,例如点击鼠标按钮。
如果进行适当的修改,则也可以采用各种商业化的操作系统之一,例如位于华盛顿州雷德蒙德的微软公司的产品Microsoft WindowsTM的一个版本。根据所描述的本公开修改或创建操作系统。
LAN/WAN/无线适配器112可以连接到网络130(其不是数据处理系统100的一部分),网络130可以是如本领域的技术人员已知的任何公共的或私密的数据处理系统网络或其组合(包括因特网)。数据处理系统100可以通过网络130与服务器系统140通信,服务器系统140也不是数据处理系统100的一部分,但可以作为例如单独的数据处理系统100实现。
目前,需要用户或其它用户利用传统的编程语言对用于生产系统的控制器编程,可能通过使用数据处理系统100,因而可能需要针对每个实现学习特定的编程要求和语言。为了提高用户对于编程和在真机上测试控制软件的技能,要投入大量的时间。
一些机器人系统使用在执行时没有任何实时反馈的开环程序。使用用于记录机器人的不同执行机构计划的动作的方法来对这些机器人系统编程,所述动作稍后将在真实的或虚拟的机器人上展示。控制器使用所记录的运动来提供机器人的执行机构的开环位置控制。这些技术不能恰当地操作对控制器运行期间的实时输入进行响应的闭环系统。机器人的编程动作是固定的,并且没有考虑机器人与其周围环境的物理交互。
所公开的实施例提供了用于对闭环自动化系统编程的系统和方法,其中,在所述闭环自动化系统中,感测和其它条件会影响控制器的行为。各种实施例包括通过使用集成的虚拟仿真模型来生成控制器软件的方法。该模型再现了机床的基本的机械/物理行为。
图2示出了根据所公开的实施例的系统架构的框图,其可以在特定配置的数据处理系统上实现。
用户经由图形用户接口202与系统交互。图形用户接口202可以包括用户交互技术(如鼠标拖动),以对对象施加运动或力、触发传感器,全面控制启动、停止和倒退运行时间等。图形用户接口202可以包括可视化的特征(例如三维(3D)仿真模型)、传感器和执行机构状态、控制代码状态,以及针对与仿真交互及理解仿真对用户而言有用的其它信息。
该系统还采用了可以操纵和维护三维图形模型的三维(3D)图形编辑器204。例如,该模型可能包括如下构成但不限于这些构成:诸如结构件的机械部件、诸如导轨和传动装置的耦合部件、传感器的检测区域和这些部件的几何位置、原料流以及产品状态的变化。该模型的对象被表示为布置在3D图形编辑器204中的三维图形。系统使用本领域的技术人员已知的3D图形方法来显示该模型。
根据各种实施例,该仿真模型包括至少三种对象。一些对象表示机床自身的物理方面。这些对象包括各种固体表面、杠杆臂和其它机械部件。这些对象还包括概念性的物理特征,如通过铰链连接在一起的两个对象或加工材料的流向。
其它对象表示机床所作用的产品。例如,对于传送带系统,该产品可以是承载于传送带上的对象。作为另一例子,对于成型机床,该产品是加工成形的原材料以及成型发生后的产品。
最后一组对象是引起行为发生的机床内的传感器和执行机构。例如,发动机可以施加用于移动机床内的杠杆臂的动力,或者激光传感器可以在箱子通过门的时候读取其位置。
除了3D仿真模型和关联的3D图形编辑器204,一些实施例中的系统还包含用于对控制行为进行编程的代码编辑器206。这些行为包括执行机构用来适当地实施机床的操作的指令。输入值可以来自仿真模型中的传感器以及诸如计时和其它数据源的内在事件。代码编辑器206可以使用传统的编程语言,或者优选使用流程图或数据流编程技术。
使用如流程图或数据流编程的图表化语言,通过与系统交互来开发该代码。用户可以在任何时间直接编辑控制代码,在优选实施例中,该系统允许使用仿真环境自动地创建代码。该系统还具有在仿真期间运行控制代码的注释器。
该系统包括执行系统208,其用于执行所仿真的或实际的控制器的控制代码和3D仿真模型。3D仿真模型允许用户使用图形用户接口202的交互技术来处理3D图形编辑器204的3D图形。例如,鼠标拖动或对系统的类似输入可以用来改变对象的位置和速度、施加力和力矩、触发传感器等。在仿真模型的该实时操作中,根据用户操作的机床的机械/物理的行为,由系统执行和显示物理仿真。该模型还可以通过计算每个传感器对其当前的环境如何反应来生成传感器的状态。执行系统208还可以运行当前指定的控制代码来更新由执行机构产生的效果。
各种实施例允许用户使用仿真模型,以便在执行系统208中检查和编辑控制代码。当与用户交互时,系统运行仿真模型。响应于用户的操作,系统启动、停止和倒退运行时间。当仿真运行时,该系统还执行控制代码,以便用户可以看到所有执行机构的参数,无论其是处于激活状态还是非激活状态。用户可以在任何点处暂停仿真模型,此时,系统冻结仿真对象的值并显示每个执行机构的控制代码的状态。该仿真以及与用户的交互可以用来创建执行系统208中的控制代码。
响应于从用户或其它用户接收的输入,该系统可以在时间上向后或向前移动以找到发生重要事件或要发生重要事件的精确点。
在仿真暂停时,用户有若干选项来改变代码。当然,用户可以直接使用代码编辑器206编辑代码。用户还可以在仿真模型的当前状态下拍摄其“快照”。快照是对于其当前状态下的所有执行机构的有效记录。该系统向用户提供在代码编辑器中可用的快照对象。将快照插入到代码中提供了用于使所有的执行机构进入所记录的相同状态的指令。在一些情况下,快照对象可以被实现为成为执行系统208的控制代码的一部分的代码指令。快照对象可以用作使得机床符合特定的行为模式的指令。
例如,可以针对机床正常运行的时间创建一个快照,并且对于机床处于诊断模式的时间创建另一快照。用户可以检查快照对象并手动编辑该对象,以对其命名、删除多余的状态变量及添加参数和条件。
用户还可以将对象从仿真模型拖动到代码中来创建新的指令。所创建的该类型的指令依赖于被拖动的仿真对象的背景。
为了创建条件表达式,在一些实施例中,用户将传感器对象拖动到代码中。仿真中的传感器对象将具有用于确定其状态的属性值。例如,光电二极管传感器将具有在对象通过其相应的光束时发生改变的二进制值。针对传感器自动创建的指令是传感器的属性值是否等于其在仿真中的当前值的测试。将多个传感器对象拖入代码中会导致系统创建用来测试每个传感器的值的指令,并且使用逻辑与将它们组合成单个测试。如果还需要其它表达式,用户可以直接编辑该表达式的逻辑。
如果用户将执行机构对象拖动到代码中,则系统自动创建用于将执行机构的属性修改为其当前状态的指令。所创建的指令与针对快照对象将创建的是相同的,但对于被拖动的执行机构是独特的。用户可以根据需要修改指令。将机床的不是传感器或执行机构的一部分拖入控制代码中,会使得系统创建表示对象状态的状态变量。该系统将创建用于可以确定的状态的变量,其给出执行机构对象的状态。如果用户将加工件对象拖动到控制代码或类似地仅受物理交互影响的机床部分中,则系统会报告错误。由于物理交互发生在控制程序之外,因此控制代码不能包含这些变量的引用。
用户也可以通过修改仿真模型中的执行机构的状态来创建指令。当仿真暂停时,用户可以使用3D图形编辑器编辑其对象。如果用户对执行机构进行编辑,则在控制代码中添加用于引起该变化的指令。例如,如果用户激活发动机,则在代码中添加用于激活该发动机的代码。通过重复地重新开始仿真并再次暂停或者通过使用时间控件来在时间上前进或倒退,可以呈现一系列的动作。每次暂停之后,用户将执行机构的状态修改为其适当值。系统会在序列中的每个动作之间自动插入定时指令。
用户可以按需求使用其它代码代替定时指令,如通过在传感器对象中拖动来创建条件测试。在一些实施例中,在仿真模型中接收到不同于执行机构的编辑对象,不会促使系统在控制代码中添加指令。这类编辑被视为外力,如机床操作员手工移动机床的一部分或者其它不可控的影响。
一旦用户到达其对机床的行为满意的点,该系统能够将通过用户与模型的交互而生成的软件代码翻译、编译或以其它方式处理成能够在数字控制器上执行的控制器专用软件,示为代码生成器210中的控制器专用代码。由于用户有权使用生成的代码,针对控制硬件的改进能够被应用到控制器软件。为了验证所翻译的代码的正确性,通过将实际的或虚拟的控制器连接到仿真内部的执行机构或传感器,通过将其它物理设备连接到系统或由系统单独运行虚拟控制器和其它硬件,能够针对代表机床的机械/物理行为的仿真模型测试该代码。
当在该模式下运行时,仿真模型正常地运行其物理仿真,但允许通过外部设备或仿真设备控制执行机构的状态。同样,传感器的状态也可以被发送到控制器,而不是在内部使用。
在编写控制软件的同时应用运行仿真模型的一个总优点在于其使得软件操作更清晰、易于规划并易于测试。
一个优点在于使物理过程的运行仿真可用简化了很多问题。用户将不再猜测给定的代码段将产生什么影响。只要运行代码,仿真中的影响通常是很容易看到的。由于仿真是虚拟的,可以容易地查看包括那些难以在物理机床上实施的过程的属性。由于用户可以控制仿真时间,当某事发生时或应该发生时可以直接地发现。
另一优点在于,该仿真模型提供了用于理解控制代码的直观平台。通常,在没有清楚地表现所控制的机床的情况下编写控制软件。程序员必须通过使用其它文件或通过猜测软件的变量名的含义来推断机床如何工作。使用所公开的实施例,该仿真向读取代码的任何人准确地示出正在实施什么代码以及该代码如何与装置中的其它机构关联。通过运行该仿真,程序员可以以完全动画的和交互式的3D图形来查看机床如何工作。
另一优点是,代码和仿真被明确链接在一起。这使得能够使用仿真作为指引来检查代码,或者能够检查由代码指引的仿真。由于仿真和代码的名称是直接关联的,因而可以在控制与仿真之间无缝地来回跳转。
当使用仿真对象时,创建新的指令是比较不容易出错的,因为系统会专门创建用于该对象的代码。用户不必输入传感器或执行机构的名称,因此减小了弄错名称或不小心将指令发送到错误对象的可能性。此外,传感器与执行机构的属性的特征值来自运行中的仿真。因此,装置已知这些值是正确的。例如,在实际情况下,程序员不太可能错误地将传感器测试为真实状态,假定其为假。
通常,本文公开的各种实施例减少了用于将只存在于用户脑中的预期的机床行为转换为软件代码的困难任务。代替调用与编程和如何管理设备相关的所有内容,用户指出需要实现什么要求并将其拖进代码中。
图3示出了根据所公开的实施例的处理的流程图。该高级流程图描述了与通过使用本文所述的集成的虚拟仿真模型生成控制器软件的处理有关的流程图。这样的处理可以通过单独的数据处理系统或多个共同运行的数据处理系统实现,这两种情况均称为单数的“数据处理系统”。
该系统首先接收仿真模型的输入(步骤302)。这里所用的接收可以包括从存储器加载、例如通过网络从其它的系统接收、通过与用户进行交互构建仿真模型或包括上述的组合。
在各种实施例中,仿真模型是机械的/物理的3D仿真模型,该模型可以包括彼此交互的机械部件、限制运动的部件,如铰链、工件、传感器、执行机构,以及如本文所述的其它部件。该步骤也可以包括从存储器、其它系统、与用户的交互,或包括上述的其它组合来接收控制一个或多个所仿真的物理控制器的控制代码。
该系统执行仿真模型(步骤304),并同时执行控制一个或多个所仿真的物理控制器的控制代码(步骤306)。由于物理仿真在执行时与控制代码的执行交互以示出所仿真的物理控制器的操作,因此,在图3中,这些步骤被示为互相交互。这些并行的执行有效地仿真了闭环控制器系统,在闭环控制器系统中,仿真模型和控制器根据本仿真模型中存在的传感器和执行机构来修改它们的行为。
作为步骤304和306的一部分,在执行仿真模型与控制代码时,该系统可以与用户交互。该系统监视仿真模型中存在的传感器和执行器的状态,并对这些状态以及仿真模型中对应的状态和操作拍摄“快照”。
系统确定仿真模型和所仿真的物理控制器的行为是否正确(步骤308),其可以包括接收用户关于预定操作的行为是否正确的指示。
如果该行为不正确,则系统生成修正的控制代码(310)。该步骤可以包括基于快照、从用户接收的输入,或其它生成或编辑修正的控制代码。优选地,用户可以使用图形界面将快照、对象或其它输入插入至系统作为生成代码的基础,并且该步骤还可以包括直接接收来自用户的新的或经过编辑的控制代码。该步骤可以包括使用仿真模型中的对象的值来创建新的或经修正的控制代码。然后,系统返回到步骤304和306以继续执行。
在一些实施例中,系统不断地在步骤304,306,308,和310之间循环,直到所述行为被确定为正确为止。以这种方式,当用户与系统交互以修改仿真和所仿真的物理控制器的行为时,系统有效地执行实时仿真和与用户的交互、生成修正的控制代码并执行修正的控制代码和仿真模型。当用户篡改仿真模型、所仿真的物理控制器、执行机构、传感器和其它对象的状态以及控制代码本身时,立即更新所显示的仿真模型。
当行为被确定为正确时(在步骤308),系统将基于控制代码和/或仿真模型的当前状态自动地生成控制器专用的代码(步骤312)。该步骤可以包括,从用户或其它处接收要对其生成代码的专用控制器的特定模型的指示或专用控制器的规格,并且接收与用于生成控制器专用的代码所需的特定控制有关的任何数据,包括专用控制器的内核。本文所使用的“专用控制器”,可以表示唯一的控制器或设备,或者可以表示可用于各种设备的特定类型或型号的控制器。
然后,系统将再次执行仿真模型,此次与专用控制器的内核进行通信(步骤314),其中所述内核执行控制器专用的代码。该步骤可以包括执行包括所述内核的专用控制器的仿真,或者与包含内核的实际的特定物理控制器进行通信。以这种方式,仿真模型可以显示与专用控制器(或特定的控制器的仿真)直接进行交互的仿真,以确保控制器专用的代码是正确的。这个步骤可以包括接收对控制器专用的代码的编辑或修正。
本领域的技术人员将认识到,为了简单和清楚,本文中没有描述或说明所有适合于使用本公开的数据处理系统的全部结构和操作。相反,只描述和说明了数据处理系统的对于本公开唯一的或者用于理解本公开所必需的内容。数据处理系统100的其余的结构和操作可以与本领域已知的各种现有的实施或实践相一致。
需要着重要指出的是,虽然本公开包括完整的功能性系统的上下文描述,但本领域的技术人员将理解,本公开机构的至少一部分能够以包含在机器可用、计算机可用或任何形式的计算机可读介质中的指令的形式分发,而且,不管实际用于实施所述分发的指令或信号的承载介质或存储介质的特定类型,本公开同样适用。机器可用/可读或计算机可用/可读的介质的例子包括:非易失性介质、如只读存储器(ROM)或可擦除的硬编码类型的介质、电可编程只读存储器(EEPROM)、以及如软盘,硬盘驱动器和光盘只读存储器(CD-ROM光盘)或数字多功能光盘(DVD)的用户记录类型的介质。
尽管已详细描述了本公开的示例性实施例,但本领域的技术人员将理解,在不脱离本公开的精神和范围的情况下,本文中所公开的各种修改,替换,变化和改进可以以其最广泛的形式实现。
所使用的附图标记、词汇列表
100数据处理系统
102处理器
104缓存/桥接器
106本地系统总线
108主存储器
110图形适配器
111显示器
112局域网/广域网/无线适配器
114扩展总线接口
116输入/输出总线
118键盘/鼠标适配器
120盘控制器
122I/O适配器
124音频适配器
130网络
140服务器系统
202图形用户接口
204图形编辑器
206代码编辑器
208执行系统
210代码生成器
302接收仿真模型的输入
304执行仿真模型
306并行执行用于控制一个或多个所仿真的物理控制器的控制代码
308确定仿真模型和所仿真的物理控制器的行为是否正确
310生成修正的控制代码
312基于控制代码和/或仿真模型的当前状态自动地生成控制器专用的代码
314执行与控制器内核交互的仿真模型
所使用的缩写字母列表
PLM产品生命周期管理
Claims (22)
1.一种生成用于闭环控制器的代码的方法,包括:
-在数据处理系统(100)中接收仿真模型的输入(302),所述仿真模型包括传感器;
-在所述数据处理系统中并行执行(304)所述仿真模型和所仿真的物理控制器的控制代码(306),所述控制代码根据所述传感器的状态与所述仿真模型进行交互;
-基于所执行的仿真模型和控制代码,由所述数据处理系统(100)生成修正的控制代码(310);
-由所述数据处理系统(100)基于所述修正的控制代码生成控制器专用的控制代码(312);以及
-执行所述仿真模型(314)和所述控制器专用的控制代码,所述控制器专用的控制代码与所述仿真模型进行交互。
2.如权利要求1所述的方法,其中,重复执行所述并行执行步骤和生成修正的控制代码的步骤(306,310),直到所述数据处理系统接收到表示所述仿真模型的行为(308)是正确的指示为止。
3.如权利要求1或2所述的方法,其中,所述生成修正的控制代码的步骤包括基于所述传感器的状态修改所述控制代码。
4.如权利要求1-3中的任意一项所述的方法,其中,使用与所述控制器专用的控制代码对应的专用控制器来执行(312)所述控制器专用的控制代码。
5.如权利要求1-4中的任意一项所述的方法,其中,使用与所述控制器专用的控制代码对应的专用控制器的仿真来执行(312)所述控制器专用的控制代码。
6.如权利要求1-5中的任意一项所述的方法,其中,所述仿真模型还包括执行机构。
7.如权利要求1-6中的任意一项所述的方法,其中,所述控制代码控制所仿真的物理控制器。
8.如权利要求1-7中的任意一项所述的方法,其中,所述仿真模型是包括互相交互的机械部件的机械的/物理的三维仿真模型。
9.一种数据处理系统,所述数据处理系统包括处理器和能够访问的存储器,所述数据处理系统具体被配置为执行以下步骤:
-接收仿真模型的输入,所述仿真模型包括传感器;
-并行执行所述仿真模型和所仿真的物理控制器的控制代码,所述控制代码根据所述传感器的状态与所述仿真模型进行交互;
-基于所执行的仿真模型和控制代码生成修正的控制代码;
-基于所述修正的控制代码生成控制器专用的控制代码;以及
-执行所述仿真模型和所述控制器专用的控制代码,所述控制器专用的控制代码与所述仿真模型进行交互。
10.如权利要求9所述的数据处理系统,其中,重复执行所述并行执行步骤和生成修正的控制代码的步骤,直到所述数据处理系统接收到表示所述仿真模型的行为是正确的指示为止。
11.如权利要求9所述的数据处理系统,所述生成修正的控制代码的步骤包括基于所述传感器的状态修改所述控制代码。
12.如权利要求9所述的数据处理系统,其中,使用与所述控制器专用的控制代码对应的专用控制器来执行所述控制器专用的控制代码。
13.如权利要求9所述的数据处理系统,其中,使用与所述控制器专用的控制代码对应的专用控制器的仿真来执行所述控制器专用的控制代码。
14.如权利要求9所述的数据处理系统,其中,所述仿真模型还包括执行机构。
15.如权利要求9所述的数据处理系统,其中,所述控制代码控制所仿真的物理控制器。
16.一种编码有计算机可执行的指令的计算机可读存储介质,当执行所述指令时,所述指令使得数据处理系统执行以下步骤:
接收仿真模型的输入,所述仿真模型包括传感器;
并行执行所述仿真模型和所仿真的物理控制器的控制代码,所述控制代码根据所述传感器的状态与所述仿真模型进行交互;
基于所执行的仿真模型和控制代码生成修正的控制代码;
基于所述修正的控制代码生成控制器专用的控制代码;以及
执行所述仿真模型和所述控制器专用的控制代码,所述控制器专用的控制代码与所述仿真模型进行交互。
17.如权利要求16所述的计算机可读存储介质,其中,重复执行所述并行执行步骤和生成修正的控制代码的步骤,直到所述数据处理系统接收到表示所述仿真模型的行为是正确的指示为止。
18.如权利要求16所述的计算机可读存储介质,其中,所述生成修正的控制代码的步骤包括基于所述传感器的状态修改所述控制代码。
19.如权利要求16所述的计算机可读存储介质,其中,使用与所述控制器专用的控制代码对应的专用控制器来执行所述控制器专用的控制代码。
20.如权利要求16所述的计算机可读存储介质,其中,使用与所述控制器专用的控制代码对应的专用控制器的仿真来执行所述控制器专用的控制代码。
21.如权利要求16所述的计算机可读存储介质,其中,所述控制代码控制所仿真的物理控制器。
22.如权利要求16所述的计算机可读存储介质,还包括如下指令:当执行该指令时,如果通过其它传输处理获取了由传输列表所标识的传输,则该指令使得数据处理系统执行从所述传输列表中移除所有传输的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/786,938 | 2010-05-25 | ||
US12/786,938 US8655461B2 (en) | 2010-05-25 | 2010-05-25 | Method, system, and non-transitory computer readable storage medium for generating code for a closed-loop controller |
PCT/US2011/037532 WO2011149826A1 (en) | 2010-05-25 | 2011-05-23 | Method and system for closed-loop controller programming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102906652A true CN102906652A (zh) | 2013-01-30 |
CN102906652B CN102906652B (zh) | 2015-07-15 |
Family
ID=44314524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180025961.2A Active CN102906652B (zh) | 2010-05-25 | 2011-05-23 | 生成用于闭环控制器的代码的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8655461B2 (zh) |
EP (1) | EP2577413B1 (zh) |
JP (1) | JP6116478B2 (zh) |
CN (1) | CN102906652B (zh) |
WO (1) | WO2011149826A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049573A (zh) * | 2013-03-14 | 2014-09-17 | 通用汽车环球科技运作有限责任公司 | 具有可扩展的编程环境的机器人任务指挥器 |
CN111008479A (zh) * | 2019-12-12 | 2020-04-14 | 武汉理工大学 | 基于adpss自定义模型的分布式潮流控制器的闭环仿真方法及系统 |
CN112241255A (zh) * | 2019-07-17 | 2021-01-19 | 操纵技术Ip控股公司 | 中间件系统和方法 |
CN112631210A (zh) * | 2019-09-24 | 2021-04-09 | 罗克韦尔自动化技术公司 | 用于开发工业控制程序的系统、编程方法及计算机介质 |
CN113330470A (zh) * | 2019-01-25 | 2021-08-31 | 西门子股份公司 | 工业环境中的设备的自主协调 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10997531B2 (en) | 2007-09-11 | 2021-05-04 | Ciambella Ltd. | System, method and graphical user interface for workflow generation, deployment and/or execution |
US9201986B1 (en) * | 2010-07-16 | 2015-12-01 | The Mathworks, Inc. | Managing dynamic state of a physical system |
US20120078596A1 (en) * | 2010-09-28 | 2012-03-29 | Airbus Operations (Sas) | Method for verifying the validity of the simulation of a system and corresponding device |
US20220023025A1 (en) * | 2010-12-30 | 2022-01-27 | Claret Medical, Inc. | Method of isolating the cerebral circulation during a cardiac procedure |
CN102538972B (zh) * | 2011-12-31 | 2014-04-09 | 中国电子科技集团公司第四十一研究所 | 红外焦平面阵列信号模拟器 |
DK3011444T3 (en) | 2013-06-18 | 2018-04-16 | Ciambella Ltd | METHOD AND APPARATUS FOR CODE VIRTUALIZATION AND GENERATION OF REMOTE PROCESS CALLS |
US9830136B2 (en) | 2013-07-12 | 2017-11-28 | Ciambella Ltd. | Method and apparatus for firmware virtualization |
CN103618853B (zh) * | 2013-11-19 | 2017-02-15 | 中国电子科技集团公司第四十一研究所 | 一种红外焦平面器件视频输出信号的可编程模拟装置及方法 |
EP2940586B1 (en) * | 2014-04-29 | 2023-03-01 | Hitachi, Ltd. | Method and system for testing control software of a controlled system |
US9308647B2 (en) * | 2014-06-03 | 2016-04-12 | Bot & Dolly, Llc | Systems and methods for instructing robotic operation |
CN104318308A (zh) * | 2014-09-28 | 2015-01-28 | 广东惠利普路桥信息工程有限公司 | 产品全生命周期智能服务系统 |
US11256224B2 (en) * | 2014-10-01 | 2022-02-22 | Rockwell Automation Technologies, Inc. | Virtual design engineering |
RU2678356C2 (ru) * | 2014-10-02 | 2019-01-29 | Сименс Акциенгезелльшафт | Программирование автоматизации в 3d графическом редакторе с тесно связанной логикой и физическим моделированием |
JP6931099B2 (ja) * | 2014-10-02 | 2021-09-01 | シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft | 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング |
TWI622864B (zh) * | 2015-02-09 | 2018-05-01 | 國立中正大學 | 開放型互動式3d工具機模擬系統及其方法 |
US10691088B2 (en) * | 2015-03-20 | 2020-06-23 | The Boeing Company | Programmable actuator simulation card |
US10067490B2 (en) | 2015-05-08 | 2018-09-04 | Ciambella Ltd. | Method and apparatus for modifying behavior of code for a controller-based device |
SG11201708743UA (en) | 2015-05-08 | 2017-11-29 | Ciambella Ltd | Method and apparatus for automatic software development for a group of controller-based devices |
US10747915B2 (en) * | 2015-08-18 | 2020-08-18 | Siemens Aktiengesellschaft | Programming automation sensor applications using simulation |
CN108604186B (zh) * | 2015-12-21 | 2021-11-16 | 西安姆贝拉有限公司 | 用于创建和管理基于控制器的远程解决方案的方法和装置 |
US11087249B2 (en) | 2016-05-24 | 2021-08-10 | Ciambella Ltd. | Method and apparatus for triggering execution of a workflow over a network |
CN109891854B (zh) * | 2016-08-22 | 2022-04-08 | 西安姆贝拉有限公司 | 用于创建和管理基于控制器的远程解决方案的方法和设备 |
US10798780B2 (en) * | 2016-08-22 | 2020-10-06 | Ciambella Ltd. | Method and apparatus for creating and managing controller based remote solutions |
WO2018170079A1 (en) | 2017-03-14 | 2018-09-20 | Ciambella Ltd. | Method and apparatus for automatically generating and incorporating code in development environments |
CN109408943A (zh) * | 2018-10-19 | 2019-03-01 | 厦门理工学院 | 一种喷泉控制方法、装置、系统以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5950006A (en) * | 1997-11-05 | 1999-09-07 | Control Technology Corporation | Object-oriented programmable controller |
US20040267515A1 (en) * | 2000-03-06 | 2004-12-30 | Mcdaniel Richard Gary | Programming automation by demonstration |
CN101034418A (zh) * | 2006-03-10 | 2007-09-12 | 发那科株式会社 | 用于机器人仿真的装置、程序、记录介质以及方法 |
CN201421670Y (zh) * | 2009-04-01 | 2010-03-10 | 苏州市职业大学 | 一种软可编程序控制器 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088689A (en) * | 1995-11-29 | 2000-07-11 | Hynomics Corporation | Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes |
EP0864145A4 (en) * | 1995-11-30 | 1998-12-16 | Virtual Technologies Inc | TACTILE FEEDBACK FOR HUMAN / MACHINE INTERFACE |
JPH10143221A (ja) * | 1996-11-11 | 1998-05-29 | Mitsubishi Electric Corp | 機器制御プログラムの開発支援システムおよび開発支援方法 |
US6789054B1 (en) * | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
US6560528B1 (en) * | 2000-03-24 | 2003-05-06 | Internal Combustion Technologies, Inc. | Programmable internal combustion engine controller |
WO2002025640A2 (en) * | 2000-09-21 | 2002-03-28 | Gsi Lumonics Corporation | Digital control servo system |
US7087335B2 (en) * | 2003-01-13 | 2006-08-08 | General Motors Corporation | H-infinity control with integrator compensation for anode pressure control in a fuel cell stack |
DE10307261A1 (de) * | 2003-02-20 | 2004-09-09 | Siemens Ag | Programmierplattform zur Erstellung von Teileprogrammen bei Werkzeug- oder Produktionsmaschinen |
DE102006059430A1 (de) * | 2006-12-15 | 2008-06-19 | Robert Bosch Gmbh | Automatisierte Erstellung und Adaption eines Maschinen- oder Anlagenmodells |
US7865254B2 (en) * | 2007-01-11 | 2011-01-04 | The Mathworks, Inc. | Modeling of control systems with open-loop representations and factorization of components |
US20090055156A1 (en) * | 2007-08-24 | 2009-02-26 | Rockwell Automation Technologies, Inc. | Using commercial computing package models to generate motor control code |
US8286129B2 (en) * | 2007-10-16 | 2012-10-09 | The Mathworks, Inc. | Mode-switched variable signal attributes in block diagrams |
US7974725B2 (en) * | 2009-01-06 | 2011-07-05 | GM Global Technology Operations LLC | Integrated testing system and method for validation of a manufacturing automation system |
US8467888B2 (en) * | 2009-06-05 | 2013-06-18 | The Mathworks, Inc. | Automated PID controller design |
JP5065344B2 (ja) * | 2009-07-14 | 2012-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション方法、システム及びプログラム |
US8670964B2 (en) * | 2009-10-15 | 2014-03-11 | American Gnc Corporation | Gyrocompass modeling and simulation system (GMSS) and method thereof |
-
2010
- 2010-05-25 US US12/786,938 patent/US8655461B2/en active Active
-
2011
- 2011-05-23 JP JP2013512121A patent/JP6116478B2/ja active Active
- 2011-05-23 CN CN201180025961.2A patent/CN102906652B/zh active Active
- 2011-05-23 EP EP11724106.7A patent/EP2577413B1/en active Active
- 2011-05-23 WO PCT/US2011/037532 patent/WO2011149826A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5950006A (en) * | 1997-11-05 | 1999-09-07 | Control Technology Corporation | Object-oriented programmable controller |
US20040267515A1 (en) * | 2000-03-06 | 2004-12-30 | Mcdaniel Richard Gary | Programming automation by demonstration |
CN101034418A (zh) * | 2006-03-10 | 2007-09-12 | 发那科株式会社 | 用于机器人仿真的装置、程序、记录介质以及方法 |
CN201421670Y (zh) * | 2009-04-01 | 2010-03-10 | 苏州市职业大学 | 一种软可编程序控制器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049573A (zh) * | 2013-03-14 | 2014-09-17 | 通用汽车环球科技运作有限责任公司 | 具有可扩展的编程环境的机器人任务指挥器 |
CN104049573B (zh) * | 2013-03-14 | 2017-06-16 | 通用汽车环球科技运作有限责任公司 | 机器人系统及其任务规划方法 |
CN113330470A (zh) * | 2019-01-25 | 2021-08-31 | 西门子股份公司 | 工业环境中的设备的自主协调 |
CN112241255A (zh) * | 2019-07-17 | 2021-01-19 | 操纵技术Ip控股公司 | 中间件系统和方法 |
CN112631210A (zh) * | 2019-09-24 | 2021-04-09 | 罗克韦尔自动化技术公司 | 用于开发工业控制程序的系统、编程方法及计算机介质 |
CN112631210B (zh) * | 2019-09-24 | 2024-01-30 | 罗克韦尔自动化技术公司 | 用于开发工业控制程序的系统、编程方法及计算机介质 |
CN111008479A (zh) * | 2019-12-12 | 2020-04-14 | 武汉理工大学 | 基于adpss自定义模型的分布式潮流控制器的闭环仿真方法及系统 |
CN111008479B (zh) * | 2019-12-12 | 2023-02-17 | 武汉理工大学 | 基于adpss自定义模型的分布式潮流控制器的闭环仿真方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6116478B2 (ja) | 2017-04-19 |
JP2013536480A (ja) | 2013-09-19 |
EP2577413A1 (en) | 2013-04-10 |
EP2577413B1 (en) | 2015-06-24 |
US8655461B2 (en) | 2014-02-18 |
CN102906652B (zh) | 2015-07-15 |
US20110295391A1 (en) | 2011-12-01 |
WO2011149826A1 (en) | 2011-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102906652B (zh) | 生成用于闭环控制器的代码的方法和装置 | |
US9754059B2 (en) | Graphical design verification environment generator | |
US9594856B2 (en) | System and method to embed behavior in a CAD-based physical simulation | |
CN107077339B (zh) | 利用紧密耦合逻辑和物理仿真的3d图形编辑器中的编程自动化 | |
EP3719752B1 (en) | Generating animation rigs using scriptable reference modules | |
US20140019112A1 (en) | Synthesis of simulation models from systems engineering data | |
CN112558928A (zh) | 虚拟设计环境 | |
CN106462405B (zh) | 使用活动场所的互动学习工具 | |
JP2016503524A (ja) | 仮想モデルのシミュレーション方法及び仮想モデルのシミュレーション装置 | |
Wang et al. | A distributed and interactive system to integrated design and simulation for collaborative product development | |
JP6173441B2 (ja) | パーツモデルシミュレーションのための方法およびシステム | |
Horvath | Theoretical framework for comprehensive abstract prototyping methodology | |
KR20150066377A (ko) | Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법 | |
CN115053209A (zh) | 用于在工程系统中生成工程图的方法和系统 | |
KR102537489B1 (ko) | 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 | |
US20110307224A1 (en) | System and Method for Machine Engine Modeling | |
US20220152816A1 (en) | Decentralized robotic operating environment optimization | |
KR102258103B1 (ko) | 제어 프로그램 자동 생성 방법 및 상기 방법을 수행하는 컴퓨팅 장치 | |
Rädler et al. | Integration of Machine Learning Task Definition in Model-Based Systems Engineering using SysML | |
CN118043751A (zh) | 使用户能够查看工业环境的模拟数据的方法和系统 | |
CN116974244A (zh) | 用于运行时系统从控制器设备到数字化平台的无缝过渡的方法和系统 | |
CN117882050A (zh) | 用于生成与特定工程环境兼容的工程程序的方法和系统 | |
Radkowski et al. | Unified modeling language to enhance the specification of discrete event systems for virtual reality applications | |
CN115004189A (zh) | 用于促进多个机器人任务的并发模拟的方法和系统 | |
Røed | Verification and visualization of equipment access on offshore platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: texas Patentee after: SIEMENS INDUSTRY SOFTWARE Ltd. Address before: texas Patentee before: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE Inc. |
|
CP01 | Change in the name or title of a patent holder |