CN107615190A - 程序生成装置、程序生成方法及程序生成程序 - Google Patents
程序生成装置、程序生成方法及程序生成程序 Download PDFInfo
- Publication number
- CN107615190A CN107615190A CN201580080436.9A CN201580080436A CN107615190A CN 107615190 A CN107615190 A CN 107615190A CN 201580080436 A CN201580080436 A CN 201580080436A CN 107615190 A CN107615190 A CN 107615190A
- Authority
- CN
- China
- Prior art keywords
- program
- variable name
- input
- equipment
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
具有:控制程序生成部(104),其生成控制程序(1041);信息提取部(105),其对表示包含输入信息和输出信息的至少任一者的输入输出信息且在控制程序(1041)中使用的变量名进行提取;分配部(106),其针对变量名而分配设备标识符,该设备标识符对储存由变量名表示的输入输出信息的设备进行识别;访问程序生成部(108),其生成使用变量名和设备标识符对设备进行访问的访问程序(1083);以及程序合成部(110),其将控制程序(1041)和访问程序(1083)进行合成。
Description
技术领域
本发明涉及程序生成装置、程序生成方法及程序生成程序。特别地,涉及对由控制装置执行的控制程序进行生成的程序生成装置、程序生成方法及程序生成程序。
背景技术
近年,存在由多个控制装置协同进行控制的控制系统。为了对如上所述的控制系统进行设计而使用控制系统设计工具。在控制系统设计工具中,自动生成使计算机对控制装置模型进行运算的控制程序,执行虚拟空间上的仿真,其中,该控制装置模型是将控制装置中的机理或者电信号的作用等进行公式化而得到的。通过执行如上所述的仿真,从而在上述控制系统设计工具中,无需使用实际仪器进行验证,就能够事先执行控制装置的配置的验证及控制程序的验证。
在专利文献1中,在对控制装置进行仿真的仿真装置中,执行用于对控制装置的动作进行仿真的模拟运算处理。仿真装置在模拟运算处理的执行开始时或者执行中途,将在CPU板的共享存储器中储存的数据在任意的定时经由通信接口而与其他仿真装置之间进行传递。由此,确保仿真装置间的数据的匹配性。
另外,为了使用户易于确定用于对控制对象仪器进行控制的输入输出数据及在控制装置间进行传递的通信数据,对变量名即标签进行定义。而且,实现了将变量名变换为储存有实际值的设备的名称解析功能。通过该名称解析功能,能够进行使用变量名对控制程序进行创建及编辑的标签编程。此外,设备是指储存有实际值的存储器的实际地址。
专利文献2公开了一种变量解析方法,即,在控制装置间进行通信时,通信仪器成为控制装置间的中继器而取得变量名和设备的对应关系。通过该专利文献2的方法,能够使用变量名实施通信数据的传递而不增加PLC(Programmable Logic Controller)的资源。
专利文献1:日本特开2008-27225号公报
专利文献2:日本特开2010-97624号公报
发明内容
但是,在执行通过C语言程序安装的控制程序的PLC中,无法向储存有下述数据的设备进行访问,即:对变量名进行指定而与输入输出仪器收发的输入输出数据、及在控制装置间进行传递的通信数据。在如上所述的PLC中,需要针对设备的每个类别,使用不同的专用的设备访问函数而对设备进行访问。因此,在如上所述的PLC中,仅通过取得变量名与储存有实际值的设备的对应关系,无法进行与输入输出仪器及通信仪器的数据的传递。在如上所述的PLC中,需要将与读写数据的设备相匹配地调用专用的设备访问函数的处理记述于控制程序,存在开发工时增加的课题。
另外,在一边利用控制系统设计工具实施仿真、一边将控制装置的配置或者连接顺序重排而对控制系统的设计进行研究时,需要对应于控制装置的连接顺序的变更而变更对通信数据进行储存的设备。由此,在每次对设备进行变更时,需要对控制程序进行改写,因此进一步增加开发工时。
另外,就与输入输出仪器连接的控制对象仪器而言,针对每个控制装置,作为连接目标的设备不同。因此,存在无法自动生成设备访问用控制程序的课题,该设备访问用控制程序包含从控制系统设计工具调用设备访问函数的处理。
本发明的目的在于,出于在控制装置中通过控制程序对输入输出的输入输出信息进行处理的目的,自动生成对设备进行访问的访问程序,从而削减控制程序的开发工时。
本发明所涉及的程序生成装置具有:
控制程序生成部,其生成由控制装置执行的控制程序;
信息提取部,其对表示包含输入至所述控制装置的输入信息和从所述控制装置输出的输出信息的至少任一者的输入输出信息且在所述控制程序中使用的变量名进行提取;
分配部,其针对所述变量名而分配设备标识符,该设备标识符对储存由所述变量名表示的所述输入输出信息的设备进行识别;
访问程序生成部,其生成使用所述变量名和所述设备标识符对所述设备进行访问的访问程序;以及
程序合成部,其将所述控制程序和所述访问程序进行合成。
发明的效果
在本发明所涉及的程序生成装置中,具有:信息提取部,其对表示包含输入至控制装置的输入信息和从控制装置输出的输出信息的至少任一者的输入输出信息且在控制程序中使用的变量名进行提取;分配部,其针对变量名而分配设备标识符,该设备标识符对由变量名表示的输入输出信息的读出源存储区域或输入输出信息的写入目标存储区域即设备进行识别;访问程序生成部,其生成使用变量名和设备标识符对设备进行访问的访问程序;以及程序合成部,其将控制程序和访问程序进行合成,因此能够自动生成用于在控制装置中利用控制程序对输入输出的输入输出信息进行处理的访问程序,能够削减控制程序的开发工时。
附图说明
图1是实施方式1所涉及的程序生成装置100的结构框图。
图2是表示实施方式1所涉及的程序生成装置100中的程序生成方法的流程图。
图3是表示实施方式1所涉及的控制系统设计部103中的控制系统模型1031的图。
图4是表示实施方式1所涉及的信息提取部105中的输入输出信息203的提取的图。
图5是表示实施方式1所涉及的信息提取部105中的输入输出信息203和设备230的关系的图。
图6是表示通过实施方式1所涉及的程序合成部110实现的控制程序1041和访问程序1083的合成处理的图。
图7是实施方式2所涉及的程序生成装置100a的结构框图。
图8是表示实施方式2所涉及的程序生成装置100a的程序生成处理S100a的一部分的流程图。
图9是实施方式3所涉及的程序生成装置100b的结构框图。
图10是表示实施方式3所涉及的程序生成装置100b的程序生成处理S100b的一部分的流程图。
图11是实施方式4所涉及的程序生成装置100c的结构框图。
图12是表示实施方式4所涉及的程序生成装置100c的程序生成处理S100c的一部分的流程图。
图13是程序生成装置100的硬件结构图。
具体实施方式
实施方式1.
***结构的说明***
本实施方式所涉及的程序生成装置100用于控制系统300的设计,该控制系统300的经由网络连接的多个控制装置200各自一边与其他控制装置200协同动作、一边对生产设备进行控制而制造产品。程序生成装置100也称为控制系统设计装置。
控制装置200是由用于对工厂内的机器人、伺服放大器、加工机械等生产设备进行控制的电源、执行通过C语言程序安装的控制程序的PLC、输入仪器、输出仪器、通信仪器等组合而构成的。输入用设备是与输入仪器相对应的存储器的存储区域。输出用设备是与输出仪器相对应的存储器的存储区域。通信用设备是与通信仪器相对应的存储器的存储区域。
程序生成装置100是在由用户对控制系统300进行设计时使用的,将控制装置200的模型进行配置、接线,基于其结果而生成控制程序。而且,程序生成装置100通过在虚拟空间上仿真执行所生成的控制程序,从而进行控制系统300的动作的验证等。
控制装置200和程序生成装置100通过USB(Universal Serial Bus)线缆或者Ethernet(注册商标)等网络进行连接。
对程序生成装置100的概要进行说明。
程序生成装置100对将控制装置200的控制内容进行模型化而得到的控制装置模型进行配置,对所配置的控制装置模型间的输入输出信息进行定义而进行控制系统模型的设计。控制装置模型间的输入输出信息由在控制程序中使用的变量名定义。而且,程序生成装置100从该控制系统模型的设计信息对表示控制装置模型的输入输出信息的变量名进行提取,针对提取出的变量名而分配设备。在变量名表示输入信息的情况下,针对变量名而分配进行由该变量名表示的输入信息的读出的读出源设备。在变量名表示输出信息的情况下,针对变量名而分配将由该变量名表示的输出信息写入的写入目标设备。而且,程序生成装置100基于变量名和设备的分配信息,自动生成输入输出用设备访问程序和通信用设备访问程序。而且,程序生成装置100将自动生成的输入输出用设备访问程序和通信用设备访问程序插入至控制程序。
使用图1,对本实施方式所涉及的程序生成装置100的模块结构进行说明。
程序生成装置100具有:输入接收部101、模型储存部102、控制系统设计部103、控制程序生成部104、信息提取部105、分配部106、管理文件生成部107、访问程序生成部108、程序合成部110、程序存储部111、通信处理部112。访问程序生成部108具有:输入输出用访问程序生成部1081、通信用访问程序生成部1082。
输入接收部101接收由用户使用输入装置对程序生成装置100输入的输入指示。输入装置是鼠标、键盘等。输入指示是对将控制装置200模型化而得到的控制装置模型201进行配置的操作指示、将控制装置模型201间进行接线的操作指示、将控制程序1041向控制装置200写入的写入指示等。
模型储存部102储存将控制装置200的功能进行模型化而得到的控制装置模型201。模型储存部102将定义出控制装置200的控制内容即功能的数据作为控制装置模型201进行储存。
控制系统设计部103基于来自用户的输入指示,对控制系统300进行设计,生成对控制系统300的设计内容进行模型化而得到的控制系统模型1031。控制系统模型1031是控制系统300的设计信息。用户使用输入接收部101和控制系统设计部103,对控制装置模型201进行选择,对选择出的控制装置模型201进行配置,将所配置的控制装置模型201彼此接线,实施控制系统300的设计。
控制程序生成部104生成由控制装置200执行的控制程序1041。控制程序生成部104基于在控制系统设计部103中生成的控制系统模型1031,以控制装置200为单位生成用于对控制装置200的动作进行控制的控制程序1041。
信息提取部105对表示输入输出信息203且在控制程序1041中使用的变量名202进行提取,该输入输出信息203包含输入至控制装置200的输入信息2031和从控制装置200输出的输出信息2032的至少任一者。
信息提取部105基于在控制系统设计部103中配置的控制装置模型201的配置信息和控制装置模型201间的接线信息,对表示控制装置200的输入输出信息203的变量名202进行提取。即,信息提取部105基于由控制系统设计部103生成的控制系统模型1031,对表示控制装置200的输入输出信息203的变量名202进行提取。
如图3及图4所示,在控制装置200的输入输出信息203中,包含输入至控制装置200的输入信息2031和从控制装置200输出的输出信息2032。另外,将输入信息2031的变量名202设为输入变量名2021,将输出信息2032的变量名202设为输出变量名2022。
另外,在控制装置200的输入输出信息203中,包含控制装置200独自输入或者输出的输入输出数据2033和在控制装置200间进行传递的通信数据2034。
信息提取部105从控制系统模型1031,对在由控制程序生成部104生成的控制程序1041中使用的变量名202进行提取。
分配部106针对变量名202,分配对储存由变量名202表示的输入输出信息203的存储器的存储区域即设备230进行识别的设备标识符2301。关于设备230及设备标识符2301,在后面记述。
分配部106基于使用输入接收部101而从用户输入的输入指示,针对表示输入输出信息203的变量名202而分配设备标识符2301。例如,分配部106将由信息提取部105提取出的输入输出信息203的变量名202在显示装置进行显示,由用户针对显示出的变量名202,将所分配的设备名和设备编号作为设备标识符2301进行定义。
管理文件生成部107生成对表示输入输出信息203的变量名202和设备标识符2301进行了关联的信息而作为管理文件1071。管理文件生成部107将管理文件1071例如以CSV形式生成。
访问程序生成部108使用变量名202和设备标识符2301,生成对设备230进行访问的访问程序1083。访问程序生成部108使用在管理文件1071中设定出的变量名202及设备标识符2301、所访问的设备230专用的设备访问函数,生成访问程序1083。
输入输出用访问程序生成部1081生成与输入输出信息203中的、控制装置200独自输入或者输出的输入输出数据2033有关的访问程序1083而作为输入输出用访问程序10833。
输入输出用访问程序生成部1081基于表示在管理文件1071中储存的输入输出信息203中的输入输出数据2033的变量名202、和分配给该变量名202的设备名及设备编号,生成输入输出用访问程序10833。输入输出用访问程序生成部1081对设备230中的与输入输出数据2033相对应的输入输出用设备进行访问。输入输出用访问程序生成部1081为了生成输入输出用访问程序10833,使用专用的函数。专用的函数是指用于从与输入输出数据2033相对应的输入用设备读出输入输出数据2033,或者向与输入输出数据2033相对应的输出用设备写入输入输出数据2033的相应的设备专用的函数。输入输出用访问程序10833的处理是使用相应的输入输出用设备专用的函数,对针对输入输出信息203的每个变量名202分配的设备标识符的输入输出用设备进行访问的处理。
通信用访问程序生成部1082生成与输入输出信息203中的、在控制装置200间进行传递的通信数据2034有关的访问程序1083而作为通信用访问程序10834。
通信用访问程序生成部1082基于表示在管理文件1071中储存的输入输出信息203中的通信数据2034的变量名202、和分配给该变量名202的设备名及设备编号,生成通信用访问程序10834。通信用访问程序生成部1082为了生成通信用访问程序10834,使用专用的函数。专用的函数是指用于从与通信数据2034相对应的通信用设备读出通信数据2034,或者向与通信数据2034相对应的通信用设备写入通信数据2034的相应设备专用的函数。通信用访问程序10834的处理是使用相应设备专用的函数,对针对输入输出信息203的每个变量名202分配的设备标识符的通信用设备进行访问的处理。
程序合成部110将控制程序1041和访问程序1083进行合成。
程序合成部110向由控制程序生成部104自动生成的控制程序1041插入由访问程序生成部108自动生成的访问程序1083。如上所述,在访问程序1083中包含输入输出用访问程序10833和通信用访问程序10834。
程序合成部110从访问程序1083提取与向控制装置200的输入相应的部分,插入至控制程序1041的头部部分。另外,程序合成部110从访问程序1083提取与来自控制装置200的输出相应的部分,插入至控制程序1041的尾部部分。
程序存储部111对由程序合成部110将访问程序1083插入后的控制程序1041进行储存。
通信处理部112接收来自用户的使用输入接收部101作出的输入指示,将在控制程序存储部111中储存的控制程序1041写入至控制装置200。通信处理部112经由USB线缆、Ethernet(注册商标)等网络,进行将控制程序1041写入至控制装置200的处理。
***动作的说明***
接下来,使用图2至图6,对本实施方式所涉及的程序生成装置100中的程序生成方法、程序生成处理S100进行说明。
图2是表示本实施方式所涉及的程序生成装置100中的程序生成方法的流程图。
图3是表示本实施方式所涉及的控制系统设计部103中的控制系统模型1031的图。
图4是表示本实施方式所涉及的信息提取部105中的输入输出信息203的提取的图。
图5是表示本实施方式所涉及的信息提取部105中的输入输出信息203和设备230的关系的图。
图6是表示本实施方式所涉及的程序合成部110中的控制程序1041和访问程序1083的合成的图。
在图3中,示出使用程序生成装置100,实施3个控制装置200a、200b、200c由控制系统网络500连接的控制系统300的设计的情况。如图5所示,控制装置200a具有:电源210、PLC220、输入用设备X、输出用设备Y、通信用设备L等各种设备230。设备230与传感器、机器人等控制对象仪器240连接。控制装置200a基于在PLC 220上执行的控制程序而对控制对象仪器240进行控制。
在图4中,示出信息提取部105从控制系统模型1031针对每个控制装置模型201而提取出输入输出信息203的变量名202的情况。如上所述,控制系统模型1031是指控制系统300的设计信息,包含控制装置模型201的信息、控制装置模型201间的接线信息等。
在图5中,就控制装置200a而言,输入仪器的输入用设备(在这里,设为输入用设备X)接收来自传感器的信号,PLC 220基于来自传感器的输入信号而在控制程序内执行运算处理。另外,PLC 220通过将运算处理的结果设定至输出仪器的输出用设备(在这里,设为输出用设备Y),从而对与输出仪器连接的控制对象仪器240(例如伺服放大器、机器人等)的动作进行控制。
另外,有时在控制装置200a和其他控制装置200b、200c间经由控制系统网络500进行数据的传递。例如,将控制装置200a中的加工完成通知给下一个工序的控制装置200b的情况等。在通信仪器的通信用设备(在这里,设为通信用设备L)中,通过相对于预先所设定的控制装置200a用区域进行数据的读写,从而各控制装置200的通信用设备的数据以预先指定出的周期进行更新(刷新)。
另外,为了对输入用设备X、输出用设备Y、通信用设备L进行访问,需要由PLC 220的制造商提供的专用的函数。程序生成装置100选择用于对分配给输入输出信息203的变量名202的设备名进行访问的函数,生成使用选择出的函数对各设备进行访问的输入输出用访问程序10833和通信用访问程序10834。在图6中,示出程序生成装置100将输入输出用访问程序10833及通信用访问程序10834插入至控制程序1041的例子。
<控制系统设计处理S101>
在S101中,控制系统设计部103基于由输入接收部101接收到的输入指示,生成控制系统300的设计信息即控制系统模型1031。控制系统设计部103取得在模型储存部102中储存的控制装置模型201,生成针对所取得的控制装置模型201而定义出输入变量名2021和输出变量名2022的控制系统模型1031。
使用图3,使用具体例对控制系统设计处理S101进行说明。
首先,用户使用输入接收部101,从在模型储存部102中储存的控制装置模型201组对控制装置200a的控制装置模型201a、控制装置200b的控制装置模型201b、控制装置200c的控制装置模型201c进行选择。然后,用户将选择出的控制装置模型201a、201b、201c配置于控制系统设计部103。配置于控制系统设计部103是指,例如,用户使用由控制系统设计部103在显示画面中显示的控制系统设计画面而对控制装置模型201进行配置。
接下来,针对所配置的控制装置模型201,分别定义与输入输出信息203相对应的变量名202。在变量名202中包含输入变量名2021和输出变量名2022。
在图3的控制装置模型201a中,作为输入信息2031而被输入来自传感器的输入信号。在图3中示出的是,来自传感器的输入信号的输入变量名2021是传感器输入。另外,从控制装置模型201a,将输出变量名2022分别为工序完成、输送开始、移动开始的3个输出信息2032输出。其中,输出变量名2022为输送开始、移动开始的2个输出信息2032是输入输出数据2033,输出变量名2022为工序完成的输出信息2032是发送至控制装置200b的通信数据2034。
如上所述,在控制装置200间需要进行数据的传递的情况下,针对每个数据将控制装置模型201间接线。
在图3中,将控制装置模型201a的工序完成这一输出和控制装置模型201b的工序开始这一输入间进行了接线。另外,将控制装置模型201b的工序完成这一输出和控制装置模型201c的工序开始这一输入间进行了接线。
此外,在本实施方式中,设为在控制装置模型201间仅对1个数据进行传递,但当将多个数据在模型间进行传递的情况下,与该数据的数量相对应地将模型的输入输出进行接线。另外,在控制装置模型201a和控制装置模型201c间存在数据的传递的情况下,既可以将控制装置模型201a和控制装置模型201c的输入输出进行接线,另外,也可以从控制装置模型201b朝向控制装置模型201a进行接线。
<控制程序生成处理S102>
控制程序生成部104执行控制程序生成处理S102,该控制程序生成处理S102生成由控制装置200执行的控制程序1041。
控制程序生成部104基于由控制系统设计部103设计出的控制系统模型1031,自动生成控制程序1041。
例如,在控制系统300的设计完成后,用户使用输入接收部101而发出控制程序1041的生成指示。控制程序生成部104如果收到生成指示,则基于控制系统模型1031而自动生成控制程序1041。在这里,生成的控制程序1041是以控制装置200的PLC 220为单位生成的。在图3的例子中,面向控制装置200a、控制装置200b、控制装置200c这些控制装置200,分别生成控制程序1041。
<信息提取处理S103>
信息提取部105执行信息提取处理S103,该信息提取处理S103对表示相对于控制装置200输入或者输出的输入输出信息203且在控制程序1041中使用的变量名202进行提取。
信息提取部105从控制系统模型1031对表示控制装置模型201中的输入输出信息203的变量名202进行提取。信息提取部105对表示输入至控制装置200的输入信息2031且在控制程序1041中使用的输入变量名2021进行提取。另外,信息提取部105对表示从控制装置200输出的输出信息2032且在控制程序1041中使用的输出变量名2022进行提取。
信息提取部105从图4的控制系统模型1031,对传感器输入、工序完成、输送开始、移动开始进行提取而作为表示控制装置200a的输入输出信息203的变量名202。传感器输入是输入变量名2021,工序完成、输送开始、移动开始是输出变量名2022。另外,传感器输入、输送开始、移动开始所表示的输入输出信息203是输入输出数据2033,工序完成所表示的输入输出信息203是通信数据2034。
针对变量名202而设定表示是输入信息2031还是输出信息2032的输入输出类别。在图4中,针对输入变量名2021即传感器输入而设定输入作为输入输出类别。另外,针对输出变量名2022即工序完成、输送开始、移动开始而设定输出作为输入输出类别。
<分配处理S104>
分配部106执行分配处理S104,该分配处理S104针对变量名202而分配设备标识符2301,该设备标识符2301对储存由变量名202表示的输入输出信息203的设备230进行识别。
分配部106针对输入变量名2021分配读出源设备标识符23011而作为设备标识符2301,该读出源设备标识符23011对由输入变量名2021表示的输入信息2031的读出源即读出源设备进行识别。另外,分配部106针对输出变量名2022分配写入目标设备标识符23012而作为设备标识符2301,该写入目标设备标识符23012对由输出变量名2022表示的输出信息2032的写入目标即写入目标设备进行识别。
如图4及图5所示,在本实施方式中,来自传感器的传感器输入是从作为输入仪器的输入用设备X的设备编号1读入的。另外,从控制装置200a输出的输送开始的信号被写入至作为输出仪器的输出用设备Y的设备编号1,从控制装置200a输出的移动开始的信号被写入至作为输出仪器的输出用设备Y的设备编号4。另外,从控制装置200a发送至控制装置200b的工序完成的信号被写入至作为通信仪器的通信用设备L的设备编号1。
例如,分配部106将表示由信息提取部105提取出的输入输出信息203的变量名202在显示画面进行显示。用户使用输入接收部101,针对在显示画面显示出的变量名202,分别分配设备名2302及设备编号2303而作为设备标识符2301。
具体地说,针对变量名202的传感器输入,作为设备标识符2301而分配设备名X及设备编号1。针对变量名202的工序完成,作为设备标识符2301而分配设备名L及设备编号1。针对变量名202的输送开始,作为设备标识符2301而分配设备名Y及设备编号1。针对变量名202的移动开始,作为设备标识符2301而分配设备名Y及设备编号4。
<管理文件生成处理S105>
管理文件生成部107创建管理文件1071,对创建出的管理文件1071进行管理,该管理文件1071用于对由分配部106分配给变量名202的设备名2302及设备编号2303的信息进行储存。在这里,生成的管理文件1071是作为CSV形式文件而创建的,将表示输入输出信息203的变量名202、分配给该变量名202的设备名2302及设备编号2303以逗号分隔进行储存。但是,该管理文件1071也可以为与CSV形式文件不同形式的文件。另外,该管理文件1071对由分配部106打开、储存的信息进行显示,用户能够进行确认,也能够使用输入接收部101进行编辑。
<访问程序生成处理S106>
访问程序生成部108执行访问程序生成处理S106,该访问程序生成处理S106生成使用变量名202和设备标识符2301对设备230进行访问的访问程序1083。
访问程序生成部108生成读出程序10831而作为访问程序1083,该读出程序10831使用输入变量名2021和读出源设备标识符23011将输入信息2031读出。读出源设备标识符23011是进行输入信息2031的读出的读出源设备。
另外,访问程序生成部108生成写入程序10832而作为访问程序1083,该写入程序10832使用输出变量名2022和写入目标设备标识符23012将输出信息2032写入。写入目标设备标识符23012是将输出信息2032写入的写入目标设备。
访问程序生成处理S106具有输入输出用访问程序生成处理S1061和通信用访问程序生成处理S1062。
输入输出用访问程序生成处理S1061生成与输入输出数据2033相关的输入输出用访问程序。通信用访问程序生成处理S1062生成与通信数据2034相关的通信用访问程序。
<输入输出用访问程序生成处理S1061>
输入输出用访问程序生成部1081从由管理文件生成部107生成的管理文件1071对分配有输入用设备X及输出用设备Y的输入输出数据2033的变量名202进行提取。输入输出用访问程序生成部1081根据提取出的变量名202,分类为分配有输入用设备X的输入输出数据2033和分配有输出用设备Y的输入输出数据2033。在对各设备进行访问时利用的函数根据设备的类别而不同,因此关于分配有输入用设备X这一设备名的输入输出数据2033的变量名202,使用用于对输入用设备X进行访问的函数(在图6的例子中是getX函数)而生成输入输出用设备访问程序。同样地,关于分配有输出用设备Y这一设备名的输入输出数据2033的变量名202,使用用于对输出用设备Y进行访问的函数(在图6的例子中是setY函数)而生成输入输出用设备访问程序。
<通信用访问程序生成处理S1062>
通信用访问程序生成部1082从由管理文件生成部107生成的管理文件1071对分配有通信用设备L的通信数据2034的变量名202进行提取。通信用访问程序生成部1082将提取出的变量名202分类成输入输出类别为输入的类别和输出的变量名。在输入输出类别为输入的情况下,该变量名202所表示的通信数据2034代表利用从通信用设备L将从其他控制装置接收到的数据读出的函数。另外,在输入输出类别为输出的情况下,该变量名202所表示的通信数据2034代表利用将向其他控制装置发送的数据写入至通信用设备L的函数。使用用于对通信用设备L进行访问的函数而生成通信用访问程序。在图6所示的例子中,由于通信数据2034的变量名202即工序完成的输入输出类别是输出,因此利用用于向通信用设备L写入数据的WriteData函数。例如,在输入输出类别为输入的情况下,利用用于从通信用设备L将数据读出的ReadData函数。
<程序合成处理S107>
程序合成部110执行将控制程序1041和访问程序1083合成的程序合成处理S107。
如图6所示,程序合成部110向控制程序1041的头部插入读出程序10831,并且向控制程序1041的尾部插入写入程序10832。
程序合成部110将输入输出用访问程序10833和通信用访问程序10834插入至在各控制装置的PLC(控制器)上执行的控制程序1041的头部和尾部。
程序合成部110将与输入输出类别为输入的变量名202相对应的输入输出用访问程序10833和通信用访问程序10834插入至控制程序1041的头部。另外,程序合成部110将与输入输出类别为输出的变量名202相对应的输入输出用访问程序10833和通信用访问程序10834插入至控制程序1041的尾部。
如图6所示,在控制程序1041的头部,插入有“传感器输入=getX(1)”这样的读出程序10831。该读出程序10831是从分配给传感器输入的输入用设备X的设备编号1的存储区域利用getX函数而取得值,将所取得的值代入至传感器输入的变量的输入输出用访问程序10833。
另外,在控制程序1041的尾部,插入有“setY(1,输送开始)”、“setY(4,移动开始)”、“WriteData(工序完成)”这3个写入程序10832。“setY(1,输送开始)”的写入程序10832是向分配给输送开始的输出用设备Y的设备编号1的存储区域利用setY函数而将值写入的输入输出用访问程序10833。“setY(4,移动开始)”的写入程序10832是向分配给移动开始的输出用设备Y的设备编号4的存储区域利用setY函数而将值写入的输入输出用访问程序10833。“WriteData(工序完成)”的写入程序10832是向分配给工序完成的通信用设备L的设备编号1的存储区域(控制装置200a用区域)利用WriteData函数而将值写入的通信用访问程序10834。
<控制程序存储处理S108>
程序存储部111对通过程序合成部110而合成了访问程序1083后的控制程序1041进行存储。
<通信处理S109>
通信处理部112接收来自用户的使用输入接收部101作出的输入指示,将在程序存储部111中储存的控制程序1041写入至控制装置200的PLC 220。通信处理部112经由USB线缆、Ethernet(注册商标)等网络,将控制程序1041写入至控制装置200的PLC 220。
此外,关于所要写入的控制程序1041,是在转换为编译后的执行代码后进行写入的。但是,该编译既可以在程序生成装置100内实施,也可以利用其他应用而实施编译。
另外,程序生成装置100有时使用生成的控制程序1041而在虚拟空间上实施仿真,对控制程序1041进行调试,在动作确认完成后向控制装置200内的PLC 220写入控制程序1041。
***本实施方式所涉及的效果的说明***
如以上所述,在本实施方式所涉及的程序生成装置中,从控制系统模型对输入输出信息的变量名进行提取,针对提取出的变量名而分配设备标识符,该设备标识符对存储输入输出信息的存储区域即设备进行识别。另外,在程序生成装置中,生成利用了专用函数的访问程序,该专用函数用于基于所分配的设备标识符(设备名和设备编号)对输入输出用设备或者通信用设备进行访问。而且,在程序生成装置中,自动生成将所生成的访问程序插入至头部和尾部的控制程序。由此,根据本实施方式所涉及的程序生成装置,能够实现控制程序的开发期间的缩短及成本削减。
另外,在本实施方式所涉及的程序生成装置中,针对每个控制装置而生成管理文件,该管理文件针对表示输入输出信息的变量名而分配有对存储输入输出信息的存储区域即设备进行识别的设备标识符。由此,根据本实施方式所涉及的程序生成装置,即使连接目标设备(存储器的实际地址)针对每个控制装置而不同,也能够自动生成将设备访问函数的调用处理也包含在内的设备访问用控制程序。
实施方式2.
在本实施方式中,主要对与实施方式1的不同点进行说明。
在本实施方式中,针对与在实施方式1中说明的结构相同的结构而标注相同的标号,有时省略其说明。
***结构的说明***
在实施方式1所涉及的程序生成装置100中,访问程序1083是针对表示输入输出信息203的每个变量名202而利用专用的函数进行数据的读出或者写入的处理。但是,在本实施方式中,对程序生成装置100a进行说明,该程序生成装置100a能够针对表示输入输出信息203的变量名202中的分配有相同设备名的变量名202,对设备编号的连续性进行检查,将具有连续性的输入输出信息203汇总而进行读出或者写入。
图7是表示本实施方式所涉及的程序生成装置100a的模块结构的图。
本实施方式所涉及的程序生成装置100a在图1的程序生成装置100的模块结构的基础上,具有设备整理部113和设备提取部114。
设备整理部113针对设备名2302相同的变量名202,以设备编号2303按编号顺序排列的方式重新排列。设备整理部113生成以设备编号2303按编号顺序排列的方式重新排列后的变量名的一览2020。设备整理部113使用管理文件1071,将变量名202分类成输入输出类别的输入和输出,针对相同设备名2302的变量名202,以设备编号2303进行排序。
设备提取部114基于以编号顺序重新排列后的设备编号2303,从变量名的一览2020对多个变量名202进行提取。
设备提取部114针对通过设备整理部113以设备编号顺序重新排列后的变量名的一览2020,对设备编号2303的连续性进行检查。设备提取部114基于设备编号2303的连续性的检查结果,从变量名的一览2020对多个变量名202进行提取。如果在一定的范围内存在作为访问对象的设备编号2303,则设备提取部114向访问程序生成部108指示将它们汇总而使用一个函数进行数据的读出或者写入。
访问程序生成部108生成集中地对与多个变量名202相对应的多个设备230进行访问的访问程序1083。与多个变量名202相对应的多个设备230是指,对多个变量名202所表示的多个输入输出信息203分别进行存储的多个设备230。
***动作的说明***
图8是表示本实施方式所涉及的程序生成装置100a的程序生成处理S100a的一部分的流程图。
在本实施方式所涉及的程序生成处理S100a中,进行与实施方式1中说明的程序生成处理S100的从S101至S105为止的处理、及从S107至S109为止的处理相同的处理,因此在这里省略说明。
在S105中,管理文件生成部107在生成管理文件1071后,进入至S1051。
在S1051中,设备整理部113将设备名相同的变量名202以其设备编号按编号顺序排列的方式进行重新排列,生成以设备编号按编号顺序排列的方式重新排列后的变量名的一览2020。首先,设备整理部113将在管理文件1071中设定的变量名202分类成输入输出类别的输入和输出。接下来,设备整理部113使用设备名,针对设备的每个类别对变量名进行分类。例如,设备整理部113分类成输入用设备X、输出用设备Y、通信用设备L。而且,设备整理部113针对分类后的每个类别将变量名202以设备编号进行排序,以设备编号按编号顺序排列的方式对变量名202进行重新排列。在这里,变量名的一览2020是指将分配有相同的设备名的变量名202以设备编号按编号顺序排列的方式进行重新排列后的一览。
在S1052中,设备提取部114基于以编号顺序重新排列后的设备编号,从变量名的一览2020对多个变量名202进行提取。
设备提取部114在针对设备的每个类别的变量名一览2020中,对设备编号的连续性进行检查。对设备编号的连续性进行检查是指,在设备编号的一定的范围(例如1~16、17~32、33~48、···)内,对成为读出或者写入的对象的设备编号有几个进行检查。作为检查后的结果,在一定的范围内分配有多个设备编号的情况下,向访问程序生成部108指示将它们汇总而使用一个专用的函数进行数据的读出或者写入。
在S106a中,访问程序生成部108生成对与多个变量名202相对应的多个设备230通过一个函数进行访问的访问程序1083。
在与变量名的一览2020相对应的设备的类别为输入用设备X或者输出用设备Y的情况下,输入输出用访问程序生成部1081生成通过一个专用的函数对与多个变量名202相对应的多个设备进行访问的输入输出用访问程序10833(S1061a)。
另外,在与变量名的一览相对应的设备的类别为通信用设备的情况下,通信用访问程序生成部1082生成通过一个专用的函数对与多个变量名202相对应的通信用设备L进行访问的通信用访问程序10834(S1062a)。
接下来,使用具体例进行说明。
向多个变量名202分配有输入用设备X的设备名X,作为其设备编号而分配有1、3、8、10、36、37。此时,设备提取部114判断为设备编号1、3、8、10能够使用一个函数(例如,getWordX函数)将设备的值读出。同样地,设备提取部114判断为设备编号36、37也能够利用一个函数(例如,getWordX函数)将设备的值读出。
设备提取部114将该判断结果通知给访问程序生成部108的输入输出用访问程序生成部1081。
输入输出用访问程序生成部1081接收来自设备提取部114的通知而生成访问程序1083,该访问程序1083是进行利用getWordX函数将与多个变量名202对应的数据汇总而读出的处理,来作为从输入用设备X将数据读出的处理。
在实施方式1中,利用了针对1个变量名202而单独地将数据读出的函数(例如getX函数)。输入用设备X是位设备,因此在getX函数中以1位为单位将数据读出,但在getWordX函数中能够以字为单位(16位)将数据读出。因此,在实施方式1中,为了将输入用设备的设备编号1、3、8、10的数据读出,执行了4次getX函数,但在本实施方式中,仅通过执行1次getWordX函数,就能够将输入用设备的设备编号1、3、8、10的数据读出。
在对多个变量名202分配有输出用设备Y的情况下,也能够应用与向输入用设备X的访问方法相同的思路。
此外,在对多个变量名202分配有通信用设备L的情况下,由于通信用设备L是字设备,因此设备提取部114判断为仅在设备编号为1、2、3这种完全地连续的情况下,能够利用一个函数(例如,在数据的写入的情况下为WriteDatas函数)进行数据向通信用设备L的写入。设备提取部114将该判断结果通知给通信用访问程序生成部1082。在进行数据相对于通信用设备L的读出或者写入的函数中,能够将进行数据的读出或者写入的通信用设备L的起始的设备编号和一次性地进行读出或者写入的数据的字数指定为自变量。
***本实施方式所涉及的效果的说明***
如以上所述,在本实施方式所涉及的程序生成装置中,自动生成利用了如下函数的访问程序,即,对设备编号的连续性进行检查,将所需的数据汇总而读出或写入。由此,根据本实施方式所涉及的程序生成装置,能够削减由用户进行的控制程序开发的开发工时,并且能够提高数据相对于设备的读出、写入处理的性能,实现控制程序的执行性能的提高。
实施方式3.
在本实施方式中,主要对与实施方式2的不同点进行说明。
在本实施方式中,针对与实施方式1、2中说明的结构相同的结构标注相同的标号,有时省略其说明。
在实施方式2所涉及的程序生成装置100a中,针对变量名的一览2020而对设备编号的连续性进行检查,通过一个函数对向在一定的范围内分配有多个设备编号的设备的访问进行处理。在本实施方式中,说明根据设备编号的连续性的检查结果,将能够提高控制程序的执行性能的设备编号的推荐值的组作为推荐设备编号23031进行计算,向用户进行提示的功能。
***结构的说明***
图9是表示本实施方式所涉及的程序生成装置100b的模块结构的图。
本实施方式所涉及的程序生成装置100b在图7的程序生成装置100a的模块结构的基础上,具有推荐设备计算部115和推荐设备显示部116。
推荐设备计算部115基于由设备提取部114得到的设备编号的连续性的检查结果,将分配给变量名一览2020的设备编号的推荐值的组作为推荐设备编号23031进行计算。推荐设备计算部115对推荐设备编号进行计算,以使得能够削减专用函数的调用次数,其中,该专用函数用于进行数据相对于与变量名的一览2020相对应的设备的读出或者写入。
推荐设备显示部116将如果分配给变量名的一览2020,则能够缩短处理时间的推荐设备编号在显示画面进行显示。
例如,用户使用在显示画面显示出的推荐设备编号,将推荐设备编号分配给变量名的一览2020。或者,也可以是如果通过推荐设备计算部115计算出推荐设备编号,则管理文件生成部107自动地将推荐设备编号分配给变量名的一览2020,对管理文件1071进行更新。
***动作的说明***
图10是表示本实施方式所涉及的程序生成装置100b的程序生成处理S100b的一部分的流程图。
在本实施方式所涉及的程序生成处理S100b中,进行与实施方式2中说明的程序生成处理S100a的从S101至S1051为止的处理、及从S106a至S109为止的处理相同的处理,因此在这里省略说明。在本实施方式所涉及的程序生成处理S100b中,在实施方式2中说明的S1052的处理成为图10所示的S1052b所示的处理。
在S10521中,设备提取部114对变量名的一览2020中的设备编号的连续性进行检查。设备编号的连续性的检查是指,提取能够通过一个函数汇总地进行数据的读出或者写入的多个设备编号。设备提取部114对以编号顺序重新排列后的设备编号的连续性进行判定,基于判定结果对多个设备编号进行提取。
在S10522中,推荐设备计算部115计算通过一个函数对与多个设备编号相对应的多个设备进行访问的情况下的现状处理时间601,将能够以比现状处理时间601短的处理时间进行访问的新的多个设备编号作为推荐设备编号进行计算。推荐设备计算部115基于设备提取部114的检查结果,将对分配给变量名202的设备进行访问的处理的现状下的处理时间作为现状处理时间601进行计算。在推荐设备计算部115中,预先保存各函数(例如,getX函数、WriteData函数等)的处理时间。推荐设备计算部115基于通过设备提取部14得到的检查结果,将对各设备进行访问的函数的执行所需的时间相加而对总的现状处理时间进行计算。该现状处理时间是基准。另外,对于推荐设备计算部115而言,该现状处理时间是在控制程序1041的头部和尾部插入的读出程序10831和写入程序10832的处理时间。推荐设备计算部115将现状处理时间601分成头部的读出程序10831的处理时间和尾部的写入程序10832的处理时间而进行计算。
在S10523中,推荐设备计算部115基于变量名的一览2020的设备编号,对表示能够缩短现状处理时间的设备编号的分配的推荐设备编号进行计算。
推荐设备计算部115从设备整理部113取得以设备编号排序(重新排列)后的结果即变量名的一览2020。推荐设备计算部115将设备编号变更为其他范围的设备编号,使设备编号具有连续性。推荐设备计算部115寻找通过如上所述使设备编号具有连续性,从而将原本执行两个函数而进行数据的读出或者写入的处理汇总为执行一个函数而进行数据的读出或者写入的处理的部位。
例如,推荐设备计算部115在输入用设备X的设备编号被分配为10、11、17、18的情况下,设备提取部114判断为是针对设备编号10及11、17及18,通过两个函数进行数据的读出。另一方面,在推荐设备计算部115中,对在设备编号的11和17之间的未使用部位的数量进行检查,判断为通过将设备编号17及18变更为未使用部位的设备编号15及16,使设备编号包含于1~16的范围内,由此可以通过能以字为单位进行数据的读出的一个函数进行处理。由此,推荐设备计算部115将输入用设备X的推荐设备编号计算为10、11、15、16。
推荐设备计算部115针对输出用设备Y、通信用设备L,也判断是否通过设备编号的变更而对原本利用不同函数的部位进行了汇总,对推荐设备编号进行计算。
在S10524中,推荐设备计算部对将推荐设备编号分配给变量名的一览2020的情况下的推荐处理时间602进行计算。即,推荐设备计算部在将推荐设备编号分配给变量名的一览2020的情况下,将对各设备进行访问的函数的执行所需的时间的总处理时间作为推荐处理时间602进行计算。
在S10525中,推荐设备显示部116接收由推荐设备计算部115计算出的推荐设备编号和推荐处理时间602,在显示画面进行显示。推荐设备显示部116使用用户容易将现状下的设备编号及现状处理时间601与推荐设备编号及推荐处理时间602进行对比的布局而在显示画面进行显示。
***本实施方式所涉及的效果的说明***
如以上所述,根据本实施方式所涉及的程序生成装置,通过变更为所分配的设备编号具有连续性,从而能够减少用于执行设备的读出或者写入的函数的调用次数。另外,根据本实施方式所涉及的程序生成装置,将通过变更为使设备编号具有连续性而对处理时间造成的影响在显示画面进行显示,因此用户能够对设备编号的变更结果(推荐值)和总的处理时间进行确认,判断是否对设备编号的分配进行变更,能够进一步实现控制程序的执行性能的提高。
实施方式4.
在本实施方式中,主要对与实施方式1的不同点进行说明。
在本实施方式中,针对与实施方式1中说明的结构相同的结构标注相同的标号,有时省略其说明。
在实施方式1中,分配部106基于从用户使用输入接收部101而输入的分配指示,针对变量名202而分配有设备名和设备编号。在本实施方式中,说明例如利用通过其他设计装置创建出的文件,由分配部针对变量名自动地分配设备名和设备编号的功能。
***结构的说明***
图11是表示本实施方式所涉及的程序生成装置100c的模块结构的图。
本实施方式所涉及的程序生成装置100c在图1的程序生成装置100的模块结构的基础上,具有分配信息储存部117。另外,本实施方式所涉及的程序生成装置100c的输入接收部101c的功能和分配部106c的功能与实施方式1不同。
分配信息储存部117对针对变量名202而关联有设备标识符2301的分配信息1171进行储存。分配信息1171是向变量名分配有设备名、设备编号的信息,例如是通过其他设计装置进行定义的信息。其他设计装置是指执行软件的装置,该软件针对变量名202进行设备230的分配。
输入接收部101c从用户接收分配信息1171的指定。输入接收部101c将从用户接收到的分配信息1171的指定输出至分配信息储存部117。分配信息储存部117将指定出的分配信息1171的文件打开对所储存的数据进行读取。分配信息储存部117也称为设备分配信息指定部。
分配部106c基于分配信息1171,针对变量名202,分配与变量名202相关联的设备标识符2301。分配部106c将由分配信息储存部117读取出的变量名202及与该变量名202相关联的设备标识符2301,与由信息提取部105提取出的变量名202进行比较。分配部106c针对由信息提取部105提取出的变量名202,自动地分配与由信息提取部105提取出的变量名202相同的变量名202所对应的设备标识符2301。该分配部106c也称为分配信息协同部。
***动作的说明***
图12是表示本实施方式所涉及的程序生成装置100c的程序生成处理S100c的一部分的流程图。
在本实施方式所涉及的程序生成处理S100c中,进行与实施方式1中说明的程序生成处理S100的从S101至S103为止的处理、及从S105至S109为止的处理相同的处理,因此在这里省略说明。在本实施方式所涉及的程序生成处理S100c中,在S101的处理前执行S101c。另外,在实施方式1中说明的分配处理S104成为后面记述的S104c的处理。
在S101c中,输入接收部101c从用户接收分配信息1171的文件名的指定。输入接收部101c将从用户接收到的分配信息1171的文件名的指定输出至分配信息储存部117。分配信息储存部117基于指定出的分配信息1171的文件名,将指定出的分配信息1171的文件打开,对所储存的数据进行读取,输出至分配部106c。
在S104中,分配部106c从分配信息储存部117接收由用户指定出的分配信息1171。另外,分配部106c接收由信息提取部105提取出的变量名202。
分配部106c将由信息提取部105提取出的变量名202和在分配信息1171中设定的变量名202进行比较。分配部106c对与由信息提取部105提取出的变量名202相同的变量名是否被设定于分配信息1171进行判定。分配部106c在找到相同的变量名的情况下,在分配信息1171中对与该变量名相关联的设备标识符2301(设备名和设备编号)进行提取,将提取出的设备名和设备编号自动地分配给变量名202。
***本实施方式所涉及的效果的说明***
如以上所述,根据本实施方式所涉及的程序生成装置,能够将与表示输入输出信息的变量名相对的设备名和设备编号的分配,利用由其他设计装置定义出的分配信息而实现自动化。由此,根据本实施方式所涉及的程序生成装置,不需要由用户进行的分配作业,能够减轻作业负荷。
接下来,使用图13,对实施方式1所涉及的程序生成装置100的硬件结构的一个例子进行说明。
程序生成装置100是计算机。
程序生成装置100具有处理器901、辅助存储装置902、存储器903、通信装置904、输入接口905、显示器接口906这样的硬件。
处理器901经由信号线910与其他硬件连接,对这些其他硬件进行控制。
输入接口905与输入装置907连接。
显示器接口906与显示器908连接。
处理器901是进行处理的IC(Integrated Circuit)。
处理器901例如是CPU、DSP(Digital Signal Processor)、GPU。
辅助存储装置902例如是ROM(Read Only Memory)、闪存存储器、HDD(Hard DiskDrive)。
存储器903例如是RAM(Random Access Memory)。
通信装置904包含对数据进行接收的接收器9041及对数据进行发送的传送器9042。
通信装置904例如是通信芯片或NIC(Network Interface Card)。
输入接口905是与输入装置907的线缆911连接的端口。
输入接口905例如是USB(Universal Serial Bus)端子。
显示器接口906是与显示器908的线缆912连接的端口。
显示器接口906例如是USB端子或HDMI(注册商标)(High Definition MultimediaInterface)端子。
输入装置907例如是鼠标、键盘或触摸面板。
显示器908例如是LCD(Liquid Crystal Display)。
在辅助存储装置902中存储有实现图1所示的输入接收部101、控制系统设计部103、控制程序生成部104、信息提取部105、分配部106、管理文件生成部107、访问程序生成部108、程序合成部110、程序存储部111、通信处理部112、输入输出用访问程序生成部1081、通信用访问程序生成部1082等的功能的程序。下面,将输入接收部101、控制系统设计部103、控制程序生成部104、信息提取部105、分配部106、管理文件生成部107、访问程序生成部108、程序合成部110、程序存储部111、通信处理部112、输入输出用访问程序生成部1081、通信用访问程序生成部1082等汇总,记作“部”。
实现上述的“部”的功能的程序也称为程序生成程序。实现“部”的功能的程序既可以是1个程序,也可以由多个程序构成。另外,实现“部”的功能的程序存储在磁盘、软盘、光盘、压缩盘(compact disc)、蓝光(注册商标)光盘、DVD等存储介质中。
该程序被载入至存储器903,读入至处理器901,由处理器901执行。
并且,在辅助存储装置902中还存储有OS(Operating System)。
而且,OS的至少一部分被载入至存储器903,处理器901一边执行OS、一边执行实现“部”的功能的程序。
在图2中,图示出1个处理器901,但程序生成装置100也可以具有多个处理器901。
而且,也可以是多个处理器901协同地执行实现“部”的功能的程序。
另外,表示“部”的处理的结果的信息、数据、信号值、变量值,被作为文件而存储于存储器903、辅助存储装置902、或处理器901内的寄存器或缓存存储器。
也可以通过“电路系统”提供“部”。
另外,也可以将“部”换做“电路”或“工序”或“流程”或“处理”。另外,也可以将“处理”换做“电路”或“工序”或“流程”或“部”。
“电路”及“电路系统”是不仅包含处理器901,还包含逻辑IC或GA(Gate Array)或ASIC(Application Specific Integrated Circuit)或FPGA(Field-Programmable GateArray)这样的其他种类的处理电路的概念。
此外,称为程序产品的是记录有将实现作为“部”进行了说明的功能的程序的存储介质、存储装置等,与表观上的形式无关,载入有计算机可读取的程序。
在上述的实施方式中,“部”各自作为独立的功能块构成了程序生成装置100。但是,程序生成装置100也可以不是上述这样的结构,程序生成装置100的结构是任意的。
例如,也可以将控制系统设计部103、控制程序生成部104作为1个功能块。另外,也可以将信息提取部105、分配部106、管理文件生成部107作为1个功能块。程序生成装置100的功能块只要能够实现在上述的实施方式中说明的功能即可,是任意的。也可以将这些功能块进行其他任意的组合,或者通过任意的模块结构而构成通信装置。
另外,程序生成装置100也可以不是1个装置,而是由多个装置构成的程序生成系统。
另外,对实施方式1至4进行了说明,但也可以将这4个实施方式中的多个局部地组合而实施。或者,也可以将这4个实施方式中的1个实施方式局部地实施。除此以外,也可以将这4个实施方式作为整体或者局部地任意组合而实施。
此外,上述的实施方式本质上是优选的例示,本发明并不意在对其应用物、用途的范围进行限制,能够根据需要进行各种变更。
标号的说明
100、100a、100b、100c程序生成装置,101、101c输入接收部,102模型储存部,103控制系统设计部,1031控制系统模型,104控制程序生成部,1041控制程序,105信息提取部,106、106c分配部,107管理文件生成部,1071管理文件,108访问程序生成部,110程序合成部,111程序存储部,112通信处理部,113设备整理部,114设备提取部,115推荐设备计算部,116推荐设备显示部,117分配信息储存部,1171分配信息,1081输入输出用访问程序生成部,1082通信用访问程序生成部,1083访问程序,10831读出程序,10832写入程序,10833输入输出用访问程序,10834通信用访问程序,200、200a、200b、200c控制装置,201、201a、201b、201c控制装置模型,202变量名,2020变量名的一览,2021输入变量名,2022输出变量名,203输入输出信息,2031输入信息,2032输出信息,2033输入输出数据,2034通信数据,210电源,220PLC,230设备,240控制对象仪器,X输入用设备,Y输出用设备,L通信用设备,2301设备标识符,23011读出源设备标识符,23012写入目标设备标识符,2302设备名,2303设备编号,23031推荐设备编号,300控制系统,500控制系统网络,601现状处理时间,602推荐处理时间,901处理器,902辅助存储装置,903存储器,904通信装置,905输入接口,906显示器接口,907输入装置,908显示器,910信号线,911、912线缆,9041接收器,9042传送器,S100、S100a、S100b、S100c程序生成处理,S102控制程序生成处理,S103信息提取处理,S104分配处理,S106访问程序生成处理,S107程序合成处理,S108程序存储处理,S109通信处理,X输入用设备,Y输出用设备,L通信用设备。
Claims (10)
1.一种程序生成装置,其具有:
控制程序生成部,其生成由控制装置执行的控制程序;
信息提取部,其对表示包含输入至所述控制装置的输入信息和从所述控制装置输出的输出信息的至少任一者的输入输出信息且在所述控制程序中使用的变量名进行提取;
分配部,其针对所述变量名而分配设备标识符,该设备标识符对储存由所述变量名表示的所述输入输出信息的设备进行识别;
访问程序生成部,其生成使用所述变量名和所述设备标识符对所述设备进行访问的访问程序;以及
程序合成部,其将所述控制程序和所述访问程序进行合成。
2.根据权利要求1所述的程序生成装置,其中,
所述信息提取部将表示所述输入信息的所述变量名作为输入变量名进行提取,并且将表示所述输出信息的所述变量名作为输出变量名进行提取,
所述分配部针对所述输入变量名分配读出源设备标识符而作为所述设备标识符,并且针对所述输出变量名分配写入目标设备标识符而作为所述设备标识符,该读出源设备标识符对由所述输入变量名表示的所述输入信息的读出源即输入用设备进行识别,该写入目标设备标识符对由所述输出变量名表示的所述输出信息的写入目标即输出用设备进行识别。
3.根据权利要求2所述的程序生成装置,其中,
所述访问程序生成部生成使用所述输入变量名和所述读出源设备标识符将所述输入信息读出的读出程序、和使用所述输出变量名和所述写入目标设备标识符将所述输出信息写入的写入程序而作为所述访问程序。
4.根据权利要求3所述的程序生成装置,其中,
所述程序合成部将所述读出程序插入至所述控制程序的头部,并且将所述写入程序插入至所述控制程序的尾部。
5.根据权利要求2至4中任一项所述的程序生成装置,其中,
所述程序生成装置具有:
模型储存部,其储存将所述控制装置进行模型化而得到的控制装置模型;以及
控制系统设计部,其取得在所述模型储存部中储存的所述控制装置模型,生成针对所取得的所述控制装置模型而定义出所述输入变量名和所述输出变量名的控制系统模型,
所述信息提取部从由所述控制系统设计部生成的所述控制系统模型,对所述输入变量名和所述输出变量名进行提取。
6.根据权利要求1至5中任一项所述的程序生成装置,其中,
所述分配部针对所述变量名,将所述设备的设备名和设备编号作为所述设备标识符而进行分配,
所述程序生成装置具有:
设备整理部,其针对所述变量名中的所述设备名相同的变量名,以所述设备编号按编号顺序排列的方式重新排列,生成以所述设备编号按编号顺序排列的方式重新排列后的变量名的一览;以及
设备提取部,其基于以编号顺序重新排列后的所述设备编号,从所述变量名的一览对多个变量名进行提取,
所述访问程序生成部生成通过一个函数对与所述多个变量名相对应的多个设备进行访问的所述访问程序。
7.根据权利要求1至5中任一项所述的程序生成装置,其中,
所述分配部针对所述变量名,将所述设备的设备名和设备编号作为所述设备标识符而进行分配,
所述程序生成装置具有:
设备整理部,其针对所述变量名中的所述设备名相同的变量名,以所述设备编号按编号顺序排列的方式重新排列,生成以所述设备编号按编号顺序排列的方式重新排列后的变量名的一览;
设备提取部,其对以编号顺序重新排列后的所述设备编号的连续性进行判定,基于判定结果而对多个设备编号进行提取;
推荐设备计算部,其计算通过一个函数对与所述多个设备编号相对应的多个设备进行访问的情况下的现状处理时间,将能够以比所述现状处理时间短的处理时间进行访问的新的多个设备编号,作为推荐设备编号进行计算;以及
推荐设备显示部,其对所述推荐设备编号进行显示。
8.根据权利要求1至7中任一项所述的程序生成装置,其中,
所述程序生成装置具有分配信息储存部,该分配信息储存部对针对所述变量名而关联有所述设备标识符的分配信息进行储存,
所述分配部基于所述分配信息,针对所述变量名而分配与所述变量名相关联的所述设备标识符。
9.一种程序生成方法,在该方法中,
控制程序生成部生成由控制装置执行的控制程序,
信息提取部对表示包含输入至所述控制装置的输入信息和从所述控制装置输出的输出信息的至少任一者的输入输出信息且在所述控制程序中使用的变量名进行提取,
分配部针对所述变量名而分配设备标识符,该设备标识符对储存由所述变量名表示的所述输入输出信息的设备进行识别,
访问程序生成部生成使用所述变量名和所述设备标识符对所述设备进行访问的访问程序,
程序合成部将所述控制程序和所述访问程序进行合成。
10.一种程序生成程序,其使计算机执行下述处理:
控制程序生成处理,生成由控制装置执行的控制程序;
信息提取处理,对表示包含输入至所述控制装置的输入信息和从所述控制装置输出的输出信息的至少任一者的输入输出信息且在所述控制程序中使用的变量名进行提取;
分配处理,针对所述变量名而分配设备标识符,该设备标识符对储存由所述变量名表示的所述输入输出信息的设备进行识别;
访问程序生成处理,生成使用所述变量名和所述设备标识符对所述设备进行访问的访问程序;以及
程序合成处理,将所述控制程序和所述访问程序进行合成。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/065229 WO2016189689A1 (ja) | 2015-05-27 | 2015-05-27 | プログラム生成装置、プログラム生成方法及びプログラム生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107615190A true CN107615190A (zh) | 2018-01-19 |
Family
ID=57393866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580080436.9A Pending CN107615190A (zh) | 2015-05-27 | 2015-05-27 | 程序生成装置、程序生成方法及程序生成程序 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP6289751B2 (zh) |
CN (1) | CN107615190A (zh) |
DE (1) | DE112015006570T5 (zh) |
TW (1) | TW201642058A (zh) |
WO (1) | WO2016189689A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287001A (zh) * | 2019-06-18 | 2019-09-27 | 山东工商学院 | 程序合成虚拟机 |
CN112384868A (zh) * | 2018-06-19 | 2021-02-19 | 三菱电机株式会社 | 程序执行辅助装置、程序执行辅助方法及程序执行辅助程序 |
CN113994647A (zh) * | 2019-06-07 | 2022-01-28 | 大金工业株式会社 | 设备控制系统、设备的控制方法 |
CN114365048A (zh) * | 2019-09-12 | 2022-04-15 | 三菱电机株式会社 | 数控装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11334379B2 (en) | 2017-02-24 | 2022-05-17 | Kabushiki Kaisha Toshiba | Control device |
CN107463147A (zh) * | 2017-08-22 | 2017-12-12 | 北京天诚同创电气有限公司 | Plc程序开发方法及装置 |
JP6496058B1 (ja) | 2018-03-01 | 2019-04-03 | 株式会社東芝 | エンジニアリングツール、コントローラ、および制御システム |
JP7273935B2 (ja) * | 2018-10-23 | 2023-05-15 | 株式会社キーエンス | 外部設定機器、ロギング設定方法およびプログラム |
EP3882766A1 (de) * | 2020-03-20 | 2021-09-22 | Siemens Aktiengesellschaft | Verfahren und anordnung zum verwalten von automatisierungs-programmen für industrielle automatisierungsplattformen |
JP7317269B2 (ja) * | 2021-06-28 | 2023-07-28 | 三菱電機株式会社 | 通信周期決定装置、通信周期決定方法および通信周期決定プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338732A (ja) * | 1998-05-27 | 1999-12-10 | Fuji Electric Co Ltd | プログラマブルコントローラ支援装置および記録媒体 |
CN1989464A (zh) * | 2004-07-28 | 2007-06-27 | 三菱电机株式会社 | 可编程控制器用程序生成装置、方法及程序存储介质 |
JP2009146229A (ja) * | 2007-12-14 | 2009-07-02 | Fuji Electric Systems Co Ltd | プログラマブルコントローラシステム |
JP5079166B1 (ja) * | 2011-07-01 | 2012-11-21 | 三菱電機株式会社 | シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5508078B2 (ja) * | 2010-03-23 | 2014-05-28 | メタウォーター株式会社 | プログラム作成支援装置および方法ならびにプログラム |
-
2015
- 2015-05-27 CN CN201580080436.9A patent/CN107615190A/zh active Pending
- 2015-05-27 DE DE112015006570.9T patent/DE112015006570T5/de not_active Withdrawn
- 2015-05-27 WO PCT/JP2015/065229 patent/WO2016189689A1/ja active Application Filing
- 2015-05-27 JP JP2017520154A patent/JP6289751B2/ja not_active Expired - Fee Related
- 2015-07-07 TW TW104121978A patent/TW201642058A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338732A (ja) * | 1998-05-27 | 1999-12-10 | Fuji Electric Co Ltd | プログラマブルコントローラ支援装置および記録媒体 |
CN1989464A (zh) * | 2004-07-28 | 2007-06-27 | 三菱电机株式会社 | 可编程控制器用程序生成装置、方法及程序存储介质 |
JP2009146229A (ja) * | 2007-12-14 | 2009-07-02 | Fuji Electric Systems Co Ltd | プログラマブルコントローラシステム |
JP5079166B1 (ja) * | 2011-07-01 | 2012-11-21 | 三菱電機株式会社 | シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112384868A (zh) * | 2018-06-19 | 2021-02-19 | 三菱电机株式会社 | 程序执行辅助装置、程序执行辅助方法及程序执行辅助程序 |
CN112384868B (zh) * | 2018-06-19 | 2024-04-02 | 三菱电机株式会社 | 程序执行辅助装置、程序执行辅助方法及计算机可读取的存储介质 |
CN113994647A (zh) * | 2019-06-07 | 2022-01-28 | 大金工业株式会社 | 设备控制系统、设备的控制方法 |
CN113994647B (zh) * | 2019-06-07 | 2023-11-17 | 大金工业株式会社 | 设备控制系统、设备的控制方法 |
CN110287001A (zh) * | 2019-06-18 | 2019-09-27 | 山东工商学院 | 程序合成虚拟机 |
CN114365048A (zh) * | 2019-09-12 | 2022-04-15 | 三菱电机株式会社 | 数控装置 |
CN114365048B (zh) * | 2019-09-12 | 2022-12-02 | 三菱电机株式会社 | 数控装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201642058A (zh) | 2016-12-01 |
DE112015006570T5 (de) | 2018-03-15 |
WO2016189689A1 (ja) | 2016-12-01 |
JPWO2016189689A1 (ja) | 2017-07-27 |
JP6289751B2 (ja) | 2018-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107615190A (zh) | 程序生成装置、程序生成方法及程序生成程序 | |
CN202183045U (zh) | 测试装置与硬件在环仿真器 | |
CN105143895B (zh) | 从交互式图形用户界面中自动生成测试类预编译头 | |
US8600723B2 (en) | Modeling and simulation method | |
CN106095654A (zh) | 性能验证装置、具有性能验证装置的系统以及方法 | |
US20070129818A1 (en) | Implementing a Design Flow for a Programmable Hardware Element That Includes a Processor | |
US20220292248A1 (en) | Method, system and verifying platform for system on chip verification | |
US8543976B1 (en) | Generation of multi-domain code from a graphical program | |
NL8900084A (nl) | Op kennis gebaseerde werkwijzen en inrichting voor het ontwerpen van geintegreerde schakelingen uitgaande van functionele specificaties. | |
CN104903798B (zh) | 用于所模拟的可编程逻辑控制器的自动化输入模拟 | |
CN104143015B (zh) | 分析集成电路设计的稀疏连线区域的方法及系统 | |
US10884715B2 (en) | Method for generating source code | |
JP2001109788A (ja) | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 | |
CN105956302A (zh) | 一种可配置的抗辐射芯片前端网表自动生成方法 | |
CN105677560B (zh) | 一种测试方法、装置及系统 | |
US11023635B1 (en) | Sequence of frames generated by emulation and waveform reconstruction using the sequence of frames | |
Fiergolski | Simulation environment based on the Universal Verification Methodology | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
Gerstlauer et al. | System-on-chip component models | |
Yetter | High-speed fault simulation for UNIVAC 1107 computer system | |
Deutsch et al. | Robust optimization of test-architecture designs for core-based SoCs | |
US20240094290A1 (en) | Integrating Machine Learning Delay Estimation in FPGA-Based Emulation Systems | |
US20220300690A1 (en) | Incremental compilation for fpga-based systems | |
McGinty et al. | Developing a modern platform for test engineering—Introducing the origen semiconductor developer's kit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20190924 |
|
AD01 | Patent right deemed abandoned |