CN107710149B - 利用连接性模型生成plc代码的方法和系统 - Google Patents

利用连接性模型生成plc代码的方法和系统 Download PDF

Info

Publication number
CN107710149B
CN107710149B CN201580080643.4A CN201580080643A CN107710149B CN 107710149 B CN107710149 B CN 107710149B CN 201580080643 A CN201580080643 A CN 201580080643A CN 107710149 B CN107710149 B CN 107710149B
Authority
CN
China
Prior art keywords
code
engineering
model
multidisciplinary
data
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.)
Active
Application number
CN201580080643.4A
Other languages
English (en)
Other versions
CN107710149A (zh
Inventor
奥斯温·内策尔曼
拉米·鲁文尼
阿蒂拉·拉巴斯
马里内·迪雷尔
安德列亚斯·万纳加特
维克多·罗伯特·汉布里治
安德鲁·迪拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SIEMENS INDUSTRY SOFTWARE Ltd
Original Assignee
SIEMENS INDUSTRY SOFTWARE Ltd
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SIEMENS INDUSTRY SOFTWARE Ltd, Siemens AG filed Critical SIEMENS INDUSTRY SOFTWARE Ltd
Publication of CN107710149A publication Critical patent/CN107710149A/zh
Application granted granted Critical
Publication of CN107710149B publication Critical patent/CN107710149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13116Machine code, instruction for processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23293Automated assembly of machine control software, reusable software components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

下面描述的优选实施例包括用于基于多学科工程系统中的连接性模型生成可编程逻辑控制器(PLC)代码的方法、系统和计算机可读介质。连接性模型提供多学科工程系统的各个方面之间的接口613和617以及连接619,以提供用于生成PLC代码的工程数据、代码脚本、可执行文件、调用和其它信息。采用了利用工程数据、代码脚本、可执行文件、调用和使用连接性模型接收到的其它信息来生成PLC代码的代码生成规则621。

Description

利用连接性模型生成PLC代码的方法和系统
技术领域
本实施方式涉及多学科工程系统。
背景技术
多学科工程系统是集成了诸如设计工程、电气工程、机械工程、自动化工程、项目管理等多个工程学科,并且允许来自各学科的工程师、技术人员和管理人员处理公用数据或连接数据的系统。例如,工厂设计师与机械工程师、电气工程师、自动化工程师和管理人员一起工作,为车门组装设计新的生产线。在多学科的工程系统中,每个学科都有其自己的数据表示。例如,相同的装置在每个学科中会被不同地表示,并且根据学科存储关于该装置的不同数据。
发明内容
通过介绍,下面所描述的优选实施方式包括用于基于多学科工程系统中的连接性模型生成可编程逻辑控制器(PLC)代码的方法、系统和计算机可读介质。连接性模型提供多学科工程系统的各个方面之间的接口和连接,以提供用于生成PLC代码的工程数据、代码脚本、可执行文件、调用和其它信息。采用了利用工程数据、代码脚本、可执行文件、调用和使用连接性模型接收到的其它信息来生成PLC代码的代码生成规则。
在第一方面,提供了用于基于多学科工程系统中的连接性模型生成可编程逻辑控制器(PLC)代码的方法。服务器存储用于生成PLC代码的代码模型和用于多学科系统的连接性模型。连接性模型包括多学科工程系统中的多个接口。所述接口中的每一个均与工程应用中表示的代码模型或工程数据相关联,所述代码模型或工程数据用于多学科工程系统中具有不同作用的不同工程学科。连接性模型还包括用于多个接口中的每一个的连接规则以及接口之间的满足连接规则的连接。多个接口根据连接向其它接口发送工程数据或从其它接口接收工程数据。代码模型基于连接性模型接收在工程应用中表示的工程数据。服务器基于所接收到的工程数据和代码生成规则使用代码模型来生成PLC代码。服务器通过网络将生成的PLC编码发送到计算机。
在第二方面,提供了基于连接性模型生成可编程逻辑控制器(PLC)代码的多学科工程系统。服务器被配置成存储用于生成PLC代码的代码模型和用于多学科系统的连接性模型。连接性模型包括多学科工程系统中的多个连接点。所述连接点中的每一个均与工程应用中表示的代码模型或工程数据相关联,所述代码模型或工程数据用于多学科工程系统中具有不同作用的不同工程学科。连接性模型还包括用于多个连接点中的每一个的连接规则和连接点之间的满足连接规则的连接。多个连接点根据连接向其它连接点发送或从其它连接点接收工程数据。服务器被配置成基于连接性模型接收在代码模型中的工程应用中表示的工程数据。工作站被配置成基于接收到的工程数据和代码生成规则使用代码模型来生成PLC代码。
在第三方面,提供了用于基于多学科工程系统中的连接性模型生成可编程逻辑控制器(PLC)代码的方法。服务器存储用于PLC硬件的多个代码模型。服务器识别用于接收PLC代码的多个代码模型中的至少一者。服务器准备用于代码生成的识别代码模型。服务器生成用于识别代码模型的PLC代码。服务器将生成的PLC代码存储在识别代码模型中,并将生成的PLC从服务器导出到PLC硬件。
本发明由所附权利要求限定,并且该部分中的任何内容均不应被视为对这些权利要求的限制。下面结合优选实施方式讨论本发明的进一步的方面和优点,并且以后可以独立地或组合地请求保护。
附图说明
组件和附图不一定按比例绘制,而是将重点放在说明实施方式的原理上。而且,在附图中,相同的附图标记在各个不同视图中表示的相应部分。
图1示出了多学科工程系统的示例。
图2示出了多学科系统中的工程数据的示例。
图3示出了多学科系统的示例实施方案。
图4示出了用于使用连接性模型生成PLC代码的系统的实施方式。
图5示出了用于使用连接性模型生成PLC代码的系统的另一实施方式。
图6示出了连接性模型中的代码实体和其它工程实体的示例实施方案。
图7为用于使用连接性模型生成PLC代码的方法的一个实施方式的流程图。
图8为用于使用连接性模型生成PLC代码的方法的另一实施方式的流程图。
图9为用于使用连接性模型生成PLC代码的方法的代码生成子流的准备的流程图。
图10A和10B示出使用具有改变的工程数据的连接性模型的示例实施方案。
图11示出了连接性模型中连接规则的示例实施方案。
图12为用于使用连接性模型生成PLC代码的方法的代码生成子流的流程图。
具体实施方式
以下实施方式描述了一种用于基于多学科工程系统中的连接性模型生成可编程逻辑控制器(PLC)代码的解决方案。该系统和方法允许工程师和其他用户基于利用多学科工程系统中的端口和连接的连接性模型来生成用于可编程逻辑控制器的代码。该系统和方法允许以灵活和有效的方式重新使用工程数据和数据结构。该系统和方法识别潜在的连接点、建立连接并提供关于可能丢失的连接的反馈。此外,该系统和方法提供了用于在结构化工程系统(例如,实现IEC 81346的多学科工程系统)的背景中设计代码生成过程的工具。
在工程项目中,自动化设计应用利用代码实体(在本文中也称为代码模型)来生成PLC代码。自动化设计应用通过接收来自多学科系统的代码、工程数据和其它信息来改进代码实体。接收到的代码、工程数据和其它信息的类型和形式取决于多学科工程系统的连接性模型。从多学科工程系统接收到的代码、工程数据和其它信息允许自动化设计应用使用代码生成规则动态生成用于代码实体的PLC代码。
利用连接性模型的代码生成可能会致使工程工作量减少,因为代码生成系统可以允许用户准备用于多学科工程系统中的各种不同工程环境的代码并可以减少工程师花费的时间和精力。利用连接性模型的代码生成可缩短产品上市时间,因为减少的工程工作量可以缩短整个工程过程的时间。利用连接性模型的代码生成可以通过避免人工工作流程中的人为错误以及通过使用多学科工程系统中的端口和连接的状态检测错误来提高整个工程过程的输出质量。利用连接性模型的代码生成可以产生提高的性能,因为可能会聚集对外部信息的依赖性。可以提供与现有工程应用的更大集成,因为可以使该系统和方法适应现有的和未来的多学科工程系统。上述优点可能会节省投资并降低风险,特别是对于使用既定流程和标准的大型工程公司而言。可以从所公开的实施方式受益的一些示例行业为汽车、物流和机器制造。然而,其它行业也可以从所公开的实施方式受益。
图1示出了多学科工程系统的示例。多学科工程100包括服务器和工作站。多学科工程系统100中的服务器和/或工作站包括用于各种工程学科的工程应用。工程应用是针对布局设计、电气设计、机械设计、自动化设计和业务功能。工程应用对应于工程学科,诸如工厂设计、电气工程、机械工程、自动化工程和项目管理。在多学科系统中的工程应用中表示出工程装置和其它对象,诸如工厂装配线上的输送机。每个工程应用以适合于特定工程学科的方式以不同方式呈现数据。另外,可以提供不同的或更少的工程应用和工程学科。另选地,至少一种工程应用是针对单个应用中的两个或更多工程学科。各种工程师、设计师、技术人员、管理人员和其它用户访问工程应用以完成项目任务。例如,在汽车工厂的背景下,各种工程师、设计师和项目管理人员设计用于车门组装的新生产线。
图2示出了多学科系统中的工程数据的示例。在该示例中,新的生产线包括输送机。每个工程应用201、203、205和207具有关于输送机的作用,并且将具有与专用于该工程应用的输送机相关联的数据的不同的表示。参考图2,工厂设计师利用诸如线路设计师应用201的布局设计应用来设计包括输送机的新的生产线的布局。线路设计师应用201显示关于新生产线的信息,其包括将放置输送机的工厂、线路、区域和工位。自动化工程师利用自动化设计师应用203来设计输送机自动化。自动化设计师应用203显示输送机的功能和机器人单元以及将被自动化的输送机的组件,其包括传感器1、传感器2和电机1。机械工程师利用诸如MCD 205的机械设计应用来设计输送机的机械方面。MCD 205包括关于输送机的三维(3D)模型的信息,其包括面1、面2、曲线1和曲线2。电气工程师利用电气设计师应用207来设计用于输送机的电输入和输出。电气设计师应用207显示将被提供给安装输送机的技术人员的电气信息。电气表1包括交流电源输出、电机1输入、传感器1输入和传感器1输出。电气表2包括传感器2输入和传感器2输出。可以提供附加的和不同的作用和/或信息。
生产线可以包括一个或多个可编程逻辑控制器。例如,自动化工程师增加可编程逻辑控制来控制输送机。为了对可编程逻辑控制器进行操作,将创建用于处理输入以生成输出的输入、输出和代码。用于可编程逻辑控制器的操作的代码可以基于来自不止一个工程学科如自动化设计师应用、线路设计师应用和电气设计师应用的信息。例如,来自自动化设计师的工程数据和代码可以被重新用于生成用于目标PLC的局部功能的代码。在此示例中,来自另一PLC的代码可以通过修改重新使用,如用与目标PLC相关的输入/输出地址动态更新代码。另选地,目标PLC中的代码可能需要用供应商或其它第三方提供的外部代码进行更新。在另一个示例中,可以从线路设计师和电气设计师应用提供工程数据,以利用生产线中的其它设备实现目标PLC的更广泛的功能。例如,来自线路设计师的工程数据可以用来促进工厂内物料的流动。当物料从一个输送机流到另一个输送机时,来自于上游输送机的工程数据,如来自线路设计师应用的上游输送机的长度和速度数据可以被控制下游输送机的PLC再利用。此外,通过重新使用来自电气设计师应用的工程数据如总线地址,可以促进PLC之间的握手。来自工程应用的其它工程数据可以被重新使用。
图3示出了工程环境中多学科系统的示例实施方案。在一个实施方式中,多学科系统是利用西门子工程工具和应用的西门子工程环境。可以在相同或其它工程系统中提供附加的实施方案。
多学科系统300包括服务器301、网络303和工作站305。可以提供附加的、不同的或更少的组件。例如,使用更多或更少的工作站305。作为另一个示例,使用另外的网络和/或服务器。在又一个示例中,提供由服务器301或工作站305管理或访问的单独的数据库。另选地,服务器301和工作站305直接连接,或者在单个计算装置上实现。另外,服务器301可以是单个物理服务器、服务器的系统、如在云计算和虚拟化场景中所使用的虚拟服务器,或虚拟服务器的系统。
服务器301包括Teamcenter应用309,其具有源代码实体、端口信息、连接性规则、代码生成规则、生成代码实体和其它信息(统称为311)以及数据库313。Teamcenter应用309允许用户添加、删除或修改存储在服务器301上的源代码实体、端口信息、连接性规则、代码生成规则、生成的代码实体和其它信息(统称为311)。Teamcenter应用309将源代码实体、端口信息、连接性规则、代码生成规则、生成的代码实体和其它信息(统称为311)存储在数据库313中。可以提供附加的、不同的或更少的组件。例如,Teamcenter应用309可以被上传到服务器301中的处理器并由该处理器执行。同样,处理策略可以包括多重处理、多任务处理、并行处理等。服务器301在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口的硬件的计算机平台上实现。计算机平台还包括操作系统和微指令代码。本文所描述的各种处理和功能可以是经由操作系统所执行的微指令代码的一部分或程序的一部分(或其组合)。另选地,服务器301包括在网络中的一个或多个处理器。
通过将从工程应用307所接收到的数据存储在数据库313中,Teamcenter应用309还用作用于工程应用307的基于元模型的处置库系统和数据平台。从工程应用307所接收到的数据包括项目特定的数据,诸如对象和参数名称、参数值、装置规格和/或其它信息。Teamcenter应用309作为通过网络303向/从工程应用307传送信息的多学科系统服务器运行。当生成PLC代码时,数据库313由连接性模型引用。Teamcenter应用309还存储应用对象的库和实例化的库对象之间的链接。
多学科系统300包括具有对应于各种工程学科和工程作用的工程应用307的工作站305。例如,NX线路设计师是布局设计应用,诸如线路设计师应用201,NX自动化设计师为自动化工程应用,诸如自动化设计师应用203,NX MCD是三维(3D)建模应用,诸如MCD 205,以及NX电气设计师是电气工程应用,诸如电气设计师应用207。可以提供不同的或更少的工程应用、工程学科和工程作用。对应于任何其它工程学科XY的不同的工程应用被称为工程应用XY。各种工程师、设计师、技术人员、管理人员和其它用户访问所述工程应用,诸如线路设计工程师、自动化工程师、MCD工程师和XY工程师。具有工程应用307的工作站305形成多学科工程系统,诸如多学科工程系统100。
NX自动化设计师工作站305包括NX自动化设计师应用307。NX自动化设计师应用307包括代码生成系统,其接收存储在服务器301上的代码实体、端口信息、连接性规则、代码生成规则、生成的代码实体和其它信息(统称为311)。代码生成系统基于接收到的信息311生成PLC代码。另选地,代码生成系统可以被托管在服务器301上,其中服务器301基于存储在服务器301或另一个工作站305上的信息311生成PLC代码。
多学科系统300包括网络203。网络203为有线或无线网络或其组合。网络203被配置为局域网(LAN)、广域网(WAN)、内联网、互联网或其它目前已知的或以后开发的网络配置。可以使用用于在作用特定的应用与用于托管工程系统的模板、数据或其它信息的服务器之间进行通信的任何网络或网络组合。
图4示出了用于使用连接性模型生成PLC代码的系统的实施方式。多学科系统400包括服务器401、网络403和工作站405。可以提供附加的、不同的或更少的组件。例如,使用附加或更少的工作站405。作为另一个示例,使用附加的网络和/或服务器。在又一个示例中,由服务器401和工作站405管理和/或访问单独的数据库。服务器401是具有诸如一个或多个中央处理单元(CPU)、系统存储器、随机存取存储器(RAM)和输入/输出(I/O)接口的硬件的服务器计算机平台。服务器401在连接到网络403的一个或多个服务器计算机上实现。另外,可以提供不同的或更少的服务器组件。
服务器401被配置成存储用于生成PLC代码的代码实体(在本文中也被称为代码模型)和用于多学科工程系统的连接性模型。服务器接收来自其它代码实体或自动化设计师应用的代码、来自其它代码实体和应用对象的工程数据以及基于连接性模型的用于代码实体的来自多学科工程系统的其它信息。工作站405从服务器401接收代码实体、多学科信息和代码生成规则,和/或者工作站405基于接收到的信息和代码生成规则生成PLC代码。另选地,如图5所示,服务器501基于接收到的信息和代码生成规则来生成PLC代码。服务器501将生成的PLC代码发送到工作站505。在又一个替代方案中,服务器401由一个或多个工作站405实现,使得一个或多个工程应用托管服务器功能。
服务器401被配置成存储用于生成PLC代码的代码实体。例如,使用Teamcenter应用309将一个或多个代码实体添加到多学科工程系统中。例如,Teamcenter应用309可以被托管在西门子TIA博途上。另选地,可以使用不同的应用添加代码实体。另外,可以在先前或后续的代码生成过程中创建一个或多个代码实体。现有的代码实体可以在服务器401中改变或更新。代码实体被配置成接收来自多学科系统的代码、工程数据和其它信息。接收代码、工程数据和其它信息的过程被称为改进代码实体。
图6示出连接性模型中的代码实体和其它工程实体的示例实施方案。代码实体611表示结构化文本语言(STL)PLC编程语言中的软件功能块。也可以使用其它编程语言。代码实体611包括软件内容,包括但不限于软件接口、参数和代码语句。例如,代码实体611包括用于参数1和参数2的接口。代码实体611还包括代码网络1,代码网络1包括代码语句1和代码语句2。代码语句1包括命令、操作数1和操作数2。可以提供另外的、不同的或更少的组件。可以使用任何代码实体表示。
服务器401被配置成存储用于多学科工程系统的连接性模型。连接性模型包括端口、连接和连接规则。连接性模型中的端口也被称为接口、连接点和连接点,并且指示了与多学科工程系统的另一方面连接的可能性。每个端口包括关于端口的信息,如端口的名称、端口的类型、连接的方向(即输入或输出)以及允许的基数。每个端口具有与端口相关的性能,包括与多学科工程系统中的其它端口的兼容性,如兼容的端口类型、兼容的端口方向和兼容的基数。端口访问多学科工程系统中代码实体、应用对象、工程数据的内部方面或其它方面。当端口连接时,所述端口允许连接的代码实体和应用对象访问代码实体和/或应用对象的内部方面。另外,端口允许连接的代码实体和应用对象根据连接在代码生成过程期间修改代码实体的所涉及的内部方面。每个端口的性能取决于端口的方向和类型。可以将端口添加到多学科工程系统中的新的和现有的代码实体、应用对象、工程数据或其它方面,并可以在以后用作连接点。所述端口由用户添加,或者另选地,所述端口基于多学科工程系统的数据结构、连接性模型中的连接规则或其组合自动地添加。
例如,参考图6,代码实体611具有端口613。代码实体611可以与将控制装配工厂中的输送机的PLC相关联。端口613包括关于端口613的信息。端口613被命名为端口ABC。端口613的类型是消耗字符串,而端口613的方向是对代码实体611的输入。图6还示出多学科工程系统中另一个工程实体615的端口617。工程实体615可以为与代码实体611、工程应用对象、工程数据或多学科工程系统的任何方面类似的另一个代码实体,其被配置成在多学科工程中存储代码、工程数据和其它信息。例如,端口617包括关于端口617的信息。端口617被命名为端口XYZ。端口617的类型是提供字符串,而端口617的方向是从工程实体617的输出。例如,端口613可以经由端口617从与自动化学科中的另一PLC相关联的另一代码实体615接收代码串。另选地,端口613可以经由端口617从与不同的工程应用相关联的应用对象615接收文本串,如在自动化设计师应用中表示的上游输送机的长度。在这两个示例中,代码实体611经由端口613接收来自端口617的字符串。
连接规则用于配置端口和配置连接性模型中的端口之间的连接。连接规则规定了如何在工程环境中如在汽车装配线工程项目中连接端口。例如,在汽车装配线中,在装配线中使用的物料可以通过装配线从一个输送机流到第二个输送机。在多学科工程系统中,可以建立连接规则,所述连接规则允许自动化设计师应用利用用于对在多学科工程系统中从第一输送机到第二输送机的流程建模的知识。例如,自动化设计师应用使用连接规则来建立多学科工程系统中的端口之间的连接,如自动化学科中的代码实体中的端口以及其它工程学科中的应用对象。多学科工程系统中的端口之间的连接允许自动化设计师应用重新使用代码实体、工程数据、应用对象和数据结构来生成用于输送机的PLC代码。连接规则也用于限制端口如何连接到其它端口并防止建立不正确的连接。例如,连接规则基于数据类型限制连接。参考图6,端口613可以建立与端口617的连接,因为端口613和端口617被配置成消耗并提供字符串数据。另外,连接规则指示基于端口方向的限制连接。参考图6,端口613可以建立与端口617的连接,因为端口613为输入端,而端口617为输出端。
连接性模型中的连接将多学科工程系统中的工程数据从一个端口引导到另一个端口。根据连接规则在连接性模型中的端口之间建立连接。所述连接建立两个端口之间的关系,并根据端口与端口的端口类型具有连接类型。例如,参考图6,在端口613和端口617之间建立连接619。所述连接属于数据流类型,因为端口617被配置成向配置成消耗字符串输入的端口613提供字符串输出。所述连接是用户可配置的并且由用户建立。另选地,所述连接基于多学科工程系统的数据结构、连接性模型中的连接规则或其组合自动建立。自动建立的连接也是用户可配置的。另外,如果连接尚未建立、如果有些连接不满足连接规则以及如果完成了代码生成过程,则执行一致性检查以警告用户。
例如,如果多个代码实体同时添加到自动化设计应用,或者如果自动化设计师应用之前已添加代码实体,则基于连接性模型建立已知的连接。例如,新的代码实体可以重新使用接口变量、全局标记(例如来自标记表)、局部标记以及对功能块和其它功能的调用。例如,入口(portal)使用端口和连接来配置代码实体,以用于重新使用用于功能块、功能、数据块、全局标记、局部标记和接口变量的代码。可以使用一种或多种编程语言,如结构化文本语言(STL)。其它应用和入口可以与一个或多个PLC编程语言一起使用。一个这样的端口为西门子TIA博途。在变量和标记端口的情况下,连接性模型将存储关于数据类型的信息以限制与具有相同数据类型的端口的连接。自动生成的连接为用户可配置的并且可以由用户修改。
代码实体被配置成基于连接性模型从多学科工程系统接收代码、工程数据和其它信息。代码实体从多学科工程系统中的其它代码实体、应用对象、工程数据或其它方面接收代码、工程数据和其它信息。工作站405被配置成使用代码实体来生成PLC代码。工作站405使用接收到的工程数据和存储有代码实体的代码生成规则。另选地,如图5所示,服务器501基于接收到的信息和代码生成规则来生成PLC代码。服务器501将生成的PLC代码发送到工作站505。
PLC代码使用代码生成规则生成。代码生成规则规定代码实体中代码的哪个部分将在代码生成期间被修改以及代码实体将如何被修改。代码生成规则利用一个或多个具有输入方向的端口来接收用于代码生成的一个或多个输入。例如,参考图6,代码生成规则621利用端口613来接收通过连接619从端口617接收到的字符串输入。在该示例中,端口613可以经由端口617从与自动化学科中的另一PLC相关联的另一代码实体615接收代码串。代码生成规则621用经由端口617从代码实体615接收到的字符串替换代码实体611中的代码串。另选地,端口613可以经由端口617从与不同的工程应用相关联的应用对象615接收文本串,如在自动化设计师应用中表示的上游输送机的长度。代码生成规则621用经由端口617从代码实体615接收到的字符串替换代码实体611中的变量。
代码生成规则具有一个或多个规定代码实体将如何被改变的特性。例如,代码生成规则是从一个端口到另一个端口的直接代码插入或替换。直接插入/替换规则利用通过连接性模型提供的输入(例如,来自端口和连接)插入或替换选定的代码。例如,通过在目标代码实体中插入PLC代码和/或用PLC代码替换目标代码实体中的现有代码,可以重新使用来自另一个代码实体的PLC代码。例如,与编程的PLC类型相同的PLC的基本功能可以经由直接插入或替换操作重新使用来自配置的PLC的PLC代码。另选地,代码生成规则可以为使用计算结果的代码插入或替换。计算规则使用多个输入(例如,来自多个端口和连接)利用数学公式或逻辑运算的结果插入或替换选定的代码。
在另一个示例中,代码生成规则可以为定义调用的代码插入或替换。调用生成规则通过调用不同的代码实体来插入或替换选定的代码(例如,调用功能块)。在该示例中,可以在接收调用的目标实体中定义调用生成规则,如通过功能块的一个或多个背景数据块(例如,与功能块相关联的存储器)来调用所述功能块。背景数据块被表示为多学科工程系统中如在自动化设计师应用中的应用对象,并且包括用于调用参数和其它数据的端口或接口。另外,背景数据块与功能块相关联以提供用于所述功能块的存储器范围。也可以将多个背景数据块连接到调用生成规则,以便在代码实体中插入或替换多个调用。
在另一个示例中,代码生成规则为来自外部脚本或可执行代码的代码插入或替换。外部代码规则使用外部提供的软件程序(例如,脚本或可执行文件)作为用于代码插入或替换的输入。在该示例中,PLC供应商或其他第三方可以提供要与PLC一起使用的外部代码。外部代码可以存储在代码实体中或与自动化设计师应用相关联的应用对象中。外部代码被直接插入到目标代码实体中,或者外部代码直接替换目标代码实体中的现有代码(例如,当外部代码被供应商更新时)。可以提供另外的、不同的或更少的代码生成规则。代码生成规则也可以被合并。
图7为用于使用连接性模型生成PLC代码的方法的一个实施例的流程图。该方法由图3、4、5的系统和/或不同的系统来实现。处理器或一组联网处理器执行这些动作,如根据指令、编程或电路设计。另外,可以提供不同的或更少的动作。该方法按所示顺序提供。可以提供其它的顺序,并可以重复这些动作。
在动作701,用于生成PLC代码的代码模型被存储在服务器、工作站、计算机、工程应用或其它位置上。可以存储不止一个的代码模型。代码模型也可以被称为代码实体。
在动作703,将多学科系统的连接性模型存储在服务器、工作站、计算机、工程应用或其它位置。可以存储不止一个连接性模型。连接性模型包括多学科工程系统中的接口、接口的连接规则以及接口之间的连接。所述接口也可以被称为端口。每个接口与多学科工程系统中的代码模型、工程应用对象、工程数据或其它信息相关联。所述接口自动建立。自动建立的接口是用户可配置的。另选地,所述接口由用户建立并且是用户可配置的。连接规则基于数据类型和方向来限制接口之间的连接。例如,具有不同数据类型的接口不能连接。另外,输入接口只能连接到输出接口,反之亦然。接口之间的连接将代码、工程数据和其它信息从一个接口引导到另一个接口。所述连接满足连接规则,从而允许所述接口根据所述连接向其它接口提供工程数据或消耗来自其它接口的工程数据。所述连接自动建立。自动建立的连接是用户可配置的。另选地,所述连接由用户建立并且是用户可配置的。
在动作705,代码模型基于连接性模型从多学科工程系统接收信息。代码模型从另一个代码模型、工程应用对象、数据库或多学科工程系统的其它方面接收代码、工程数据和其它信息。例如,参考图6,端口613可以经由端口617从与自动化学科中的另一个PLC相关联的另一代码实体615接收代码串。另选地,端口613可以经由端口617从与不同的工程应用相关联的应用对象615接收文本串,如在自动化设计师应用中表示的上游输送机的长度。在这两个示例中,代码实体611经由端口613接收来自端口617的字符串。
在动作707,PLC代码由服务器、工作站、计算机和/或工程应用生成。PLC代码基于从多学科工程系统接收到的信息和代码生成规则生成。可以使用不止一个代码生成规则。所生成的PLC代码改变代码模型,并且代码生成规则具有一个或多个规定代码模型将如何被改变的特性。例如,参考图6,代码生成规则621利用端口613来接收通过连接619从端口617接收到的字符串输入。在该示例中,端口613可以经由端口617从与自动化学科中的另一PLC相关联的另一代码实体615接收代码串。代码生成规则621用经由端口617从代码实体615接收到的字符串替换代码实体611中的代码串。另选地,端口613可以经由端口617从与不同的工程应用相关联的应用对象615接收文本串,如在自动化设计师应用中表示的上游输送机的长度。代码生成规则621用经由端口617从代码实体615接收到的字符串替换代码实体611中的变量。
代码生成规则具有一个或多个规定代码实体将如何被改变的特性。例如,代码生成规则是从一个接口到另一个接口的直接代码插入或替换。直接插入/替换规则利用通过连接性模型提供的输入(例如,来自接口和连接)插入或替换选定的代码。例如,通过在目标代码实体中插入PLC代码和/或用PLC代码替换目标代码实体中的现有代码,可以重新使用来自另一个代码实体的PLC代码。例如,与编程的PLC类型相同的PLC的基本功能可以经由直接插入或替换操作重新使用来自配置的PLC的PLC代码。另选地,代码生成规则为使用计算结果的代码插入或替换。计算规则使用多个输入(例如,来自多个接口和连接)利用数学公式或逻辑运算的结果插入或替换选定的代码。
在另一个示例中,代码生成规则为定义调用的代码插入或替换。调用生成规则通过调用不同的代码模型来插入或替换选定的代码。在该示例中,可以定义用于调用生成规则的目标实体,以接收作为功能块和背景数据块(例如,与功能块相关联的存储器)的调用。
在另一个示例中,代码生成规则为来自外部脚本或可执行代码的代码插入或替换。外部代码规则使用外部提供的软件程序(例如,脚本或可执行文件)作为用于代码插入或替换的输入。在该示例中,PLC供应商或其他第三方可以提供要与PLC一起使用的外部代码。外部代码可以存储在代码实体中或与自动化设计师应用相关联的应用对象中。外部代码被直接插入到目标代码实体中,或者外部代码直接替换目标代码实体中的现有代码(例如,当外部代码被供应商更新时)。可以提供另外的、不同的或更少的代码生成规则。代码生成规则也可以被合并。
在动作709,所生成的PLC代码通过网络从服务器、工作站、计算机或工程应用发送到服务器、工作站、计算机和/或工程应用。例如,生成的PLC代码从服务器发送到工作站。工作站接收工程应用中的用于PLC硬件的PLC代码。PLC代码可以准备好由目标PLC导出和使用,或者可以由工作站执行额外的动作,如专用于目标PLC的附加编程。此外,在导出PLC代码之前可能需要编译动作。编译动作可以由多学科工程系统中的工程应用执行,或者可以由多学科工程系统之外的应用执行。PLC代码从工作站导出到目标PLC。另选地,服务器可以将PLC代码直接发送或导出到目标PLC。
图8是用于使用连接性模型生成PLC代码的方法的另一实施方式的流程图。该方法由图3、4、5的系统和/或不同的系统来实现。处理器或一组联网处理器执行这些动作,诸如依照指令、编程或电路设计。另外,可以提供不同的或更少的动作。该方法按所示顺序提供。可以提供其它的顺序,并可以重复这些动作。
在动作801,用户识别多学科工程系统中的代码实体。代码实体在服务器、工作站、计算机、工程应用或其它位置被识别。在一个示例中,所识别的代码实体由用户配置。另选地,代码实体被自动配置,并且用户从自动配置的代码实体中识别代码实体。在另一个示例中,代码实体是预先存在的,并且用户从预先存在的代码实体中识别代码实体。例如,用户在代码生成过程中配置将被改变或创建的代码实体。代码实体使用多学科工程系统例如从托管在服务器上的入口进行配置。代码实体包括用于与多学科工程系统的其它方面连接的端口,如自动化学科中的代码实体中的端口以及其它工程学科中的应用对象。用户根据其基数要求在自动连接的端口之间添加连接并向端口添加其它连接。类似地,现有的连接可以被移除和/或连接可以被用户改变。
在动作803,多学科工程系统确定代码实体是否与多学科工程系统兼容。例如,多学科工程系统检查以确定代码实体是否符合与PLC装置兼容的编程语言。在该示例中,编程语言的类型和版本被检查。在另一个示例中,检查PLC装置特定功能的使用。此外,检查PLC装置的存储器大小是否兼容。在另一个示例中,将根据端口类型、端口方向和基数检查任何连接的兼容性。如果检测到不一致性,系统将警告用户和/或提供错误。如果代码实体与多学科工程系统不兼容,则重复动作801。如果代码实体与多学科工程系统兼容,则执行动作805。
在动作805,将所识别的代码实体导入到多学科工程系统中。导入的代码实体被存储在服务器、工作站、计算机、工程应用或其它位置。
在动作807,所识别的代码实体被改进。代码实体通过接收来自多学科系统的代码、工程数据和其它信息而改进。接收到的代码、工程数据和其它信息的类型和形式取决于多学科工程系统的连接性模型。在工程环境中,可以执行另外的动作来提供用于代码生成过程的范围。用户可以改变通过端口和连接接收到的工程信息,以提供代码生成过程的范围。例如,用户可以定义目标PLC系统。通过这种方式,用户将项目的子结构分配给专用的PLC硬件,并为子结构中的所有代码实体定义代码生成规则。例如,项目中的一个子结构涉及使输送机的局部功能自动化,该子结构仅使用与输送机相关联的工程数据。第二个子结构涉及使一组输送机自动化以相互协作。取决于子结构的范围或背景,多学科工程系统使用全局标记(例如,来自标记表)、从已知全局数据块使用的数据块标记以及对功能块和功能的调用自动建立另外的连接。例如,标记是对系统存储器位置的引用,并且被分组在标记表中以便于管理。每个标记包括名称和数据类型。在运行时,每个标记用于引用PLC程序中使用的存储在存储器中的数据或值。例如,所述标记引用存储在全局存储器中的数据,如用于存储物理输入或输出信号的数据的存储器位置。此外,当调用功能块时使用所述标记以将数据传送到代码实体。标记也可以引用存储代码实体的系统存储器位置。自动生成的连接可以根据需要由用户改变。
例如,用于生成PLC代码的一个工程环境是生成独立于装配线上的其它装置的用于在工厂装配线上操作每个输送机的代码。用于生成PLC代码的第二个工程环境是生成用于装配线上的两个输送机之间交互的代码。例如,下游输送机接收上游输送机的长度和速度以生成用于从上游输送机到下游输送机的物料流的PLC代码。系统将确保用于改进代码实体的信息被提供给代码生成规则,而不需要经由连接性模型中的端口和连接进行另外的用户交互,例如通过利用经由端口和连接而连接的PLC标记。
在动作809,多学科工程系统存储改进的代码实体。改进的代码实体被存储在服务器、工作站、计算机、工程应用或其它位置。
在动作811,用户使用多学科工程系统来准备用于代码生成的识别代码模型。例如,图9为用于使用连接性模型生成PLC代码的方法的代码生成子流的准备的流程图。在动作901,用户在代码实体上建立代码生成规则。在动作903,用户在代码实体上创建用于附加连接性可能性的端口。所述端口识别来自在代码生成期间要使用的多学科工程系统的信息。在动作905,用户建立关于端口的背景的连接规则。连接规则将来自多学科工程系统的信息链接到识别代码模型。在动作907,用户存储经改进的代码实体。在动作909,确定代码实体规则和端口是否完整,诸如当工程师已配置了每个目标代码实体时。如果代码实体规则和端口不完整,则重复动作901至909。如果代码实体规则和端口完整,则完成代码生成子流的准备。
例如,图10A和10B示出使用具有改变的工程数据的连接性模型的示例实施方案。例如,图10A中的代码实体1011利用来自多学科工程系统方面的信息来改进。经由代码实体1011中的端口1013和至工程数据1015的端口1017之间的连接1019,利用来自输送机1015的工程数据将代码实体改进。代码实体1011中的代码生成规则1021使用工程数据1015,该工程数据1015由输送机的长度值为20的属性值组成。代码生成规则用接收到的长度值替换操作数1。在图10B中,输送机的长度从20的值改变为40的值。代码实体用改变的工程数据来改进,并且代码生成规则1021用改变的长度值替换操作数1。
例如,连接规则可以利用符合IEC 81346标准的工程系统,该工程系统以多维度组织多学科工程数据,所述维度也称为“多方面”,并从分层数据结构中导出端口和连接。在该示例中,如图11所示提供了导航数据结构的连接或者导航规则。在动作1中,多学科工程系统中存在来自线路设计应用的应用对象1015和用于输送机的代码实体1011。在动作2中,建立连接规则,其通过导航到输送机代码实体1011的第一父节点来导航数据分层结构1025。起始对象目的地具有属性类别代码“LI”和100的“吞吐量”值。在动作3中,多学科工程系统使用数据分层结构1025从线路设计师应用自动生成应用对象1015的端口1017与来自代码实体1011的端口1013之间的连接1019。
在动作813,多学科工程系统基于代码生成规则生成用于识别代码模型的PLC代码目标。例如,生成的PLC代码改变目标代码模型中的网络、标记、语句、操作数或任何选定的代码文本。例如,图12为用于使用连接性模型生成PLC代码的方法的代码生成子流的流程图。在动作1201,多学科工程系统确定每个代码实体是否已被处理。如果存在未处理的代码实体,则执行动作1203。在动作1203,多学科工程系统根据连接规则在端口上建立连接。在动作1205,多学科工程系统通过端口连接以从多学科工程系统获取信息。在动作1207,多学科工程系统使用所获取的信息和代码生成规则来改变代码实体。在动作1209,多学科工程系统将生成的代码实体存储在多学科工程系统中。
在动作815,多学科工程系统将生成的代码和/或代码实体存储在多学科工程系统中。在动作817,多学科工程系统呈现生成的代码和/或代码实体。生成的PLC代码从多学科工程系统导出到PLC硬件。PLC从服务器、工作站、计算机和/或工程应用导出。此外,在导出PLC代码之前可能需要编译动作。编译动作可以由多学科工程系统中的工程应用执行,也可以由多学科工程系统之外的应用执行。
在动作819,多学科工程系统确定所生成的代码实体是否完整,例如当已经生成用于每个配置的目标代码实体的PLC代码。如果生成的代码实体不完整,则执行动作821。在动作821,多学科工程系统确定是否需要另外的代码实体。如果需要另外的代码实体,则重复动作801。如果不需要另外的代码实体,则重复动作811。
如本文所公开,多学科工程系统中的数据结构是可重复使用的,这意味着工程数据可以存储在库背景中并且可以在工程项目中多次重复使用。每次重新使用工程数据时,数据结构都会重新使用预先准备好的代码实体,包括生成规则、端口和连接。然而,使用提供和消耗数据的端口以及连接来连接工程数据不限于所描述的代码生成的系统和方法,而是可以以更广泛的方式应用于各种工程数据。代码生成系统可以在代码生成过程中重新使用来自代码实体和其它工程数据位置的数据,所述工程数据位置包括其它工程学科中的工程数据位置。例如,输送机的描述输送机长度的属性值可以用作PLC代码中的变量(例如,用于DB变量)的默认值,如作为常数值。
本文所描述的各种改进可以一起使用或分开使用。尽管已经参考附图描述了本发明的示例性实施方式,但是应理解的是,本发明不限于这些精确的实施例,并且本领域的技术人员可以在不偏离本发明的范围或精神的情况下进行各种其它改变和修改。

Claims (19)

1.一种用于在多学科工程系统中基于连接性模型生成可编程逻辑控制器代码的方法,所述方法包括:
由服务器存储用于生成可编程逻辑控制器代码的代码模型;
由所述服务器存储用于所述多学科工程系统的所述连接性模型,所述连接性模型包括:
所述多学科工程系统中在不同的工程应用之间的多个接口,其中,所述接口中的每一个均与所述代码模型相关联,并且与在所述多学科工程系统中具有不同作用的不同工程学科的不同的工程应用之一中表示的工程数据相关联;
用于所述多个接口中的每一个的连接规则,其中,所述连接规则基于数据类型和从所述多个接口中的一个接口到另一个接口的连接方向来限制从所述多个接口中的一个接口到另一个接口的连接;
满足所述连接规则的所述多个接口之间的连接,其中,所述多个接口根据所述连接向所述多个接口中的其它接口发送或接收工程数据;
由所述代码模型接收在所述不同的工程应用中表示的工程数据,所述接收基于所述连接性模型;
基于接收到的工程数据和代码生成规则,使用所述代码模型生成可编程逻辑控制器代码;以及
通过网络用服务器向计算机发送所生成的可编程逻辑控制器代码。
2.根据权利要求1所述的方法,其中,生成所述可编程逻辑控制器代码包括用所述代码生成规则,所述代码生成规则为从一个接口到另一个接口的直接代码插入或替换。
3.根据权利要求1所述的方法,其中,生成所述可编程逻辑控制器代码包括用所述代码生成规则,所述代码生成规则为使用从两个或更多个接口接收到的所述工程数据利用计算的结果的代码插入或替换。
4.根据权利要求1所述的方法,其中,生成所述可编程逻辑控制器代码包括用所述代码生成规则,所述代码生成规则为定义调用的代码插入或替换。
5.根据权利要求1所述的方法,其中,生成所述可编程逻辑控制器代码包括用所述代码生成规则,所述代码生成规则为利用外部脚本或可执行代码的代码插入或替换。
6.根据权利要求1所述的方法,其中,所述连接自动建立。
7.根据权利要求1所述的方法,其中,所述连接规则基于数据类型来限制连接。
8.根据权利要求1所述的方法,其中,所述连接规则指示每个接口为每个接口的输入或输出以及基数。
9.根据权利要求1所述的方法,其中,接收所述工程数据包括从另一个代码模型接收数据。
10.一种基于连接性模型生成可编程逻辑控制器代码的多学科工程系统,所述多学科工程系统包括:
服务器,被配置成:
存储用于生成可编程逻辑控制器代码的代码模型;
存储用于所述多学科工程系统的连接性模型,所述连接性模型包括:
所述多学科工程系统中在不同的工程应用之间的多个连接点,其中,所述连接点中的每一个均与以下中的一者相关联:
代码模型;或
在所述多学科工程系统中具有不同作用的不同工程学科的不同的工程应用之一中表示的工程数据;
用于所述多个连接点中的每一个的连接规则,其中,所述连接规则基于数据类型和从所述多个接口和中的一个接口到另一个接口的连接方向来限制从所述多个接口中的一个接口到另一个接口的连接;
满足所述连接规则的所述多个连接点之间的连接,其中,所述多个连接点根据所述连接向所述多个连接点中的其它连接点发送或接收工程数据;
由所述代码模型基于连接性模型接收在所述不同的工程应用中表示的工程数据;
工作站,所述工作站被配置成:
基于接收到的工程数据和代码生成规则,使用所述代码模型生成可编程逻辑控制器代码。
11.根据权利要求10所述的多学科工程系统,其中,所述代码生成规则设定:所述接收到的工程数据被直接插入所述代码模型中的代码中或代替所述代码模型中的代码。
12.根据权利要求10所述的多学科工程系统,其中,所述代码生成规则设定:使用从两个连接点接收到的所述工程数据的计算的结果被插入所述代码模型中的代码中或替换所述代码模型中的代码。
13.根据权利要求10所述的多学科工程系统,其中,所述代码生成规则设定:将调用插入所述代码模型中的代码中或替换所述代码模型中的代码。
14.根据权利要求10所述的多学科工程系统,其中,所述代码生成规则设定:外部脚本或可执行代码被插入所述代码模型中的代码中或替换所述代码模型中的代码。
15.根据权利要求10所述的多学科工程系统,其中,所述连接性规则基于存储在所述服务器上的所述多学科工程系统的用于不同的工程应用的数据结构。
16.根据权利要求10所述的多学科工程系统,其中,所述连接性规则指示所述多个连接点中的每一个是输入还是输出。
17.一种用于在多学科工程系统中基于连接性模型生成可编程逻辑控制器代码的方法,所述方法包括:
用服务器存储用于可编程逻辑控制器硬件的多个代码模型;
识别用于接收可编程逻辑控制器代码的所述多个代码模型中的至少一者;
准备用于代码生成的所识别的代码模型,包括:
配置用于所识别的代码模型的代码生成规则;
识别在代码生成期间待使用的工程数据,其中,所述工程数据在所述多学科工程系统中的具有不同作用的不同工程学科的不同的工程应用中表示;以及
将所识别的工程数据链接到所识别的代码模型,其中,所述链接包括用于所识别的代码模型中的每一个的接口、用于所识别的工程数据中的每一个的接口,以及多个接口之间的连接,其中,所述连接基于数据类型和从所述多个接口中的一个接口到另一个接口的连接方向来限制从所述多个接口中的一个接口到另一个接口的连接;
生成用于所识别的代码模型的可编程逻辑控制器代码;
将生成的可编程逻辑控制器代码存储到所识别的代码模型中;以及
将生成的可编程逻辑控制器从所述服务器导出到所述可编程逻辑控制器硬件。
18.根据权利要求17所述的方法,其中,生成所识别的代码模型的可编程逻辑控制器代码包括:
从不同的工程应用接收所述链接的工程数据;以及
使用所述接收到的工程数据应用代码生成规则。
19.根据权利要求17所述的方法,其中,导出所生成的可编程逻辑控制器代码包括经由工作站计算机导出代码。
CN201580080643.4A 2015-06-04 2015-06-04 利用连接性模型生成plc代码的方法和系统 Active CN107710149B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/034167 WO2016195690A1 (en) 2015-06-04 2015-06-04 Method and system for generating plc code with a connectivity model

Publications (2)

Publication Number Publication Date
CN107710149A CN107710149A (zh) 2018-02-16
CN107710149B true CN107710149B (zh) 2021-04-30

Family

ID=53404945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080643.4A Active CN107710149B (zh) 2015-06-04 2015-06-04 利用连接性模型生成plc代码的方法和系统

Country Status (4)

Country Link
US (1) US10606562B2 (zh)
EP (1) EP3304229B1 (zh)
CN (1) CN107710149B (zh)
WO (1) WO2016195690A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3304229B1 (en) * 2015-06-04 2022-08-17 Siemens Aktiengesellschaft Method and system for generating plc code with a connectivity model
US10019238B2 (en) 2015-06-23 2018-07-10 Open Text Sa Ulc Compositional entity modeling systems and methods
US20170322716A1 (en) 2016-05-04 2017-11-09 Open Text Sa Ulc Reusable entity modeling systems and methods
CN106940553B (zh) * 2017-02-09 2020-06-16 北京东土科技股份有限公司 基于工业互联网操作系统的工业流程控制管理方法及装置
US11327471B2 (en) * 2017-10-26 2022-05-10 Siemens Aktiengesellschaft Building and tracking of an automation engineering environment
WO2019125519A1 (en) * 2017-12-18 2019-06-27 Siemens Aktiengesellschaft Method for replacing legacy programmable logic controllers
EP3547125B1 (en) 2018-03-27 2022-09-07 Siemens Aktiengesellschaft Methods of configuring an automation system
EP3899674A1 (en) * 2019-01-25 2021-10-27 Siemens Aktiengesellschaft Data synchronization system for device based engineering
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US10942710B1 (en) 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11733687B2 (en) * 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11163536B2 (en) 2019-09-26 2021-11-02 Rockwell Automation Technologies, Inc. Maintenance and commissioning
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11080176B2 (en) 2019-09-26 2021-08-03 Rockwell Automation Technologies, Inc. Testing framework for automation objects
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment
EP3916539A1 (en) * 2020-05-26 2021-12-01 Siemens Aktiengesellschaft System and method for engineering a technical system
EP4043974B1 (en) * 2021-02-12 2024-04-03 ABB Schweiz AG Improving the control strategy of distributed control systems based on operator actions
CN113534730B (zh) * 2021-06-29 2022-09-16 广东利元亨智能装备股份有限公司 基于模型的plc控制代码生成方法、系统、装置及存储介质
CN113485182A (zh) * 2021-06-30 2021-10-08 中冶华天工程技术有限公司 自动生成料场皮带流程控制程序的方法
WO2023141203A1 (en) * 2022-01-20 2023-07-27 Fisher-Rosemount Systems, Inc. Process lifecycle management methods and systems
TWI805418B (zh) * 2022-06-23 2023-06-11 英業達股份有限公司 動態載入腳本以改變料件處理動作之系統及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643555B1 (en) * 2000-10-10 2003-11-04 Schneider Automation Inc. Method and apparatus for generating an application for an automation control system
CN101388101A (zh) * 2001-09-24 2009-03-18 西门子能量及自动化公司 提供工程工具服务的方法
CN101853018A (zh) * 2009-03-30 2010-10-06 洛克威尔自动控制技术股份有限公司 工业控制系统和更新工业控制系统的配置的方法
CN102393672A (zh) * 2011-11-11 2012-03-28 深圳市合信自动化技术有限公司 可编程逻辑控制器及其扩展模块
CN103080900A (zh) * 2010-09-03 2013-05-01 西门子公司 并行化自动控制程序的方法及编译器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910311A1 (de) * 1999-03-09 2000-09-14 Siemens Ag Automatisierungssystem mit wiederverwendbaren Automatisierungsobjekten und Verfahren zur Wiederverwendung von Automatisierungslösungen in Engineering-Werkzeugen
US8086664B2 (en) * 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
US7356773B1 (en) * 2001-12-27 2008-04-08 Expertune, Inc. Wizard builder, for application software, building a setup wizard which sets up a defacto interface between the application program and monitoring or control equipment
US9110653B2 (en) * 2011-08-26 2015-08-18 Siemens Product Lifecycle Management Software Inc. Generating PLC code from CAD models
EP3304229B1 (en) * 2015-06-04 2022-08-17 Siemens Aktiengesellschaft Method and system for generating plc code with a connectivity model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643555B1 (en) * 2000-10-10 2003-11-04 Schneider Automation Inc. Method and apparatus for generating an application for an automation control system
CN101388101A (zh) * 2001-09-24 2009-03-18 西门子能量及自动化公司 提供工程工具服务的方法
CN101853018A (zh) * 2009-03-30 2010-10-06 洛克威尔自动控制技术股份有限公司 工业控制系统和更新工业控制系统的配置的方法
CN103080900A (zh) * 2010-09-03 2013-05-01 西门子公司 并行化自动控制程序的方法及编译器
CN102393672A (zh) * 2011-11-11 2012-03-28 深圳市合信自动化技术有限公司 可编程逻辑控制器及其扩展模块

Also Published As

Publication number Publication date
US20180136910A1 (en) 2018-05-17
WO2016195690A1 (en) 2016-12-08
EP3304229B1 (en) 2022-08-17
CN107710149A (zh) 2018-02-16
EP3304229A1 (en) 2018-04-11
US10606562B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
CN107710149B (zh) 利用连接性模型生成plc代码的方法和系统
US11681502B2 (en) Industrial automation domain-specific language programming paradigm
CN112631555B (zh) 用于开发工业应用的系统和方法
CN108351636B (zh) 工程设计工具、系统及模块
Zoitl et al. IEC 61499 architecture for distributed automation: The ‘glass half full’view
CN112558929A (zh) 人工智能设计分析与推荐
CN112559315A (zh) 用于自动化对象的测试框架
Mathias et al. Automatic model generation for virtual commissioning based on plant engineering data
EP3874416A1 (en) A method and system for generating an artificial intelligence model
CN107533329B (zh) 多学科工程系统中交叉学科数据验证检查的方法与系统
US11733977B2 (en) Graphical and text based co-design editor for industrial automation projects
WO2021040727A1 (en) Plc code generation with a knowledge graph
US20120158371A1 (en) Method of Assisting Planning of a Technical System
Um et al. Development a modular factory with modular software components
Becker et al. Integration tools supporting cooperative development processes in chemical engineering
Alkan et al. Assessing complexity of component-based control architectures used in modular automation systems
Dalibor et al. Tagging Model Properties for Flexible Communication.
CN115698939A (zh) 用于工程设计技术系统的系统和方法
CN111279279B (zh) 建立和跟踪自动化工程环境
Dalibor et al. Nahtlose Systementwicklung durch Werkzeugintegration über Komponenten-und Konnektorarchitekturen
WO2022190418A1 (ja) 開発支援装置、開発支援方法および開発支援プログラム
EP4307105A1 (en) Extensible profiles for industrial control modules
EP4134815A1 (en) Industrial automation smart object parent/child data collection propagation
Simros et al. Tool based device development method for rapid prototyping of profile conform field devices
Kong An approach to open virtual commissioning for component-based automation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Munich, Germany

Applicant after: SIEMENS AG

Applicant after: SIEMENS INDUSTRY SOFTWARE Ltd.

Address before: Munich, Germany

Applicant before: SIEMENS AG

Applicant before: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE Inc.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231024

Address after: Texas, USA

Patentee after: SIEMENS INDUSTRY SOFTWARE Ltd.

Address before: Munich, Germany

Patentee before: SIEMENS AG

Patentee before: SIEMENS INDUSTRY SOFTWARE Ltd.