CN105122157B - 程序编辑装置以及程序编辑方法 - Google Patents
程序编辑装置以及程序编辑方法 Download PDFInfo
- Publication number
- CN105122157B CN105122157B CN201380075417.8A CN201380075417A CN105122157B CN 105122157 B CN105122157 B CN 105122157B CN 201380075417 A CN201380075417 A CN 201380075417A CN 105122157 B CN105122157 B CN 105122157B
- Authority
- CN
- China
- Prior art keywords
- program
- code
- command code
- command
- extraction
- 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.)
- Expired - Fee Related
Links
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
- 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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
命令代码提取部(111)将由CPU单元和输入输出单元执行的仪器控制程序(210)所包含的多个命令代码中的、与提取对象代码列表(191)所示的提取对象代码相同的命令代码,作为提取代码而进行提取。副控制程序生成部(112)生成包含提取出的提取代码在内的程序,作为由输入输出单元执行的副控制程序(212)。主控制程序生成部(121)生成从仪器控制程序(210)中对提取出的提取代码进行去除而得到的程序,作为由CPU单元执行的主控制程序(211)。
Description
技术领域
本发明例如涉及用于对控制程序进行编辑的程序编辑装置、程序编辑方法以及程序编辑程序。
背景技术
在现有的FA(Factory Automation)***中,对CPU(Central Processing Unit)单元及输入输出单元等进行组合而构建控制***,对电动机或传感器等的制造装置进行控制。
CPU单元基于从制造装置向输入输出单元输入的输入信号,实施记述在控制程序(例如梯形图程序)中的运算处理。CPU单元将基于运算结果的输出信号向制造装置发送,从而对制造装置进行控制。
近年来,以减轻CPU单元的负载和针对制造装置的输入输出的高速化为目的,具有运算处理功能的输入输出单元逐渐普及。
由此,能够由输入输出单元执行以往由CPU单元执行的控制程序的一部分。即,输入输出单元能够对针对制造装置的输入输出进行控制,而不经由CPU单元。
但是,用户需要手动地对使输入输出单元执行的控制程序的一部分进行提取,将提取出的控制程序的一部分作为输入输出单元用的控制程序而重新生成。因此,用户的作业负担增加。
另外,作为现有技术,存在下述方法,即,为了在可编程控制器或机器人控制器等各控制器中使用而对控制程序进行分割,针对分割得到的每个控制程序,生成各控制器用的程序模块(参照专利文献1)。
但是,在该方法中,不能对控制程序的一部分自动地进行提取而生成输入输出单元用的控制程序。
另外,在该方法中,需要意识到各控制器而生成控制程序,且需要用于生成控制程序的编程技术。
专利文献1:日本特开平09-171405号公报
发明内容
本发明的目的在于,例如能够将对象程序(例如控制程序)所包含的命令代码中的能够由第二执行部(例如输入输出单元)执行的命令代码进行提取,生成第二执行部所执行的第二程序。
本发明的程序编辑装置具有:
提取对象代码存储部,其将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储;
命令代码提取部,其将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取;
第二程序生成部,其生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序;以及
第一程序生成部,其生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序。
发明的效果
根据本发明,例如能够将对象程序(例如控制程序)所包含的命令代码中的能够由第二执行部(例如输入输出单元)执行的命令代码进行提取,生成由第二执行部执行的第二程序。
附图说明
图1是实施方式1中的程序编辑装置100和仪器控制装置200的关系图。
图2是实施方式1中的程序编辑装置100的功能结构图。
图3是表示实施方式1中的程序编辑装置100的程序编辑处理的流程图。
图4是表示实施方式1中的仪器控制程序210的一个例子的图。
图5是表示实施方式1中的提取对象代码列表191的一个例子的图。
图6是表示实施方式1中的提取代码列表192的一个例子的图。
图7是表示实施方式1中的副控制程序212的一个例子的图。
图8是表示实施方式1中的主控制程序211的一个例子的图。
图9是表示实施方式1中的主控制程序211的一个例子的图。
图10是表示实施方式1中的程序编辑装置100的硬件资源的一个例子的图。
图11是实施方式2中的程序编辑装置100的功能结构图。
图12是表示实施方式2中的程序编辑装置100的程序编辑处理的流程图。
图13是表示实施方式2中的副控制参数列表193的一个例子的图。
图14是表示实施方式2中的副控制参数编辑画面310的一个例子的图。
图15是实施方式3中的程序编辑装置100的功能结构图。
图16是表示实施方式3中的程序编辑装置100的程序编辑处理的流程图。
图17是表示实施方式3中的副控制参数编辑画面310的一个例子的图。
图18是实施方式4中的程序编辑装置100的功能结构图。
图19是表示实施方式4中的程序编辑装置100的程序编辑处理的流程图。
图20是表示实施方式4中的分割代码提取处理(S130)的一个例子的流程图。
图21是表示实施方式4中的命令代码分割处理(S133)的具体例的图。
图22是实施方式5中的程序编辑装置100的功能结构图。
图23是表示实施方式5中的提取条件画面320的一个例子的图。
图24是表示实施方式5中的标签名对应表329的一个例子的图。
图25是表示实施方式5中的仪器控制程序210的一个例子的图。
图26是实施方式6中的程序编辑装置100的功能结构图。
图27是表示实施方式6中的程序编辑装置100的程序编辑处理的流程图。
图28是表示实施方式6中的副控制程序编辑处理(S117)的流程图。
图29是表示实施方式6中的检测结果显示处理(S117-3)的具体例的图。
具体实施方式
实施方式1
对下述方式进行说明,即,将对象程序(例如控制程序)所包含的命令代码中的、能够由第二执行部(例如输入输出单元)执行的命令代码进行提取,生成由第二执行部执行的第二程序。
图1是实施方式1中的程序编辑装置100和仪器控制装置200的关系图。
基于图1,对实施方式1中的程序编辑装置100和仪器控制装置200之间的关系进行说明。
仪器控制装置200对传感器或电动机等周边仪器209进行控制。
例如,仪器控制装置200用在FA(Factory Automation)***中。
仪器控制装置200具有CPU单元201(CPU:Central Processing Unit)和输入输出单元202。
CPU单元201(第一执行部的一个例子)经由网络204与输入输出单元202连接,对输入输出单元202以及与输入输出单元202连接的周边仪器209进行控制。
另外,CPU单元201具有用于执行程序的运算功能(例如运算电路),执行用于对周边仪器209进行控制的仪器控制程序210(但由输入输出单元202执行的部分除外)。
例如,CPU单元201的一个例子是可编程控制器。
输入输出单元202(第二执行部的一个例子)与周边仪器209连接,对周边仪器209进行信号的输入输出。例如,输入输出单元202输入从周边仪器209输出的输出信号,向周边仪器209输出用于对周边仪器209进行控制的控制信号。
另外,输入输出单元202与CPU单元201同样地具有运算功能,执行仪器控制程序210的一部分。
仪器控制程序210是用于对周边仪器209进行控制的程序。
例如,仪器控制程序210包含大于或等于1个命令语句(以下称为命令代码),该大于或等于1个命令语句用于对周边仪器209的输出信号(例如表示由传感器测量到的测量值的信号)进行处理,基于处理结果而生成控制信号(例如用于使电动机起动或停止的信号)。
此外,仪器控制程序210也可以是使用梯形图语言或C语言等编程语言进行记述而得到的源程序、和使用机械语言进行记述而得到的目标程序中的某一个。
程序编辑装置100是下述计算机,即,对仪器控制程序210进行编辑,从而生成主控制程序211(第一程序的一个例子)和副控制程序212(第二程序的一个例子)。
主控制程序211是仪器控制程序210中的、由CPU单元201执行的程序部分。
副控制程序212是仪器控制程序210中的、由输入输出单元202执行的程序部分。
下面,对程序编辑装置100进行详细说明。
图2是实施方式1中的程序编辑装置100的功能结构图。
基于图2,对实施方式1中的程序编辑装置100的功能结构进行说明。
程序编辑装置100具有:命令代码提取部111;副控制程序生成部112(第二程序生成部的一个例子);以及主控制程序生成部121(第一程序生成部的一个例子)。
命令代码提取部111对仪器控制程序210(对象程序的一个例子)所包含的命令代码中的、与提取对象代码列表191所示的提取对象代码相同的命令代码进行提取,生成提取代码列表192。
提取对象代码列表191示出能够由输入输出单元202执行的命令代码(提取对象代码)的一览。
提取代码列表192示出从仪器控制程序210提取出的命令代码(以下称为提取代码)的一览。
副控制程序生成部112生成包含提取代码列表192所示的提取代码在内的副控制程序212(第二程序的一个例子)。
主控制程序生成部121通过从仪器控制程序210中对提取代码列表192所示的提取代码进行去除,从而生成主控制程序211(第一程序的一个例子)。
装置存储部190存储程序编辑装置100所使用的数据。
例如,装置存储部190存储仪器控制程序210、提取对象代码列表191、提取代码列表192、副控制程序212、以及主控制程序211。
图3是表示实施方式1中的程序编辑装置100的程序编辑处理的流程图。
基于图3,对实施方式1中的程序编辑装置100的程序编辑处理进行说明。
在S111中,命令代码提取部111对仪器控制程序210所包含的命令代码中的、与提取对象代码列表191所示的提取对象代码相同的命令代码进行提取。
在这里,所谓相同的命令代码,也可以是包含变量值在内全部相同的命令代码、变量值不同但代码形式相同的命令代码、以及命令或运算的种类相同的命令代码中的某一种。
在S111之后,处理进入S112。
在S112中,命令代码提取部111生成将从仪器控制程序210中提取出的命令代码(提取代码)设置为一览而得到的提取代码列表192。
提取代码列表192示出提取代码的一览,并且针对每个提取代码示出对提取代码的提取部位进行识别的提取部位识别符。
在S112之后,处理进入S113。
下面,基于图4、图5及图6,对对象代码提取处理(S111)以及提取代码列表生成处理(S112)的具体例进行说明。
图4是表示实施方式1中的仪器控制程序210的一个例子的图。
图4所示的仪器控制程序210是用梯形图语言记述的梯形图程序,包含从(1)至(4)的命令代码。
命令代码(1)表示1比特的复制,命令代码(2)表示2个值的逻辑积的计算,命令代码(3)表示2个值的逻辑和的输出。
Xn表示对输入设备进行识别的变量值,Yn表示对输出设备进行识别的变量值。这些标记的含义在以后的附图中也是相同的。
图5是表示实施方式1中的提取对象代码列表191的一个例子的图。
图5所示的提取对象代码列表191示出用梯形图语言记述的从(a)至(c)的提取对象代码。
图6是表示实施方式1中的提取代码列表192的一个例子的图。
图6所示的提取代码列表192示出用梯形图语言记述的从(1)至(3)的提取代码。
另外,提取代码列表192示出针对每个提取代码对提取出了提取代码的提取部位进行识别的提取部位识别符(例如仪器控制程序210的行编号)。图中的从L1至L3是提取部位识别符。Ln表示是从仪器控制程序210的第n行提取出的。
图4的仪器控制程序210所包含的从(1)至(4)的命令代码中的、从(1)至(3)的命令代码是与图5的提取对象代码列表191所示的从(a)至(c)的提取对象代码相同的命令代码。从(1)至(3)的命令代码与从(a)至(c)的命令代码在代码形式及命令(运算)的种类方面是相同的。
另外,仪器控制程序210的命令代码(4)是与提取对象代码列表191所示的任一种提取对象代码均不同的命令代码。
因此,命令代码提取部111对仪器控制程序210所包含的从(1)至(4)的命令代码中的、从(1)至(3)的命令代码进行提取(图3的S111),生成图6的提取代码列表192(图3的S112)。
返回图3,从S113继续进行说明。
在S113中,副控制程序生成部112生成包含提取代码列表192所示的提取代码在内的副控制程序212。
在S113之后,处理进入S121。
下面,基于图7,对副控制程序生成处理(S113)的具体例进行说明。
图7是表示实施方式1中的副控制程序212的一个例子的图。
图7所示的副控制程序212是梯形图程序,包含从(1)至(3)的命令代码。
副控制程序生成部112基于图6的提取代码列表192,生成图7的副控制程序212。
即,副控制程序生成部112基于各个提取部位识别符Ln,对图6的提取代码列表192所示的从(1)至(3)的提取代码进行排序,从而生成图7的副控制程序212。
另外,副控制程序生成部112也可以向从(1)至(3)的提取代码附加提取部位识别符Ln。例如,副控制程序生成部112对表示提取部位识别符的注释“#Ln”进行附加。
返回图3,从S121继续进行说明。
在S121中,主控制程序生成部121从仪器控制程序210中对在提取代码列表192中示出的提取代码进行去除,从而生成主控制程序211。
在S121之后,程序编辑处理结束。
下面,基于图8及图9,对主控制程序生成处理(S121)的具体例进行说明。
图8是表示实施方式1中的主控制程序211的一个例子的图。
图8所示的主控制程序211是梯形图程序,包含从D1至D3的伪代码、和命令代码(4)。伪代码是不执行的无效的命令代码。即,即使对主控制程序211进行编译,也不生成相当于伪代码的目标代码(也称为执行代码或机器代码)。
主控制程序生成部121基于图4的仪器控制程序210和图6的提取代码列表192,生成图8的主控制程序211。
即,主控制程序生成部121基于各个提取部位识别符Ln,对图4的仪器控制程序210所包含的从(1)至(4)的命令代码中的、图6的提取代码列表192所示的从(1)至(3)的命令代码进行确定。
然后,主控制程序生成部121将确定出的从(1)至(3)的命令代码置换为伪代码,从而生成图8的主控制程序211。
图8的从D1至D3是伪代码,在各个伪代码中,设定有包含相对应的提取代码的提取部位识别符Ln在内的字符串“DMY_Ln”。
图9是表示实施方式1中的主控制程序211的一个例子的图。
图9所示的主控制程序211包含命令代码(4)和标注了符号“#”的注释行。
主控制程序生成部121也可以基于图4的仪器控制程序210和图6的提取代码列表192,生成图9的主控制程序211。
即,主控制程序生成部121也可以将图4的仪器控制程序210所包含的从(1)至(4)的命令代码中的、图6的提取代码列表192所示的从(1)至(3)的命令代码置换为注释行,而不置换为伪代码。
另外,主控制程序生成部121也可以向注释行附记表示是已向副控制程序212移植的命令代码的注释“副控制_Ln”。
图10是表示实施方式1中的程序编辑装置100的硬件资源的一个例子的图。
在图10中,程序编辑装置100(计算机的一个例子)具有CPU 901(CentralProcessing Unit)。CPU 901经由总线902与ROM 903、RAM 904、通信板905(通信装置)、显示器911(显示装置)、键盘912、鼠标913、驱动器914、磁盘装置920等硬件设备连接,对这些硬件设备进行控制。驱动器914是对FD(Flexible Disk)、CD(Compact Disc)、DVD(DigitalVersatile Disc)等存储介质进行读写的装置。
ROM 903、RAM 904、磁盘装置920以及驱动器914是存储装置的一个例子。键盘912、鼠标913以及通信板905是输入装置的一个例子。显示器911以及通信板905是输出装置的一个例子。
通信板905有线或者无线地与LAN(Local Area Network)、英特网、电话线路等通信网络连接。
在磁盘装置920中存储有OS 921(操作***)、程序组922、文件组923。
在程序组922中,包含执行在实施方式中作为“~部”说明的功能的程序。程序(例如程序编辑程序)由CPU 901进行读取并执行。即,程序作为“~部”而使计算机起作用,另外,使计算机执行“~部”的步骤及方法。
在文件组923中,包含在实施方式中说明的“~部”所使用的各种数据(输入、输出、判定结果、计算结果、处理结果等)。
实施方式的结构图及流程图所包含的箭头主要示出数据及信号的输入输出。
基于流程图等而说明的实施方式的处理使用CPU 901、存储装置、输入装置、输出装置等硬件而执行。
实施方式中作为“~部”而说明的结构也可以是“~电路”、“~装置”、“~仪器”,另外,也可以是“~步骤”、“~顺序”、“~处理”。即,作为“~部”而说明的结构也可以通过固件、软件、硬件或它们的组合中的某一种来搭载。
根据实施方式1,例如具有如下效果。
程序编辑装置100能够从在CPU单元上执行的控制程序中,自动地对用于由具有运算功能的高速响应输入输出单元执行的输入输出响应控制程序(副控制程序)进行提取。
在实施方式1中,例如对程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
所述程序编辑装置具有提取对象代码存储部(191)、命令代码提取部(111)、第二程序生成部(112)、以及第一程序生成部(121)。
所述提取对象代码存储部将由第一执行部(201)和第二执行部(202)执行的对象程序(210)所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储。
所述命令代码提取部将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取。
所述第二程序生成部生成包含由所述命令代码提取部提取出的所述提取代码在内的程序而作为由所述第二执行部执行的第二程序(212)。
所述第一程序生成部生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序作为由所述第一执行部执行的第一程序(211)。
实施方式2
说明对副控制程序212进行编辑的方式。
下面,主要对与实施方式1不同的事项进行说明。省略说明的事项与实施方式1相同。
图11是实施方式2中的程序编辑装置100的功能结构图。
基于图11,对实施方式2中的程序编辑装置100的功能结构进行说明。
程序编辑装置100在实施方式1(参照图2)说明的结构的基础上,具有副控制参数列表生成部113(参数提取部的一个例子)、副控制参数列表显示部114(第二程序显示部的一个例子)、编辑指示输入部115、以及副控制程序编辑部116(第二程序编辑部的一个例子)。
副控制参数列表生成部113基于副控制程序212或提取代码列表192,生成副控制参数列表193(第二程序信息的一个例子)。
副控制参数列表193示出构成副控制程序212所包含的命令代码(以下称为副控制代码)的副控制参数的一览。
副控制参数是构成副控制程序212所包含的命令代码(副控制代码)的结构要素。
副控制参数列表显示部114对副控制参数列表193所示的副控制参数进行显示。
编辑指示输入部115输入针对副控制参数列表193所示的副控制参数的编辑指示。
副控制程序编辑部116按照编辑指示,对副控制程序212进行编辑。
图12是表示实施方式2中的程序编辑装置100的程序编辑处理的流程图。
基于图12,对实施方式2中的程序编辑装置100的程序编辑处理进行说明。
程序编辑处理在实施方式1(参照图3)说明的处理的基础上,包含从S114至S117。
在从S111至S113中,命令代码提取部111生成提取代码列表192,副控制程序生成部112生成副控制程序212(与实施方式1相同)。
在S113之后,处理进入S114。
在S114中,副控制参数列表生成部113从副控制程序212所包含的副控制代码(命令代码)中提取副控制参数,生成将提取出的副控制参数设置为一览而得到的副控制参数列表193。
但是,副控制参数列表生成部113也可以取代副控制程序212而使用提取代码列表192,生成副控制参数列表193。
在S114之后,处理进入S115。
下面,基于图13,对副控制参数列表生成处理(S114)的具体例进行说明。
图13是表示实施方式2中的副控制参数列表193的一个例子的图。
图13所示的副控制参数列表193示出从L1至L3的副控制参数。
另外,副控制参数包含“No”、“输入设备1”、“输入设备2”、“运算符”、“输出设备”。
“No.”表示提取部位识别符,该提取部位识别符对从仪器控制程序210提取出的副控制代码的提取部位进行识别。
“输入设备1”表示对构成命令代码的结构要素中的、作为值的输入源的第一输入设备进行识别的识别符。
“输入设备2”表示对构成命令代码的结构要素中的、作为值的输入源的第二输入设备进行识别的识别符。
“运算符”表示对构成命令代码的结构要素中的、运算的种类进行识别的识别符。
“输出设备”表示对构成命令代码的结构要素中的、作为值的输出目标的输出设备进行识别的识别符。
副控制参数列表生成部113基于图7的副控制程序212,生成图13的副控制参数列表193。
即,副控制参数列表生成部113针对图7的副控制程序212所包含的从(1)至(3)的每个命令代码,从命令代码中提取副控制参数。
然后,副控制参数列表生成部113生成图13的副控制参数列表193,该副控制参数列表193表示针对(1)至(3)的每个命令代码,从命令代码中提取出的副控制参数。
但是,副控制参数列表生成部113也可以取代图7的副控制程序212而使用图6的提取代码列表192,生成图13的副控制参数列表193。
在图13的副控制参数列表193中,副控制参数L1是图7或图6的从(1)至(3)的命令代码中的、构成与提取部位识别符L1相关联的命令代码(1)的副控制参数。
同样地,副控制参数L2是构成图7或图6的命令代码(2)的副控制参数,副控制参数L3是构成图7或图6的命令代码(3)的副控制参数。
返回图12,从S115继续进行说明。
在S115中,副控制参数列表显示部114对副控制参数列表193所示的副控制参数进行显示。
例如,副控制参数列表显示部114对如图14所示的副控制参数编辑画面310进行显示。
图14是表示实施方式2中的副控制参数编辑画面310的一个例子的图。
图14的副控制参数编辑画面310包含以表形式表示的图13的副控制参数列表193。
此外,副控制参数列表193的显示栏是能够进行编辑的文本框。但是,也可以使用除了文本框以外的编辑单元(下拉列表、菜单等)。
另外,副控制参数编辑画面310包含有编辑结束按钮311,该编辑结束按钮311用于对针对副控制参数列表193的编辑的结束进行指示。
在S115之后,处理进入S116。
在S116中,用户使用键盘或鼠标等输入仪器,在程序编辑装置100上指定出针对所显示的副控制参数的编辑指示(追加、变更或删除等)。
例如,用户将显示在图14的副控制参数编辑画面310上的L1的输入设备1从“X1”变更为“X2”,按下编辑结束按钮311。
然后,编辑指示输入部115从输入仪器输入由用户指定的编辑指示。
在S116之后,处理进入S117。
在S117中,副控制程序编辑部116按照用户的编辑指示,对副控制程序212所包含的副控制代码进行编辑。
例如,在图14的副控制参数编辑画面310上L1的输入设备1从“X1”变更为“X2”的情况下,副控制程序编辑部116对图7的副控制程序212所包含的从(1)至(3)的副控制代码中的、与提取部位识别符L1相关联的副控制代码(1)进行选择。然后,副控制程序编辑部116将选择出的副控制代码(1)所包含的输入设备的识别符从“X1”变更为“X2”。
另外,副控制程序编辑部116也可以按照用户的编辑指示,对副控制参数列表193进行编辑,基于编辑后的副控制参数列表193,生成编辑后的副控制程序212。
在S117之后,处理进入S121。
在S121中,主控制程序生成部121从仪器控制程序210中对提取代码列表192所示的提取代码进行去除,从而生成主控制程序211(与实施方式1相同)。
根据实施方式2,用户能够对副控制程序212容易地进行编辑,而不进行编程。
另外,用户能够容易地掌握CPU单元和输入输出单元之间的处理的分配。
在实施方式2中,例如,对如下所述的程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
程序编辑装置100具有第二程序显示部(114)和第二程序编辑部(116)。
所述第二程序显示部对表示由所述第二程序生成部生成的所述第二程序的第二程序信息(193)进行显示。
所述第二程序编辑部按照针对由所述第二程序显示部显示的所述第二程序信息的编辑指示,对所述第二程序进行编辑。
所述程序编辑装置具有参数提取部(113),该参数提取部(113)针对所述第二程序所包含的大于或等于1个命令代码的每个命令代码,对构成命令代码的大于或等于1个要素各自作为参数而进行提取。
所述第二程序显示部将以表形式对由所述参数提取部提取出的各参数进行表示的信息,作为所述第二程序信息而进行显示。
实施方式3
对将副控制程序212所包含的副控制代码向主控制程序211移植的方式进行说明。
下面,主要对与实施方式2不同的事项进行说明。省略说明的事项与实施方式2相同。
图15是实施方式3中的程序编辑装置100的功能结构图。
基于图15,对实施方式3中的程序编辑装置100的功能结构进行说明。
程序编辑装置100在实施方式2(参照图11)说明的结构的基础上,具有主控制程序编辑部122(第一程序编辑部的一个例子)。
主控制程序编辑部122对主控制程序211进行编辑。
例如,主控制程序编辑部122将副控制程序212所包含的副控制代码中的、用户所指定的副控制代码向主控制程序211追加。
图16是表示实施方式3中的程序编辑装置100的程序编辑处理的流程图。
基于图16,对实施方式3中的程序编辑装置100的程序编辑处理进行说明。
程序编辑处理在实施方式2(参照图12)说明的处理的基础上,包含S122。
在从S111至S113中,命令代码提取部111生成提取代码列表192,副控制程序生成部112生成副控制程序212(与实施方式1相同)。
在S113之后,处理进入S114。
在S114中,副控制参数列表生成部113生成副控制参数列表193(与实施方式2相同)。
在S114之后,处理进入S115。
在S115中,副控制参数列表显示部114对副控制参数列表193进行显示。
例如,副控制参数列表显示部114对如图17所示的副控制参数编辑画面310进行显示。
图17是表示实施方式3中的副控制参数编辑画面310的一个例子的图。
图17的副控制参数编辑画面310向实施方式2(参照图14)说明的画面追加有“CPU执行”栏。
“CPU执行”栏具有用于对希望使CPU单元201执行的副控制代码、即希望向主控制程序211移植的副控制代码进行指定的勾选框。
下面,将作为希望使CPU单元201执行的命令代码、即希望向主控制程序211移植的命令代码而指定的副控制代码称为“移植代码”。
在S115之后,处理进入S116。
在S116中,用户在程序编辑装置100中对针对副控制参数的编辑指示进行指定,编辑指示输入部115输入从用户指定的编辑指示(与实施方式2相同)。
例如,在希望使CPU单元201执行与显示在图17的副控制参数编辑画面310上的副控制参数L1相关的副控制代码的情况下,用户将L1的“CPU执行”栏的勾选框勾选。
在S116之后,处理进入S117。
在S117中,副控制程序编辑部116按照用户的编辑指示,对副控制程序212所包含的副控制代码的副控制参数进行编辑(与实施方式2相同)。
例如,在图17的副控制参数编辑画面310上勾选了L1的“CPU执行”栏的勾选框的情况下,副控制程序编辑部116从图7的副控制程序212所包含的从(1)至(3)的副控制代码中,删除与提取部位识别符L1相关联的副控制代码(1)。副控制代码(1)是向主控制程序211移植的移植代码。
在S117之后,处理进入S121。
在S121中,主控制程序生成部121生成主控制程序211(与实施方式1相同)。
在S121之后,处理进入S122。
在S122中,主控制程序编辑部122将用户的编辑指示所指定的移植代码向主控制程序211追加。
例如,在图17的副控制参数编辑画面310上勾选了L1的“CPU执行”栏的勾选框的情况下,主控制程序编辑部122从图8的主控制程序211所包含的从D1至D3的伪代码中,对与提取部位识别符L1相关联的伪代码D1进行选择。然后,主控制程序编辑部122将选择出的伪代码D1变换(复原)为通常的命令代码,从而向主控制程序211追加移植代码。向主控制程序211追加的移植代码是在S117中从副控制程序212中删除的副控制代码(1)。
在S122之后,程序编辑处理结束。但是,在用户的编辑指示未指定移植代码的情况下,程序编辑处理结束,而不进行S122。
根据实施方式3,用户能够将副控制程序212所包含的副控制代码向主控制程序211移植。
在实施方式3中,例如,对如下所述的程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
所述程序编辑装置具有第一程序编辑部(122)。
所述第一程序编辑部在针对所述第二程序信息的所述编辑指示是将所述第二程序所包含的某命令代码作为向所述第一程序移植的移植代码而进行指定的移植指示的情况下,将所述移植代码向所述第一程序追加。
所述第二程序编辑部(116)在所述编辑指示是所述移植指示的情况下,将所述移植代码从所述第二程序中删除。
实施方式4
对下述方式进行说明,即,在仪器控制程序210的命令代码能够分割为多个命令代码的情况下,对分割后的命令代码中的与提取对象代码相同的命令代码进行提取,生成副控制程序212。
下面,主要对与实施方式1不同的事项进行说明。省略说明的事项与实施方式1相同。
图18是实施方式4中的程序编辑装置100的功能结构图。
基于图18,对实施方式4中的程序编辑装置100的功能结构进行说明。
程序编辑装置100在实施方式1(参照图2)说明的结构的基础上,具有命令代码分割部131(分割判定部的一个例子)和仪器控制程序修正部132。
命令代码分割部131对仪器控制程序210所包含的命令代码中的、能够分割为多个命令代码的命令代码进行分割。
下面,将能够分割的命令代码称为“可分割代码”,将分割后得到的命令代码称为“分割代码”。
仪器控制程序修正部132将仪器控制程序210所包含的可分割代码修正(变换)为多个分割代码。
图19是表示实施方式4中的程序编辑装置100的程序编辑处理的流程图。
基于图19,对实施方式4中的程序编辑装置100的程序编辑处理进行说明。
程序编辑处理在实施方式1(参照图3)说明的处理的基础上,具有S130。
在S130中,命令代码提取部111提取对在S111中未提取出的未提取的命令代码进行分割而得到的多个分割代码中的、与提取对象代码列表191所示的提取对象代码相同的命令代码。
在S130中提取出的命令代码与在S111中提取出的命令代码一起设定在提取代码列表192中(S112)。
图20是表示实施方式4中的分割代码提取处理(S130)的一个例子的流程图。
基于图20,对实施方式4中的分割代码提取处理(S130)的一个例子进行说明。
在S131中,命令代码提取部111从仪器控制程序210所包含的未提取代码中,选择1个未选择的未提取代码。
例如,命令代码提取部111从前端起按顺序从仪器控制程序210所包含的未提取代码中选择1个。
未提取代码是仪器控制程序210所包含的命令代码中的、在S111(参照图19)中未提取出的命令代码。
下面,将在S131中选择出的未提取代码称为“选择代码”。
在S131之后,处理进入S132。
在S132中,命令代码分割部131对选择代码是否是能够分割为多个命令代码的可分割代码进行判定。
例如,可分割代码是作为输出输出值的输出目标而指定了多个输出目标的命令代码。指定了第一输出目标和第二输出目标的命令代码能够分割为向第一输出目标输出输出值的第一命令代码、和向第二输出目标输出输出值的第二命令代码这两个命令代码。
使命令代码为可分割代码的可分割条件由程序或表等预先确定。在选择代码满足可分割条件的情况下,命令代码分割部131判定为选择代码是可分割代码。
在选择代码是可分割代码的情况下(YES)、处理进入S133。
在选择代码不是可分割代码的情况下(NO),处理进入S135。
在S133中,命令代码分割部131对仪器控制程序210所包含的选择代码进行复制,将复制得到的选择代码分割为多个分割代码。
例如,命令代码分割部131将指定了第一输出目标和第二输出目标的选择代码分割为向第一输出目标输出输出值的第一分割代码、和向第二输出目标输出输出值的第二分割代码这两个分割代码。
将选择代码分割为多个分割代码的分割步骤由程序或表格等预先确定。命令代码分割部131按照分割步骤,将选择代码分割为多个分割代码。
在S133之后,处理进入S134。
图21是表示实施方式4中的命令代码分割处理(S133)的具体例的图。
在图21中,(A)是下述可分割代码,即,将对来自X1的输入值和来自X11的输入值取逻辑积而得到的第一输出值向Y100输出,并且将对第一输出值和来自X21的输入值取逻辑积而得到的第二输出值向Y101输出。
命令代码分割部131将可分割代码(A)分割为(a)将第一输出值向Y100输出的第一分割代码、和(b)将第二输出值向Y101输出的第二分割代码这两个分割代码。
返回图20,从S134继续进行说明。
在S134中,命令代码提取部111对多个分割代码中的与提取对象代码列表191所示的提取对象代码相同的命令代码进行提取。
S134是将图19的S111中的仪器控制程序210所包含的命令代码置换为多个分割代码的处理。
在S134之后,处理进入S135。
在S135中,命令代码提取部111对是否残留着在S131中未选择的未选择的未提取代码进行判定。
在残留着未选择的未提取代码的情况下(YES),处理返回S131。
在未残留着未选择的未提取代码的情况下(NO),处理进入S136。
在S136中,仪器控制程序修正部132将仪器控制程序210所包含的未提取代码中的、与作为在S134中提取出的分割代码的分割源的可分割代码相同的未提取代码修正(变换)为多个分割代码。
在S136之后,分割代码提取处理(S130)结束。
实施方式4可以是实施方式2那样能够对副控制程序212进行编辑的方式,也可以是实施方式3那样能够将副控制程序212所包含的副控制代码向主控制程序211移植的方式。
根据实施方式4,在仪器控制程序210的命令代码能够分割为多个命令代码的情况下,程序编辑装置100能够对分割后的命令代码中的、与提取对象代码相同的命令代码进行提取,生成副控制程序212。
在实施方式4中,例如对如下所述的程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
所述程序编辑装置具有分割判定部(131)和命令代码分割部(131)。
所述分割判定部对所述对象程序(210)所包含的所述多个命令代码中的、作为由所述命令代码提取部未提取出的命令代码的未提取代码是否是能够分割为多个命令代码的命令代码进行判定。
所述命令代码分割部在由所述分割判定部判定为所述未提取代码是能够进行分割的命令代码的情况下,将所述未提取代码分割为多个命令代码。
所述命令代码提取部(111)将由所述命令代码分割部得到的所述多个命令代码中的、与所述提取对象代码相同的命令代码,新作为提取代码进行提取。
实施方式5
说明对命令代码的提取条件进行设定的方式。
下面,主要对与实施方式1不同的事项进行说明。省略说明的事项与实施方式1相同。
图22是实施方式5中的程序编辑装置100的功能结构图。
基于图22,对实施方式5中的程序编辑装置100的功能结构进行说明。
程序编辑装置100在实施方式1(参照图2)说明的结构的基础上,具有提取条件设定部141(提取条件画面显示部的一个例子)。
提取条件设定部141对用于从仪器控制程序210中提取命令代码的提取条件进行设定。
命令代码提取部111除了与提取对象代码列表191所示的提取对象代码相同的命令代码以外,从仪器控制程序210中对满足由提取条件设定部141设定的提取条件的命令代码进行提取,生成提取代码列表192。
但是,命令代码提取部111也可以对提取对象代码列表191所示的提取对象代码中的、满足提取条件的提取对象代码进行确定,从仪器控制程序210中对与确定出的提取对象代码相同的命令代码进行提取,生成提取代码列表192。
下面,说明提取条件设定部141进行的提取条件设定处理。
(1)提取条件设定部141对用于设定提取条件的提取条件画面320进行显示。
(2)用户使用输入仪器,在提取条件画面320上对提取条件进行指定。
(3)提取条件设定部141从输入仪器输入在提取条件画面320上指定的提取条件。
图23是表示实施方式5中的提取条件画面320的一个例子的图。
基于图23,对实施方式5中的提取条件画面320的一个例子进行说明。
提取条件画面320中作为用于设定提取条件而进行指定的项目,具有“指定方法”、“提取条件”、“提取上限值”、“优先顺序”。
另外,提取条件画面320具有设定结束按钮,该设定结束按钮用于结束提取条件的设定。
“指定方法”是用于选择对输入输出设备进行指定的方法的项目。输入设备是输入值的输入源,输出设备是输出值的输出目标。例如,“指定方法”使用勾选框而构成。
在指定方法中,存在以“设备名”对输入输出设备进行指定的方法、和以“标签名”对输入输出设备进行指定的方法。
“设备名”通过字母或数字等符号而对输入输出设备进行识别。“标签名”通过自然语言而对输入输出设备进行识别。
“提取条件”是用于对输入输出设备进行指定的项目。
“提取上限值”是用于对提取的命令代码的数量的上限值进行指定的项目。
“优先顺序”是用于对命令代码所包含的运算符进行指定的项目,对运算符的优先顺序进行指定。
例如由“提取条件”、“提取上限值”、“优先顺序”构成文本框。
图24是表示实施方式5中的标签名对应表329的一个例子的图。
标签名对应表329是将设备名和标签名相关联的表格。
程序编辑装置100也可以存储如图24所示的标签名对应表329。
提取条件设定部141使用标签名对应表329,从而能够将在提取条件画面320中指定的设备名变换为标签名。
另外,提取条件设定部141使用标签名对应表329,从而能够将在提取条件画面320中指定的标签名变换为设备名。
图25是表示实施方式5中的仪器控制程序210的一个例子的图。
如图25所示,有时使用输入输出设备的标签名而生成仪器控制程序210。
在该情况下,命令代码提取部111使用标签名对应表329(参照图24),从而能够将记录在仪器控制程序210中的标签名变换为设备名。
另外,在使用输入输出设备的设备名而生成仪器控制程序210的情况下,命令代码提取部111使用标签名对应表329,从而能够将记录在仪器控制程序210中的设备名变换为标签名。
实施方式5可以是如实施方式2那样能够对副控制程序212进行编辑的方式,也可以是如实施方式3那样能够将副控制程序212所包含的副控制代码向主控制程序211移植的方式。
另外,实施方式5也可以是如实施方式4那样对将命令代码进行分割而得到的分割代码进行提取的方式。
根据实施方式5,用户能够对命令代码的提取条件进行设定。
在实施方式5中,例如,对如下所述的程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
所述程序编辑装置具有提取条件画面显示部(141),该提取条件画面显示部(141)对提取条件画面(320)进行显示,该提取条件画面(320)用于对从所述对象程序(210)中提取命令代码的提取条件进行指定。
所述命令代码提取部(111)将所述对象程序所包含的所述多个命令代码中的、满足在所述提取条件画面中指定的提取条件的命令代码,新作为提取代码进行提取。
实施方式6
对下述方式进行说明,即,对在主控制程序211和副控制参数列表193之间重复的命令代码进行检测。
下面,主要对与实施方式2不同的事项进行说明。省略说明的事项与实施方式2相同。
图26是实施方式6中的程序编辑装置100的功能结构图。
基于图26,对实施方式6中的程序编辑装置100的功能结构进行说明。
程序编辑装置100在实施方式2(参照图11)说明的结构的基础上,具有重复代码检测部151(重复代码判定部的一个例子)和检测结果显示部152(重复代码信息显示部的一个例子)。
重复代码检测部151对在主控制程序211和副控制参数列表193之间重复的命令代码(以下称为重复代码)进行检测。
检测结果显示部152对重复代码的检测结果进行显示。
图27是表示实施方式6中的程序编辑装置100的程序编辑处理的流程图。
如图27所示,程序编辑装置100在副控制程序编辑处理(S117)之前执行主控制程序生成处理(S121)。
图28是表示实施方式6中的副控制程序编辑处理(S117)的流程图。
基于图28,对实施方式6中的副控制程序编辑处理(S117)进行说明。
在S117-1中,副控制程序编辑部116基于在S116中输入的编辑指示和编辑指示所针对的副控制参数,生成编辑后的副控制代码。
在S117-1之后,处理进入S117-2。
在S117-2中,重复代码检测部151对编辑后的副控制代码和主控制程序211所包含的主控制代码是否重复进行判定。
在这里,所谓重复的命令代码(重复代码),可以是所有变量值都相同的命令代码、和至少某一个变量值相同的命令代码中的某一个。
例如,在编辑后的副控制代码中指定的输出设备和主控制程序211所包含的主控制代码中指定的输出设备相同的情况下,重复代码检测部151判定为编辑后的副控制代码和主控制代码重复。
在编辑后的副控制代码和主控制代码重复的情况下(YES),处理进入S117-3。
在编辑后的副控制代码和主控制代码不重复的情况下(NO),处理进入S117-5。但是,在S117-5之前,检测结果显示部152也可以对表示编辑后的副控制代码和主控制代码不重复的标记或消息进行显示。
在S117-3中,检测结果显示部152对表示编辑后的副控制代码和主控制代码重复的标记或消息进行显示。
由此,检测结果显示部152催促用户进行副控制参数的修正。
在S117-3之后,处理进入S117-4。
图29是表示实施方式6中的检测结果显示处理(S117-3)的具体例的图。
在图29中,主控制程序211的主控制代码(1)的输出设备、和副控制代码L2的输出设备均为“Y10”。
因此,重复代码检测部151判定为主控制代码(1)和副控制代码L2重复。
然后,检测结果显示部152在副控制参数编辑画面310上对表示副控制代码L2为重复代码的消息进行显示。
在S117-4中,用户使用输入仪器,对针对与主控制代码重复的副控制代码的编辑(例如副控制代码的删除)进行指示。
然后,编辑指示输入部115从输入仪器输入编辑指示。
在S117-4之后,处理进入S117-5。
在S117-5中,副控制程序编辑部116按照在S116中输入的编辑指示以及在S117-4中输入的编辑指示,对副控制程序212进行编辑。
根据实施方式6,程序编辑装置100能够对在主控制程序211和副控制参数列表193之间重复的命令代码进行检测。
在实施方式6中,例如对如下所述的程序编辑装置(100)进行了说明。在括弧内标记相对应的结构的标号或名称。
所述程序编辑装置具有重复代码判定部(151)和重复代码信息显示部(152)。
所述重复代码判定部基于所述编辑指示,对与所述第一程序(211)所包含的命令代码重复的命令代码即重复代码是否包含在所述第二程序(212)中进行判定。
所述重复代码信息显示部在由所述重复代码判定部判定为所述第二程序包含所述重复代码的情况下,对表示所述第二程序包含所述重复代码的重复代码信息进行显示。
各实施方式也可以在不产生矛盾的范围内,对整体或一部分进行组合。
标号的说明
100程序编辑装置,111命令代码提取部,112副控制程序生成部,113副控制参数列表生成部,114副控制参数列表显示部,115编辑指示输入部,116副控制程序编辑部,121主控制程序生成部,122主控制程序编辑部,131命令代码分割部,132仪器控制程序修正部,141提取条件设定部,151重复代码检测部,152检测结果显示部,190装置存储部,191提取对象代码列表,192提取代码列表,193副控制参数列表,200仪器控制装置,201CPU单元,202输入输出单元,204网络,209周边仪器,210仪器控制程序,211主控制程序,212副控制程序,310副控制参数编辑画面,311编辑结束按钮,320提取条件画面,329标签名对应表,901CPU,902总线,903ROM,904RAM,905通信板,911显示器,912键盘,913鼠标,914驱动器,920磁盘装置,921OS,922程序组,923文件组。
Claims (6)
1.一种程序编辑装置,其特征在于,具有:
提取对象代码存储部,其将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储;
命令代码提取部,其将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取;
第二程序生成部,其生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序;
第一程序生成部,其生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序;
第二程序显示部,其对表示由所述第二程序生成部生成的所述第二程序的第二程序信息进行显示;
第二程序编辑部,其按照针对由所述第二程序显示部显示的所述第二程序信息的编辑指示,对所述第二程序进行编辑;以及
第一程序编辑部,其在针对所述第二程序信息的所述编辑指示是将所述第二程序所包含的某命令代码指定为向所述第一程序移植的移植代码的移植指示的情况下,将所述移植代码向所述第一程序追加,
所述第二程序编辑部在所述编辑指示是所述移植指示的情况下,将所述移植代码从所述第二程序中删除。
2.一种程序编辑装置,其特征在于,具有:
提取对象代码存储部,其将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储;
命令代码提取部,其将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取;
第二程序生成部,其生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序;
第一程序生成部,其生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序;
第二程序显示部,其对表示由所述第二程序生成部生成的所述第二程序的第二程序信息进行显示;
第二程序编辑部,其按照针对由所述第二程序显示部显示的所述第二程序信息的编辑指示,对所述第二程序进行编辑;
重复代码判定部,其基于所述编辑指示,对与所述第一程序所包含的命令代码重复的命令代码即重复代码是否包含在所述第二程序中进行判定;以及
重复代码信息显示部,其在由所述重复代码判定部判定为所述第二程序包含所述重复代码的情况下,对表示所述第二程序包含所述重复代码的重复代码信息进行显示。
3.一种程序编辑装置,其特征在于,具有:
提取对象代码存储部,其将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储;
命令代码提取部,其将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取;
第二程序生成部,其生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序;
第一程序生成部,其生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序;
分割判定部,其对所述对象程序所包含的所述多个命令代码中的、未由所述命令代码提取部提取出的命令代码即未提取代码是否是能够分割为多个命令代码的命令代码进行判定;以及
命令代码分割部,其在由所述分割判定部判定为所述未提取代码是能够进行分割的命令代码的情况下,将所述未提取代码分割为多个命令代码,
所述命令代码提取部将通过所述命令代码分割部得到的所述多个命令代码中的、与所述提取对象代码相同的命令代码,新作为提取代码而进行提取。
4.一种程序编辑方法,其使用具有提取对象代码存储部、命令代码提取部、第二程序生成部、第一程序生成部、第二程序显示部、第二程序编辑部以及第一程序编辑部的程序编辑装置,
该程序编辑方法的特征在于,
所述提取对象代码存储部是下述存储部,即,将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储,
所述命令代码提取部将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取,
所述第二程序生成部生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序,
所述第一程序生成部生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序,
所述第二程序显示部对表示由所述第二程序生成部生成的所述第二程序的第二程序信息进行显示,
所述第二程序编辑部在针对由所述第二程序显示部显示的所述第二程序信息的编辑指示是将所述第二程序所包含的某命令代码指定为向所述第一程序移植的移植代码的移植指示的情况下,将所述移植代码从所述第二程序中删除,
所述第一程序编辑部在所述编辑指示是所述移植指示的情况下,将所述移植代码向所述第一程序追加。
5.一种程序编辑方法,其使用具有提取对象代码存储部、命令代码提取部、第二程序生成部、第一程序生成部、第二程序显示部、第二程序编辑部、重复代码判定部以及重复代码信息显示部的程序编辑装置,
该程序编辑方法的特征在于,
所述提取对象代码存储部是下述存储部,即,将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储,
所述命令代码提取部将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取,
所述第二程序生成部生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序,
所述第一程序生成部生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序,
所述第二程序显示部对表示由所述第二程序生成部生成的所述第二程序的第二程序信息进行显示,
所述第二程序编辑部按照针对由所述第二程序显示部显示的所述第二程序信息的编辑指示,对所述第二程序进行编辑,
所述重复代码判定部基于所述编辑指示,对与所述第一程序所包含的命令代码重复的命令代码即重复代码是否包含在所述第二程序中进行判定,
所述重复代码信息显示部在由所述重复代码判定部判定为所述第二程序包含所述重复代码的情况下,对表示所述第二程序包含所述重复代码的重复代码信息进行显示。
6.一种程序编辑方法,其使用具有提取对象代码存储部、命令代码提取部、第二程序生成部、第一程序生成部、分割判定部以及命令代码分割部的程序编辑装置,
该程序编辑方法的特征在于,
所述提取对象代码存储部是下述存储部,即,将由第一执行部和第二执行部执行的对象程序所包含的多个命令代码中的、由第二执行部执行的命令代码,作为提取对象代码而进行存储,
所述命令代码提取部将所述对象程序所包含的所述多个命令代码中的、与存储在所述提取对象代码存储部中的所述提取对象代码相同的命令代码,作为提取代码而进行提取,
所述第二程序生成部生成包含由所述命令代码提取部提取出的所述提取代码在内的程序,作为由所述第二执行部执行的第二程序,
所述第一程序生成部生成从所述对象程序中对由所述命令代码提取部提取出的所述提取代码进行去除而得到的程序,作为由所述第一执行部执行的第一程序,
所述分割判定部对所述对象程序所包含的所述多个命令代码中的、未由所述命令代码提取部提取出的命令代码即未提取代码是否是能够分割为多个命令代码的命令代码进行判定,
所述命令代码分割部在由所述分割判定部判定为所述未提取代码是能够进行分割的命令代码的情况下,将所述未提取代码分割为多个命令代码,
所述命令代码提取部将通过所述命令代码分割部得到的所述多个命令代码中的、与所述提取对象代码相同的命令代码,新作为提取代码而进行提取。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/060589 WO2014167622A1 (ja) | 2013-04-08 | 2013-04-08 | プログラム編集装置、プログラム編集方法およびプログラム編集プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105122157A CN105122157A (zh) | 2015-12-02 |
CN105122157B true CN105122157B (zh) | 2018-01-19 |
Family
ID=51689059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075417.8A Expired - Fee Related CN105122157B (zh) | 2013-04-08 | 2013-04-08 | 程序编辑装置以及程序编辑方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20150370547A1 (zh) |
JP (1) | JP5936769B2 (zh) |
KR (1) | KR101726120B1 (zh) |
CN (1) | CN105122157B (zh) |
DE (1) | DE112013006915T5 (zh) |
TW (1) | TWI497240B (zh) |
WO (1) | WO2014167622A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101772785B1 (ko) * | 2013-04-08 | 2017-08-29 | 미쓰비시덴키 가부시키가이샤 | 프로그램 그래프 표시 장치, 프로그램 그래프 표시 방법 및 프로그램 그래프 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
CN105408827B (zh) * | 2014-06-02 | 2017-07-07 | 三菱电机株式会社 | 可编程控制器***、可编程控制器、程序显示装置、程序的显示方法 |
KR20200121090A (ko) * | 2019-04-15 | 2020-10-23 | 엘에스일렉트릭(주) | Plc 시스템 및 이의 입출력 리프레시 주기 제어방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695713A (ja) * | 1992-09-14 | 1994-04-08 | Hitachi Ltd | プログラマブルコントローラとそのプログラミング方法 |
JP2001325011A (ja) * | 2000-05-12 | 2001-11-22 | Omron Corp | プログラマブルコントローラシステム |
CN101292204A (zh) * | 2006-03-29 | 2008-10-22 | 三菱电机株式会社 | 程序生成辅助装置、程序生成辅助方法和使计算机执行该方法的程序及存储该程序的存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3126006B2 (ja) * | 1993-03-02 | 2001-01-22 | 株式会社日立製作所 | プログラマブルコントローラ |
JP3658061B2 (ja) | 1995-12-20 | 2005-06-08 | 株式会社日立製作所 | Faシステムの制御装置と方法、制御プログラム生成方法 |
US6182211B1 (en) * | 1997-07-02 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Conditional branch control method |
JP2002041111A (ja) | 2000-07-26 | 2002-02-08 | Matsushita Electric Works Ltd | プログラミング支援装置 |
US7281242B2 (en) * | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
US7587709B2 (en) * | 2003-10-24 | 2009-09-08 | Microsoft Corporation | Adaptive instrumentation runtime monitoring and analysis |
JP4924976B2 (ja) * | 2005-03-23 | 2012-04-25 | 新日鉄ソリューションズ株式会社 | ソフトウェア開発支援システム |
US8850388B2 (en) * | 2006-09-07 | 2014-09-30 | Microsoft Corporation | Controlling application features |
US9047412B2 (en) * | 2007-05-06 | 2015-06-02 | Dynatrace Corporation | System and method for extracting instrumentation relevant inheritance relationships for a distributed, inheritance rule based instrumentation system |
TWI442316B (zh) * | 2009-01-22 | 2014-06-21 | Foxnum Technology Co Ltd | 可編程邏輯控制器程式編輯系統及方法 |
JP2011257904A (ja) | 2010-06-08 | 2011-12-22 | Hitachi Ltd | 制御装置及びそのデータ処理方法 |
US8627308B2 (en) * | 2010-06-30 | 2014-01-07 | International Business Machines Corporation | Integrated exchange of development tool console data |
JP2012118715A (ja) * | 2010-11-30 | 2012-06-21 | Fuji Electric Co Ltd | Plcシステム、その開発支援装置、プログラム |
JP5757098B2 (ja) * | 2011-02-08 | 2015-07-29 | 富士電機株式会社 | プログラム作成支援装置、プログラム作成支援方法 |
US9529816B2 (en) * | 2013-01-25 | 2016-12-27 | Konica Minolta Laboratory U.S.A., Inc. | Arbitrating among concurrent editors of shared documents |
US9465717B2 (en) * | 2013-03-14 | 2016-10-11 | Riverbed Technology, Inc. | Native code profiler framework |
-
2013
- 2013-04-08 JP JP2015510969A patent/JP5936769B2/ja not_active Expired - Fee Related
- 2013-04-08 WO PCT/JP2013/060589 patent/WO2014167622A1/ja active Application Filing
- 2013-04-08 US US14/765,268 patent/US20150370547A1/en not_active Abandoned
- 2013-04-08 CN CN201380075417.8A patent/CN105122157B/zh not_active Expired - Fee Related
- 2013-04-08 KR KR1020157027644A patent/KR101726120B1/ko active IP Right Grant
- 2013-04-08 DE DE112013006915.6T patent/DE112013006915T5/de not_active Withdrawn
- 2013-05-29 TW TW102118903A patent/TWI497240B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695713A (ja) * | 1992-09-14 | 1994-04-08 | Hitachi Ltd | プログラマブルコントローラとそのプログラミング方法 |
JP2001325011A (ja) * | 2000-05-12 | 2001-11-22 | Omron Corp | プログラマブルコントローラシステム |
CN101292204A (zh) * | 2006-03-29 | 2008-10-22 | 三菱电机株式会社 | 程序生成辅助装置、程序生成辅助方法和使计算机执行该方法的程序及存储该程序的存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20150127163A (ko) | 2015-11-16 |
TWI497240B (zh) | 2015-08-21 |
US20150370547A1 (en) | 2015-12-24 |
DE112013006915T5 (de) | 2015-12-24 |
WO2014167622A1 (ja) | 2014-10-16 |
CN105122157A (zh) | 2015-12-02 |
JPWO2014167622A1 (ja) | 2017-02-16 |
TW201439695A (zh) | 2014-10-16 |
JP5936769B2 (ja) | 2016-06-22 |
KR101726120B1 (ko) | 2017-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9881064B2 (en) | Systems and methods for using graphical representations to manage query results | |
JP6901243B2 (ja) | プロセス環境のための制御システムを最適化するためのシステムおよび方法 | |
CN105144004B (zh) | 程序图显示装置以及程序图显示方法 | |
EP2827240A1 (en) | Method for generating control-code by a control-code-diagram | |
CN107003664A (zh) | 信息***构建辅助工具以及信息***构建辅助程序 | |
CN105573236B (zh) | 信息处理装置、信息处理方法及记录介质 | |
EP2916218B1 (en) | Apparatus for generating and editing NC program | |
CN105122157B (zh) | 程序编辑装置以及程序编辑方法 | |
CN102067117B (zh) | 显示和操作表的方法 | |
US20190303517A1 (en) | Simulation device | |
US20030090526A1 (en) | Analysis work support system | |
JP5508872B2 (ja) | 製造手順情報作成システムおよび製造手順情報作成プログラム | |
US20180365341A1 (en) | Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad | |
JP4888534B2 (ja) | プログラム開発支援装置および処理方法 | |
US20210149938A1 (en) | Information processing device and setting device | |
JP2008146300A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2002217260A (ja) | 半導体ウエハテストmap図作成装置及び方法 | |
CN106598839A (zh) | 一种面向目标代码的程序静态分析方法 | |
CN104025184B (zh) | 显示器用画面数据编辑装置 | |
JP2000039909A (ja) | 数値制御情報作成装置 | |
JP6613696B2 (ja) | レシピ設定システム、レシピ設定方法およびコンピュータプログラム | |
US20220342376A1 (en) | Apparatus and method for extracting common command information from plc ladder information | |
WO2023281732A1 (ja) | 分析装置 | |
JP2023116031A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US20040199483A1 (en) | Design work assistance apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180119 Termination date: 20200408 |