CN111142466B - 工程装置、工程装置的控制方法和存储介质 - Google Patents
工程装置、工程装置的控制方法和存储介质 Download PDFInfo
- Publication number
- CN111142466B CN111142466B CN201911059105.3A CN201911059105A CN111142466B CN 111142466 B CN111142466 B CN 111142466B CN 201911059105 A CN201911059105 A CN 201911059105A CN 111142466 B CN111142466 B CN 111142466B
- Authority
- CN
- China
- Prior art keywords
- program
- instance
- target hardware
- list
- control
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000006870 function Effects 0.000 claims description 115
- 238000006467 substitution reaction Methods 0.000 claims 3
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3624—Debugging of software by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- 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/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23008—Computer aided software engineering, program generation, case tools, CASE
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23403—Store edited program also in detachable programmer, can be used elsewhere
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供工程装置、工程装置的控制方法和存储介质。在保持通用的高级语言生成的执行代码运行的状态下,容易改变执行代码的一部分。在本发明的工程装置(10)包括:实例管理部(103),在工程装置(10)和目标硬件(20)在线连接的状态下编辑控制应用程序,则从控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及编译器链接器(104),基于列表、程序和控制服务程序生成执行代码,执行代码下载到目标硬件(20),则控制服务程序使用于控制应用程序的替换的程序在目标硬件(20)中执行。
Description
技术领域
本发明涉及工程(Engineering)装置、工程装置的控制方法和存储介质。
背景技术
以往,在生产现场等中构建了一种用于控制生产工艺和生产设备的控制系统。
近年来,控制系统控制多种设备。控制系统例如能够控制如下各种设备:分布控制系统(DCS:Distributed Control System)、可编程逻辑控制器(PLC:Programmable LogicController)、通用的PC(Personal Computer个人计算机)、具有计算功能的网关、智能传感器、执行器、云计算机和雾计算机等。
在控制系统中,利用控制应用程序对成为控制对象的设备(以下也称为“目标硬件”)进行控制。
通常在与成为控制对象的目标硬件对应的开发环境中,利用编辑器等制作控制应用程序。编辑器对应于用于开发控制应用程序的编程语言,例如可以是Ladder语言编辑器、Flowchart编辑器或脚本编辑器等。
控制应用程序通常由编译器等转换为目标硬件的处理器能够直接执行的执行代码。执行代码存储到目标硬件内的存储器中。目标硬件利用处理器解释并执行存储在存储器中的执行代码。
制作控制应用程序的开发环境大多是专用于成为控制对象的目标硬件而按每个目标硬件不同的开发环境。像这样如果开发环境存在设备依赖性,则操作者需要熟练掌握各种开发环境,因此工程效率有可能下降。
为了应对这种开发环境的设备依赖性,必须实现能够以不依赖于设备的形式来执行应用程序的用户程序,并且对由多种描述语言描述的应用程序提供同等的调试功能。作为应对上述前者的用户程序的设备依赖性的方法,例如在专利文献1中公开了如下发明:将设备依赖的序列指令程序(控制应用程序)转换为由通用的高级语言描述的程序。在专利文献1记载的发明中,由高级语言描述的程序在开发环境中编译而生成执行代码。
现有技术文献
专利文献1:日本专利公开公报特开平7-295612号
例如,如专利文献1所示,一旦将设备依赖的控制应用程序转换为通用的高级语言后进行编译来生成执行代码,则生成的执行代码成为由目标硬件执行的机器语言的集合。
控制应用程序通常包括多个功能模块。在想要改变多个功能模块中的一部分时,如果在改变一部分的功能模块后转换为通用的高级语言,并且对由高级语言描述的控制应用程序进行编译而生成执行代码,则有可能改变未进行变更的其他功能模块的指令代码位置和变量数据位置等。
因此,在一旦转换为通用的高级语言后生成执行代码时,难以在执行代码运行的状态下改变运行中的执行代码的一部分。
发明内容
本发明的目的在于提供工程装置、工程装置的控制方法和存储介质,能够在通用的高级语言生成的执行代码运行的状态下,容易改变执行代码的一部分。
多种实施方式的工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,所述工程装置包括:实例管理部,在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及编译器链接器,基于所述列表、所述程序和控制服务程序生成所述执行代码,所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行,用于控制应用程序的替换的所述列表包括:实例列表,具有所述控制应用程序中包含的功能模块实例的大小信息;以及编辑实例列表,具有与所述控制应用程序中包含的功能模块实例中变更后的功能模块实例相关的信息,与变更后的所述功能模块实例相关的信息包含变更后的所述功能模块实例在所述实例列表的序列中是什么编号的信息。按照这种工程装置,能够在保持使通用的高级语言(第二编程语言)生成的执行代码运行的状态下,容易改变执行代码的一部分。
在一种实施方式的工程装置中,可以是用于控制应用程序的替换的所述列表包括:实例列表,具有所述控制应用程序中包含的功能模块实例的大小信息;以及编辑实例列表,具有与所述控制应用程序中包含的功能模块实例中变更的功能模块实例相关的信息。由此,通过包括实例列表和编辑实例列表,能够获取发生变更的功能模块实例的信息,该实例列表具有控制应用程序中包含的功能模块实例的大小信息,该编辑实例列表具有与控制应用程序中包含的功能模块实例中变更的功能模块实例相关的信息。
在一种实施方式的工程装置中,可以是用于控制应用程序的替换的所述程序包括:实例分配程序,管理在所述目标硬件的存储器中存储所述功能模块实例的存储器区域;以及数据复制程序,对变更的所述功能模块实例将继承数据从该功能模块实例在变更前存储的存储器区域复制到该功能模块实例在变更后存储的存储器区域。由此,通过包括实例分配程序和数据复制程序,能够将继承数据从功能模块实例在变更前存储的存储器区域复制到功能模块实例在变更后存储的存储器区域,该实例分配程序管理在目标硬件的存储器中存储功能模块实例的存储器区域,该数据复制程序对变更的功能模块实例将继承数据从功能模块实例在变更前存储的存储器区域复制到功能模块实例在变更后存储的存储器区域。
在一种实施方式的工程装置中,可以是在所述目标硬件中未执行所述执行代码的间隙时间,所述控制服务程序执行变更的所述功能模块实例在变更前存储的空闲区域的存储器区域的重新配置。由此,通过控制服务程序执行相对于变更的功能模块实例的存储器区域的重新配置,能够减少目标硬件的存储器的消耗。
多种实施方式的工程装置的控制方法如下:所述工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,所述工程装置的控制方法包括如下步骤:在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及基于所述列表、所述程序和控制服务程序生成所述执行代码,所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行。按照这种工程装置的控制方法,能够在保持使通用的高级语言(第二编程语言)生成的执行代码运行的状态下,容易改变执行代码的一部分。
本发明还提供一种存储介质,存储有用于控制工程装置的程序,所述工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,所述程序使所述工程装置执行如下步骤:在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及基于所述列表、用于控制应用程序的替换的所述程序和控制服务程序生成所述执行代码,所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行。按照这种程序,能够在保持使通用的高级语言(第二编程语言)生成的执行代码运行的状态下,容易改变执行代码的一部分。
按照本发明,能够提供工程装置、工程装置的控制方法和存储介质,能够在使通用的高级语言生成的执行代码运行的状态下,容易改变执行代码的一部分。
附图说明
图1是表示包括一种实施方式的工程装置的控制系统的构成例的图。
图2是表示一种实施方式的工程装置的硬件构成的一例的图。
图3是用于说明一种实施方式的工程装置的运行的图。
图4是用于说明执行代码的运行的一例的图。
图5是表示将变更前的功能模块的数据继承为变更后的功能模块的数据的状态的图。
图6是表示在目标硬件中执行存储器区域的重新配置的状态的图。
图7是表示控制系统中的整体的处理流程的一例的流程图。
附图标记说明
1控制系统
10工程装置
11存储器
12显示装置
13输入装置
14通信I/F
15控制部
20目标硬件
21加载器
22存储器
22A程序存储器
22B数据存储器
23控制部
101编辑器UI
102算法转换部
103实例管理部
104编译器链接器
151控制逻辑程序
152实例列表
153编辑实例列表
154实例分配程序
155数据复制程序
156控制服务程序
157执行代码
具体实施方式
下面,参照附图对本发明的一种实施方式进行说明。
图1是表示包括一种实施方式的工程装置10的控制系统1的构成例的图。控制系统1包括工程装置10和目标硬件20。在图1中表示了一个目标硬件20,但是控制系统1可以包括两个以上的目标硬件20。
工程装置10从控制应用程序生成目标硬件20能够直接执行的执行代码,该控制应用程序由第一编程语言制作而成并用于控制目标硬件20。
第一编程语言没有特别限定,可以是基于GUI(Graphical User Interface图形用户界面)的编程语言、基于文本的编程语言或基于脚本的编程语言等。第一编程语言可以优选的是由作为PLC用标准规格的IEC 61131-3定义的编程语言。IEC 61131-3定义了梯形图(Ladder Diagram)、功能块图(Function Block Diagram)、结构化文本(StructuredText)、指令表(Instruction List)和顺序功能图(Sequential Function Chart)等编程语言。
目标硬件20是由工程装置10生成的执行代码控制的设备。目标硬件20将从工程装置10下载而获得的执行代码以任务或线程周期性地执行。目标硬件20可以通过事件驱动来执行执行代码。任务的执行条件可以由用户通过任务设定而进行设定。
目标硬件20可以是具备通用的计算功能的各种设备。目标硬件20例如可以是PLC、DCS、温度调节仪、记录仪、SCADA(Supervisory Control and Data Acquisition数据采集与监视控制)或虚拟DCS/PLC等。
如图1所示,目标硬件20包括:加载器21、存储器22和控制部23。
加载器21通过从工程装置10下载而获得由工程装置10生成的执行代码,并存储在存储器22中。
存储器22例如具有HDD(Hard Disk Drive硬盘驱动器)、SSD(Solid State Drive固态驱动器)、EEPROM(Electrically Erasable Programmable Read-Only Memory电可擦除可编程只读存储器)、ROM(Read-Only Memory只读存储器)和RAM(Random Access Memory随机存取存储器)等任意存储装置。存储器22例如可以作为主存储装置、辅助存储装置或高速缓冲存储器发挥功能。存储器22并不限定于内置于目标硬件20的存储装置,可以是通过USB(Universal Serial Bus通用串行总线)等数字输入输出端口等连接的外置式存储装置。
存储器22存储加载器21从工程装置10下载的执行代码。
控制部23控制目标硬件20的各构成部。控制部23例如可以构成为CPU(CentralProcessing Unit中央处理器)等处理器。
控制部23解释存储在存储器22中的执行代码,执行各种处理。
图2是表示一种实施方式的工程装置10的硬件构成的一例的图。
工程装置10包括:存储器11、显示装置12、输入装置13、通信I/F(接口)14和控制部15。工程装置10例如可以是服务器装置、台式PC等通用计算机、工厂计算机、PLC等装置、笔记本计算机或平板型计算机等。
存储器11例如具有HDD、SSD、EEPROM、ROM和RAM等任意存储装置。存储器11例如可以作为主存储装置、辅助存储装置或高速缓冲存储器发挥功能。存储器11并不限定于内置于工程装置10的存储装置,可以是通过USB等数字输入输出端口等连接的外置式存储装置。存储器11存储工程装置10的运行所需要的各种信息和程序。
显示装置12显示各种信息。显示装置12例如是液晶显示器。显示装置12也可以通过头戴式显示器、眼镜式显示器或手表型显示器等各种方式来实现。
输入装置13从用户接收对工程装置10的输入。输入装置13例如是键盘或鼠标等。输入装置13可以是输入声音信息的麦克风或输入图像信息的照相机等。输入装置13也可以是触摸面板,在这种情况下,输入装置13可以兼具备显示装置12的功能。
通信I/F 14经由有线通信或无线通信与图1所示的目标硬件20进行通信。通信I/F14例如可以根据以太网标准(注册商标)与目标硬件20进行通信。通信I/F 14例如可以是与USB对应的接口。在这种情况下,例如可以通过USB电缆连接工程装置10和目标硬件20。
控制部15控制工程装置10的各构成部。控制部15例如可以构成为CPU等处理器。由处理器执行的程序例如可以存储在控制部15所具备的存储器中,也可以存储在存储器11中。
接着,参照图3所示的控制系统1,对工程装置10的运行进行说明。图3所示的控制系统1对应于图1所示的控制系统1。在图3中以功能性表示方式表示了工程装置10的内部。
工程装置10包括以下功能模块:编辑器UI(User Interface用户接口)101、算法转换部102、实例管理部103和编译器链接器104。编辑器UI 101、算法转换部102、实例管理部103和编译器链接器104的功能可以由图2所示的控制部15等来执行。
作为能够存储在图2所示的存储器11中的数据,工程装置10包括控制服务程序156。
编辑器UI 101是用于开发控制应用程序的语言编辑器,该控制应用程序用于控制目标硬件20。编辑器UI 101能够以上述第一编程语言来制作控制应用程序。
工程装置10的用户可以在工程装置10和目标硬件20在线连接的状态下利用编辑器UI 101来编辑控制应用程序。在此,工程装置10和目标硬件20在线连接的状态是指工程装置10和目标硬件20连接成能够通信的状态。
算法转换部102将由编辑器UI 101制作的控制应用程序中包含的控制逻辑转换为由第二编程语言描述的控制逻辑程序151。第二编程语言没有特别限定,可以是通用的高级语言等。第二编程语言例如可以是C语言或C++语言等。
如果在工程装置10和目标硬件20在线连接的状态下编辑控制应用程序,则实例管理部103基于该控制应用程序,生成实例列表152和编辑实例列表153。实例列表152和编辑实例列表153是如下列表:用于在目标硬件20中从基于变更前的控制应用程序的执行代码157替换为基于变更后的控制应用程序的执行代码157。实例管理部103将实例列表152和编辑实例列表153输出为由第二编程语言表示的代码。
此外,如果在工程装置10和目标硬件20在线连接的状态下编辑控制应用程序,则实例管理部103基于该控制应用程序,生成实例分配程序154和数据复制程序155。实例分配程序154和数据复制程序155是如下程序:用于在目标硬件20中从基于变更前的控制应用程序的执行代码157替换为基于变更后的控制应用程序的执行代码157。实例管理部103将实例分配程序154和数据复制程序155输出为由第二编程语言表示的代码。
实例列表152针对控制应用程序中包含的功能模块实例的一览具有各功能模块实例的大小信息。
编辑实例列表153具有控制应用程序中包含的功能模块实例中与变更的功能模块实例相关的信息。更具体地说,编辑实例列表153包括变更的功能模块实例的编号。此外,编辑实例列表153具有用于复制变更的功能模块实例的继承数据的数据复制函数的地址。
实例分配程序154管理在目标硬件20的存储器22中存储有功能模块实例的存储器区域。更具体地说,实例分配程序154使表示各功能模块实例的位置的指针(可以表示为指针的指针)与实例地址表相关联。其中,“实例地址表”是目标硬件20的存储器22中的存储功能模块实例的实际位置的地址一览的表。
数据复制程序155是包含函数组(数据复制函数组)的程序,该函数组对发生变更的功能模块实例将继承数据从在变更前存储功能模块实例的存储器区域复制到在变更后存储功能模块实例的存储器区域。
编译器链接器104对由第二编程语言描述的实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155进行编译而生成执行代码157。执行代码157是能够直接执行目标硬件20的执行代码。
编译器链接器104在对实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155进行编译时,进一步链接控制服务程序156来生成执行代码157。
编译器链接器104可以是通用的编译器链接器。
如果执行代码157下载到目标硬件20,则控制服务程序156使实例分配程序154和数据复制程序155在目标硬件20中执行。
控制服务程序156被预编译为面向成为对象的目标硬件20,并存储在工程装置10的存储器11中。控制服务程序156也可以作为目标硬件20的固件,预先安装在目标硬件20中。
通信I/F 14对应于图2所示的通信I/F 14。执行代码157经由通信I/F 14下载到目标硬件20。
接着,表示具体例来更详细地说明工程装置10的运行。
由编辑器UI 101制作的控制应用程序,按照功能以功能块(Function Block)等功能模块为单位制作。控制应用程序由功能模块组合而构成整体。功能模块包括局部变量和输入输出变量等数据以及控制程序。
通过在目标硬件20中执行以上述方式组合的功能模块,运行整体的控制应用程序。
参照图4,对实例管理部103输出的实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155等进行说明。
图4所示的目标硬件中的程序存储器22A对应于目标硬件20的存储器22中用于程序存储的区域。图4所示的目标硬件中的数据存储器22B对应于目标硬件20的存储器22中用于数据存储的区域。
图4表示了变更后的执行代码157B下载到目标硬件中的程序存储器22A的状态。此时,变更前的执行代码157A可以原样存储在目标硬件中的程序存储器22A中。另外,图4中对变更前的执行代码157A省略了内容的图示。
在工程装置10中,从变更后的控制应用程序生成变更后的执行代码157B时,实例管理部103生成实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155。
实例列表152具有控制应用程序中包含的全部功能模块实例的大小信息。实例列表152可以通过具有各功能模块实例的大小的序列来表示。
实例分配程序154将各功能模块实例分配给实例地址表201。实例地址表201是存储各功能模块实例在目标硬件20的存储器22中的地址的表。
在实例分配程序154中,各功能模块实例的位置由指针的指针表示。例如,功能模块A的实例的位置表示为“**instance1”。图3所示的控制逻辑程序151经由该指针的指针来访问各功能模块实例的数据。
实例地址表201内的地址在工程装置10中在生成了执行代码157的阶段是未确定的。如果下载到目标硬件20的执行代码157运行,则包含在执行代码157中的控制服务程序156将地址存储在实例地址表201中。
控制服务程序156参照实例列表152在目标硬件20的存储器22中确保与各功能模块实例的大小对应的存储器区域。控制服务程序156将在目标硬件20的存储器22中确保的存储器区域的各功能模块实例的起始地址存储在实例地址表201中。
由此,由于控制服务程序156在目标硬件20中的执行代码157执行时将地址存储在实例地址表201中,所以在工程装置10中的执行代码157生成时不需要将地址存储在实例地址表201中。
控制逻辑程序151能够参照在目标硬件20中的执行代码157执行时存储于实例地址表201的地址,访问各功能模块实例的适当位置。
控制服务程序156在执行代码157下载到目标硬件20后,参照实例列表152,在目标硬件20的存储器22中对每个功能模块实例确保与大小对应的存储器区域。并且,控制服务程序156将确保的功能模块实例的地址存储在实例地址表201中。由此,控制服务程序156能够将各功能模块实例分配给目标硬件20的存储器22。
接着,对在工程装置10和目标硬件20在线连接的状态下的运行进行说明。以下说明的运行是如下运行:在工程装置10中改变控制应用程序中的某功能模块时,下载到目标硬件20的变更后的执行代码157B继承变更前的执行代码157A的变量数据的值并反映功能模块的变更。
图4是表示由编辑器UI 101改变了控制应用程序中包含的功能模块C的内容的情况的例子。
实例管理部103检测因功能模块的变更而受到影响的功能模块实例的一览。其中,因功能模块的变更而受到影响的功能模块实例的一览具体是指属于变更的功能模块的全部功能模块实例的一览。实例管理部103基于检测到的因功能模块的变更而受到影响的功能模块实例的一览,生成编辑实例列表153。
编辑实例列表153包含如下信息:因功能模块的变更而受到影响的功能模块实例在实例列表152的序列中是什么编号。在图4所示的例子中,由于改变了功能模块C,所以编辑实例列表153具有“2”的信息。另外,实例列表152的序列的编号是从“0”开始的编号,实例列表152作为序列的编号具有0~3的编号。
编辑实例列表153还具有相对于各功能模块实例的数据复制函数的地址信息。在图4所示的例子中,编辑实例列表153具有“BlockC_copy”的数据复制函数的地址信息。
数据复制程序155包括数据复制函数,该数据复制函数用于对发生变更的功能模块实例将继承数据从变更前的存储器区域复制到变更后的存储器区域。在图4所示的例子中,数据复制程序155包括“BlockC_copy(*old,*new)”的函数。
实例列表152、编辑实例列表153、实例分配程序154、数据复制程序155和控制服务程序156在工程装置10中被一起编译和链接,并且转换为执行代码157。
如果以上述方式生成的变更后的执行代码157B下载到目标硬件20,则包含在变更前的执行代码157A中的控制服务程序156在任务未运行的间隙时机,将在目标硬件20中运行的执行代码157从执行代码157A切换为执行代码157B。
当在目标硬件20的任务中使执行代码157运行时,控制服务程序156以用户指定的条件控制执行代码157的运行。其中,用户指定的条件是指例如以100ms的周期使执行代码157运行的条件。
由此,由于控制服务程序156以用户指定的条件使执行代码157运行,所以能够检测未执行执行代码157的时机,并且执行从变更前的执行代码157A向变更后的执行代码157B的切换处理。由此,工程装置10能够使变更前的执行代码157A和变更后的执行代码157B均未执行的时间为最小限度,从而高速地切换为变更后的执行代码157B。
变更后的执行代码157B中包含的控制服务程序156参照编辑实例列表153,在目标硬件20的存储器22中确保对变更的功能模块实例的新的存储器区域。
控制服务程序156基于确保的存储器区域的地址,更新存储于实例地址表201的地址。在图4所示的例子中,实例地址表201的与功能模块C对应的功能模块实例的地址从“0x1010”变更为“0x1030”。
此时,在实例地址表201中,未进行变更的功能模块实例的地址不变更。即,未进行变更的功能模块实例存储在目标硬件20的存储器22中的存储器区域在执行代码157的变更前后是共同的。因此,能够降低目标硬件20的存储器22的消耗。
控制服务程序156将变更的功能模块实例的旧存储器区域的初始地址和新存储器区域的初始地址传递给数据复制程序155中相应的数据复制函数。在图4所示的例子中,控制服务程序156将作为旧存储器区域的初始地址的“0x1010”和作为新存储器区域的初始地址的“0x1030”传递给数据复制程序155中的数据复制函数“BlockC_copy(*old,*new)”。
数据复制程序155执行用于从旧存储器区域向新存储器区域继承数据的复制处理。
此后,如果控制服务程序156执行包含在变更后的执行代码157B中的控制逻辑程序151,则变更后的控制逻辑程序151继承在变更前的控制逻辑程序151中使用的变量数据。由此,改变了功能模块的一部分的变更后的执行代码157B能够以继续变更前的执行代码157A的运行的状态运行。
接着,参照图5,对数据复制程序155的运行进行说明。图5是表示改变功能模块C时的变更前的功能模块C的数据301和变更后的功能模块C的数据302的图。
变更前的功能模块C的数据301表示与变更前的功能模块C对应的功能模块实例的数据。变更后的功能模块C的数据302表示与变更后的功能模块C对应的功能模块实例的数据。
变更前的功能模块C的数据301具有“数据1”、“数据2”和“数据3”。通过控制应用程序中的功能模块C的变更,变更后的功能模块C的数据302删除了“数据2”并追加了“数据4”和“数据5”。
在这种情况下,由于“数据1”和“数据3”未变更,所以数据复制程序155从旧存储器区域向新存储器区域继承“数据1”和“数据3”的值。数据复制程序155对新追加的“数据4”和“数据5”使值初始化。
如果接收到旧存储器区域的地址和新存储器区域的地址,则数据复制程序155复制未变更的数据并对新追加的数据进行初始化。
接着,参照图6,对目标硬件20的存储器22中的空闲区域的削减进行说明。
如果执行图5所示的处理,则在目标硬件中的数据存储器22B中产生不连续的空闲区域501。图6表示该状态。
由实例管理表402管理目标硬件内的数据存储器22B中的功能模块实例的数据的配置区域。实例管理表402是与实例地址表401同时生成的表。
控制服务程序156在对执行代码157B中包含的控制逻辑程序151的运行不产生影响的时机,将能够移动的功能模块实例的数据移动到不连续的空闲区域。在图6所示的例子中,控制服务程序156将与功能模块A.功能模块D和功能模块A.功能模块C对应的功能模块实例的数据移动到从空闲区域501的起始位置开始的区域。在此,连续的区域可以根据空闲时间统一移动,也可以按照每个功能模块实例分开移动。
此时,控制服务程序156更新实例地址表401和实例管理表402。在图6所示的例子中,控制服务程序156将移动前的实例地址表401中的功能模块A.功能模块C的地址“0x1030”更新为“0x1020”。此外,控制服务程序156将移动前的实例地址表401中的功能模块A.功能模块D的地址“0x1020”更新为“0x1010”。
由此,如图6所示,目标硬件内的数据存储器22B中的不连续的空闲区域501移动到目标硬件内的数据存储器22B的末尾侧。因此,能够减少目标硬件中的数据存储器22B的存储器消耗量。
此外,由于包含在执行代码157B中的控制逻辑程序151经由实例地址表401参照目标硬件中的数据存储器22B,所以在功能模块实例的数据的移动前和移动后,控制逻辑程序151参照的数据匹配。
接着,参照图7的流程图,对控制系统1中的整体的处理流程进行说明。步骤S101~S103表示工程装置10的用户的操作。步骤S201~S204表示工程装置10中的处理。步骤S301~S305表示目标硬件20中的处理。
工程装置10的用户将目标硬件20与工程装置10连接,目标硬件20处于与工程装置10在线连接的状态(步骤S101)。
用户在目标硬件20和工程装置10在线连接的状态下,对编辑器UI101进行操作来改变控制应用程序(步骤S102)。
如果所希望的变更结束,则用户使编辑器UI 101的控制应用程序的编辑结束(步骤S103)。
如果控制应用程序的编辑结束,则工程装置10的算法转换部102基于变更后的控制应用程序制作控制逻辑程序151(步骤S201)。
工程装置10的实例管理部103基于变更后的控制应用程序,制作实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155(步骤S202)。步骤S202的处理可以与步骤S201的处理并行执行。
编译器链接器104编译控制逻辑程序151、实例列表152、编辑实例列表153、实例分配程序154和数据复制程序155,并且链接控制服务程序156,生成执行代码157(步骤S203)。编译器链接器104可以执行链接工程装置10中的控制服务程序156的静态链接,也可以执行链接预先安装在目标硬件20中的控制服务程序156的动态链接。
工程装置10将生成的执行代码157下载到目标硬件20(步骤S204)。
如果下载了执行代码157,则目标硬件20在未执行任务的间隙时间,从包含在变更前的执行代码157中的控制服务程序156的运行切换为包含在变更后的执行代码157中的控制服务程序156的运行(步骤S301)。
控制服务程序156执行实例分配程序154和数据复制程序155(步骤S302)。
控制服务程序156在目标硬件20的存储器22中为变更的功能模块实例确保区域(步骤S303)。
目标硬件20执行新的控制应用程序、即包含在变更后的执行代码157中的控制逻辑程序151(步骤S304)。
控制服务程序156在目标硬件20中未执行执行代码157的间隙时间,使数据复制程序155执行目标硬件20的存储器22中的存储器区域的重新配置(步骤S305)。控制服务程序156例如执行将在变更前存储有功能模块实例的不连续的空闲区域移动到目标硬件20中的存储器22的末尾侧的重新配置。
按照如上所述的一种实施方式的工程装置10,能够在保持使通用的高级语言(第二编程语言)生成的执行代码运行的状态下,容易改变执行代码的一部分。更具体地说,在工程装置10中,如果在工程装置10和目标硬件20在线连接的状态下编辑控制应用程序,则实例管理部103生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序。此外,编译器链接器104基于用于控制应用程序的替换的列表、用于控制应用程序的替换的程序和控制服务程序,生成执行代码157。并且,如果执行代码157下载到目标硬件20,则控制服务程序156在目标硬件20中执行用于控制应用程序的替换的程序。因此,由于控制服务程序156在目标硬件20中执行用于控制应用程序的替换的程序,所以在保持使执行代码157运行的状态下,容易继承变更前的执行代码157中使用的数据的一部分以及改变执行代码157的一部分。
此外,替换执行代码157时,工程装置10对未进行变更的功能模块实例在执行代码157的变更前后不改变目标硬件20的存储器22中的区域。替换执行代码157时,工程装置10对发生变更的功能模块实例将继承数据从变更前的存储器区域复制到变更后的存储器区域。因此,由于工程装置10能够在替换执行代码157时将数据的移动保持为最小限度,所以能够实现执行代码157的高速切换和目标硬件20的存储器22的消耗量减少。
此外,在执行代码157中嵌入了作为数据继承所需要的数据的实例列表152和编辑实例列表153、以及作为数据继承所需要的程序的实例分配程序154、数据复制程序155和控制服务程序156,因此不需要在目标硬件20的存储器22中预先存储数据继承所需要的数据和程序。由此,能够减少目标硬件20的存储器22的消耗量。
对本领域技术人员来说,显然本发明能够在不脱离其精神或其本质特征的情况下,以除了上述实施方式以外的其他规定的方式来实现。因此,上述记载是举例说明而并不限定于此。公开的范围并不是由上述记载定义而是由附带的权利要求来定义。所有的变更中在其等同的范围内的多种变更包含在本发明中。
例如,上述各构成部的配置和个数等并不限定于上述说明和附图中的图示内容。各构成部的配置和个数等可以任意构成,只要能够实现其功能即可。
Claims (5)
1.一种工程装置,该工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,
所述工程装置包括:
实例管理部,在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及
编译器链接器,基于所述列表、所述程序和控制服务程序生成所述执行代码,
所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行,
所述工程装置的特征在于,
用于控制应用程序的替换的所述列表包括:
实例列表,具有所述控制应用程序中包含的功能模块实例的大小信息;以及
编辑实例列表,具有与所述控制应用程序中包含的功能模块实例中变更后的功能模块实例相关的信息,
与变更后的所述功能模块实例相关的信息包含变更后的所述功能模块实例在所述实例列表的序列中是什么编号的信息。
2.根据权利要求1所述的工程装置,其特征在于,
用于控制应用程序的替换的所述程序包括:
实例分配程序,管理在所述目标硬件的存储器中存储所述功能模块实例的存储器区域;以及
数据复制程序,对变更的所述功能模块实例将继承数据从该功能模块实例在变更前存储的存储器区域复制到该功能模块实例在变更后存储的存储器区域。
3.根据权利要求2所述的工程装置,其特征在于,在所述目标硬件中未执行所述执行代码的间隙时间,所述控制服务程序执行变更的所述功能模块实例在变更前存储的空闲区域的存储器区域的重新配置。
4.一种工程装置的控制方法,所述工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,
所述工程装置的控制方法包括如下步骤:
在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及
基于所述列表、所述程序和控制服务程序生成所述执行代码,
所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行,
所述工程装置的控制方法的特征在于,
用于控制应用程序的替换的所述列表包括:
实例列表,具有所述控制应用程序中包含的功能模块实例的大小信息;以及
编辑实例列表,具有与所述控制应用程序中包含的功能模块实例中变更后的功能模块实例相关的信息,
与变更后的所述功能模块实例相关的信息包含变更后的所述功能模块实例在所述实例列表的序列中是什么编号的信息。
5.一种存储介质,存储有用于控制工程装置的程序,所述工程装置从用于控制目标硬件的由第一编程语言制作的控制应用程序生成使该目标硬件运行的执行代码,
所述存储介质的特征在于,所述程序使所述工程装置执行如下步骤:
在所述工程装置和所述目标硬件在线连接的状态下编辑所述控制应用程序,则从该控制应用程序生成由第二编程语言描述的用于控制应用程序的替换的列表和用于控制应用程序的替换的程序;以及
基于所述列表、用于控制应用程序的替换的所述程序和控制服务程序生成所述执行代码,
所述执行代码下载到所述目标硬件,则所述控制服务程序使用于控制应用程序的替换的所述程序在所述目标硬件中执行,
用于控制应用程序的替换的所述列表包括:
实例列表,具有所述控制应用程序中包含的功能模块实例的大小信息;以及
编辑实例列表,具有与所述控制应用程序中包含的功能模块实例中变更后的功能模块实例相关的信息,
与变更后的所述功能模块实例相关的信息包含变更后的所述功能模块实例在所述实例列表的序列中是什么编号的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018207645A JP6954256B2 (ja) | 2018-11-02 | 2018-11-02 | エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム |
JP2018-207645 | 2018-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142466A CN111142466A (zh) | 2020-05-12 |
CN111142466B true CN111142466B (zh) | 2023-05-30 |
Family
ID=68424750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911059105.3A Active CN111142466B (zh) | 2018-11-02 | 2019-11-01 | 工程装置、工程装置的控制方法和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11132184B2 (zh) |
EP (1) | EP3647942B1 (zh) |
JP (1) | JP6954256B2 (zh) |
KR (1) | KR102280116B1 (zh) |
CN (1) | CN111142466B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6950665B2 (ja) * | 2018-11-02 | 2021-10-13 | 横河電機株式会社 | エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム |
US12332624B2 (en) * | 2021-03-30 | 2025-06-17 | Yokogawa Electric Corporation | Process control system, process control apparatus, and program update method |
JP7380635B2 (ja) * | 2021-04-09 | 2023-11-15 | 横河電機株式会社 | プログラム修正支援装置及びプログラム修正支援方法 |
CN116991107A (zh) * | 2023-08-21 | 2023-11-03 | 广州一川信息科技有限公司 | 一种工位机终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999045482A1 (en) * | 1998-03-03 | 1999-09-10 | Siebel Systems, Inc. | Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database |
CN104317642A (zh) * | 2014-09-28 | 2015-01-28 | 华为技术有限公司 | 云计算环境下的软件部署方法和装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295612A (ja) | 1994-04-21 | 1995-11-10 | Japan Steel Works Ltd:The | 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ |
JP2001344127A (ja) * | 2000-05-31 | 2001-12-14 | Hitachi Ltd | システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法 |
JP2002099312A (ja) * | 2000-09-22 | 2002-04-05 | Mitsubishi Electric Corp | プログラマブルコントローラおよび制御プログラム開発支援装置 |
US7076740B2 (en) * | 2002-01-15 | 2006-07-11 | National Instruments Corporation | System and method for performing rapid control prototyping using a plurality of graphical programs that share a single graphical user interface |
DE10335989B4 (de) * | 2003-08-01 | 2019-07-11 | Kw-Software Gmbh | Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung |
US8151280B2 (en) * | 2003-10-27 | 2012-04-03 | Microsoft Corporation | Simple and dynamic configuration of network devices |
US7523023B1 (en) * | 2004-09-20 | 2009-04-21 | The Mathworks, Inc. | Automatic generation of component interfaces for computational hardware implementations generated from a block diagram model |
JP2008033570A (ja) * | 2006-07-27 | 2008-02-14 | Digital Electronics Corp | 制御システム、制御システムにおける認証方法、プログラム及びコンピュータ読み取り可能な記録媒体 |
KR101383793B1 (ko) | 2008-01-04 | 2014-04-09 | 삼성전자주식회사 | 시스템 온 칩에서 메모리 할당 방법 및 장치 |
US8327316B2 (en) * | 2008-09-30 | 2012-12-04 | Ics Triplex Isagraf Inc. | Compilation model |
US8943467B2 (en) * | 2009-01-26 | 2015-01-27 | GM Global Technology Operations LLC | On-target rapid control prototyping |
CN101650664B (zh) * | 2009-06-30 | 2012-06-27 | 飞天诚信科技股份有限公司 | 链接方法和链接器 |
EP2330469B1 (de) * | 2009-12-03 | 2012-10-31 | dspace digital signal processing and control engineering GmbH | Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms |
EP2365438A1 (de) * | 2010-03-09 | 2011-09-14 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungssystems |
DE112011105259T5 (de) * | 2011-05-17 | 2014-02-20 | Mitsubishi Electric Corporation | Parametereinstellvorrichtung und Parametereinstellsystem |
EP2706421B1 (de) * | 2012-09-11 | 2015-05-27 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms |
JP6127639B2 (ja) * | 2013-03-26 | 2017-05-17 | 富士通株式会社 | プログラム実行制御プログラム、プログラム実行制御方法 |
JP2015125713A (ja) * | 2013-12-27 | 2015-07-06 | 富士電機株式会社 | プログラマブルコントローラ・システム、その支援装置、プログラマブルコントローラ、プログラム |
KR101771289B1 (ko) * | 2014-05-19 | 2017-08-24 | 엘에스산전 주식회사 | Plc 프로그램 관리 장치 |
US9442707B2 (en) * | 2014-06-25 | 2016-09-13 | Microsoft Technology Licensing, Llc | Incremental whole program compilation of code |
DE102014116722A1 (de) * | 2014-11-14 | 2016-05-19 | Schneider Electric Automation Gmbh | Verfahren zum Anschließen eines Embedded-Geräts an eine Steuereinheit |
US9958848B2 (en) * | 2015-02-19 | 2018-05-01 | Rockwell Automation Technologies, Inc. | Techniques for improving industrial control systems |
-
2018
- 2018-11-02 JP JP2018207645A patent/JP6954256B2/ja active Active
-
2019
- 2019-10-30 US US16/669,062 patent/US11132184B2/en active Active
- 2019-10-31 EP EP19206418.6A patent/EP3647942B1/en active Active
- 2019-11-01 CN CN201911059105.3A patent/CN111142466B/zh active Active
- 2019-11-01 KR KR1020190138459A patent/KR102280116B1/ko active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999045482A1 (en) * | 1998-03-03 | 1999-09-10 | Siebel Systems, Inc. | Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database |
CN104317642A (zh) * | 2014-09-28 | 2015-01-28 | 华为技术有限公司 | 云计算环境下的软件部署方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11132184B2 (en) | 2021-09-28 |
US20200142375A1 (en) | 2020-05-07 |
EP3647942A1 (en) | 2020-05-06 |
CN111142466A (zh) | 2020-05-12 |
KR102280116B1 (ko) | 2021-07-20 |
JP6954256B2 (ja) | 2021-10-27 |
KR20200050886A (ko) | 2020-05-12 |
JP2020071834A (ja) | 2020-05-07 |
EP3647942B1 (en) | 2023-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142466B (zh) | 工程装置、工程装置的控制方法和存储介质 | |
JP6950665B2 (ja) | エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム | |
US8327316B2 (en) | Compilation model | |
CN103814333B (zh) | 用于对可编程控制装置编程和配置的方法和设备 | |
CN111026387B (zh) | 工业服务器的vplc配置方法、装置及可读存储介质 | |
CN109358549B (zh) | 一种挖掘机的智能控制方法及装置 | |
CA2858054A1 (en) | Systems and methods for batch device commissioning and decommissioning | |
JP2009146229A (ja) | プログラマブルコントローラシステム | |
US20190196798A1 (en) | Executable program creation device, executable program creation method, and executable program creation program | |
JP2009157533A (ja) | プログラマブルコントローラシステム | |
CN104133706B (zh) | 固件修改方法及固件修改装置 | |
JP7085305B2 (ja) | コントロールシステム及びコントロール方法 | |
KR102268795B1 (ko) | 프로그램 언어와 제조사에서 정의한 언어의 혼용을 위한 메모리 매핑 방법 | |
JP7622483B2 (ja) | 開発支援装置、開発支援方法および開発支援プログラム | |
JP7631921B2 (ja) | 開発支援装置、開発支援方法および開発支援プログラム | |
CN105320030A (zh) | 工程装置、工程系统以及下载处理方法 | |
JP2009176178A (ja) | Plcのグローバル変数定義方式 | |
JP7403732B1 (ja) | 翻訳プログラム、翻訳装置及び翻訳方法 | |
JP2024084362A (ja) | 開発支援装置、開発支援方法および開発支援プログラム | |
JP2013190837A (ja) | エンジニアリングツール | |
US10768597B2 (en) | Method and controller for flexible process control | |
KR20240066958A (ko) | 장비 행동 카탈로그 구성 장치 및 장비 행동 카탈로그를 이용하는 가상 생산 시스템 | |
WO2025079177A1 (ja) | 制御システム | |
JP2022018696A (ja) | 制御プログラム生成装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |