CN101365994B - 可编程控制器的***装置、置换方法和程序 - Google Patents
可编程控制器的***装置、置换方法和程序 Download PDFInfo
- Publication number
- CN101365994B CN101365994B CN2007800016436A CN200780001643A CN101365994B CN 101365994 B CN101365994 B CN 101365994B CN 2007800016436 A CN2007800016436 A CN 2007800016436A CN 200780001643 A CN200780001643 A CN 200780001643A CN 101365994 B CN101365994 B CN 101365994B
- Authority
- CN
- China
- Prior art keywords
- variable
- address
- mentioned
- sequential programme
- program
- 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
Images
Classifications
-
- 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
-
- 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
- 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
-
- 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/46—Multiprogramming arrangements
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13152—Modification of program
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)
Abstract
本发明提供一种可编程控制器的***装置,其用于将已有的程序置换为使用变量的程序,该***装置具备:变量信息生成单元,其提取上述已有的程序中记述的地址,针对上述提取出的各地址分别分配固有的变量,并生成将上述地址和与该地址对应的变量相关联的变量对应信息;以及置换单元,其基于上述变量对应信息将上述已有的程序中记述的地址置换为上述变量,而将上述已有的程序置换为使用上述变量的程序。
Description
技术领域
本发明涉及可编程控制器的***装置、置换方法和程序,特别是涉及一种实现可编程逻辑控制器(以下也称为PLC)的顺序程序的生成作业、编辑作业简化的可编程控制器的***装置、置换方法和程序。
背景技术
以往,可以对PLC的顺序程序进行生成、编辑的PLC***装置,在生成顺序程序的程序时,记述PLC内部的存储器地址而生成顺序程序的程序代码。
但是,最近则逐渐采用取代PLC内部的存储器地址而使用变量进行程序生成的方法。即,并不是在顺序程序中直接记述PLC内部的存储器地址,而是采取将该PLC内部的存储器地址置换为变量并进行记述的程序生成方法。在这种顺序程序生成方法中,例如,在顺序程序的代码中取代记述为“LD X0”,而记述为“LD(变量)”。
专利文献1:特开2000-242313号公报
发明内容
然而,在顺序程序的生成过程中,为了简化程序生成作业,而重复利用过去生成的已有的顺序程序资源来生成新的顺序程序。
顺序程序是进行编译后而由PLC使用的。对于重复利用过去生成的已有的顺序程序资源而生成的新的顺序程序,在进行该编译时,必须将已有的顺序程序资源中的地址重新分配为新使用的PLC的地址。
因此,在生成如上所述的使用变量的顺序程序项目时,重复利用没有使用变量的已有的顺序程序资源的情况下,首先复制没有使用 变量的已有的顺序程序资源。然后,需要将所复制的顺序程序内的输入输出地址(输入输出设备)声明为全局变量,将内部存储器地址(内部设备)声明为局部变量,将顺序程序内的设备置换为变量。
所谓的全局变量是指在规定项目内的所有程序内都可以使用的变量,是不依赖于项目内的各个程序的变量。即,通过使用全局变量,能够在项目内的所有程序间共用变量的值。另外,所谓的局部变量是指只能在定义了该变量的程序内使用的变量,是依赖于项目内的各个程序的变量。即,在不需要与项目内的其他程序共用变量的值的情况下使用局部变量。这样,通过分开使用全局变量和局部变量,具有能够由多个人高效地进行程序编辑作业的优点。
上述置换作业必须由顺序程序的生成者通过手工操作来完成,在进行该置换作业时必须考虑使地址不会发生重复。因此,存在下述问题,即,该置换作业是复杂而费时的作业,无法高效地对没有使用变量的顺序程序资源进行重复利用。
另外,提出了在全局变量和局部变量的地址分配过程中自动对存储器进行地址分配的技术(例如,参照专利文献1)。但是,在像该文献这样的现有技术中,并没有考虑对没有使用变量的已有的顺序程序资源进行重复利用的相关技术。
本发明是鉴于上述情况而提出的,其目的是获得一种可编程控制器的***装置、置换方法和程序,以能够将没有使用变量的已有的顺序程序自动且高效地变换为使用变量的顺序程序。
为了解决上述课题、达到目的,本发明所涉及的可编程控制器的***装置的特征在于,其具备:变量信息生成单元,其提取已有的程序中记述的地址,针对提取出的各地址分别分配固有的变量,并生成将地址和与该地址对应的变量相关联的变量对应信息;以及置换单元,其基于变量对应信息将已有的程序中记述的地址置换为变量,而将已有的程序置换为使用变量的程序。
发明的效果
本发明所涉及的可编程控制器的***装置,能够提取出已有的 程序中记述的地址,针对提取出的各地址分别分配固有的变量,自动生成将地址和与该地址对应的变量相关联的变量对应信息,并基于该变量对应信息,将已有的程序中记述的地址自动置换为变量,而将已有的程序自动置换为使用变量的程序。由此,根据本发明所涉及的可编程控制器的***装置具有下述效果,即,可以将已有的顺序程序自动且高效地变换为使用变量的顺序程序。
附图说明
图1是表示本发明的实施方式所涉及的程序生成***的结构的一个例子的图。
图2是表示沿用源项目数据的沿用源顺序程序的一个例子的图。
图3是表示沿用源项目数据的设备注释的一个例子的图。
图4是表示本发明的实施方式所涉及的程序生成装置中的程序生成部的功能结构的框图。
图5是表示本发明的实施方式所涉及的程序生成装置中的地址分类表的一个例子的图。
图6是表示本发明的实施方式所涉及的程序生成装置中的变量表的一个例子的图。
图7是表示本发明的实施方式所涉及的程序生成装置中的全局变量表的一个例子的图。
图8是表示本发明的实施方式所涉及的程序生成装置中的局部变量表的一个例子的图。
图9是表示将沿用源顺序程序变换为使用变量的顺序程序后的顺序程序的一个例子的图。
图10是表示本发明的实施方式所涉及的程序生成装置中的存储部的结构的框图。
图11是用于说明本发明的实施方式所涉及的程序生成装置中的变量表的生成处理的流程图。
图12是用于说明本发明的实施方式所涉及的程序生成装置中的变量表的生成方法的图。
图13是用于说明本发明的实施方式所涉及的程序生成装置中的程序置换处理的流程图。
图14是用于说明本发明的实施方式所涉及的程序生成装置中的顺序程序的变换的图。
图15是用于说明本发明的实施方式所涉及的程序生成装置中的全局变量声明处理的流程图。
图16是用于说明本发明的实施方式所涉及的程序生成装置中的全局变量表的生成的图。
图17是用于说明本发明的实施方式所涉及的程序生成装置中的局部变量声明处理的流程图。
图18是用于说明本发明的实施方式所涉及的程序生成装置中的局部变量表的生成的图。
图19是说明本发明的实施方式所涉及的程序生成装置的功能的图。
图20是说明本发明的实施方式所涉及的程序生成装置的功能的图。
图21是表示可以执行本发明的实施方式所涉及的程序置换方法和程序生成方法的程序的计算机装置的概略结构的一个例子的框图。
符号的说明
1 程序生成装置
3 输入装置
5 显示装置
7 外部存储装置
11 程序生成部
13 存储部
15 通信部
17 控制部
71 沿用源项目数据
72 沿用源顺序程序
73 设备注释
111 变量表生成部
112 全局变量表生成部
113 局部变量表生成部
114 置换处理部
115 程序生成部
131 程序存储器
132 数据存储器
133 沿用后项目存储器
134 全局变量表
135A 顺序程序A
135B 顺序程序B
136A 局部变量表A
136B 局部变量表B
137 地址分类表
138 变量表
139 沿用后项目数据
201 输入装置
202 显示装置
203 CPU
204 存储器
205 存储装置
206 介质驱动装置
207 网络接口
208 总线
具体实施方式
下面,根据附图详细说明本发明所涉及的可编程控制器(PLC)的***装置、置换方法和程序的实施方式。此外,本发明并不限于以下记载,可以在不脱离本发明主旨的范围内适当进行变更。
实施方式
图1是表示本发明的实施方式所涉及的程序生成***的结构的一个例子的图,该程序生成***具备本发明所涉及的PLC***装置的功能。本实施方式所涉及的程序生成***如图1所示,构成为具有PLC***装置即程序生成装置1、输入装置3、显示装置5和外部存储装置7。
在现有的程序生成装置中,在重复利用没有使用变量的已有顺序程序资源来生成使用了变量的新的顺序程序的项目时,首先将没有使用变量的已有的顺序程序资源复制到新的项目中。然后,将所复制的顺序程序内的输入输出地址(输入输出设备)声明为全局变量,将内部存储器地址(内部设备)声明为局部变量,将顺序程序内的设备置换为变量。
现有的置换作业必须由顺序程序的生成者通过手工操作来完成,另外,必须考虑使地址不会发生重复,是复杂而费时的作业。因此,顺序程序的生成者的作业负担大、不能高效地对没有使用变量的顺序程序资源进行重复利用。
与此相对,本实施方式所涉及的程序生成装置1能够自动地进行该置换作业。由此,利用本实施方式所涉及的程序生成装置1,不需要顺序程序的生成者执行繁琐的手工操作,就能够重复利用没有使用变量的顺序程序资源而高效地生成新的顺序程序的项目。这里,本实施方式所涉及的程序生成装置1如图1所示,构成为具备程序生成部11、存储部13、通信部15和控制部17。
输入装置3是用于输入对程序生成装置发出操作指示的操作指示信息等的操作指示信息输入单元。显示装置5是用于显示顺序程序或程序生成装置1中的处理数据等各种信息的显示单元。
外部存储装置7是用于存储过去生成的沿用源项目数据71的存储单元。该外部存储装置7中作为沿用源项目数据71存储有:没有使用变量的沿用源顺序程序72;以及设备注释73,其为该沿用源顺序程序72的附属数据,是对顺序程序中使用的地址(设备)的注释。
图2是表示沿用源项目数据71的沿用源顺序程序72的一个例子的图。该沿用源顺序程序72是在按照后述方式重复利用已有的顺序程序资源而生成新的顺序程序时作为沿用源的顺序程序。如图2所示,该沿用源顺序程序72中记述有程序的步骤和与该步骤相对应的代码。例如,在图2中,“步骤0”中记述有代码“LD X0”,“步骤1”中记述有代码“SET M1”。这样,沿用源顺序程序72是直接记述地址而没有使用变量的程序。
图3是表示沿用源项目数据71的设备注释73的一个例子的图。该设备注释73是在按照后述方式重复利用已有的顺序程序资源而生成新的顺序程序时作为沿用源的设备注释。如图3所示,该设备注释73中记述有在沿用源顺序程序72中记述的地址和与该地址相关的注释。例如,在图3中,针对“地址X0”记述有该地址所表示的内容、即“启动开关”,针对“地址Y1”记述有该地址所表示的内容、即“启动灯”。
图4是表示程序生成部11的功能结构的框图。程序生成部11如图4所示,具备变量表生成部111、全局变量表生成部112、局部变量表生成部113、置换处理部114和程序生成部115。
在程序生成部11重复利用没有使用变量的已有顺序程序资源来生成使用变量的新的顺序程序的项目的情况下,首先由变量表生成部111将已有的沿用源顺序程序72和设备注释73从外部存储装置7复制到存储部13。
然后,变量表生成部111针对所复制的已有的沿用源顺序程序72的代码中的地址,通过检索预先存储在存储部13中的如图5所示的地址分类表(地址类别信息),而判别沿用源顺序程序72的代码中的地址的类别。图5是表示地址分类表的一个例子的图。地址类别被分类为全局和局部这两种。在该地址分类表中,将顺序程序中使用的地址和该地址的地址类别(全局或局部)相互对应地进行存储。
然后,变量表生成部111根据已有的沿用源顺序程序72的代码中的地址、判别出的地址类别(全局或局部)以及设备注释73,生成如图6所示的将地址和与该地址对应的变量相关联地进行保存的 变量表(变量信息),并存储到存储部13中。图6是表示变量表的一个例子的图。在图6中,直接使用设备注释73中包含的“注释”的名称作为变量名。
全局变量表生成部112从由变量表生成部111生成的如图6所示的变量表中,提取地址类别为全局类别的变量名和与该变量名相对应的地址,生成如图7所示的将提取出的变量和地址相关联的全局类变量信息、即全局变量表,并进行全局变量声明。图7是表示全局变量表的一个例子的图。在全局变量表中如图7所示,保存有地址类别为全局类别的地址(设备)以及与其相对应的变量名。在对下述顺序程序进行编译时使用该全局变量表,即,将没有使用变量的已有的顺序程序的地址(设备)置换为变量而生成的新的顺序程序、或者使用该新的顺序程序而生成的新的顺序程序。
局部变量表生成部113从由变量表生成部111生成的如图6所示的变量表中提取地址类别为局部类别的变量名,生成如图8所示的局部变量表(地址类别为局部类别的变量的信息、即局部类变量信息),并进行局部变量声明。图8是表示局部变量表的一个例子的图。在局部变量表中如图8所示,保存有地址类别为局部类别的变量名。在对下述顺序程序进行编译时使用该局部变量表,即,将没有使用变量的已有的顺序程序的地址(设备)置换为变量而生成的新的顺序程序、或者使用该新的顺序程序而生成的新的顺序程序。
置换处理部114根据由变量表生成部111生成的如图6所示的变量表,将已有的沿用源顺序程序72的代码中的地址,针对各地址分别置换为固有的变量,由此将已有的沿用源顺序程序72置换(变换)为使用变量的顺序程序。图9是表示将图2所示的沿用源顺序程序72变换为使用变量的顺序程序而获得的顺序程序的一个例子的图。
这里,在以变量置换已有的沿用源顺序程序72的代码中的地址时,置换处理部114将记述在如图3所示的设备注释73中的针对各地址的说明记述即“注释”的名称作为“变量”的名称(变量名)使用。另外,在设备注释73中并未记述针对地址的“注释”的情况下,将预先指定的固定文字或当时指定的固定文字作为用于置换该地址的“变量”的名称(变量名)使用。
程序生成部115是通过沿用使用变量的顺序程序、或重新生成顺序程序的程序生成单元。
存储部13是存储由程序生成装置1进行处理所需的各种程序或处理时生成的顺序程序、数据等的存储单元。图10是表示存储部13的结构的框图。存储部13如图10所示,具备:程序存储器131,其存储由程序生成装置1进行处理所需的各种程序;数据存储器132,其存储程序生成装置1进行处理时所生成的数据;以及沿用后项目存储器133,其存储由程序生成装置1对已有的沿用源顺序程序72进行沿用而重新生成或进行编辑后的顺序程序的项目。
另外,沿用后项目存储器133存储有沿用后项目数据139,该沿用后项目数据139中存储有例如全局变量表134、将已有的沿用源顺序程序72沿用而重新生成或编辑而成的顺序程序A 135A、与顺序程序A 135A相对应的局部变量表A 136A、将已有的沿用源顺序程序72沿用而重新生成或编辑而成的顺序程序B 135B、与顺序程序B135B相对应的局部变量表B 136B、地址分类表137以及变量表138。另外,在从外部存储装置7复制已有的沿用源顺序程序72和设备注释73时,存储部13将它们存储到数据存储器132中。
通信部15是与外部存储装置7之间进行信息输入输出的信息输入输出单元,该外部存储装置7连接在程序生成装置1的外部。控制部17对程序生成装置1整体进行控制。
下面,说明使用按照这种方式构成的本实施方式所涉及的程序生成***,对过去生成的已有的顺序程序资源进行重复利用而生成新的顺序程序时的处理。首先,参照图11说明变量表的生成处理。图11是用于说明本实施方式所涉及的程序生成装置1中的变量表生成处理的流程图。
本实施方式所涉及的程序生成装置1在生成变量表时,首先,由程序生成部11的变量表生成部111将已有的沿用源顺序程序72和设备注释73从外部存储装置7复制到存储部13的数据存储器132 中(步骤S101)。接着,变量表生成部111从复制到存储部13的数据存储器132中的沿用源顺序程序72的起始行开始检索,对沿用源顺序程序72的代码中包含的地址(设备)进行提取(步骤S102)。
随后,变量表生成部111参照变量表而判断提取出的地址(设备)是否尚未登录到变量表中(步骤S103)。在提取出的地址(设备)尚未登录到变量表中的情况下(步骤S103:肯定),将该地址(设备)登录到变量表中(步骤S104)。然后,变量表生成部111从预先存储在存储部13中的地址分类表137中检索该地址(设备),并对地址类别(全局或局部)进行判别,将地址类别(全局或局部)登录到变量表中(步骤S105)。
接着,变量表生成部111对复制到存储部13的数据存储器132中的设备注释73进行检索,判断有无针对该地址的注释(步骤S106)。在存在针对地址的注释的情况下(步骤S106:肯定),将该注释的名称作为与该地址相对应的变量(名)登录到变量表中(步骤S107)。另一方面,在不存在针对地址的注释的情况下(步骤S106:否定),将预先指定的固定文字或当时指定的固定文字作为与该地址相对应的变量(名)登录到变量表中(步骤S108)。
然后,在变量(名)登录后,变量表生成部111判断沿用源顺序程序72的代码中包含的所有地址(设备)是否已全部提取并登录到变量表中(步骤S109)。在沿用源顺序程序72的代码中包含的地址(设备)没有全部登录到变量表中的情况下(步骤S109:否定),返回步骤S102,反复进行沿用源顺序程序72的代码中包含的地址(设备)的提取。另外,在沿用源顺序程序72的代码中包含的所有地址(设备)已经全部登录到变量表中的情况下(步骤S109:肯定),一系列的变量表生成处理结束。
另外,返回来看步骤S103,如果提取出的地址(设备)已经登录到变量表中(步骤S103:否定),则直接进入步骤S109。变量表生成部111判断沿用源顺序程序72的代码中包含的所有地址(设备)是否已全部提取并登录到变量表中(步骤S109)。
然后,在沿用源顺序程序72的代码中包含的地址(设备)没有 全部登录到变量表中的情况下(步骤S109:否定),返回步骤S102,反复进行沿用源顺序程序72的代码中包含的地址(设备)的提取。另外,在沿用源顺序程序72的代码中包含的所有地址(设备)已经全部登录到变量表中的情况下(步骤S109:肯定),一系列的变量表生成处理结束。
通过进行上述处理,本实施方式所涉及的程序生成装置1,如图12所示,能够根据沿用源项目数据71的沿用源顺序程序72和地址分类表137生成变量表138。图12是用于说明本实施方式所涉及的程序生成装置1中的变量表的生成方法的图。
下面,参照图13说明基于按照上述方式生成的变量表138将已有的沿用源顺序程序72的代码中的地址置换为与该地址相对应的变量时的处理。图13是用于说明本实施方式所涉及的程序生成装置1中的程序置换处理的流程图。
本实施方式所涉及的程序生成装置1在进行程序置换处理时,首先,由程序生成部11的置换处理部114从复制到存储部13中的沿用源顺序程序72的起始行开始检索,对沿用源顺序程序72的代码中包含的地址(设备)进行提取(步骤S201)。接着,置换处理部114在变量表中检索提取出的地址(设备),从变量表中提取与该地址(设备)相对应的变量(名)(步骤S202)。
然后,置换处理部114进行置换处理,将提取出的沿用源顺序程序72的地址(设备)置换为该变量,将进行置换处理后的顺序程序作为例如顺序程序A 135A存储到沿用后项目存储器133中(步骤S203)。置换处理后,置换处理部114判断是否已经将沿用源顺序程序72的全部地址(设备)都置换为相应的变量(步骤S204)。
这里,在判断为沿用源顺序程序72内的地址(设备)尚未全部置换为变量的情况下(步骤S204:否定),返回步骤S201。另一方面,在判断为沿用源顺序程序72内的所有地址(设备)已经全部置换为变量的情况下(步骤S204:肯定),一系列的变量表生成处理结束。
通过进行上述处理,本实施方式所涉及的程序生成装置1,如图 14所示,能够根据沿用源项目数据71的沿用源顺序程序72和变量表138,将沿用源项目数据71的沿用源顺序程序72中的地址(设备)自动地置换为变量。这样,能够将沿用源项目数据71置换为使用变量的顺序程序。即,根据本实施方式所涉及的程序生成装置1,能够将没有使用变量的已有的顺序程序自动地置换(变换)为使用变量的顺序程序。图14是用于说明本实施方式所涉及的程序生成装置1中的顺序程序的置换(变换)的图。
下面,参照图15说明基于按照上述方式生成的变量表138生成全局变量表并进行全局变量声明的处理。图15是用于说明本实施方式所涉及的程序生成装置1中的全局变量声明处理的流程图。
本实施方式所涉及的程序生成装置1在进行全局变量声明处理时,首先,由程序生成部11的全局变量表生成部112从变量表138中提取地址类别为全局类别的变量(名)和与该变量相对应的地址(设备)(步骤S301)。接着,全局变量表生成部112将提取出的变量(名)以及与该变量相对应的地址(设备)登录到全局变量表134中(步骤S302)。
登录后,全局变量表生成部112判断变量表138中包含的所有全局类别的变量(名)和与该变量相对应的地址(设备)是否已经全部登录到全局变量表134中(步骤S303)。
在这里,在判断为变量表138中包含的全局类别的变量(名)和与该变量相对应的地址(设备)尚未全部登录到全局变量表134中的情况下(步骤S303:否定),返回步骤S301。另一方面,在判断为变量表138中包含的所有全局类别的变量(名)和与该变量相对应的地址(设备)已经全部登录到全局变量表134中的情况下(步骤S303:肯定),一系列的全局变量声明处理结束。
通过进行上述处理,本实施方式所涉及的程序生成装置1,如图16所示能够根据变量表138自动生成全局变量表134,或将新的变量(名)和与该变量(名)相对应的地址(设备)追加到全局变量表134中,并进行全局变量声明。图16是说明本实施方式所涉及的程序生成装置1中的全局变量表的生成的图。
下面,参照图17说明基于按照上述方式生成的变量表138生成局部变量表并进行局部变量声明的处理。图17是用于说明本实施方式所涉及的程序生成装置1中的局部变量声明处理的流程图。
本实施方式所涉及的程序生成装置1在进行局部变量声明处理时,首先,由程序生成部11的局部变量表生成部113从变量表138中提取地址类别为局部类别的变量(名)(步骤S401)。接着,局部变量表生成部113将提取出的变量(名)登录到例如局部变量表A136A中(步骤S402)。
登录后,局部变量表生成部113判断变量表138中包含的所有局部类别的变量(名)是否已经全部登录到局部变量表A 136A中(步骤S403)。
这里,在判断为变量表138中包含的局部类别的变量(名)尚未全部登录到局部变量表A 136A中的情况下(步骤S403:否定),返回步骤S401。另一方面,在判断为变量表138中包含的所有局部类别的变量(名)已经全部登录到局部变量表A 136A中的情况下(步骤S403:肯定),一系列的局部变量声明处理结束。
通过进行上述处理,本实施方式所涉及的程序生成装置1,如图18所示,能够根据变量表138生成与顺序程序A 135A相对应的局部变量表A 136A,并进行局部变量声明。图18是说明本实施方式所涉及的程序生成装置1中的局部变量表的生成的图。
另外,在本实施方式所涉及的程序生成装置1中,程序生成部115能够沿用以上述方式置换·变换获得的使用变量的顺序程序A135A,来生成新的顺序程序B 135B,作为例如顺序程序B 135B存储到沿用后项目存储器133中。这时,可以与上述相同地进行全局变量声明处理,在全局变量表134中追加新的地址(设备)。另外,可以与上述相同地生成与新的顺序程序B 135B相对应的局部变量表B136B,进行局部变量声明。
由此,本实施方式所涉及的程序生成装置1,如图19所示,能够沿用使用了变量的顺序程序A 135A,来生成使用了变量的新的顺序程序B 135B。图19是说明本实施方式所涉及的程序生成装置1的 功能的图。
即,根据本实施方式所涉及的程序生成装置1,如图20所示,能够基于沿用源项目数据71的沿用源顺序程序72、设备注释73以及变量表138,自动地生成并更新沿用后项目数据139的顺序程序A135A、局部变量表A 136A和全局变量表134。
然后,能够基于沿用后项目数据139的顺序程序A 135A、局部变量表A 136A和全局变量表134,生成并更新沿用后项目数据139的顺序程序B 135B、局部变量表B 136B和全局变量表134。图20是说明程序生成装置1的功能的图。
如上所述,本实施方式所涉及的程序生成装置1是生成、编辑PLC顺序程序的PLC***装置。根据该程序生成装置1,可以在顺序程序内取代输入输出地址(输入输出设备)或PLC的内部存储器地址(内部设备)等地址(设备),而使用变量来生成顺序程序。即,可以不直接在顺序程序中记述地址,而是将该地址置换为变量进行记述并生成顺序程序。
另外,利用该程序生成装置1,能够重复利用过去生成的已有的顺序程序资源,生成新的顺序程序。这里,根据该程序生成装置1,在重复利用过去生成的顺序程序资源来生成新的顺序程序的项目时,能够重复利用使用了变量的已有的顺序程序资源,而生成使用变量的新的顺序程序。另外,利用该程序生成装置1,能够重复利用没有使用变量的已有的顺序程序资源,生成使用变量的新的顺序程序。
此外,利用本实施方式所涉及的程序生成装置1,能够将没有使用变量的已有的顺序程序资源中记述的地址(设备)自动地置换为变量,从而变换为使用变量的顺序程序。
此外,在上述说明中采用了将输入装置和显示装置配置在程序生成装置外部的结构,但也可以采用程序生成装置具有输入装置和显示装置的结构。另外,在上述说明中采用了程序生成装置和外部存储装置直接连接的结构,但也可以采用经由网络将程序生成装置和外部存储装置连接的结构。另外,在上述说明中,针对将已有的沿用源项目数据71存储在外部存储装置7中的方式进行了说明,但也可以采 用将沿用源项目数据71存储到程序生成装置1内的存储部13中的结构。
另外,可以通过将上述程序置换方法和程序生成方法构成为存储有上述方法的处理步骤的程序,并由如图21所示具有CPU、存储装置等的计算机(可编程控制器的***装置)执行该程序,由此实现上述方法。
图21是表示可以执行上述程序置换方法和程序生成方法的程序的计算机装置的概略结构的一个例子的框图。该计算机装置构成为具备输入装置201、显示装置202、CPU(Central Processing Unit:中央处理单元)203、存储器204、存储装置205、介质驱动装置206、网络接口207和总线208。
这里,输入装置201由键盘、鼠标、触摸板、扫描仪等构成,用于输入信息。显示装置202用于显示输出各种输出信息和从输入装置201输入的信息等。CPU 203用于执行各种程序。存储器204中存储在展开由CPU 203执行的程序、或由CPU 203执行该程序时临时生成的信息等。存储装置205保存程序或程序执行时的临时信息等。介质驱动装置206用于安装存储有程序或数据等的记录介质,读取程序或数据等并保存到存储器204或存储装置205中。网络接口207用于连接计算机装置和网络。总线208对上述各部分进行连接。
另外,上述说明是以生成PLC顺序程序的情况为例进行说明的,但本发明并不限于PLC顺序程序的生成,而是适用于所有顺序程序的生成。
工业实用性
如上所述,本发明所涉及的可编程控制器的***装置在重复利用没有使用变量的已有的顺序程序资源来生成新的顺序程序时有效。
Claims (2)
1.一种可编程控制器的***装置,其用于将已有的顺序程序置换为使用变量的顺序程序,
其特征在于,具备:
第1存储单元,其将上述已有的顺序程序、上述已有的顺序程序中记述的设备即地址、针对该地址关联有固有的变量的变量信息,作为沿用源项目数据进行存储;
第2存储单元,其用于对地址类别信息进行存储,此外,对包含使用变量的顺序程序的沿用后项目数据进行存储,其中,上述地址类别信息是将上述地址,和该地址的类别即表示可编程控制器的输入输出设备的全局类别以及表示可编程控制器的内部设备的局部类别中的某一种进行关联而成的信息;以及
程序生成单元,其使用上述已有的顺序程序,生成上述沿用后项目数据,
上述程序生成单元具有:
变量表生成单元,其从上述第1存储单元复制上述已有的顺序程序和上述变量信息,对存储在上述第2存储单元中的上述地址类别信息进行检索,从而判断该已有程序的代码中的地址的类别,并生成将该已有程序的代码中的地址、判断出的地址类别、与该地址对应的变量相关联地进行保存的变量对应信息;
全局类别变量信息生成单元,其从由上述变量表生成单元生成的变量对应信息中,提取地址类别为全局类别的变量以及与该变量对应的地址,将提取出的变量以及地址相关联地登录在全局类别变量信息内,并进行全局变量声明;
局部类别变量信息生成单元,其从由上述变量表生成单元生成的变量对应信息中,提取地址类别为局部类别的变量,将提取出的变量登录在局部类别变量信息内,并进行局部变量声明;以及
置换处理单元,其通过基于由上述变量表生成单元生成的变量对应信息,将上述已有的顺序程序的代码中的地址置换为与各地址对应的固有的变量,从而将上述已有的顺序程序置换为使用变量的程序,将该使用变量的顺序程序存储在第2存储单元中,
上述全局类别变量信息、上述局部类别变量信息、上述使用变量的顺序程序,作为沿用后项目数据而保存在上述第2存储单元内。
2.一种可编程控制器的***装置中的置换方法,其用于将已有的顺序程序置换为使用变量的顺序程序,
其特征在于,
上述***装置具备:
第1存储单元,其将上述已有的顺序程序、上述已有的顺序程序中记述的设备即地址、针对该地址关联有固有的变量的变量信息,作为沿用源项目数据进行存储;
第2存储单元,其用于对地址类别信息进行存储,此外,对包含使用变量的顺序程序的沿用后项目数据进行存储,其中,上述地址类别信息是将上述地址,和该地址的类别即表示可编程控制器的输入输出设备的全局类别以及表示可编程控制器的内部设备的局部类别中的某一种进行关联而成的信息;以及
程序生成单元,其使用上述已有的顺序程序,生成上述沿用后项目数据,
上述置换方法具有:
变量表生成步骤,在该步骤中,上述程序生成单元的变量表生成单元从上述第1存储单元复制上述已有的顺序程序和上述变量信息,对存储在上述第2存储单元中的上述地址类别信息进行检索,从而判断该已有程序的代码中的地址的类别,并生成将该已有程序的代码中的地址、判断出的地址类别、与该地址对应的变量相关联地进行保存的变量对应信息;
全局类别变量信息生成步骤,在该步骤中,上述程序生成单元的全局类别变量信息生成单元从由上述变量表生成单元生成的变量对应信息中,提取地址类别为全局类别的变量以及与该变量对应的地址,将提取出的变量以及地址相关联地登录在全局类别变量信息内,并进行全局变量声明;
局部类别变量信息生成步骤,在该步骤中,上述程序生成单元的局部类别变量信息生成单元从由上述变量表生成单元生成的变量对应信息中,提取地址类别为局部类别的变量,将提取出的变量登录在局部类别变量信息内,并进行局部变量声明;
置换处理步骤,在该步骤中,上述程序生成单元内的置换处理单元通过基于由上述变量表生成单元生成的变量对应信息,将上述已有的顺序程序的代码中的地址置换为与各地址对应的固有的变量,从而将上述已有的顺序程序置换为使用变量的程序,将该使用变量的顺序程序存储在第2存储单元中;以及
保存步骤,在该步骤中,将通过上述全局类别变量信息生成步骤而登录的上述全局类别变量信息、通过上述局部类别变量信息生成步骤而登录的上述局部类别变量信息、通过上述置换处理步骤而生成的上述使用变量的顺序程序,作为沿用后项目数据而由上述第2存储单元进行保存。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/052982 WO2008102426A1 (ja) | 2007-02-19 | 2007-02-19 | プログラマブルコントローラの周辺装置、置換方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101365994A CN101365994A (zh) | 2009-02-11 |
CN101365994B true CN101365994B (zh) | 2013-08-21 |
Family
ID=39709711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800016436A Expired - Fee Related CN101365994B (zh) | 2007-02-19 | 2007-02-19 | 可编程控制器的***装置、置换方法和程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100161085A1 (zh) |
JP (1) | JP4541418B2 (zh) |
KR (1) | KR100967761B1 (zh) |
CN (1) | CN101365994B (zh) |
DE (1) | DE112007003298T5 (zh) |
WO (1) | WO2008102426A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5262765B2 (ja) * | 2009-01-29 | 2013-08-14 | 株式会社明電舎 | Plcのプログラム変換ツール |
KR101592974B1 (ko) * | 2009-03-27 | 2016-02-12 | 삼성전자주식회사 | 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법 |
CN103180789B (zh) * | 2010-10-27 | 2016-03-02 | 三菱电机株式会社 | 日志设定装置、日志设定方法 |
JP2012141853A (ja) * | 2011-01-04 | 2012-07-26 | Mitsubishi Electric Corp | プログラマブルコントローラ及びプログラマブルコントローラシステム |
US9772617B2 (en) * | 2011-06-30 | 2017-09-26 | General Electric Company | Systems and methods for function block instantiation |
JP5068395B1 (ja) * | 2011-12-28 | 2012-11-07 | 三菱電機株式会社 | 表示器用画面データ編集装置 |
JP5968186B2 (ja) * | 2012-10-15 | 2016-08-10 | 三菱電機株式会社 | プログラム作成支援装置及びプログラム |
TWI489232B (zh) * | 2012-11-14 | 2015-06-21 | Inst Information Industry | 遠端監控系統及方法及其記錄媒體 |
JP5777837B2 (ja) * | 2013-03-04 | 2015-09-09 | 三菱電機株式会社 | プログラム開発支援装置およびその方法 |
KR20150134419A (ko) * | 2013-03-29 | 2015-12-01 | 미쓰비시덴키 가부시키가이샤 | 시퀀스 프로그램 부품 작성 프로그램 및 시퀀스 프로그램 부품 작성 장치 |
JP6375666B2 (ja) * | 2014-03-31 | 2018-08-22 | 株式会社ジェイテクト | Plcおよびplc用のプログラミングツール |
JP5937637B2 (ja) * | 2014-04-30 | 2016-06-22 | ファナック株式会社 | シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置 |
CN107077114B (zh) * | 2014-10-30 | 2020-09-29 | 西门子公司 | 在可编程逻辑控制器中使用软传感器 |
JP6483507B2 (ja) * | 2015-04-07 | 2019-03-13 | 株式会社東芝 | 制御プログラム作成装置、及び制御プログラムのデバッグ方法 |
CN110720081B (zh) * | 2018-05-11 | 2022-05-03 | 三菱电机株式会社 | 编译器及编程辅助装置 |
CN112084013B (zh) * | 2019-06-13 | 2024-04-05 | 武汉杰开科技有限公司 | 一种程序调用方法、芯片及计算机存储介质 |
CN113268042B (zh) * | 2021-05-13 | 2022-06-24 | 矿冶科技集团有限公司 | 一种上位机程序处理方法、装置以及电子设备 |
CN113848815A (zh) * | 2021-08-27 | 2021-12-28 | 苏州谷夫道自动化科技有限公司 | 多通道数控***plc程序共用的方法及*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2593007B2 (ja) * | 1991-03-25 | 1997-03-19 | 東北リコー株式会社 | プログラム組込型機器 |
JPH11338732A (ja) * | 1998-05-27 | 1999-12-10 | Fuji Electric Co Ltd | プログラマブルコントローラ支援装置および記録媒体 |
JP2000242313A (ja) | 1999-02-18 | 2000-09-08 | Omron Corp | アドレス自動割付方法および装置 |
US7024463B1 (en) * | 1999-10-15 | 2006-04-04 | Omron Corporation | Network system, control method, control apparatus, and multiprocessor |
JP2001229015A (ja) * | 2000-02-18 | 2001-08-24 | Mitsubishi Electric Corp | 制御装置 |
FR2820222B1 (fr) * | 2001-01-26 | 2003-03-21 | Schneider Automation | Procede de programmation d'une application d'automatisme |
CN100397268C (zh) * | 2002-12-23 | 2008-06-25 | 西门子能量及自动化公司 | 利用plc的存储设备的方法和结构 |
JP2005129026A (ja) * | 2003-10-02 | 2005-05-19 | Omron Corp | プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法 |
US7757025B2 (en) * | 2004-04-15 | 2010-07-13 | Mitsubishi Denki Kabushiki Kaisha | Programmable logic controller peripheral device and program creation method thereof |
JP4485326B2 (ja) * | 2004-11-05 | 2010-06-23 | 株式会社デジタル | プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体 |
-
2007
- 2007-02-19 US US12/089,858 patent/US20100161085A1/en not_active Abandoned
- 2007-02-19 WO PCT/JP2007/052982 patent/WO2008102426A1/ja active Application Filing
- 2007-02-19 CN CN2007800016436A patent/CN101365994B/zh not_active Expired - Fee Related
- 2007-02-19 DE DE112007003298T patent/DE112007003298T5/de not_active Withdrawn
- 2007-02-19 KR KR1020087009545A patent/KR100967761B1/ko not_active IP Right Cessation
- 2007-02-19 JP JP2007552426A patent/JP4541418B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE112007003298T5 (de) | 2009-11-19 |
JP4541418B2 (ja) | 2010-09-08 |
JPWO2008102426A1 (ja) | 2010-05-27 |
CN101365994A (zh) | 2009-02-11 |
WO2008102426A1 (ja) | 2008-08-28 |
KR100967761B1 (ko) | 2010-07-05 |
US20100161085A1 (en) | 2010-06-24 |
KR20090010942A (ko) | 2009-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101365994B (zh) | 可编程控制器的***装置、置换方法和程序 | |
CN101937340B (zh) | 使用补丁对软件进行动态升级与控制的方法和装置 | |
CN1199104C (zh) | 往返式软件设计的方法与装置 | |
CN102567136B (zh) | 一种计算机***的备份、还原方法、装置及计算机*** | |
CN1313923C (zh) | 软件分发方法与*** | |
CN100533378C (zh) | 信息处理装置和方法、存储器管理装置和方法 | |
CN1500243A (zh) | 使用可移动存储器收集和恢复用户环境数据 | |
CN107003935A (zh) | 优化数据库去重 | |
CN103493028A (zh) | 虚拟盘存储技术 | |
CN101661415B (zh) | 一种保存快照数据的方法及存储快照*** | |
CN104572238A (zh) | 一种高效的生成可执行软件包的方法及*** | |
JPH0887407A (ja) | 分散開発管理装置 | |
CN108959456A (zh) | 一种自动恢复补全数据的方法 | |
JP2005190047A (ja) | データソート機能を持つストレージシステム | |
CN103106119B (zh) | 程序自动生成装置和程序自动生成方法 | |
CN100576182C (zh) | 计算机文件的实时监控***和方法 | |
JP2000284815A (ja) | プログラム作成装置 | |
CN109325221A (zh) | 表格文件的合并方法和装置 | |
CN101415029A (zh) | 文件分发方法及装置 | |
CN1575454A (zh) | 用于大容量存储器的安全设备 | |
CN107315587B (zh) | 一种基于二次链接的航天器在轨维护注入码生成方法 | |
Brodheim | Regional blood center automation | |
CN104320469A (zh) | 一种基于svn的增量变化数据分析下载方法及*** | |
Parkhomenko | Complex requirements analysis for the high-level design of Embedded Systems | |
CN110609725A (zh) | 一种前端用户行为预测方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130821 Termination date: 20180219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |