CN103119525B - 顺序程序生成装置 - Google Patents

顺序程序生成装置 Download PDF

Info

Publication number
CN103119525B
CN103119525B CN201180005127.7A CN201180005127A CN103119525B CN 103119525 B CN103119525 B CN 103119525B CN 201180005127 A CN201180005127 A CN 201180005127A CN 103119525 B CN103119525 B CN 103119525B
Authority
CN
China
Prior art keywords
key element
sfc
transfer
new key
new
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
Application number
CN201180005127.7A
Other languages
English (en)
Other versions
CN103119525A (zh
Inventor
山冈孝行
安井照昌
甲斐启文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN103119525A publication Critical patent/CN103119525A/zh
Application granted granted Critical
Publication of CN103119525B publication Critical patent/CN103119525B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Abstract

一种顺序程序生成装置(10),其通过由用户在编辑画面上进行操作,对以多个要素及它们的连接状态表现的顺序功能图(SFC)进行编辑,从而生成由可编程逻辑控制器执行的顺序程序,该顺序程序生成装置具有:规则存储部(5),其存储SFC的规约;以及编辑处理部(22),其在编辑画面上进行了用于将新要素插入SFC中的新要素插入操作时,基于在新要素插入操作中指定为新要素插入对象要素的已配置要素的种类、与新要素插入对象要素相对的位置、以及在规则存储部(5)中存储的SFC的规约,在顺序程序的数据中追加与新要素相应的数据。

Description

顺序程序生成装置
技术领域
本发明涉及一种顺序程序生成装置,其通过对顺序功能图(SFC)进行编辑而生成可编程逻辑控制器的程序。
背景技术
作为在生成由可编程逻辑控制器执行的顺序程序时所使用的程序的一种记述方式,具有顺序功能图(SFC)。SFC是与流程图类似的利用图形要素及其连接状态表现处理流程的方法,具有易于理解作业流程等的特征。
SFC本质上是用图表现步(step)和转移(transition)之间的连接关系的记述方法。在IEC标准中,在图形表现的同时定义了对连接关系直接记述的文本表现。
当前,通过将构成SFC的步·转移·分支及收敛的连接线等图形构成要素配置在网格上,从而生成程序。在对构成要素进行配置的操作中,即使表示简单的关系也需要配置多个部件等,工时较多,另外,有可能存在对于SFC没有意义的图形表现,因此,制作效率较低。
在专利文献1中,利用步和转移交替出现这一规约,在步之间自动插入转移。
在专利文献2中,在输入操作时,利用预先设定的“对可以插入的功能部件进行预先限定的插入判定矩阵”,拒绝错误的输入。
专利文献1:日本特开平05-341816号公报
专利文献2:日本特开平11-296357号公报
发明内容
但是,在上述专利文献1的技术中,如果连续地插入步,则可以省略转移的插入,但有效的情况很有限。例如,在并行分支之后插入某一步时,无法确定是否插入转移。另外,在没有收敛的选择分支之后新配置步的情况下,无法判断是在与一个分支目标的最末尾的步之间插入转移而进行连接,还是在与所有分支目标的最末尾的步之间插入转移,而作为选择收敛进行连接。
在专利文献2的技术中,如果将基于SFC的规约生成的限制作为插入判定矩阵进行表现,则对于SFC也可以实现相同的功能,可以防止进行对于SFC没有意义的错误编辑,但存在无法减少编辑工时的问题。
本发明就是鉴于上述情况而提出的,其目的在于,得到一种顺序程序生成装置,其可以以较少的工时对基于规约来配置要素的SFC进行编辑,从而生成顺序程序。
为了解决上述课题,实现目的,本发明为一种顺序程序生成装置,其通过由用户在编辑画面上进行操作,对以多个要素及它们的连接状态表现的顺序功能图(SFC)进行编辑,从而生成由可编程逻辑控制器执行的顺序程序,其特征在于,具有:规则存储部,其存储SFC的规约;以及编辑控制部,其在编辑画面上进行了用于将新要素插入所述SFC中的新要素插入操作时,基于在新要素插入操作中指定为新要素插入对象要素的已配置的要素的种类、与新要素插入对象要素相对的位置、以及在规则存储部中存储的SFC的规约,在顺序程序的数据中追加与新要素相应的数据。
发明的效果
本发明所涉及的顺序程序生成装置实现下述效果,即,可以以较少的工时,基于规约在SFC中配置要素而生成顺序程序。
附图说明
图1是表示本发明所涉及的顺序程序生成装置的实施方式1的结构的图。
图2是表示步及转移的连接的一个例子的图。
图3是表示SFC中的处理进程的一个例子的图。
图4是表示选择分支·选择收敛的一个例子的图。
图5是表示并行分支·并行收敛的一个例子的图。
图6是表示以配置为树状构造的要素构成的SFC在显示部中的显示的一个例子的图。
图7是表示对包含多次出现的步在内的SFC进行描绘的一个例子的图。
图8是表示对具有多个在先转移的步进行描绘的一个例子的图。
图9是表示操作中的相关位置的定义的一个例子的图。
图10是对手势和动作之间的对应进行定义的表格的一个例子的图。
图11是表示以不指定要素的种类的状态插入新要素的情况下的处理的流程的流程图。
图12是表示基于在对同一位置进行新要素插入操作的情况下的处理结果而由显示控制部使显示部显示的SFC的一个例子的图。
图13是表示基于在对后方位置进行新要素插入操作的情况下的处理结果而由显示控制部使显示部显示的SFC的一个例子的图。
图14是表示基于在对前方位置进行新要素插入操作的情况下的处理结果而由显示控制部使显示部显示的SFC的一个例子的图。
图15是表示基于在对左方位置进行新要素插入操作的情况下的处理结果而由显示控制部使显示部显示的SFC的一个例子的图。
图16是表示基于在对右方位置进行新要素插入操作的情况下的处理结果而由显示控制部使显示部显示的SFC的一个例子的图。
图17是表示已配置要素的连接处理的一个例子的图。
图18是表示已配置要素的连接处理的另外一个例子的图。
图19是表示SFC编辑画面的一个例子的图。
图20是表示本实施方式所涉及的顺序程序生成装置中的画面的跳转例的图。
图21是表示现有的顺序程序生成装置中的画面的跳转例的图。
图22是表示将格子分割为多个区域而对相关位置进行定义的一个例子的图。
图23是表示将相关位置分配给相邻的格子的一个例子的图。
标号的说明
1 输入部
2 控制部
3 显示部
4 存储部
5 规则存储部
10 顺序程序生成装置
21 输入处理部
22 编辑控制部
23 显示控制部
50 编辑画面
55 表格
100、103、200、206、301、302、304、305、402、404、405、500、603、606、700、702、704、706、800、803、903 步
101、201、202、204、205、300、306、400、401、406、501、502、503、601、602、604、605、701、703、705、801、802、804、902 转移
102 连接线
203 选择分支
207、403、607、805 选择收敛
303 并行分支
307、407 并行收敛
900 设备一览表
901 设备x1的图标
1000、1100 格子
1001 与同一位置对应的区域
1002 与前方位置对应的区域
1003 与后方位置对应的区域
1004 与左方位置对应的区域
1005 与右方位置对应的区域
具体实施方式
下面,基于附图,详细说明本发明所涉及的顺序程序生成装置的实施方式。此外,本发明并不受本实施方式限定。
实施方式1
图1是表示本发明所涉及的顺序程序生成装置的实施方式1的结构的图。实施方式1所涉及的顺序程序生成装置10具有:输入部1、控制部2、显示部3、存储部4及规则存储部5。输入部1是用于使用户进行操作的用户接口,可以使用键盘、指点设备、触摸面板等。显示部3是显示SFC的装置,可以使用LCD或有机液晶面板等。存储部4具有被控制部2用作为工作区域的存储区域,存储通过编辑SFC而生成的程序的数据(编辑数据)。规则存储部5非易失性地存储SFC的规约等。控制部2具有输入处理部21、编辑控制部22及显示控制部23。输入处理部21确定经由输入部1进行的处理的内容。编辑控制部22进行在编辑数据中追加要素、替换要素等的处理。显示控制部23基于编辑数据变更SFC,并使显示部3显示。
在对顺序程序生成装置10的动作进行说明之前,针对为了说明动作所需的SFC的规约进行说明。此外,SFC的规约存储在规则存储部5中,编辑控制部22根据SFC的规约,确定对编辑数据施加的处理的内容。
构成SFC的要素为步、转移。步及转移具有入口和出口,利用连接线将步的出口与转移的入口连接,将转移的出口与步的入口连接。由此,步和转移交替出现,步之间、以及转移之间不会进行连接。此外,在以下的说明所使用的各图中,将步以矩形形状的符号表示,将转移以横杠形状的符号表示。
图2是表示步及转移的连接的一个例子的图。如图2所示,在步100的出口和转移101的入口由连接线102连接的情况下,称为转移101在步100后执行,称为步100在转移101前执行。由此,在图2中,转移101在步103前执行,步103在转移101后执行。
在步中附带有利用其它语言(梯形图语言等)书写的处理。如果举出一个例子,则为“如果设备M0接通,则使设备M1接通。”的处理。由于SFC以对FA设备进行控制为目的,所以处理在大多情况下是对设备值进行参照(传感器值的读取等)和变更(开关的接通/断开等)。
步存在有效·无效这两种状态,在有效时执行附带的处理。另外,存在在系统启动时自动执行的步,该步被称为初始步。
在转移中附带以其它语言书写的跳转条件。如果举出一个例子,则为“如果设备M2接通且设备M3接通,则条件成立。”的跳转条件。
图3是表示SFC中的处理进程的一个例子的图。在图3中,在转移101前执行的步100为有效的情况下,对转移101的跳转条件进行评价,如果条件成立则引起跳转。在引起转移101的跳转的情况下,先执行的步100变为无效,在转移101后执行的步103变为有效。
存在在一个步之后有多个转移的情况,将该情况称为选择分支。另外,存在在一个步之前有多个转移的情况,将该情况称为选择收敛。作为选择分支·选择收敛,在SFC上表现为将转移的入口·出口连接的一根水平线。图4是表示选择分支·选择收敛的一个例子的图。步200的出口与转移201及转移202的各个入口之间,经由选择分支203进行连接。另外,转移204及转移205的各个出口与步206的入口之间,经由选择收敛207进行连接。
在步有效时,对该步后续的转移的条件进行评价,但在选择分支中,针对多个后续转移的条件,在SFC上从左侧开始顺序进行评价,仅使条件成立的转移后续的步有效。因此,在某一步的后续多个转移中存在顺序。在以下说明中,将该顺序称为后续转移顺序。在选择收敛中,由于后续的步只有一个,所以如果在先的步有效且条件成立,则跳转至后续的步。
与选择分支相反地,存在在一个转移之后有多个步的情况,将该情况称为并行分支。与选择收敛相反地,存在在一个转移之前先执行多个步的情况,将其称为并行收敛。对于并行分支·并行收敛,在SFC上表现为将多个步的入口·出口进行连接的水平双线。图5是表示并行分支·并行收敛的一个例子的图。转移300的出口与步301及步302的各个入口之间,经由并行分支303进行连接。另外,在步304及步305的各个出口与转移306的入口之间,经由并行收敛307进行连接。
在并行分支中,如果转移的跳转条件成立,则该转移的后续的所有步变为有效。在并行收敛中,仅在所有在先的步有效且后续转移的跳转条件成立时,才引起跳转。
下面,说明显示控制部23的动作。显示控制部23基于步和转移之间的连接关系而生成SFC。首先,显示控制部23配置初始步,将与初始步的出口连接的转移在初始步的下方(后方)从左至右沿后续转移顺序而配置。在存在多个的情况下,利用选择分支横向连接。然后,显示控制部23将与各转移出口连接的步配置在转移的下方。在与各转移连接的步存在多个的情况下,从左至右配置,利用并行分支进行连接。显示控制部23通过反复执行该处理而将所有要素配置为树状构造。在使用网格的情况下,只要各子树取得所需的宽度即可。图6是表示由配置为树状构造的要素构成的SFC在显示部3中的显示的一个例子的图。
通过使用选择收敛或并行收敛,从而具有多个在先要素的步或转移在SFC中可能多次出现。在此情况下,显示控制部23只要针对多次出现的要素中的任意一个,描绘由后续要素构成的子树即可。对于除此之外的部分,显示控制部23仅描绘该要素,并标明省略了之后的部分,或者描绘与所描绘的要素之间的连接线。图7是表示包含多次出现的步在内的SFC的描绘的一个例子的图。步500在编辑数据中被分配了“s2”的编号,图7中的朝向s2的箭头示出与分配了该编号的步500的入口连接这一情况。对于步500,作为在先要素而具有转移501、转移502及转移503,但仅描绘转移501的后续子树,对于转移502及转移503,仅描绘后续有步500这一情况,省略之后的子树的描绘。
在单个步具有多个在先转移的情况下,如果该转移相邻配置,则显示控制部23使用选择收敛描绘SFC,如果并非相邻配置,则以省略描绘的方式描绘SFC,但连接关系是相同的。对于并行收敛,显示控制部23也可以基于相同的基准确定是否进行省略描绘。图8是表示对具有多个在先转移的步进行描绘的一个例子的图。步603在编辑数据中被分配了“s1”的编号,图8中的朝向s1的箭头表示与被分配了该编号的步603的入口连接这一情况。由于转移601和转移602没有相邻地配置,所以转移602和步603之间的连接成为省略描绘。另一方面,由于转移604和转移605相邻地配置,所以转移605和步606之间的连接没有被省略,而是使用选择收敛607进行描绘。两者的表现不同,但作为连接关系来说是相同的。
如上述所示,SFC是由显示控制部23基于连接关系自动地生成的。即,使用输入部1实现的编辑操作是针对SFC进行的,但编辑处理是由编辑控制部22针对连接关系进行的,显示控制部23根据连接关系生成SFC。
在生成树状构造时,只要可以指定处理对象的要素,对该要素追加后续要素,并且指定多个后续要素的顺序(左右的排列顺序)即可。
下面,说明编辑控制部22的动作。编辑控制部22基于经由输入部1进行的操作、和连接关系所具有的比较强的限制(规则存储部5中存储的规约),确定进行哪种处理。这里所使用的连接关系的限制是指下述内容。(1)步和转移交替出现,步之间或转移之间不能连接。(2)存在一个步具有后续多个转移的情况。其在SFC上作为选择分支进行表现。另外,在一个步之前执行多个转移的情况下,作为选择收敛进行表现。(3)存在一个转移具有后续多个步的情况。将该情况称为并行分支。在一个转移之前执行多个步的情况称为并行收敛。
根据上述(1),编辑控制部22可以自动确定步的后续要素为转移,转移的后续要素为步。根据上述(2)、(3),编辑控制部22在转移之后有多个步的情况下,可以自动确定其为并行分支,在步之后有多个转移的情况下,可以自动确定为选择分支。
作为经由输入部1进行的操作,具有:指定配置于SFC上的某个要素(步或转移),向相关位置进行插入的操作;以及指定配置于SFC上的某个要素(步或转移),并进行删除的操作。
另外,作为操作中的“相关位置”,由编辑控制部22定义为“同一位置”、“前方位置”、“后方位置”、“右方位置”、“左方位置”。图9是表示操作中的相关位置的定义的一个例子的图。编辑控制部22将配置有所指定的部件(在这里为步700)的格子定义为“同一位置”,将配置有所指定的部件的格子的上方(前方)的格子定义为“前方位置”,将配置有所指定的部件的格子的左方的格子定义为“左方位置”,将配置有所指定的部件的格子的右方的格子定义为“右方位置”,将配置有所指定的部件的格子的下方(后方)的格子定义为“后方位置”。
说明在不指定要素的种类的状态下进行新要素的插入的情况。对于在如图9所示配置有要素的状态下,通过使用输入部1进行的操作而将步700指定为新要素插入对象要素,并向相关位置(与新要素插入对象要素相对的位置)进行了新要素插入这样的情况,针对每个相关位置定义编辑控制部22的处理。在这里,对于所预想的使用输入部1进行的新要素插入操作,具体地说,为使光标向相关位置移动和按下表示新要素插入的按钮,或者将新插入图标向相关位置拖放等。
此外,作为指定相关位置的方法,也可以采用利用鼠标手势进行输入的方式。图10是表示对手势和动作之间的对应关系进行定义的表格的一个例子的图。通过将图10所示的表格55存储在规则存储部5等中,由输入处理部21参照该表格而确定处理的内容,从而可以实现通过鼠标手势进行输入。通过采用利用鼠标手势进行输入的方式,鼠标的移动量减少,即使鼠标光标位于远离配置有新要素插入对象要素的格子的位置处,无需移动鼠标光标,也同样可以进行用于指定相关位置的操作。
图11是表示以不指定要素的种类的状态进行新要素插入的情况下的处理的流程的流程图,示出在如图9所示已经配置的两个要素(步700及转移701)中,将步700指定为新要素插入对象要素而新插入部件的情况下的处理。用户使用输入部1进行新要素插入操作(步骤S101)。输入处理部21确定通过操作指定的相关位置(步骤S102)。另外,编辑控制部22从存储部4中取得编辑数据(步骤S103)。
在通过使用输入部1进行的新要素插入操作而指定的相关位置为同一位置的情况下(步骤S104/同一位置),编辑控制部22将编辑数据的步700置换为其它步(步骤S105)。显示控制部23将SFC上的步700变更为其它步(步骤S106),并在显示部3中显示(步骤S115)。
图12是表示基于对同一位置进行新要素插入操作的情况下的处理结果而由显示控制部23使显示部3显示的SFC的一个例子的图,该SFC是在图9所示的SFC中对同一位置进行新要素插入操作的情况下的SFC。在对同一位置进行新要素插入操作的情况下,编辑控制部22删除转移701和步700之间的连接。然后,新生成步(在这里为步702),将转移701的出口和步702的入口连接。如上所示,在对同一位置进行新要素插入操作的情况下,编辑控制部22将新要素插入对象要素替换为同一种类的其它要素。显示控制部23将基于如上所示替换了要素后的编辑数据而得到的SFC,在显示部3中显示。
在通过使用输入部1进行的新要素插入操作而指定的相关位置为后方位置(其后的位置)的情况下(步骤S104/后方位置),编辑控制部22在编辑数据的步700的后段(其后)新插入转移(步骤S107)。显示控制部23在SFC的步700下方新追加转移(步骤S108),并在显示部3上显示(步骤S115)。
图13是表示基于对后方位置进行新要素插入操作的情况下的处理结果而由显示控制部23使显示部3显示的SFC的一个例子的图,该SFC是在图9所示的SFC中对后方位置进行新要素插入操作的情况下的SFC。在对后方位置进行新要素插入操作的情况下,编辑控制部22新生成与新要素插入对象要素的种类不同的要素即转移(在这里为转移703),将步700的出口与转移703的入口连接。显示控制部23将基于如上所示追加了新要素后的编辑数据而得到的SFC,在显示部3中显示。
在通过使用输入部1进行的新要素插入操作而指定的相关位置为前方位置的情况下(步骤S104/前方位置),编辑控制部22在编辑数据的转移701和步700之间插入新步和新转移(步骤S109)。显示控制部23在SFC的转移701和步700之间追加新步及转移(步骤S110),并在显示部3上显示(步骤S115)。
图14是表示基于对前方位置进行新要素插入操作的情况下的处理结果而由显示控制部23使显示部3显示的SFC的一个例子的图,该SFC是在图9所示的SFC中对前方位置进行新要素插入操作的情况下的SFC。在对前方位置进行新要素插入操作的情况下,编辑控制部22新生成与新要素插入对象要素的种类相同的要素即步(在这里为步704)、以及与所指定的要素的种类不同的要素即转移(在这里为转移705),将转移701的出口与步704的入口、步704的出口与转移705的入口、转移705的出口与步700的入口分别进行连接。针对前方位置的新要素插入操作是对在新要素插入对象要素前执行的要素进行插入,将2种要素作为一组而插入。显示控制部23将基于如上所示以2种要素作为一组进行插入后的编辑数据而得到的SFC,在显示部3中显示。
在通过使用输入部1进行的新要素插入操作而指定的相关位置为左方位置的情况下(步骤S104/左方位置),编辑控制部22以后续转移顺序成为位于步700的紧前方的方式插入新步,作为编辑数据的转移701的后续步(步骤S111)。显示控制部23使SFC的步700向右方格子移动,在本来配置有步700的格子中追加新插入的步,将步700及新插入的步利用并行分支而与转移701连接(步骤S112),并在显示部3上显示(步骤S115)。
图15是表示基于对左方位置进行新要素插入操作的情况下的处理结果而由显示控制部23使显示部3显示的SFC的一个例子的图,该SFC是在图9所示的SFC中对左方位置进行新要素插入操作的情况下的SFC。在对左方位置进行新要素插入操作的情况下,编辑控制部22新生成与新要素插入对象要素的种类相同的要素即步(在这里为步706),将转移701的出口与步706的入口连接。编辑控制部22使步706的后续转移顺序成为位于步700的紧前方。显示控制部23将基于如上所示追加了要素后的编辑数据而得到的SFC,在显示部3中显示。此外,通过将同一种类的要素相邻地配置,从而将步700和步706作为并行分支进行描绘。
在通过使用输入部1的新要素插入操作而指定的相关位置为右方位置的情况下(步骤S104/右方位置),编辑控制部22以后续转移顺序成为位于步700的紧后方的方式插入新步,作为编辑数据的转移701的后续步(步骤S113)。显示控制部23在SFC的步700的右方格子中追加新插入的步,利用并行分支而将转移701与步700及新插入的步连接(步骤S114),并在显示部3上显示(步骤S115)。
图16是表示基于对右方位置进行新要素插入操作的情况下的处理结果而由显示控制部23使显示部3显示的SFC的一个例子的图,该SFC是在图9所示的SFC中对右方位置进行新要素插入操作的情况下的SFC。在对右方位置进行新要素插入操作的情况下,编辑控制部22新生成与新要素插入对象要素的种类相同的要素即步(在这里为步706),将转移701的出口与步706的入口连接。编辑控制部22使步706的后续转移顺序成为位于步700的紧后方。显示控制部23将基于如上所示追加了要素后的编辑数据而得到的SFC,在显示部3中显示。此外,通过将同一种类的要素相邻地配置,从而将步700和步706作为并行分支进行描绘。
如上述所示,可以针对步进行后续转移的插入·并行分支的插入。在这里,举出所指定的要素为步的情况作为例子,但对于指定转移的情况也是相同的,可以针对转移进行后续步或选择分支的插入。
关于删除,编辑控制部22将新要素插入对象要素和在该要素前执行的要素之间的连接删除。不删除要素本身的原因在于,为了在具有多个在先要素的情况下,维持与它们之间的关系。在没有在先要素的情况下,编辑控制部22也可以删除要素本身。
在上述新要素插入操作中,在使用输入部1进行的操作中,并不指定插入“什么”,编辑控制部22自动确定所插入的要素,但通过追加指定与“什么”相当的部分,可以追加以单次操作进行的处理,进行已配置要素连接操作。作为该例子,首先针对已配置要素定义相同的操作。作为使用输入部1进行的操作的具体例子,可以举出将第2已配置要素向第1已配置要素的相关位置进行拖放等。
通过利用使用输入部1进行的操作而对配置在SFC上的某个要素(步或转移)进行指定,从而编辑控制部22向相关位置插入“已配置要素”。实际进行的处理是上述处理中取消与“生成新步或转移”相当的处理而生成的处理,仅进行针对已配置要素的连接。
图17是表示已配置要素的连接处理的一个例子的图。在想要将作为已配置要素的步800(第2已配置要素)在转移801(第1已配置要素)后执行的情况下,通过使用输入部1进行的已配置要素连接操作,将步800拖放至位于转移801的后方位置的格子中。由此,通过编辑控制部22进行将转移801的出口和步800的入口连接的处理。在这里,步800在编辑数据中被分配了“s2”的编号,图17中的朝向s2的箭头表示与分配了该编号的步800的入口连接这一情况。
图18是表示已配置要素的连接处理的另外一个例子的图。在图18中,在通过使用输入部1的已配置要素连接操作,将在转移802后执行的步803拖放至位于转移802的相邻格子中的转移804上的情况下,编辑控制部22生成选择收敛805。相同地,如果使用输入部1进行将在步之后执行的转移拖放至位于相邻格子中的步上的操作,则编辑控制部22生成并行收敛。
另外,在本实施方式中,由于在使用输入部1进行的操作中无需指定“什么”,所以可以使该部分附带追加信息。
例如,使步附带处理,作为该处理的典型例子,存在下述例子,即,仅仅是与有效状态相对应而设置某设备的值(IEC标准中称为布尔动作)。另外,对于转移的跳转条件,也有如果某设备的值为真则条件成立,为伪则条件不成立的例子。在任意情况下,都可以仅通过使用输入部1在“什么”的部分中指定作为对象的设备,从而编辑控制部22对含有处理或跳转条件的要素进行插入·连接。
与新要素或已配置要素的插入相同地,通过利用使用输入部1进行的操作将设备向作为对象的相关位置进行插入操作,从而可以利用单次操作,输入要素、和该要素中的处理或跳转条件。
图19是表示SFC编辑画面的一个例子的图。在图19所示的GUI中,左侧显示的是设备一览表900。如果使用输入部1进行将设备x1的图标901向对象转移902的后方位置拖放的操作,则编辑控制部22基于对象的种类和后方位置的信息,生成步(在这里为步903)并与转移902连接。然后,编辑控制部22可以进行在步903的有效状态下设置设备x1的值这一编辑,作为步903的处理。
图20是表示本实施方式所涉及的顺序程序生成装置中的画面的跳转例的图。在图中的各状态中,以粗框示出操作对象格子,将相关位置以○记号表示,将在拖放操作对象格子的情况下的放置目标以△记号表示。对于利用编辑画面50配置步s0~s3、转移t0~t3的处理,如果将配置步s0的操作包含在内,则通过9次操作完成。在各操作中无需指定插入什么,可以省略与此相关的操作(工具栏或功能键)。另外,在上述要素的处理或跳转条件为单个设备的情况下,对它们的设定包含在上述9次操作中。
图21是表示现有的顺序程序生成装置中的画面的跳转例的图。在图中的各状态中,以粗虚线框进行包围而示出通过刚完成的插入操作而插入的要素。为了在编辑画面150中插入与图20相同的各要素,包含作为选择分支·选择收敛部件的连接线在内需要10次插入操作。需要在各个操作中(使用工具栏或功能键)选择插入什么。对于在各步·转移中具有附带的处理·跳转条件,它们也需要另行设定。
在图20、图21这种简单的例子中,很难体现操作数量的差距,但在对已经记述后的SFC进行插入等的情况下,在现有的方法中,有可能产生使插入位置的右方或下方的部件移动,对连接线进行重新连接的工时。在本实施方式中,由于对连接关系直接进行编辑,所以完全不需要将要素移动等的操作,操作数量大幅减少。
由本实施方式所涉及的顺序程序生成装置生成的SFC,由于仅由基于规约配置的要素构成,所以可以防止生成无法执行的顺序程序(转换为无法执行的代码)。
如上述所示,根据本实施方式,可以减少SFC编辑所需的操作数量,并且,可以防止没有依照规约进行的要素配置。
实施方式2
在实施方式1中,使用配置有所指定的要素的格子及与该格子相邻的格子,指定“相关位置”。但是,在与配置有所指定的要素的格子相邻的格子中已经配置有其它要素的情况下,操作的意义变得不明确,因此,需要空出该位置而进行配置。
因此,在本实施方式中,编辑控制部22将格子分割为多个区域,在配置有所指定的要素的格子内定义相关位置。图22是表示将格子分割为多个区域而定义相关位置的一个例子的图。格子1000被分割为与同一位置对应的区域1001、与前方位置对应的区域1002、与后方位置对应的区域1003、与左方位置对应的区域1004及与右方位置对应的区域1005。
在本实施方式中,由于可以通过对配置有所指定的要素的格子内的操作而指定相关位置,所以即使在相邻的格子中已经配置有部件,也不会使操作的意义变得不明确。但是,随着将格子分割为多个区域,指定相关位置的操作的操作性降低,伴随着格子的分割而控制部2的处理负荷增加。因此,可以根据操作性及控制部2的处理负荷与操作的明确性之间的哪一方是优先的,而分别使用实施方式1和实施方式2。另外,也可以同时使用这两者,使格子分割始终有效,使利用相邻的格子进行的相关位置指定仅在格子空出的情况下有效。
另外,针对利用相邻的格子进行的相关位置指定,也可以与利用频度相对应而将相关位置非对称地分配至相邻的格子中。图23是表示将相关位置分配至相邻的格子中的一个例子的图。例如,在不频繁地进行要素替换的情况下,也可以如图23所示,将配置有所指定的要素的格子1100与右侧的位置相关联等。
工业实用性
如上所示,本发明所涉及的顺序程序生成装置适用于依照规约配置要素而生成可执行的顺序程序。

Claims (4)

1.一种顺序程序生成装置,其通过由用户在编辑画面上进行操作,对以多个要素及它们的连接状态表现的顺序功能图、即SFC进行编辑,从而生成由可编程逻辑控制器执行的顺序程序,
其特征在于,具有:
规则存储部,其存储所述SFC的规约;以及
编辑控制部,其在所述编辑画面上进行了用于将新的所述要素插入所述SFC中的新要素插入操作时,基于在所述新要素插入操作中指定为新要素插入对象要素的已配置的所述要素的种类、与所述新要素插入对象要素相对的位置、以及在所述规则存储部中存储的所述SFC的规约,在所述顺序程序的数据中追加与所述新要素相应的数据,根据配置有所述新要素插入对象要素的格子及选择了该格子的前后左右的哪一个格子,确定与所述新要素插入对象要素相对的位置。
2.根据权利要求1所述的顺序程序生成装置,其特征在于,
在所述编辑画面上进行了将已配置的所述要素之间连接的已配置要素连接操作时,所述编辑控制部基于在所述已配置要素连接操作中指定为第1已配置要素的所述已配置的要素和指定为第2已配置要素的所述已配置的要素的各自的种类、与所述第1已配置要素相对的位置、以及所述规则存储部存储的所述SFC的规约,将所述第1已配置要素和所述第2已配置要素进行连接,并更新所述顺序程序的数据。
3.根据权利要求1所述的顺序程序生成装置,其特征在于,
所述新要素插入操作包括从与所述可编程逻辑控制器连接的设备的一览表中选择设备的操作、以及将所选择的设备配置在所述被指定的位置处的操作,
所述编辑控制部与所述新要素插入对象要素的种类相对应而将从所述设备取得设备值及变更所述设备值这两个动作中的一个,设定为与向所述顺序程序的数据中追加的所述新要素相关的条件。
4.根据权利要求1至3中任一项所述的顺序程序生成装置,其特征在于,
所述编辑控制部通过将配置有所述新要素插入对象要素的格子分割为多个区域,并根据选择了所分割后的区域中的哪一个,确定与所述新要素插入对象要素相对的位置。
CN201180005127.7A 2011-09-16 2011-09-16 顺序程序生成装置 Expired - Fee Related CN103119525B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/071207 WO2013038556A1 (ja) 2011-09-16 2011-09-16 シーケンスプログラム作成装置

Publications (2)

Publication Number Publication Date
CN103119525A CN103119525A (zh) 2013-05-22
CN103119525B true CN103119525B (zh) 2015-08-19

Family

ID=46980584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180005127.7A Expired - Fee Related CN103119525B (zh) 2011-09-16 2011-09-16 顺序程序生成装置

Country Status (7)

Country Link
US (1) US20130104101A1 (zh)
JP (1) JP5025833B1 (zh)
KR (1) KR101373442B1 (zh)
CN (1) CN103119525B (zh)
DE (1) DE112011105625T5 (zh)
TW (1) TWI475343B (zh)
WO (1) WO2013038556A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914289B (zh) * 2012-12-31 2017-09-01 北京新媒传信科技有限公司 一种桌面应用程序的接入方法和装置
CN103941627B (zh) * 2014-01-08 2017-09-08 东南大学 一种基于plc编程中sfc到梯形图的转换方法
CN106662852B (zh) * 2014-07-31 2018-09-11 三菱电机株式会社 执行时间推定方法以及执行时间推定装置
JP2016115017A (ja) * 2014-12-12 2016-06-23 日本電信電話株式会社 フローチャート作成方法及びプログラム
JP6742689B2 (ja) * 2015-01-09 2020-08-19 株式会社ジェイテクト 動作プログラム編集装置及びプログラム
CN105975280B (zh) * 2016-05-13 2019-06-18 苏州乐派特机器人有限公司 一种实物化编程装置及其实现方法
JP6426666B2 (ja) * 2016-07-27 2018-11-21 ファナック株式会社 プログラマブルコントローラ
CN108563161A (zh) * 2018-01-22 2018-09-21 深圳市牧激科技有限公司 开放式智能控制方法、系统及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0435139B1 (en) * 1989-12-26 1996-06-12 Mitsubishi Denki Kabushiki Kaisha A programmable controller for executing SFC language programs
EP1795982A1 (de) * 2005-12-09 2007-06-13 Siemens Aktiengesellschaft Verfahren und System zur Transformation von Elementen eines in einer Funktionsplandarstellung vorliegenden Steuerungsprogramms in eine Kontaktplandarstellung
EP2009529A2 (en) * 2007-06-29 2008-12-31 Jtekt Corporation Safety-oriented programmable logic controller with automatic program generation and monitoring

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2982490B2 (ja) * 1992-06-09 1999-11-22 富士電機株式会社 Sfcプログラミング方式
JPH0830309A (ja) * 1994-07-14 1996-02-02 Fanuc Ltd シーケンス・プログラムの編集方式
US5940296A (en) * 1995-11-06 1999-08-17 Medar Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system
JPH1185225A (ja) * 1997-09-01 1999-03-30 Mitsubishi Electric Corp プログラム作成装置
JPH11296357A (ja) * 1998-04-08 1999-10-29 Oki Electric Ind Co Ltd フローチャート入力装置
JP2000047860A (ja) * 1998-05-28 2000-02-18 Mitsubishi Electric Corp プログラム設計装置
JP3890746B2 (ja) * 1998-06-04 2007-03-07 富士電機機器制御株式会社 共通処理ルーチンに対する指令入力処理の自動生成方法及びシーケンスプログラムの自動生成装置
DE10028140A1 (de) * 2000-06-07 2001-12-20 Siemens Ag Verfahren zur Organisation des Ablaufs elektronisch gesteuerter Schaltvorgänge
JP4341190B2 (ja) * 2001-02-28 2009-10-07 富士電機システムズ株式会社 描画システム、プログラム開発システム、及びプログラム実行システム
JP2002351509A (ja) * 2001-05-25 2002-12-06 Mitsubishi Electric Corp プログラミングツール及びプログラミング方法
JP2003044106A (ja) * 2001-08-01 2003-02-14 Hitachi Ltd Sfc変換プログラム、制御プログラムの作成方法及びプログラマブルロジックコントローラ
US7024665B2 (en) * 2002-07-24 2006-04-04 Smar Research Corporation Control systems and methods for translating code from one format into another format
US7555658B2 (en) * 2004-09-30 2009-06-30 Regents Of The University Of California Embedded electronics building blocks for user-configurable monitor/control networks
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
TW200830178A (en) * 2007-01-10 2008-07-16 Winbond Electronics Corp Method and system of executing a sequential program and a cache management unit thereof
JP4302146B2 (ja) * 2007-02-21 2009-07-22 三菱電機株式会社 プログラム作成支援装置
US7975254B2 (en) * 2007-06-27 2011-07-05 Sap Portals Israel Ltd. Design-time rules mechanism for modeling systems
JP4973867B2 (ja) * 2007-10-19 2012-07-11 オムロン株式会社 Plc制御プログラム開発装置及びプログラム
US8903520B2 (en) * 2009-04-14 2014-12-02 General Electric Company Method for executing sequential function charts as function blocks in a control system
JP5253324B2 (ja) * 2009-08-06 2013-07-31 株式会社東芝 シーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジン

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0435139B1 (en) * 1989-12-26 1996-06-12 Mitsubishi Denki Kabushiki Kaisha A programmable controller for executing SFC language programs
EP1795982A1 (de) * 2005-12-09 2007-06-13 Siemens Aktiengesellschaft Verfahren und System zur Transformation von Elementen eines in einer Funktionsplandarstellung vorliegenden Steuerungsprogramms in eine Kontaktplandarstellung
EP2009529A2 (en) * 2007-06-29 2008-12-31 Jtekt Corporation Safety-oriented programmable logic controller with automatic program generation and monitoring

Also Published As

Publication number Publication date
DE112011105625T5 (de) 2014-08-28
KR101373442B1 (ko) 2014-03-13
CN103119525A (zh) 2013-05-22
WO2013038556A1 (ja) 2013-03-21
JP5025833B1 (ja) 2012-09-12
TW201314393A (zh) 2013-04-01
KR20130055554A (ko) 2013-05-28
JPWO2013038556A1 (ja) 2015-03-23
US20130104101A1 (en) 2013-04-25
TWI475343B (zh) 2015-03-01

Similar Documents

Publication Publication Date Title
CN103119525B (zh) 顺序程序生成装置
CN104007958B (zh) 用于创建和处理用于工业自动化装置的程序的程序编辑器和方法
US8782599B2 (en) Multi-mode editor for configuring process control blocks including both logical functions and arithmetic computations
CN105549528B (zh) 机床数控系统
EP3465426B1 (en) User interface with movable mini-tabs
CN105408823A (zh) 工程设计工具、程序编辑装置以及程序编辑系统
CN105765471B (zh) 定序程序创建辅助装置
CN103246491B (zh) 可编程显示装置、显示/控制系统
CN104063212B (zh) 创建用户界面的方法
CN104823159A (zh) 用于改变人机界面设备中对象的方法和设备
CN104881231A (zh) 用于流程模拟器中的流连接的触摸手势
EP3640794A1 (en) Program development support device, program development support method, and program development support program
KR101447846B1 (ko) 모션 sfc 프로그램 부품 작성 장치
JP5971301B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US20230099469A1 (en) Robot programming device
CN106681740A (zh) 一种可视化配置指令的方法及系统
EP3822769B1 (en) Method for editing continual vertical line of visual programming language
JP2011193382A (ja) 監視操作装置および監視制御システム
JP4851390B2 (ja) エディタ装置およびエディタプログラム
JP3761126B2 (ja) プログラマブルコントローラの周辺装置
CN103853547B (zh) 可编程显示器用画面数据的模拟系统及模拟软件、可编程显示器
CN105027059A (zh) 工程设计工具
JP6023248B1 (ja) 歩進制御装置
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP4322130B2 (ja) タイミングチャート編集システム

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: 20150819

Termination date: 20170916

CF01 Termination of patent right due to non-payment of annual fee