CN101833548B - 在可编程控制器编程中的变数名称的输入支援方法 - Google Patents
在可编程控制器编程中的变数名称的输入支援方法 Download PDFInfo
- Publication number
- CN101833548B CN101833548B CN2010101250241A CN201010125024A CN101833548B CN 101833548 B CN101833548 B CN 101833548B CN 2010101250241 A CN2010101250241 A CN 2010101250241A CN 201010125024 A CN201010125024 A CN 201010125024A CN 101833548 B CN101833548 B CN 101833548B
- Authority
- CN
- China
- Prior art keywords
- parameter
- character string
- title
- parameter title
- input
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04895—Guidance during keyboard input operation, e.g. prompting
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- 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/33—Intelligent editors
Abstract
提供一种在PLC编程中的变数名称的输入支援方法和输入支援装置。即使在从虽含义相同但分配给不同的多个地址的需要出发,进行在名称的末尾分配数字那样的名称的起法时,也能够确定设为目的的变数名称而无需输入全部字符串。在存在多个被筛选的变数名称,并且在这些变数名称中、一个或者两个以上连续的下一个字符串相互一致时,这些没有选择余地的一连串的字符串被自动地选择设为目的的变数名称的字符串来确定,而不等待操作员的输入。
Description
技术领域
本发明涉及适合安装到PLC的程序开发支援装置等的变数名称的输入支援方法,特别涉及在作为命令的操作数而输入变数名称时使用的变数名称的输入支援方法。
背景技术
以往,在可编程控制器(以下,称为PLC)的梯形图程序(ladder program)中包含的命令(例如,LD命令、AND命令、MOV命令等)的操作数(operand),一般由地址(是表示在程序中处理的数据在所存储的存储器上的位置,由多个行的数字串或者在数字串的开头附加表示数据的种类的字符而表现)描述。在由地址描述操作数的情况下,进行如下操作,即通过对各个地址赋予注释(comment),从而容易理解各个操作数的含义内容。
近年来,能够由任意的字符串构成的变数名称描述命令的操作数,也普遍地进行如个人计算机的高级语言那样基于变数的编程。在基于变数的编程中,通过由变数名称描述操作数,能够直观地理解对应于操作数的地址的含义,能够提供在维护上优越的程序。
此外,若由变数名称描述操作数,则即使在对应于操作数的地址的用途上发生了变更的情况下,也无需变更程序侧,而仅变更分配给变数名称的地址(例如,编辑表示变数名称和地址的对应的表),能够容易再利用程序。
在PLC的梯形图程序中的操作数的大多数为比特类型(BOOL类型)的情况较多,并且在比特类型操作数的情况下,需要在一个程序中描述数千个,根据情况描述数万个操作数。
这样的情况下,若在操作数中使用变数名称,则为了不发生变数名称的重复,且能够通过变数名称理解含义,需要由长的字符串定义变数。即,若在操作数中使用地址,则即使是同样的情况也需要几个字符左右的数字串,相对于此,若在操作数中使用变数名称,则需要数十字符的字符串(例如,字母串),在字符串的输入上花费时间,编程的效率差。
还已知如下功能,即为了提高编程效率,在每输入一个字符时,检索注册有变数名称的变数表内,筛选成为对象的变数名称的字符串,并提取从被筛选的变数名称中确定的字符的下一个字符按字母顺序最小的变数名称,作为变数名称的候选而显示的功能。这样的功能一般称为自动完成(autocomplete)功能(例如,参照专利文献1)。
【专利文献1】(日本)特开2006-172445号公报
自动完成功能筛选成为下一个输入候选的变数名称,并从其中提取一个,指引显示给用户,但在指引显示的变数名称与想要输入的名称不同的情况下,需要继续输入接下来的字符。
尤其是,作为变数名称的起法,在需要对多个不同的地址分别分配相同含义的变数名称的情况下,大多进行如在名称的末尾分配数字那样的名称的起法。此时,若最终不输入全部字符串,就不能确定变数名称。
发明内容
本发明涉及上述的问题点而完成,其目的在于,提供一种在PLC编程中的变数名称的输入支援方法、装置、以及计算机程序,其即使在从虽含义相同但分配给不同的多个地址的需要出发,进行在名称的末尾分配数字那样的名称的起法时,也能够确定设为目的的变数名称而无需输入全部字符串。
通过参照说明书的以下记载,本领域的技术人员应该容易理解本发明的其他目的和作用效果。
上述技术课题可通过如下构成的在PLC编程中的变数名称的输入支援方法来解决。
在该方法中,为了指定成为在构成PLC的用户程序的一个命令的操作数的变数名称,计算机支援从变数表中选择变数名称并输入,预定在所述用户程序中使用的变数名称与其属性一同预先注册在所述变数表中。
该方法包括:第1步骤、第2步骤、第3步骤、第4步骤。
在第1步骤,设为可输入构成应成为所述一个命令的操作数的变数名称的字符串的一个字符。
在第2步骤,若输入所述一个字符,则从变数表中提取前面与由目前为止确定的字符串和该一个字符构成的字符串一致的全部变数名称。
在第3步骤,在所述提取的变数名称为单一的情况下,通过将该变数名称确定作为操作数,从而完成所述一个命令的操作数的指定。
在第4步骤,在所述提取的变数名称为多个的情况下,对所述提取的变数名称的全部,将前面相互一致的部分的字符串作为确定字符串之后返回到第1步骤。
根据这样的方法,在第2步骤中提取的变数名称存在多个,并且在这些变数名称中、一个或者两个以上连续的字符串相互一致时,这些没有选择余地的一连串的字符串被自动地选择设为目的的变数名称的字符串来确定,所以用户从手动输入这些字符串的麻烦中解放,能够仅仅专注于需要本来的选择的字符串的输入,将在这种变数名称的输入操作中的字符输入次数限制为必要最小限度,能够使操作性显著变好。其结果,即使在从虽含义相同但分配给不同的多个地址的需要出发,进行在名称的末尾分配数字那样的名称的起法时,也能够确定设为目的的变数名称而无需输入全部字符串。
作为上述方法的优选的实施方式,也可以在所述第1步骤之前还包括预备筛选步骤,该预备筛选步骤用于将可成为所述提取对象的变数名称筛选为具有可成为所述一个命令的操作数的数据类型(例如,BOOL类型、CHANNEL类型等)的变数名称。
根据这样的实施方式,由于在第2步骤中提取的变数名称自动地成为具有可成为该命令的操作数的数据类型的变数名称,这样最终确定的变数名称可直接用作命令的操作数,能够将命令和操作数的数据类型不一致而在梯形图程序中发生错误防范于未然。
作为上述方法的优选的实施方式,也可以还包括:显示步骤,用于将在所述第4步骤中设为确定字符串的字符串显示在规定的显示器中。
根据这样的实施方式,能够通过视觉来确认到目前为止确定的字符串的同时进行变数名称的输入操作,所以能够将重复输入字符,或者忘记输入字符等错误操作防范于未然。
作为上述方法的更优选的实施方式,所述显示步骤也可以还包括以下步骤:将在所述第2步骤中提取的变数名称作为最终的变数名称候选而附加地显示在所述显示器中。
根据这样的实施方式,能够在从显示的变数名称候选中视觉确认设为目的的变数的基础上,进行变数名称的输入操作,所以即使设为目的的变数名称是朦胧记忆,也能够通过视觉可靠地输入正确的变数名称。
作为上述方法的优选的实施方式,所述显示步骤也可以还包括以下步骤:一连串地显示在所述第4步骤中设为确定字符串的字符串和在所述第2步骤中提取的变数名称中一个所述确定字符串之后的未确定的字符串,并且以第1显示方式显示所述确定字符串,以第2显示方式显示所述未确定字符串。
根据这样的结构,可根据第1显示方式和第2显示方式之间的差异,确认将构成设为目的的变数名称的字符串确定到什么程度,并且参考未确定字符串的一个候选,能够更加简单地进行字符串输入操作。
从另一方面来看,上述的技术课题也可以通过如下构成的在PLC编程中的变数名称的输入支援装置来解决。
在该装置中,为了指定成为在构成PLC的用户程序的一个命令的操作数的变数名称,支援从变数表中选择变数名称并输入,预定在所述用户程序中使用的变数名称与其属性一同预先注册在所述变数表中。
该装置包括:第1部件、第2部件、第3部件、第4部件。
第1部件,设为可输入构成应成为所述一个命令的操作数的变数名称的字符串的一个字符。
第2部件,若输入所述一个字符,则从变数表中提取前面与由目前为止确定的字符串和该一个字符构成的字符串一致的全部变数名称。
第3部件,在所述提取的变数名称为单一的情况下,通过将该变数名称确定作为操作数,从而完成所述一个命令的操作数的指定。
第4部件,在所述提取的变数名称为多个的情况下,对所述提取的变数名称的全部,将前面相互一致的部分的字符串作为确定字符串之后返回到执行第1部件。
作为上述装置的优选的实施方式,在所述第1部件的前级也可以还包括预备筛选部件,该预备筛选部件用于将可成为所述提取对象的变数名称筛选为具有可成为所述一个命令的操作数的数据类型的变数名称。
作为上述装置的优选的实施方式,也可以还包括:显示部件,用于将在所述第4部件中设为确定字符串的字符串显示在规定的显示器中。
作为上述装置的优选的实施方式,所述显示部件也可以还包括以下部件:将在所述第2部件中提取的变数名称作为最终的变数名称候选而附加地显示在所述显示器中。
作为上述装置的优选的实施方式,所述显示部件也可以还包括以下部件:一连串地显示在所述第4部件中设为确定字符串的字符串和在所述第2部件中提取的变数名称中一个所述确定字符串之后的未确定的字符串,并且以第1显示方式显示所述确定字符串,以第2显示方式显示所述未确定字符串。
另外,这些装置和其实施方式的作用效果与上述的方法和其实施方式中的作用效果大致相同,所以省略重复说明。
从另一方面来看,上述的技术课题也可以通过如以下的结构构成的用于实现在PLC编程中的变数名称的输入支援装置的计算机程序来解决。
该程序用于使计算机作为在PLC编程中的变数名称的输入支援装置起作用,该计算机至少包括:字符输入部件,能够以一个字符单位输入字符;显示器,可显示字符和图像;存储单元,定义了在运算时使用的工作区域和存储有变数表的变数表存储区域;以及运算单元,用于执行各种程序。预定在所述用户程序中使用的变数名称与其属性一同预先注册在所述变数表中。
该计算机程序包括:第1步骤、第2步骤、第3步骤、第4步骤。
在第1步骤,设为可输入构成应成为所述一个命令的操作数的变数名称的字符串的一个字符。
在第2步骤,若输入所述一个字符,则从变数表中提取前面与由目前为止确定的字符串和该一个字符构成的字符串一致的全部变数名称。
在第3步骤,在所述提取的变数名称为单一的情况下,通过将该变数名称确定作为操作数,从而完成所述一个命令的操作数的指定。
在第4步骤,在所述提取的变数名称为多个的情况下,对所述提取的变数名称的全部,将前面相互一致的部分的字符串作为确定字符串之后返回到第1步骤。
作为上述程序的优选的实施方式,在所述第1步骤之前也可以还包括预备筛选步骤,该预备筛选步骤用于将可成为所述提取对象的变数名称筛选为具有可成为所述一个命令的操作数的数据类型的变数名称。
作为上述程序的优选的实施方式,也可以还包括:显示步骤,用于将在所述第4步骤中设为确定字符串的字符串显示在所述显示器中。
作为上述程序的优选的实施方式,所述显示步骤也可以还包括以下步骤:将在所述第2步骤中提取的变数名称作为最终的变数名称候选而附加地显示在所述显示器中。
作为上述程序的优选的实施方式,所述显示步骤也可以还包括以下步骤:一连串地显示在所述第4步骤中设为确定字符串的字符串和在所述第2步骤中提取的变数名称中一个所述确定字符串之后的未确定的字符串,并且以第1显示方式显示所述确定字符串,以第2显示方式显示所述未确定字符串。
另外,这些程序和其实施方式的作用效果与上述的方法和其实施方式中的作用效果大致相同,所以省略重复说明。
根据本发明,在第2步骤中提取的变数名称存在多个,并且在这些变数名称中、一个或者两个以上连续的字符串相互一致时,这些没有选择余地的一连串的字符串被自动地选择设为目的的变数名称的字符串来确定,所以用户从手动输入这些字符串的麻烦中解放,能够仅仅专注于需要本来的选择的字符串的输入,将在这种变数名称的输入操作中的字符输入次数抑制为必要最小限度,能够使操作性显著变好。
附图说明
图1是本发明的装置的硬件结构图。
图2是本发明的装置的软件结构图。
图3是表示变数表的一例的说明图。
图4是在预备筛选步骤中的显示器显示状态的说明图。
图5是在输入字符“S”时的显示器显示状态的说明图。
图6是在输入字符“s”时的显示器显示状态的说明图。
图7是在输入字符“2”时的显示器显示状态的说明图。
标号说明
1个人计算机(PC)
2变数表
3命令
4操作数
11键盘
12指示设备
13显示器
14存储单元
14a工作区域
14b变数表存储区域
15CPU
16通信接口
131输入数据显示区域
131a输入位置显示标记
132拟决定变数名称说明栏
133变数名称候选列表
134接替(relay)号显示区域
具体实施方式
以下,参照附图详细说明在本发明的PLC编程中的变数名称的输入支援方法、装置、以及计算机程序的一个优选的实施方式。
本发明的方法、装置、以及程序,能够安装到例如在个人计算机(PC)中加载专用软件而成的程序开发支援装置中。图1示出作为这样的程序开发支援装置起作用的个人计算机(PC)的一般的硬件结构图。
如同图所示那样,该个人计算机(PC)1包括:作为能够以1个字符为单位输入字符的字符输入部件的键盘11;鼠标等的指示设备12;可显示字符和图像的显示器13;定义了在运算时使用的工作区域14a和存储有变数表(细节参照图3)的变数表存储区域14b的存储单元14;作为用于执行各种程序的运算单元起作用的CPU15;以及未图示的、硬盘驱动器或CD驱动器等的外部存储装置和用于展开从外部存储装置读取的各种专用软件的存储器(RAM等)。
此外,包括用于与未图示的PLC等进行通信(梯形图程序的下载、上载、监视等)的通信接口16。
在变数表存储区域14b中,存储有变数表,将在PLC的梯形图程序中用作命令的操作数的变数名称与其属性(数据类型、地址等等)对应地注册而形成该变数表。在图3中示出变数表的一例。
如同图所示那样,在该例子中,变数表2中设置有名称栏、数据类型栏、地址栏、注释栏。并且,在名称栏中存储有相当于变数名称的字符串(包括字母、数字、符号),在数据类型栏中存储有数据类型(包括CHANNEL、BOOL),在地址栏中存储有地址(0.00、0.01、......0.05、D0、D1、D2),在注释栏中存储有注释(写入数据、系统数据1~4、系统1、2、文本数据1、2)。
另外,这里,CHANNEL表示以16比特为单位处理数据的数据类型,BOOL表示以1比特为单位处理数据的数据类型。此外,D0、D1、D2分别表示存储有16比特数据的地址即第0通道、第1通道、第2通道,0.00、0.01、......0.05分别表示存储有比特数据的0通道的第00比特、第01比特、......第5比特。
通过在具有图1所示的硬件结构的个人计算机1中安装已加载了本发明的操作数输入支援程序的程序开发支援软件来动作,从而实现本发明的方法和装置。
以下,参照图2的流程图,详细说明本发明的操作数输入支援程序部分的动作。另外,这种程序开发支援软件其本身的结构是用于实现梯形图程序的制作、编辑、监视等的结构,由于已由处理PLC产品的各个公司提供各种结构而已知,因此,省略关于程序开发支援软件其本身的结构的详细的说明。
假设在该流程图中示出的程序的动作在1个梯形图命令的命令语(例如,LD、AND、OR、MOV等)的输入完成之后接着开始。
首先,在步骤101中,执行变数名称的预备筛选处理。在该预备筛选处理中,通过可指定作为在该时刻想要输入的命令的操作数的数据类型,对注册在变数表(参照图3)的全部变数名称进行检索,从而仅筛选符合该数据类型的变数名称。现假设成为对象的命令为取比特类型的操作数的命令即LD,则成为输入候选的变数名称仅筛选为数据类型为BOOL(比特类型)的变数名称。重新制作仅由在该预备筛选处理中筛选的变数构成的变数表,在后述的步骤105中使用。
在执行后述的显示处理(步骤109、110)的结果,此时,显示器的画面上的显示状态成为图4所示。如同图所示那样,在画面上,设置有输入数据显示区域131、下一个候选变数名称说明栏132、变数名称候选列表133、接替(relay)号显示区域134。
在输入数据显示区域131中,接着已经输入完的命令语“LD”,以表示未确定的显示方式(在该例子中反转显示)显示成为下一个候选的变数名称“Symbol_Data1”。另外,对已经输入完的命令语“LD”,以表示已经确定完的显示方式(在该例子中非反转显示)显示。
下一个候选变数名称说明栏132配置在输入数据显示栏131的紧接的下方,在下一个候选变数名称说明栏132中显示有关拟决定的变数名称“Symbol_Data1”的属性信息(地址、注释等)。
变数名称候选列表133配置在下一个候选变数名称说明栏的紧接的下方,在变数名称候选列表133中一同显示在所述预备筛选处理(步骤101)中筛选的一连串的变数名称以及其属性信息。如比较图4的变数名称候选列表和图3的变数表可知那样,可知在执行预备筛选处理(步骤101)的结果,在变数名称候选列表133中举出的变数名称中,全部排除了在变数表2中存在的CHANNEL类型的变数名称。
另外,在该例子中,此时,在被筛选的变数候选列表133中,位于最初的变数名称设为拟决定变数名称,并在输入数据显示区域131中反转显示。
接着在步骤102中,设定可经由键盘输入相当于操作数的字符(在该例子中,包括字母、数字、字符)的状态。在该状态中,若从键盘11输入1个字符(步骤103),则接着在步骤104中,执行将这样输入的1个字符(在该例子中是“S”)直接确定作为构成操作数的字符串的1个字符(此时,最初的一个字符)的处理。
接着在步骤105中,将这样确定的字符(在该例子中是“S”)作为检索字执行前方一致检索,从而执行从在预备筛选处理(步骤101)中筛选的变数名称组(参照图4的变数名称候选列表133)中筛选从字符“S”开始的变数名称的处理。重新制作仅由在该筛选处理中提取的变数构成的变数表,并在下一次的筛选处理中使用。
接着在步骤106中,进行这样筛选的变数名称的个数是否为多个(2个以上)。这里,在筛选的变数名称的个数为单个(1个)的情况下(步骤106“否”),意味着找到了设为目的的变数,能够立即由筛选为该1个的变数名称的全部字符串来确定设为目的的变数名称。
相对于此,在筛选的变数名称的个数为多个(2个以上)的情况下(步骤106“是”),在步骤105中筛选的变数名称之间,比较在步骤104中新确定的1个字符(在该例子中是“S”)的下一个字符(步骤107),并且在每判定为该下一个字符在筛选的全部变数名称之间一致时(步骤108“是”),重复将所述下一个字符前进1个字符而同样在变数名称之间进行比较的动作(步骤107),直到没有判定为下一个字符在全部变数名称之间一致的状态为止(步骤108“否”)。
在该例子中,在步骤104中确定的1个字符“S”的下一个字符对筛选的全部变数成为“y”。因此,在步骤107中的比较结果判定为一致(步骤108“是”),进而对下一个字符执行比较处理(步骤107)。此时,在该例子中,再看下一个字符,则在筛选的变数中,上面4个变数是“m”,而下面2个变数是“s”,全部的变数不一致(步骤108“否”)。
于是,转移到步骤109,执行将一致的字符串为止统一确定,且将不同的字符之后设为表示未确定状态的显示方式(在该例子中是反转显示)的处理。在图5中示出此时的显示器的显示状态。
如同图所示那样,在该例子中,在输入数据显示区域131中,只有一致的字符串“Sy”成为表示确定状态的显示方式(在该例子中是非反转显示),不一致字符串“mbol_Data1”成为表示未确定状态的显示方式(在该例子中是反转显示)。除此之外,在下一个输入字符位置上附加了输入位置显示标记131a。
接着在步骤110中,执行以列表显示变数候选的处理,这样,如图5所示那样,在显示器13的画面上显示变数名称候选列表133。因此,用户能够基于变数名称候选列表133,视觉确定目前要输入的变数名称的字符串,所以即使没有全部记住长的字符串,也能够从该变数名称候选列表中容易确认期望的变数名称的字符串。
之后,返回到步骤102,重复以上的一连串的处理(步骤102~110)。于是,在该例子中,作为下一个字符而由用户输入“s”且被确定(步骤102、103、104),并将目前确定的一连串的字符串“Sys”作为检索字而执行前方一致检索,从而执行在通过之前的处理(步骤105)筛选的变数名称组(参照图4的变数名称候选列表133)中提取以字符串“Sys”开始的变数名称的处理。其结果,如图6的变数名称候选列表133可知那样,成为操作数的候选的变数名称进一步筛选至2个。
接着在步骤106中,进行这样筛选的变数名称的个数是否为多个(2个以上)的判定处理。如之前说明那样,这里,在筛选的变数名称的个数为单个(1个)的情况下(步骤106“否”),意味着找到了设为目的的变数,能够立即由筛选为该1个的变数名称的全部字符串来确定设为目的的变数名称。
相对于此,在筛选的变数名称的个数为多个(2个以上)的情况下(步骤106“是”),在步骤105中提取的变数名称之间,比较在步骤104中新确定的1个字符(在该例子中是“s”)的下一个字符(步骤107),并且在每判定为该下一个字符在提取的全部变数名称之间一致时(步骤108“是”),重复将所述下一个字符前进1个字符而同样在变数名称之间进行比较的动作(步骤107),直到没有判定为下一个字符在全部变数名称之间一致的状态为止(步骤108“否”)。
在该例子中,由于成为操作数的候选的变数名称筛选至2个,所以判定为被筛选的变数名称的个数为多个(步骤106“是”),进行对在步骤104中确定的1个字符“s”的下一个字符的比较处理(步骤107)。这里,在该例子中,下一个字符对全部变数成为“t”。因此,在步骤107中的比较结果判定为一致(步骤108“是”),进而对下一个字符执行比较处理(步骤107)。此时,在该例子中,之后接着的2个字符“e”、“m”都对2个变数的全部变数一致。因此,进一步对下一个字符进行比较处理(步骤107),但在被筛选的2个变数中,上面的变数为“1”,而下面的变数为“2”,所以全部的变数并不一致(步骤108“否”)。
于是,转移到步骤109,执行将一致的字符串为止统一确定,且将不同的字符之后设为表示未确定状态的显示方式(在该例子中是反转显示)的处理。在图6中示出此时的显示器的显示状态。
如同图所示那样,在该例子中,在输入数据显示区域131中,只有一致的字符串“System”成为表示确定状态的显示方式(在该例子中是非反转显示),不一致字符串“1”成为表示未确定状态的显示方式(在该例子中是反转显示)。
接着在步骤110中,执行以列表显示变数候选的处理,这样,如图6所示那样,在显示器13的画面上显示变数名称候选列表133。
之后,返回到步骤102,重复以上的一连串的处理(步骤102~110)。于是,在该例子中,作为下一个字符而由用户输入“2”且被确定(步骤102、103、104),并将目前确定的一连串的字符串“System2”作为检索字而执行前方一致检索,从而执行在通过之前的处理(步骤105)筛选的变数名称组(参照图6的变数名称候选列表133)中筛选以字符串“System2”开始的变数名称的处理。其结果,如图7的变数名称候选列表133可知那样,成为操作数的候选的变数名称进一步筛选至1个。
接着,在步骤106中,进行这样筛选的变数名称的个数是否为多个(2个以上)的判定处理。如在之前说明那样,这里,在筛选的变数名称的个数为单个(1个)的情况下(步骤106“否”),意味着找到了设为目的的变数,能够立即由筛选为该1个的变数名称的全部字符串来确定设为目的的变数名称。
并且,在该例子中,由于判定被筛选的变数的个数为一个(步骤106“否”),所以进至步骤111,由构成该1个变数的全部字符串“System2”确定成为设为目的的操作数的变数名称。
由以上的实施方式可知,在该例子中,根据图3所示的变数表2,生成连着7个字符而成的字符串“System2”时用户实际从键盘输入的字符的个数为“S”、“s”、“2”的3个即可,所以能够显著高效率地进行由这种变数名称描述操作数的梯形图程序的编辑操作。
尤其是,在由这种变数名称描述操作数的梯形图程序的编程中,存在虽然含义相同但分配给不同的多个地址的需要的情况下,大多进行在名称的末尾分配数字那样的名称的起法,但此时,根据本发明,能够尽可能地减轻这样的变数名称的输入所需的劳力。
另外,在以上的实施方式中,将可用作字符串的字符设为字母、数字、符号,但除此之外,当然也可以扩展到平假名、片假名、汉字、英语以外的外语字符等任意字符。
此外,在以上的实施方式中,在步骤109中统一进行了在步骤107中依次自动输入的字符的确定,但这当然也可以在每次自动输入1个字符时确定。
此外,在以上的实施方式中,在处理的开始中设置了预备筛选处理(步骤101),但当然也可以省略预备筛选处理(步骤101)。
此外,在以上的实施方式中,将变数候选列表133仅利用于视觉确认,但当然也可以通过设置适当的GUI,从而通过鼠标操作而从变数候选列表133中选择变数名称。其中,一般变数的个数涉及数100个至数1000个的情况较多,且在这样的情况下,应该会需要为了选择操作而滚动画面等烦杂的操作。
此外,在以上的实施方式中,为了1个字符的输入操作而使用了键盘11,但当然也可以通过设置适当的GUI,从而触摸输入在画面上显示的字符,或通过鼠标点击来输入字符而不使用键盘。
此外,在以上的实施方式中,将本发明应用到用户程序中的梯形图程序语言,但本发明的应用并不限定于梯形图程序语言,除此之外,当然也可以同样应用到在由国际基准标准IEC61131-3所规定的5个程序语言中、梯形图程序以外的程序语言中。
工业可利用性:本发明能够在PLC的程序开发支援装置中制作或编辑梯形图程序时,由使用了字母的变数名称输入LD、AND、OR、MOV、CTR等梯形图命令的操作数的情况下,将输入字符数设为必要最小限度,从而简化输入操作。
Claims (10)
1.一种在PLC编程中的变数名称的输入支援方法,为了指定构成PLC的用户程序的一个命令的操作数的变数名称,计算机支援从变数表中选择变数名称并输入,在所述用户程序中预定使用的变数名称与其属性一同预先注册在所述变数表中,其特征在于,所述输入支援方法包括:
第1步骤,设为可输入构成所述一个命令的操作数的变数名称的字符串的一个字符的状态;
第2步骤,若输入所述一个字符,则从变数表中提取前面与由目前为止确定的字符串和该一个字符构成的字符串一致的全部变数名称;
第3步骤,在所述提取的变数名称为单一的情况下,通过将该变数名称确定作为操作数,从而完成所述一个命令的操作数的指定;以及
第4步骤,在所述提取的变数名称为多个的情况下,对所述提取的变数名称的全部,将前面相互一致的部分的字符串作为确定字符串之后返回到第1步骤。
2.如权利要求1所述的在PLC编程中的变数名称的输入支援方法,其特征在于,
在所述第1步骤之前还包括预备筛选步骤,该预备筛选步骤用于将可成为提取对象的变数名称筛选为具有指定所述一个命令的操作数的数据类型的变数名称。
3.如权利要求1所述的在PLC编程中的变数名称的输入支援方法,其特征在于,还包括:
显示步骤,用于将在所述第4步骤中作为确定字符串的字符串显示在规定的显示器中。
4.如权利要求3所述的在PLC编程中的变数名称的输入支援方法,其特征在于,
所述显示步骤还包括以下步骤:将在所述第2步骤中提取的变数名称作为最终的变数名称候选而附加地显示在所述显示器中。
5.如权利要求3所述的在PLC编程中的变数名称的输入支援方法,其特征在于,
所述显示步骤还包括以下步骤:一连串地显示下列字符串,即在所述第4步骤中作为确定字符串的字符串、以及在所述第2步骤中提取的变数名称中一个所述确定字符串之后的未确定的字符串,并且以第1显示方式显示所述确定字符串,以第2显示方式显示所述未确定字符串。
6.一种在PLC编程中的变数名称的输入支援装置,为了指定构成PLC的用户程序的一个命令的操作数的变数名称,支援从变数表中选择变数名称并输入,在所述用户程序中预定使用的变数名称与其属性一同预先注册在所述变数表中,其特征在于,所述输入支援装置包括:
第1部件,用于设为可输入构成所述一个命令的操作数的变数名称的字符串的一个字符的状态;
第2部件,用于若输入所述一个字符,则从变数表中提取前面与由目前为止确定的字符串和该一个字符构成的字符串一致的全部变数名称;
第3部件,用于在所述提取的变数名称为单一的情况下,通过将该变数名称确定作为操作数,从而完成所述一个命令的操作数的指定;以及
第4部件,用于在所述提取的变数名称为多个的情况下,对所述提取的变数名称的全部,将前面相互一致的部分的字符串作为确定字符串之后返回执行第1部件所执行的操作。
7.如权利要求6所述的在PLC编程中的变数名称的输入支援装置,其特征在于,
在所述第1部件的前级还包括预备筛选部件,该预备筛选部件用于将可成为提取对象的变数名称筛选为具有指定所述一个命令的操作数的数据类型的变数名称。
8.如权利要求6所述的在PLC编程中的变数名称的输入支援装置,其特征在于,还包括:
显示部件,用于将在所述第4部件中作为确定字符串的字符串显示在规定的显示器中。
9.如权利要求8所述的在PLC编程中的变数名称的输入支援装置,其特征在于,
所述显示部件还包括以下部件:将在所述第2部件中提取的变数名称作为最终的变数名称候选而附加地显示在所述显示器中。
10.如权利要求8所述的在PLC编程中的变数名称的输入支援装置,其特征在于,
所述显示部件还包括以下部件:一连串地显示下列字符串,即在所述第4部件中作为确定字符串的字符串、以及在所述第2部件中提取的变数名称中一个所述确定字符串之后的未确定的字符串,并且以第1显示方式显示所述确定字符串,以第2显示方式显示所述未确定字符串。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP062105/09 | 2009-03-13 | ||
JP2009062105 | 2009-03-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833548A CN101833548A (zh) | 2010-09-15 |
CN101833548B true CN101833548B (zh) | 2012-08-29 |
Family
ID=42097349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101250241A Active CN101833548B (zh) | 2009-03-13 | 2010-03-01 | 在可编程控制器编程中的变数名称的输入支援方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8612935B2 (zh) |
EP (1) | EP2228717B1 (zh) |
JP (1) | JP5454783B2 (zh) |
CN (1) | CN101833548B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098289B2 (en) * | 2011-09-15 | 2015-08-04 | Mitsubishi Electric Corporation | Ladder program creation device |
US9170782B2 (en) * | 2012-03-27 | 2015-10-27 | Microsoft Technology Licensing, Llc | Extensible mechanism for providing suggestions in a source code editor |
CN102799135A (zh) * | 2012-08-10 | 2012-11-28 | 唐志 | 工业控制免编程通用操作系统以及系统的实现方法 |
JP2015207147A (ja) * | 2014-04-21 | 2015-11-19 | 村田機械株式会社 | 工作機械、プログラム編集方法、及び制御プログラム |
JP6988597B2 (ja) | 2018-03-14 | 2022-01-05 | オムロン株式会社 | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム |
US10929106B1 (en) * | 2018-08-13 | 2021-02-23 | Zoho Coroporation Private Limited | Semantic analyzer with grammatical-number enforcement within a namespace |
JP2024011850A (ja) * | 2022-07-15 | 2024-01-25 | オムロン株式会社 | 制御プログラム編集装置、編集方法、およびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825306A (en) * | 1995-08-25 | 1998-10-20 | Aisin Aw Co., Ltd. | Navigation system for vehicles |
CN100342373C (zh) * | 2002-12-27 | 2007-10-10 | 欧姆龙株式会社 | 语言输入方法及系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2232514B (en) * | 1989-04-24 | 1993-09-01 | Yokogawa Electric Corp | Programmable controller |
EP0477760B1 (en) * | 1990-09-20 | 1996-07-24 | Hitachi, Ltd. | Programming method and apparatus for programmable controller |
EP0553731B1 (en) * | 1992-01-23 | 1999-04-14 | Mitsubishi Denki Kabushiki Kaisha | Programmable controller |
WO1997046951A1 (en) * | 1996-06-04 | 1997-12-11 | Lennerstad Idé | Device for word processing |
JP2000163200A (ja) * | 1998-11-30 | 2000-06-16 | Canon Inc | データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
DE10003737A1 (de) * | 2000-01-28 | 2001-08-16 | Bosch Gmbh Robert | Verfahren zur Informationseingabe in ein elektrisches Gerät |
CN1206578C (zh) * | 2000-03-17 | 2005-06-15 | 迪吉多电子股份有限公司 | 控制用服务器装置、控制用终端装置及控制系统 |
JP2002015002A (ja) * | 2000-06-28 | 2002-01-18 | Nec Corp | 情報検索方法および電話機 |
JP2004259084A (ja) * | 2003-02-27 | 2004-09-16 | Yokogawa Electric Corp | プログラムの入力支援方法及びその装置 |
JP2005129026A (ja) * | 2003-10-02 | 2005-05-19 | Omron Corp | プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法 |
DE602005015052D1 (de) * | 2004-03-31 | 2009-08-06 | Omron Tateisi Electronics Co | Vorrichtung zur Entwicklungsunterstützung |
JP4441390B2 (ja) * | 2004-09-08 | 2010-03-31 | パナソニック株式会社 | 宛先検索装置及びこれを備えた通信装置 |
US20060090154A1 (en) * | 2004-10-07 | 2006-04-27 | International Business Machines Corp. | System and method for contributing remote object content to an integrated development environment type-ahead |
US7271825B2 (en) * | 2004-11-04 | 2007-09-18 | Sony Corporation | Kinesiological model-based gestural augmentation of voice communication |
US7451397B2 (en) * | 2004-12-15 | 2008-11-11 | Microsoft Corporation | System and method for automatically completing spreadsheet formulas |
US7664597B2 (en) * | 2005-03-31 | 2010-02-16 | Alpine Electronics, Inc. | Address input method and apparatus for navigation system |
US7987393B2 (en) * | 2005-05-16 | 2011-07-26 | Texas Instruments Incorporated | Determining operating context of an executed instruction |
JP4569523B2 (ja) * | 2005-08-31 | 2010-10-27 | 株式会社デンソー | ナビゲーション装置 |
JP4306755B2 (ja) * | 2007-03-28 | 2009-08-05 | 株式会社デンソー | ストリート検索方法およびカーナビゲーション装置 |
US9342496B2 (en) * | 2007-08-06 | 2016-05-17 | Apple Inc. | Auto-completion of names |
-
2010
- 2010-02-04 JP JP2010022932A patent/JP5454783B2/ja active Active
- 2010-02-26 US US12/714,394 patent/US8612935B2/en active Active
- 2010-02-26 EP EP10154847.7A patent/EP2228717B1/en active Active
- 2010-03-01 CN CN2010101250241A patent/CN101833548B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825306A (en) * | 1995-08-25 | 1998-10-20 | Aisin Aw Co., Ltd. | Navigation system for vehicles |
CN100342373C (zh) * | 2002-12-27 | 2007-10-10 | 欧姆龙株式会社 | 语言输入方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2228717B1 (en) | 2018-01-03 |
US20100235812A1 (en) | 2010-09-16 |
US8612935B2 (en) | 2013-12-17 |
JP2010238225A (ja) | 2010-10-21 |
EP2228717A1 (en) | 2010-09-15 |
JP5454783B2 (ja) | 2014-03-26 |
CN101833548A (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101833548B (zh) | 在可编程控制器编程中的变数名称的输入支援方法 | |
US20120017161A1 (en) | System and method for user interface | |
CN101105481B (zh) | 辅助创建自动采样器控制程序的系统和方法 | |
KR102345001B1 (ko) | 특허 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템 | |
CN101546192B (zh) | 工厂信息显示设备和方法 | |
WO2015017350A1 (en) | Systems and methods for data entry | |
US10203850B2 (en) | Data editing apparatus, data editing method, and data editing program | |
US20130104101A1 (en) | Sequence program creating apparatus | |
CN103809838A (zh) | 数值输入处理方法及其系统、仿真凭证数据输入处理方法 | |
JP2011081778A (ja) | ディスプレイ非依存のコンピュータによるガイダンス方法および装置 | |
US9335837B2 (en) | Text flow sensitive backspace key for bi-directional content | |
CN102915228A (zh) | 菜单工具条整合系统及方法 | |
US20150026609A1 (en) | Idea wheel-based data creating apparatus | |
Kiesel et al. | WAT-SL: a customizable web annotation tool for segment labeling | |
CN103513852A (zh) | 电子装置的文本编辑系统及方法 | |
TWI447641B (zh) | 在可攜式裝置上顯示文件之方法與電腦程式產品 | |
US10969958B2 (en) | Key-input display apparatus, key-input display system, and key-input display program | |
JP6716078B2 (ja) | 自動プログラミング装置と自動プログラミング方法 | |
KR20090114386A (ko) | 시스템 명세의 디스크립터 관리 방법, 장치 및 컴퓨터 판독 가능한 매체 | |
JP7377524B2 (ja) | 入力支援装置、入力支援システム及びプログラム | |
JP2015219628A (ja) | 情報処理装置及びプログラム | |
JP7160327B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Bako et al. | Streamlining Visualization Authoring in D3 Through User-Driven Templates | |
JP2017016411A (ja) | 開発支援プログラム、記録媒体、開発支援方法、及び開発支援装置 | |
CN111459297A (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 |