CN116450589A - 控制系统、信息处理装置以及记录介质 - Google Patents
控制系统、信息处理装置以及记录介质 Download PDFInfo
- Publication number
- CN116450589A CN116450589A CN202310457195.1A CN202310457195A CN116450589A CN 116450589 A CN116450589 A CN 116450589A CN 202310457195 A CN202310457195 A CN 202310457195A CN 116450589 A CN116450589 A CN 116450589A
- Authority
- CN
- China
- Prior art keywords
- data type
- information processing
- column
- processing apparatus
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 173
- 238000011161 development Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 description 66
- 238000010586 diagram Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 38
- 238000012790 confirmation Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
控制系统、信息处理装置以及记录介质。控制系统具有:数据库,其保持有1个或多个表;以及控制装置,其执行控制程序,能够访问数据库,控制系统取得构成1个或多个表中所选择的表的栏的数量和各栏的数据类型。控制系统对包含与所取得的栏的数量对应的数量的成员的、能够在控制程序中利用的结构体进行定义。控制系统与所取得的各栏的数据类型对应地决定结构体的各成员的数据类型。
Description
本申请是申请日为2020年2月14日,申请号为202080017521.1,发明名称为“控制系统、信息处理装置以及信息处理程序”的发明专利申请的分案申请。
技术领域
本公开涉及用于访问数据库上的表的技术。
背景技术
在各种生产现场,用于使生产工序自动化的FA(Factory Automation:工厂自动化)系统正在普及。FA系统由各种工业用的驱动设备构成。工业用的驱动设备例如包含用于移动工件的移动台、用于输送工件的输送机、用于使工件移动至预先确定的目标场所的手臂机器人等。这些驱动设备由PLC(Programmable Logic Controller:可编程逻辑控制器)或机器人控制器等工业用的控制装置控制。
近年来,能够访问外部装置的数据库的控制装置、信息处理装置正在普及。日本特开2016-194808号公报(专利文献1)公开了在“不进行SQL的记述地操作数据库的技术中,能够以简单的机制一并操作多个记录”的控制装置。
现有技术文献
专利文献
专利文献1:日本特开2016-194808号公报
发明内容
发明所要解决的课题
另外,在控制装置以及信息处理装置中的任意一个将能够在控制程序中利用的结构体所登记的数据写入到数据库的表的情况下,需要将表中的栏(column)与结构体中的成员(member)建立对应。当用户使用控制装置和信息处理装置中的任意一个单独执行这样的对应时,直到完成该对应为止,需要较多的时间。因此,需要能够容易地进行表中的栏和结构体中的成员之间的对应的技术。
本公开是鉴于上述实际情况而完成的,公开了能够容易地进行表中的栏与结构体中的成员之间的对应的技术。
用于解决课题的手段
在本公开的一例中,对控制对象进行控制的控制系统具有:数据库,其保持有1个或多个表;控制装置,其执行控制程序,能够访问上述数据库;取得单元,其取得构成上述1个或多个表中所选择的表的栏的数量和各栏的数据类型;设定单元,其对包含与上述取得的栏的数量对应的数量的成员的、能够在上述控制程序中利用的结构体进行定义;以及决定单元,其与上述取得的各栏的数据类型对应地决定上述结构体的各成员的数据类型。
根据本公开,控制系统预先进行了栏与成员的对应,因此能够容易地进行处理,该处理包含向表追加登记有数据的结构体的记录。
在本公开的一例中,上述决定单元从能够在上述控制程序中利用的数据类型中,决定上述结构体的各成员的数据类型。
根据本公开,控制系统能够容易地对表中的栏的数据类型对应合适的结构体中的成员的数据类型。
在本公开的一例中,上述决定单元按照用户对数据类型的1个或多个候选的选择,决定上述结构体的各成员的数据类型。
根据本公开,控制系统能够向用户提供可与栏的数据类型建立对应的成员的数据类型。
在本公开的一例中,上述决定单元将上述选择的表的表名作为用于对整个上述结构体进行参照的变量的属性信息进行对应。
根据本公开,控制系统能够向用户提供表示用户程序中的结构体与哪个表相对应的信息。
在本公开的一例中,上述决定单元将上述结构体的各成员的成员名与上述各栏的栏名对应起来。
根据本公开,控制系统能够向用户提供可识别与栏相对应的成员的信息。
在本公开的一例中,上述控制程序包含用于执行命令的功能块,上述命令用于控制对上述数据库的访问,在上述功能块中,将上述表的表名和用于对整个上述结构体进行参照的变量分别设定为自变量。
根据本公开,控制系统能够使控制装置自动执行包含结构体的定义和该结构体的数据类型的决定在内的处理。
在本公开的一例中,控制系统还具有生成部,所述生成部生成程序模板,所述程序模板用于执行将由对上述各成员设定的值构成的记录追加到对应的表的处理。
根据本公开,控制系统通过使用程序模板,能够容易地生成可访问数据库410的用户程序70。
在本公开的一例中,还具有信息处理装置,上述信息处理装置对由上述控制装置执行的控制程序的开发进行辅助,上述信息处理装置包含上述取得单元、上述设定单元以及上述决定单元。
根据本公开,控制系统预先进行了栏与成员的对应,因此能够容易地进行处理,该处理包含向表追加登记有数据的结构体的记录。
在本公开的一例中,对由控制装置执行的控制程序的开发进行辅助的信息处理装置具有:取得单元,其取得构成上述控制装置能够访问的数据库所保持的1个或多个表中所选择的表的栏的数量和各栏的数据类型;设定单元,其对包含与上述取得的栏的数量对应的数量的成员的、能够在上述控制程序中利用的结构体进行定义;以及决定单元,其与上述取得的各栏的数据类型对应地决定上述结构体的各成员的数据类型。
根据本公开,信息处理装置预先进行了栏与成员的对应,因此能够容易地进行处理,该处理包含向表追加登记有数据的结构体的记录。
在本公开的一例中,对由控制装置执行的控制程序的开发进行辅助的信息处理装置的信息处理程序使上述信息处理装置执行以下步骤:取得构成上述控制装置能够访问的数据库所保持的1个或多个表中所选择的表的栏的数量和各栏的数据类型;对包含与上述取得的栏的数量对应的数量的成员的、能够在上述控制程序中利用的结构体进行定义;以及与上述取得的各栏的数据类型对应地决定上述结构体的各成员的数据类型。
根据本公开,信息处理程序预先进行了栏与成员的对应,因此能够容易地进行处理,该处理包含向表追加登记有数据的结构体的记录。
发明的效果
根据本公开,能够容易地进行表中的栏与结构体中的成员的对应。
附图说明
图1是说明控制系统的结构例的图。
图2是表示信息处理装置的硬件结构的图。
图3是表示用于受理数据库的类别选择的画面例的图。
图4是表示用于受理数据库的表选择的画面例的图。
图5是表示用于受理结构体的数据类型选择的画面例的图。
图6是表示显示结构体的数据类型以供用户用来确认的画面例的图。
图7是表示用于选择包含结构体在内的生成项目的画面例的图。
图8是表示显示所生成的结构体以及变量以供用户用来确认的画面例的图。
图9是表示用户程序中包含的功能块的一例的图。
图10是说明包含功能块的用户程序的一例的图。
图11是表示在表中追加记录的一例的图。
图12是表示控制装置的硬件结构的一例的示意图。
图13是表示外部装置的硬件结构的框图。
图14是说明控制系统的处理步骤的流程图。
图15是说明信息处理装置进行运用前的处理的情况下的处理步骤的流程图。
图16是说明信息处理装置进行运用前的处理的情况下的处理步骤的流程图。
图17是说明第2实施方式中的控制系统的结构例的图。
图18是说明第3实施方式中的控制系统的结构例的图。
图19是表示用户程序中包含的功能块的一例的图。
图20是说明包含功能块的用户程序的一例的图。
标号说明
1、1a、1b:控制系统;30:开发辅助程序;40:数据类型对应表;60:模板;61:第1程序模板;62:第2程序模板;70:用户程序;80:系统程序;100:信息处理装置;100a:第1信息处理装置;100b:第2信息处理装置;102:控制部;104、206、304:主存储器;108、208、308:存储装置;110:取得模块;112、201、312:通信接口;114、316:显示接口;116、314:I/O接口;120:设定模块;122、322:显示部;124、324:操作部;130:决定模块;140:生成模块;150:成员;151:第1成员;152:第2成员;153:第3成员;154:第4成员;200:控制装置;202、302:处理器;204:芯片组;222:内部总线控制器;224:现场总线控制器;226:I/O单元;239:存储卡接口;240:存储卡;255A、255B、255C、257A、257B、257C、257D:输入部;256A、256B、256C、256D、258A、258B、258C、258D:输出部;280A、280B:伺服驱动器;300:外部装置;325:内部总线;410:数据库;420:表;450:栏;451:第1栏;452:第2栏;453:第3栏;454:第4栏;461、462:记录;510:数据库选择画面;511:表选择画面;512:数据类型选择画面;513:数据类型确认画面;514:生成项目选择画面;515:生成信息确认画面;540:下一画面按钮;542:上一画面按钮;544:完成按钮;558:选择栏;572:结构体;574:变量;FB1、FB2:功能块(块)。
具体实施方式
参照附图详细说明本发明的实施方式。另外,对图中的相同或相应的部分标注相同的标号并不重复其说明。
<应用例>
参照图1,说明本发明的应用例。图1是说明控制系统1的结构例的图。控制系统1例如是用于使生产工序自动化的FA系统。控制系统1包含信息处理装置100、控制装置200和外部装置300。信息处理装置100、控制装置200和外部装置300与第1网络连接。第1网络使用适合于EtherNET(注册商标)等信息系统网络的网络。
控制装置200能够访问外部装置300中的后述的数据库410。在下文中,数据库也被称为DB。另外,控制装置200通过第2网络与设置于现场的驱动装置(未图示)连接。控制装置200与驱动装置进行恒定周期通信。第2网络采用EtherCAT(注册商标)、EtherNet/IP(注册商标)、CompoNet(注册商标)等。
外部装置300是具有数据库功能的DBMS(Database Management System:数据库管理系统)。外部装置300例如是笔记本型或台式的PC或服务器。更具体而言,外部装置300具有数据库410。数据库410保持1个或多个表420。表420包含表示列的1个或多个栏和表示行的1个或多个记录。在各栏中设定与所保存的数据的种类对应的数据类型。
信息处理装置100例如是笔记本型或者台式的PC(Personal Computer:个人计算机)、平板终端、智能手机或者能够开发控制装置200用的控制程序的装置。控制程序能够作为用户程序(例如,后述的用户程序70)安装于控制装置200。以下,也将控制程序称为用户程序(UPG)。信息处理装置100能够访问外部装置300中的数据库410。信息处理装置100包含存储装置108、取得模块110、设定模块120、决定模块130和生成模块140。存储装置108包含开发辅助程序30以及数据类型对应表40。
开发辅助程序30是用于辅助控制装置200用的控制程序的开发的程序。当读出并执行保存在存储装置108中的开发辅助程序30时,信息处理装置100能够执行取得模块110、设定模块120、决定模块130和生成模块140的功能。
数据类型对应表40是表示数据库410的表420中的栏的数据类型、与用户程序70的结构体中的成员的数据类型的对应关系的列表。结构体以一定的形式保存有数据的集合。因此,结构体也可以说是能够作为一个单位进行处理的数据组。结构体可以以能够确定的方式包含相互关联的成员。
取得模块110取得由数据库410保持的1个或多个表420中的、通过信息处理装置100受理的用户操作而选择出的表420的信息。表420的信息包含构成该表420的栏的数量以及各栏的数据类型。例如,取得模块110取得“4”作为第1表的栏的数量。栏的数量“4”是将第1表中的第1栏451、第2栏452、第3栏453和第4栏454合计而得到的数量。另外以下,也将1个或多个栏统称为栏450。
取得模块110取得栏450(例如,第1栏451~第4栏454)的数据类型。更具体而言,取得模块110取得被设定为第1栏451的数据类型的“decimal(1)”。取得模块110取得被设定为第2栏452的数据类型的“decimal(5)”。取得模块110取得被设定为第3栏453的数据类型的“nchar(19)”。取得模块110取得被设定为第4栏454的数据类型的“TimeSTAMP”。“decimal”是处理定点数的数据类型。“nchar”是固定长度的字符串的数据类型。“TimeSTAMP”是具有年、月、日、时、分以及秒这六个属性的时刻标记的数据类型。
设定模块120定义与取得模块110取得的栏450的数量相对应的结构。结构体能够在用户程序70中利用,包含与栏数量对应的数量的成员。更具体而言,设定模块120对包含与栏的数量“4”对应的数量“4”的成员的结构体进行定义。设定模块120例如定义包含第1成员151、第2成员152、第3成员153以及第4成员154的第1结构体。以下,也将1个或多个成员统称为成员150。
决定模块130与由取得模块110取得的各栏450的数据类型相对应地决定结构体的各成员150的数据类型。更具体而言,决定模块130基于数据类型对应表40,与各栏450的数据类型对应地决定各成员150的数据类型。决定模块130决定“bool”作为与第1栏451的数据类型“decimal(1)”对应的第1成员151的数据类型。决定模块130决定“Int”作为与第2栏452的数据类型“decimal(5)”对应的第2成员152的数据类型。决定模块130决定“String(20)”作为与第3栏453的数据类型“nchar(19)”栏454的数据类型“TimeSTAMP”对应的第4成员154的数据类型。由此,控制系统1能够容易地进行表420中的栏450与结构体的成员150的对应。
生成模块140生成用户程序70,并将生成的用户程序70发送至控制装置200。控制装置200将数据登记到构成结构体的各成员150。作为一例,用户程序70是用于执行将登记有该数据的结构体的记录追加到数据库410的表420中的处理的程序。控制系统1由于预先进行了栏450与成员150的对应,因此能够容易地进行处理,该处理包含向表420追加登记有数据的结构体的记录。
<第1实施方式>
以下,参照附图说明本发明的实施方式。在以下的说明中,对相同的部件标注相同的标号。它们的名称和功能也相同。因此,不重复对它们的详细说明。
[A.信息处理装置100的硬件结构]
图2是表示信息处理装置100的硬件结构的图。参照图2,信息处理装置100包含控制部102、主存储器104、存储装置108、通信接口112、显示接口114、I/O接口116。
控制部102读出保存于存储装置108的开发辅助程序30,将该开发辅助程序30展开到主存储器104。控制单元102作为取得模块110、设定模块120、决定模块130和生成模块140发挥功能。另外以下,对通过控制部102执行开发辅助程序30来实现所需的处理的结构例进行说明,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的处理的一部分或全部。
存储装置108包含开发辅助程序30、数据类型对应表40、模板60、用户程序70。在生成模块140生成用户程序70的情况下,模板60被用作雏形。之后将叙述生成模块140使用模板60生成用户程序的具体例。
通信接口112与其他通信设备之间,例如经由第1网络来交换数据。其他通信设备例如包含控制装置200、外部装置300等。信息处理装置100也可以构成为能够经由通信接口112从其他通信设备下载开发辅助程序30等各种程序。
显示接口114与显示部122电连接,按照来自控制部102等的指令,向显示部122送出用于显示图像的图像信号。显示部122由LCD(Liquid Crystal Display:液晶显示器)、有机EL(Electro Luminescence:电致发光)显示器等构成,对用户提示各种信息。在显示部122中,可显示由信息处理装置100提供的各种画面(例如后述的数据库选择画面510(参照图3))。在图2的例子中,信息处理装置100和显示部122作为分体示出,但信息处理装置100和显示部122也可以一体地构成。
I/O接口116与操作部124电连接,取得表示来自操作部124的用户操作的信号。操作部124典型地由键盘、鼠标、触摸面板、触控板等构成,受理来自用户的操作。
[B.用于将栏450与成员150对应起来的设定的画面例]
接着,使用图3~图8对用于将数据库410中的栏450与用户程序70中的成员150对应起来的设定的画面例进行说明。通过信息处理装置100受理使用了操作部124的用户操作来执行该设定。
[b1.数据库选择画面510]
图3是表示用于受理数据库410的类别选择的画面例的图。参照图3,显示部122显示包含数据库类别、IP地址、实例名、服务名、用户名和密码等项目以及下一画面按钮540和上一画面按钮542的数据库选择画面510。
信息处理装置100例如受理使用了操作部124的用户对数据库410的选择。数据库410的类别例如是“Oracle Database”、“MySQL”以及“SQLite”等。数据库的种类并不限定于这些,也可以是其他种类的数据库。
信息处理装置100受理包含数据库类别在内的其他信息的输入。之后,信息处理装置100在通过使用了操作部124的用户操作而选择了下一画面按钮540时,将图4所示的表选择画面511显示于显示部122。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着显示数据库选择画面510之前显示在显示部122中的画面。
[b2.表选择画面511]
图4是表示用于受理数据库410的表420的选择的画面例的图。参照图4,显示部122显示包含DB连接服务设定、DB连接设定和DB表等项目以及下一画面按钮540和上一画面按钮542的表选择画面511。信息处理装置100例如受理使用了操作部124的用户对表420的选择。之后,信息处理装置100在通过使用了操作部124的用户操作而选择了下一画面按钮540时,将图5所示的数据类型选择画面512显示于显示部122。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着显示表选择画面511之前显示在显示部122中的画面。
[b3.数据类型选择画面512]
图5是表示用于受理结构体的数据类型选择的画面例的图。参照图5,显示部122显示包含第1表的栏名、DB数据类型和UPG数据类型的项目以及下一画面按钮540和上一画面按钮542的数据类型选择画面512。第1表是在上述的表选择画面511中选择出的表。栏名是各栏450的属性信息,是包含在表420中的信息。栏名例如是如“DATA1”~“DATA4”那样能够识别各栏450的信息。DB数据类型是在各栏450中设定的数据类型。UPG数据类型是与各栏450的数据类型相对应的各成员150的数据类型。该对应是基于数据类型对应表40来进行的。
信息处理装置100例如受理使用了操作部124的用户对UPG数据类型的选择。更具体而言,信息处理装置100的决定模块130按照使用操作部124的用户对在选择栏558中显示的数据类型的1个或多个候选的选择,来决定结构体的各成员150的数据类型。由此,控制系统1可向用户提供能够与栏450的数据类型建立对应的成员150的数据类型。
另外,数据类型选择画面512中包含的DB数据类型的信息是基于取得模块110从数据库410的表420中取得的栏450的数量以及各栏450的数据类型的信息。另外,数据类型选择画面512中包含的栏名的信息是取得模块110从数据库410的表420中取得的属性信息。并且,数据类型选择画面512所包含的UPG数据类型的信息是由设定模块120和决定模块130确定的信息。设定模块120对包含与由取得模块110取得的栏450的数量相对应的数量的成员150的结构体进行定义。决定模块130与由取得模块110取得的各栏450的数据类型相对应地决定结构体的各成员150的数据类型。基于数据类型对应表40进行对应。这样,决定模块130从能够在用户程序70中利用的数据类型中,决定结构体的各成员150的数据类型。由此,控制系统1能够容易地对表420中的栏450的数据类型对应合适的结构体中的成员150的数据类型。
信息处理装置100在通过使用了操作部124的用户操作而选择了下一画面按钮540时,将图6所示的数据类型确认画面513显示于显示部122。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着显示数据类型选择画面512之前显示在显示部122中的画面。
[b4.数据类型确认画面513]
图6是表示显示结构体的数据类型以供用户用来确认的画面例的图。参照图6,显示部122显示包含第1表的成员名、UPG数据类型的项目以及下一画面按钮540和上一画面按钮542的数据类型确认画面513。显示部122在数据类型选择画面512中显示用户使用操作部124选择的各成员150的UPG数据类型。另外,显示部122显示与在数据类型选择画面512中显示的栏名相同的信息(例如,“DATA1”~“DATA4”)来作为各成员150的成员名。更具体而言,决定模块130将作为各栏450的属性信息的栏名登记为作为成员150的属性信息的成员名。这样,决定模块130将结构体的各成员150的成员名与各栏450的栏名建立对应。由此,控制系统1可向用户提供能够识别与栏450相对应的成员150的信息。
信息处理装置100在通过使用操作部124的用户操作而选择了下一画面按钮540时,将图7所示的生成项目选择画面514显示于显示部122。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着显示数据类型确认画面513之前显示在显示部122中的画面。
[b5.生成项目选择画面514]
图7是表示用于选择包含结构体的生成项目的画面例的图。参照图7,显示部122显示包含结构体572、变量574、UPG 576、Insert 578和Select 580的项目以及下一画面按钮540和上一画面按钮542的生成项目选择画面514。信息处理装置100的生成模块140生成与通过使用操作部124的用户操作选择的项目相对应的数据。如图7所示,假设选择了结构体572、变量574、UPG 576、Insert 578的项目来进行说明。以下,设为选择了Insert 578的项目来进行说明,但在选择了Select 580的项目的情况下,生成与该项目对应的数据。另外,在选择了Insert 578和Select 580这两方的项目的情况下,生成与这些项目对应的数据。
信息处理装置100在通过使用操作部124的用户操作而选择了下一画面按钮540时,将图8所示的生成信息确认画面515显示于显示部122。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着生成项目选择画面514之前显示在显示部122中的画面。
[b6.生成信息确认画面515]
图8是表示显示所生成的结构体以及变量以供用户用来确认的画面例的图。显示部122例如显示第1表中的结构体的成员名和UPG数据类型、以及变量的变量名和属性信息。更具体而言,作为结构体的成员名,显示部122显示与在图6中说明的栏名相对应的成员名(“DATA1~DATA4”)。另外,作为在图5中说明的与DB数据类型相对应的UPG数据类型,显示部122显示各成员150的数据类型。作为各成员150的数据类型,显示部122例如在第1成员151上显示“bool”,在第2成员152上显示“Int”,在第3成员153上显示“String(20)”,并在第4成员154上显示“DATE_AND_TIME”。
此外,显示部122显示变量名“InsertVal1”和属性信息“Table1”来作为变量。变量名是表示整个结构体的变量名。该变量名被设定为任意的值。属性信息表示与整个结构体对应的表420。图8所示的包含各成员150的结构体与第1表的各栏450对应。因此,在属性信息中登记“Table1”的信息。属性信息由信息处理装置100的决定模块130决定。更具体而言,决定模块130将在图4中说明的通过使用了操作部124的用户操作而选择出的表420的表名作为用于对整个结构体进行参照的变量的属性信息进行对应。由此,控制系统1能够向用户提供表示用户程序70中的结构体与哪个表420相对应的信息。然后,生成模块140生成包含该变量名和该属性信息的数据。
当通过使用操作部124的用户操作选择完成按钮544时,信息处理装置100结束图8所示的生成信息确认画面515的显示。此外,当通过使用操作部124的用户操作选择了上一画面按钮542时,信息处理装置100显示紧接着显示生成信息确认画面515之前显示在显示部122中的画面。
[C.用户程序70的结构和处理内容]
接着,参照图9~图11对用户程序70的结构和处理内容进行说明。用户程序70基于与上述的图3~图6中的第1表中的栏450的数量和数据类型对应的结构体中的成员150的设定。生成模块140通过选择图7中的UPG 576和Insert 578来生成该用户程序70。
图9是表示用户程序70所包含的功能块FB1的一例的图。以下,也将功能块FB1称为块FB1。
具有块FB1的功能的程序也可以由功能块以外的方式规定。例如,块FB1也可以包含由梯形图规定的块、命令列表、结构化文本以及顺序功能图中的任意一个、或者由它们的组合规定的块。此外,块FB1也可以包含用JavaScript(注册商标)或C语言这样的通用编程语言规定的块。
块FB1是用于执行命令的程序,该命令用于控制对数据库410的访问。更具体而言,块FB1是具有如下功能的程序:对数据类型进行定义,并将设定有满足该数据类型的条件的数据的结构体的记录追加到数据库410的表420中。
块FB1包含受理与记录的追加相关的设定的输入部255A~输入部255C、和用于输出与记录的追加相关的信息的输出部256A~输出部256D。
表示为“Excute”的输入部255A受理用于指定是否执行记录的追加处理的设定。作为一例,输入部255A被规定为受理“BOOL”类型的输入。只要向输入部255A输入“FALSE”,则不执行记录的追加处理。另一方面,在向输入部255A输入了“TRUE”的情况下,执行记录的追加处理。
表示为“DBConnection”的输入部255B受理执行用于与数据库410连接的功能块而得到的连接结果。该连接结果中包含用于访问数据库410的信息(例如,数据库名等)。
表示为“MappingVariableList”的输入部255C受理结构体的变量的输入。输入部255C被规定为受理预先定义的结构体。
在记录的追加处理正常完成的情况下,表示正常结束的信号从表示为“Done”的输出部256A输出。在记录的追加处理中,将表示生成处理中的信号从表示为“Busy”的输出部256B输出。在没有正常地生成记录的追加处理的情况下,表示异常结束的信号从表示为“Error”的输出部256C输出。在该情况下,还从表示为“ErrorID”的输出部256D输出用于识别错误内容的错误ID。
图10是说明包含功能块FB1的用户程序70的一例的图。信息处理装置100使用保存在存储装置108中的模板60来生成图10所示的用户程序70的一部分。例如,模板60包含输入要素IN0~IN4、块FB1和输出要素OUT1。例如,模板60中包含的输入要素IN0~IN4的变量和输出要素OUT1的变量成为空白,在选择了模板60之后被分配变量。以下将分配了变量的模板60称为程序模板。程序模板包含后述的第1程序模板61和第2程序模板62。此外,块FB1相当于图9中说明的功能块。
第1程序模板61包含输入要素IN0~IN4。对输入要素IN0~IN4分配了变量,它们的值根据所分配的变量而变化。更具体而言,对输入要素IN0分配了变量“SettingTrigger”。变量“SettingTrigger”为BOOL类型,初始值为“False”(=OFF)。变量“SettingTrigger”的值例如基于控制装置200启动的情况而变化为“True”(ON)。在其他情况下,变量“SettingTrigger”的值为“False”(OFF)。
对输入要素IN1~IN4分配了变量“val1”~变量“val4”。这些变量例如包含通过控制装置200基于现场值执行运算而得到的过程值。现场值是经由第2网络从在现场设置有控制装置200的驱动装置取得的值。通过输入要素IN1~IN4,变量“val1”~变量“val4”的各变量的值被设定为“InsertVal[0]”~“InsertVal[3]”。“InsertVal[0]”~“InsertVal[3]”是基于表示整个结构体的变量“InsertVal”的值,是设定于第1成员151~第4成员154的值。
当通过输入要素IN1~IN4对结构体的各成员150设定了过程值时,通过块FB1将由结构体的各成员150构成的记录追加到表420中。
对输出要素OUT1分配了变量“Done”。另外,输出要素OUT1与块FB1的输出“Done”相对应。其结果,输出要素OUT1的值根据块FB1的输出“Done”的值而变化。
图11是表示在表420中追加记录的一例的图。表420中的各栏450(第1栏451~第4栏454)具有作为属性信息的“DATA1”~“DATA4”。此外,记录461设定有与各个栏450的数据类型相对应的过程值。然后,通过生成模块140生成的第1程序模板61,将结构体中的记录462追加到表420中。在结构体的记录462中,将与表420的各栏的数据类型对应的数据类型设定为各成员150(第1成员151~第4成员154)。并且,记录462设定有与各成员150的数据类型对应的过程值。通过执行对模板60分配了变量的第1程序模板61,在表420中追加记录462。
这样,生成模块140基于模板60,生成第1程序模板61,该第1程序模板61用于执行将由结构体中的各成员150所设定的值(过程值)构成的记录追加到对应的表420的处理。该第1程序模板61是基于模板60生成的程序,在模板60中分配了为空白的变量。控制系统1通过使用程序模板,能够容易地生成能够访问数据库410的用户程序70。
[D.硬件结构]
[d1.控制装置200的硬件结构]
接着,参照图12,说明控制装置200的硬件结构。图12是表示控制装置200的硬件结构的一例的示意图。
控制装置200包含通信接口201、CPU或MPU等处理器202、芯片组204、主存储器206、非易失性的存储装置208、内部总线控制器222、现场总线控制器224、存储卡接口239。
处理器202读出存储装置208所保存的包含用户程序70以及系统程序80在内的控制程序并在主存储器206中展开执行。处理器202通过执行控制程序,实现对伺服驱动器280A及280B等的任意控制。控制程序包含用于对控制装置200进行控制的各种程序。控制程序所包含的系统程序80包含用于提供数据的输入输出处理、执行定时控制等控制装置200的基本功能的命令代码。用户程序70是从上述信息处理装置100下载的程序。用户程序70根据控制对象而任意地设计,执行序列控制。
芯片组204通过控制各组件来实现作为控制装置200整体的处理。
存储装置208除了控制程序之外还保存有各种数据。作为一例,存储装置208保存上述的数据类型对应表40等。
内部总线控制器222是与通过内部总线和控制装置200连接的各种设备之间交换数据的接口。作为这样的设备的一例,连接有I/O单元226。现场总线控制器224是与通过现场总线和控制装置200连接的各种驱动设备之间交换数据的接口。作为这样的设备的一例,连接有上述的伺服驱动器280A和280B。此外,也可以连接视觉传感器(未图示)等驱动设备。
内部总线控制器222以及现场总线控制器224能够对所连接的设备赋予任意的指令,并且能够取得设备所管理的任意数据。另外,内部总线控制器222和/或现场总线控制器224还作为用于与伺服驱动器280A以及280B之间交换数据的接口发挥功能。
通信接口201控制各种通过有线/无线网络的数据交换。控制装置200经由通信接口201与信息处理装置100或外部装置300进行通信。另外,控制装置200能够经由通信接口201访问外部装置300上的数据库410。
存储卡接口239构成为能够装卸作为外部存储介质一例的存储卡240(例如,SD卡),能够对存储卡240写入数据,并从存储卡240读出数据。
[d2.外部装置300的硬件结构]
接着,参照图13,说明外部装置300的硬件结构。图13是表示外部装置300的硬件结构的框图。
外部装置300具备具有通用架构的硬件结构。即,外部装置300被安装为一种个人计算机。但是,也可以不使用通用的硬件,而使用专用硬件来安装外部装置300。
更具体而言,外部装置300包含CPU或MPU等处理器302、主存储器304、非易失性的存储装置308、通信接口312、I/O接口314以及显示接口316。这些组件经由内部总线325以能够相互进行数据通信的方式连接。
处理器302读出存储装置308所保存的控制程序(未图示),并在主存储器304中展开执行,由此控制外部装置300。即,处理器302通过与主存储器304以及存储装置308协作,实现执行控制运算的控制部。
通信接口312、I/O接口314以及显示接口316对外部装置300与其他通信设备的数据交换进行中介。
更具体而言,通信接口312对图1中的经由第1网络等的与控制装置200的通信进行中介。通信接口312例如可采用能够进行遵循EtherNET的通信的组件。
I/O接口314与操作部324连接,取得来自操作部324的表示用户操作的信号。操作部324典型地由键盘、鼠标、触摸面板、触控板等构成,受理来自用户的操作。显示接口316与显示部322连接,按照来自处理器302等的指令,对显示部322发送用于显示图像的图像信号。显示部322由LCD、有机EL显示器等构成,对用户提示各种信息。在图13的例子中,外部装置300和显示部322作为分体示出,但外部装置300和显示部322也可以一体地构成。
[E.控制处理步骤]
[e1.控制系统1中的处理步骤]
图14是说明控制系统1的处理步骤的流程图。参照图14,对信息处理装置100、控制装置200和外部装置300之间的数据流进行说明。在步骤S10中,假设信息处理装置100受理了启动命令。基于该情况,信息处理装置100在启动后执行开发辅助程序30,从而将数据库选择画面510显示于显示部122。
在步骤S15中,假设信息处理装置100受理了数据库选择画面510中的数据库410的选择操作。基于该情况,信息处理装置100经由控制装置200将保存在所选择的数据库410中的表420的取得命令发送至外部装置300。外部装置300经由控制装置200将表420的信息输出到信息处理装置100。信息处理装置100基于从外部装置300发送的表420的信息,在显示部122上显示表选择画面511。
在步骤S20中,假设信息处理装置100受理了表选择画面511中的表420的选择操作。基于该情况,信息处理装置100经由控制装置200将所选择的表420中包含的栏450的信息取得命令输出到外部装置300。外部装置300经由控制装置200将栏450的信息输出到信息处理装置100。信息处理装置100基于从外部装置300发送的栏450的信息,在显示部122上显示数据类型选择画面512。
在步骤S25中,假设信息处理装置100受理了数据类型选择画面512中的UPG数据类型的选择操作。基于该情况,信息处理装置100在显示部122上显示数据类型确认画面513。
在步骤S30中,假设信息处理装置100受理了数据类型确认画面513中的UPG数据类型确认操作。基于该情况,信息处理装置100在显示部122上显示生成项目选择画面514。
在步骤S35中,假设信息处理装置100受理了生成项目选择画面514中的生成项目的选择操作。基于该情况,信息处理装置100将生成信息确认画面515显示于显示部122。
在步骤S40中,假设信息处理装置100受理了生成信息确认画面515中的生成信息的确认完成操作。基于该情况,信息处理装置100基于模板60生成包含第1程序模板61的用户程序70,并将所生成的用户程序70发送至信息处理装置。
至此说明的步骤S10、步骤S15、步骤S20、步骤S25、步骤S30、步骤S35以及步骤S40是运用控制装置200前的处理。接着,对控制装置200的运用后的处理进行说明。
在步骤S45中,控制装置200开始用户程序70的处理。控制装置200执行用户程序70所包含的第1程序模板61,在外部装置300的数据库410的表420中追加记录。该记录是由控制装置200的结构体的各成员150构成的记录。外部装置300例如向控制装置200发送表示记录的追加处理已成功的响应。
[e2.信息处理装置100中的处理步骤]
使用上述图14说明的处理步骤中的控制装置200的运用前的处理例如是由信息处理装置100执行的处理。图15以及图16是对信息处理装置100进行运用前的处理的情况下的处理步骤进行说明的流程图。参照图15,在步骤S105中,信息处理装置100通过使用了操作部124的用户操作,受理启动命令而启动。
在步骤S110中,信息处理装置100在启动后执行开发辅助程序30,从而将数据库选择画面510显示于显示部122。
在步骤S115中,信息处理装置100判断是否受理了数据库选择画面510中的数据库410的选择操作。信息处理装置100在判定为受理了数据库410的选择操作时(在步骤S115中为“是”),将控制切换到步骤S120。否则(在步骤S115中为“否”),信息处理装置100将控制切换到步骤S125。
在步骤S120中,信息处理装置100基于从外部装置300发送的表420的信息,在显示部122上显示表选择画面511。
在步骤S125中,信息处理装置100使用定时器(未图示),测量从判定是否受理了数据库410的选择操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S125中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S125中为“否”),信息处理装置100反复执行步骤S115的控制。
在步骤S130中,信息处理装置100判断是否受理了数据库选择画面510中的表420的选择操作。信息处理装置100在判定为受理了表420的选择操作时(在步骤S130中为“是”),将控制切换到步骤S135。否则(在步骤S130中为“否”),信息处理装置100将控制切换到步骤S140。
在步骤S135中,信息处理装置100基于从外部装置300发送的栏450的信息,在显示部122上显示数据类型选择画面512。
在步骤S140中,信息处理装置100使用定时器(未图示),测量从判定是否受理了表420的选择操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S140中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S140中为“否”),信息处理装置100反复执行步骤S130的控制。
在步骤S145中,信息处理装置100判定是否受理了数据类型选择画面512中的UPG数据类型的选择操作。信息处理装置100在判定为受理了数据类型的选择操作时(在步骤S145中为“是”),将控制切换到步骤S150。否则(在步骤S145中为“否”),信息处理装置100将控制切换到步骤S155。
在步骤S150中,信息处理装置100在显示部122上显示数据类型确认画面513。
在步骤S155中,信息处理装置100使用定时器(未图示),测量从判定是否受理了数据类型的选择操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S155中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S155中为“否”),信息处理装置100反复执行步骤S145的控制。
接着,参照图16,在步骤S160中,信息处理装置100判定是否受理了数据类型确认画面513中的UPG数据类型的确认操作。信息处理装置100在判定为受理了UPG数据类型的确认操作时(在步骤S160中为“是”),将控制切换到步骤S165。否则(在步骤S160中为“否”),信息处理装置100将控制切换到步骤S170。
在步骤S165中,信息处理装置100在显示部122上显示生成项目选择画面514。
在步骤S170中,信息处理装置100使用定时器(未图示),测量从判定是否受理了UPG数据类型的确认操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S170中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S170中为“否”),信息处理装置100反复执行步骤S160的控制。
在步骤S175中,信息处理装置100确定是否受理了生成项目选择画面514中的生成项目的选择操作。信息处理装置100在判定为受理了生成项目的选择操作时(在步骤S175中为“是”),将控制切换到步骤S180。否则(在步骤S175中为“否”),信息处理装置100将控制切换到步骤S185。
在步骤S180中,信息处理装置100将生成信息确认画面515显示于显示部122。
在步骤S185中,信息处理装置100使用定时器(未图示),测量从判定是否受理了生成项目的选择操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S185中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S185中为“否”),信息处理装置100反复执行步骤S175的控制。
在步骤S190中,信息处理装置100判定是否受理了生成信息确认画面515中的生成信息的确认完成操作。信息处理装置100在判定为受理了生成信息的确认完成操作时(在步骤S190中为“是”),将控制切换到步骤S195。否则(在步骤S190中为“否”),信息处理装置100将控制切换到步骤S200。
在步骤S195中,信息处理装置100例如生成包含第1程序模板61的用户程序70。
在步骤S200中,信息处理装置100使用定时器(未图示),测量从判定是否受理了生成信息的确认完成操作的时刻起经过的时间。在经过规定期间(例如1分钟)而超时的情况下(在步骤S200中为“是”),信息处理装置100结束本流程图的处理。否则(在步骤S200中为“否”),信息处理装置100反复执行步骤S190的控制。
在步骤S205中,信息处理装置100将生成的用户程序70发送到控制装置200。
<第2实施方式>
下面,说明本公开的第2实施方式。第2实施方式的控制系统1a所包含的结构中的一部分硬件结构与上述第1实施方式的控制系统1所包含的结构不同,其他使用同样的硬件结构来实现。另外,通过第2实施方式的控制系统1a所包含的结构实现的处理,除了一部分与通过第1实施方式的信息处理装置100所包含的结构实现的处理不同以外,执行同样的处理。以下,参照图17,对于控制系统1所包含的结构的硬件结构以及处理,不重复对相同内容的说明,而对不同的结构以及处理的内容进行说明。
图17是说明第2实施方式中的控制系统1a的结构例的图。在上述的第1实施方式中,控制系统1所包含的1个信息处理装置100取得表420的信息(栏的数量以及数据类型)。并且,说明了信息处理装置100在决定了结构体的成员150的数量和数据类型之后,将生成的用户程序70输出到控制装置200的情况。即,1个信息处理装置100具有取得模块110、设定模块120、决定模块130以及生成模块140的功能。然后,对1个信息处理装置100执行使用了该功能的处理的情况进行了说明。与此相对,在图17所示的第2实施方式中,控制系统1a所包含的多个信息处理装置100执行使用了上述功能的处理。
控制系统1a包含第1信息处理装置100a和第2信息处理装置100b。第1信息处理装置100a具有取得模块110、设定模块120和决定模块130的功能。第2信息处理装置100b具有生成模块140。第1信息处理装置100a的取得模块110取得表420的信息。第1信息处理装置100a的设定模块120以及决定模块130在决定了结构体的成员150的数量和数据类型之后,导出包含该成员150的数量和数据类型的信息。第1信息处理装置100a例如以预先确定的数据形式的文件输出上述信息。预先确定的的数据形式例如是(Comma Separated Values:逗号分隔值)形式等。
第2信息处理装置100b的生成模块140生成用户程序70。所生成的用户程序70被导入控制装置200。
这样,控制系统1a由具有全部模块中的一部分模块的功能的信息处理装置100和具有其他模块的功能的另一信息处理装置100构成。由此,控制系统1a能够使用多个信息处理装置100容易地进行模块的功能追加等。
<第3实施方式>
下面,说明本公开的第3实施方式。第3实施方式的控制系统1b所包含的结构中的一部分硬件结构与上述第1实施方式的控制系统1所包含的结构不同,其他使用同样的硬件结构来实现。另外,通过第3实施方式的控制系统1b所包含的结构实现的处理,除了一部分与通过第1实施方式的信息处理装置100所包含的结构实现的处理不同以外,执行同样的处理。以下,参照图18,对于控制系统1所包含的结构的硬件结构以及处理,不重复对相同内容的说明,而对不同的结构以及处理的内容进行说明。
图18是说明第3实施方式中的控制系统1b的结构例的图。在上述的第1实施方式中,控制系统1所包含的信息处理装置100取得表420的信息(栏的数量以及数据类型)。并且,说明了信息处理装置100在决定了结构体的成员的数量和数据类型之后,将生成的用户程序70输出到控制装置200的情况。即,信息处理装置100具有取得模块110、设定模块120、决定模块130和生成模块140的功能。然后,对信息处理装置100执行使用了该功能的处理的情况进行了说明。与此相对,在第3实施方式中,控制系统1b所包含的控制装置200具有取得模块110、设定模块120、决定模块130以及生成模块140的功能。控制装置200执行使用了这些模块功能的处理。
控制装置200的取得模块110取得表420的信息(栏的数量和数据类型)。然后,在设定模块120定义了结构体的成员150之后,决定模块130决定结构体的数据类型。生成模块140在控制装置200内执行所生成的用户程序70等。
此外,在第1实施方式中,对信息处理装置100执行开发辅助程序30,由此通过使用了操作部124的用户操作来执行各模块的功能的情况进行了说明。与此相对,在控制装置200的存储装置208中未保存开发辅助程序30。控制装置200不受理用户的操作而自动地执行各模块的功能。这样以下,使用图19以及图20对控制装置200用于自动执行各模块的功能的用户程序70进行说明。
图19是表示用户程序70所包含的功能块FB2的一例的图。以下,也将功能块FB2称为块FB2。
具有块FB2功能的程序也可以由功能块以外的方式规定。例如,块FB2可以包含由梯形图规定的块、命令列表、结构化文本以及顺序功能图中的任意一个、或者由它们的组合规定的块。此外,块FB2也可以包含用JavaScript或C语言这样的通用编程语言规定的块。
块FB2是用于执行命令的程序,该命令用于控制对数据库410的访问。更具体而言,程序块FB2是具有如下功能的程序:从表420取得表信息,在定义了结构体的成员150之后,决定结构体的数据类型。
块FB2包含受理与记录的追加相关的设定的输入部257A~输入部257D、和用于输出与记录的追加相关的信息的输出部258A~输出部258D。
表示为“Excute”的输入部257A受理用于指定是否执行记录的追加处理的设定。
表示为“DBConnection”的输入部257B受理执行用于与数据库410连接的功能块而得到的连接结果。该连接结果中包含用于访问数据库410的信息(例如,数据库名等)。
表示为“TableName”的输入部257C受理表名的设定。输入部257C例如被规定为受理“DWORD”型的变量。
表示为“MappingVariableList”的输入部257D受理结构体的变量的输入。输入部257D被规定为受理预先定义的结构体。
在块FB2的输入部257C中设定表420的表名(例如“Table1”)作为自变量,在输入部257D中设定用于对整个结构体进行参照的变量(例如,InsertVal1)作为自变量。由此,控制系统1b能够使控制装置200自动执行包含结构体的定义和该结构体的数据类型决定的处理。
在记录的追加处理正常完成的情况下,表示正常结束的信号从表示为“Done”的输出部258A输出。在记录的追加处理中,将表示生成处理中的信号从表示为“Busy”的输出部258B输出。在没有正常地生成记录的追加处理的情况下,表示异常结束的信号从表示为“Error”的输出部258C输出。在该情况下,还从表示为“ErrorID”的输出部258D输出用于识别错误内容的错误ID。
图20是说明包含功能块FB2的用户程序70的一例的图。控制装置200使用存储装置108所保存的模板60来生成图10所示的用户程序70的一部分。例如,模板60包含输入要素IN0~IN4、块FB1和块FB2以及输出要素OUT1。例如,模板60中包含的输入要素IN0~IN4的变量和输出要素OUT1的变量成为空白,在选择了模板60之后被分配变量。此外,块FB1相当于图9中说明的功能块。
输入要素IN0~IN4、块FB1以及输出要素OUT1的功能与上述图10中说明的功能相同。对第2程序模板62所包含的输入要素IN0~IN4分配有变量,这些值根据所分配的变量而变化。如上所述,在块FB2中,表420的表名和用于整个结构体进行参照的变量分别被设定为自变量。控制装置200通过块FB2的功能,自动执行包含结构体的定义和该结构体的数据类型的决定在内的处理。
<变形例>
在第1实施方式~第3实施方式中,使用图3~图8对各画面中显示的项目进行了说明。与此相对,在各画面中显示的项目是一例,也可以显示其他项目来受理针对该项目的选择。
在第1实施方式~第3实施方式中,对设置于功能块的各输入部和各输出部进行了说明。与此相对,所说明的输入部和输出部为一例,所说明以外的输入部和输出部也可以设置于功能块。
在第2实施方式中,第1信息处理装置100a具有取得模块110、设定模块120和决定模块130的功能。另外,对第2信息处理装置100b具有生成模块140的情况进行了说明。与此相对,各个信息处理装置100所具有的模块的功能是一例,各信息处理装置100可以具有任何模块的功能。另外,信息处理装置100也可以具有与上述不同的模块的功能。
<附记>
如上所述,本实施方式包含以下的公开。
[结构1]
一种控制系统(1),其用于对控制对象进行控制,该控制系统(1)具有:
数据库(410),其保持有1个或多个表(420);
控制装置(200),其执行控制程序(70),能够访问所述数据库(410);
取得单元(110),其取得构成所述1个或多个表(420)中所选择的表(420)的栏(450)的数量和各栏(450)的数据类型;
设定单元(120),其对包含与所述取得的栏(450)的数量对应的数量的成员(150)的、能够在所述控制程序(70)中利用的结构体进行定义;以及
决定单元(130),其与所述取得的各栏(450)的数据类型对应地决定所述结构体的各成员(150)的数据类型。
[结构2]
在结构1所记载的控制系统中,
所述决定单元(130)从能够在所述控制程序(70)中利用的数据类型中,决定所述结构体的各成员(150)的数据类型。
[结构3]
在结构1或2所记载的控制系统中,
所述决定单元(130)按照用户对数据类型的1个或多个候选的选择,决定所述结构体的各成员(150)的数据类型。
[结构4]
在结构1~3中的任意一项所记载的控制系统中,
所述决定单元(130)将所述选择出的表(420)的表名作为用于对整个所述结构体进行参照的变量的属性信息进行对应。
[结构5]
在结构1~4中的任意一项所记载的控制系统中,
所述决定单元(130)将所述结构体的各成员(150)的成员名与所述各栏(450)的栏名对应起来。
[结构6]
在结构1~5中的任意一项所记载的控制系统中,
所述控制程序(70)包含用于执行命令的功能块,所述命令用于控制对所述数据库(410)的访问,
在所述功能块中,将所述表(420)的表名和用于对整个所述结构体进行参照的变量分别设定为自变量。
[结构7]
在结构1~6中的任意一项所记载的控制系统中,
该控制系统还具有生成部(140),所述生成部(140)生成程序模板(61、62),所述程序模板(61、62)用于执行将由对所述各成员(150)设定的值构成的记录追加到对应的表(420)的处理。
[结构8]
在结构1~7中的任意一项所记载的控制系统中,
该控制系统还具有信息处理装置(100),所述信息处理装置(100)对由所述控制装置(200)执行的控制程序(70)的开发进行辅助,
所述信息处理装置(100)包含所述取得单元(110)、所述设定单元(120)以及所述决定单元(130)。
[结构9]
一种信息处理装置(100),其对由控制装置(200)执行的控制程序(70)的开发进行辅助,该信息处理装置(100)具有:
取得单元(110),其取得构成所述控制装置(200)能够访问的数据库(70)所保持的1个或多个表(70)中所选择的表(70)的栏(450)的数量和各栏(450)的数据类型;
设定单元(120),其对包含与所述取得的栏(450)的数量对应的数量的成员(150)的、能够在所述控制程序(70)中利用的结构体进行定义;以及
决定单元(130),其与所述取得的各栏(450)的数据类型对应地决定所述结构体的各成员(150)的数据类型。
[结构10]
一种信息处理程序,其是对由控制装置(200)执行的控制程序(70)的开发进行辅助的信息处理装置(100)的信息处理程序,所述信息处理程序使所述信息处理装置(100)执行以下步骤:
步骤(S20),取得构成所述控制装置(200)能够访问的数据库(70)所保持的1个或多个表(420)中所选择的表(420)的栏(450)的数量和各栏(450)的数据类型;
步骤(S25),对包含与所述取得的栏(450)的数量对应的数量的成员(150)的、能够在所述控制程序(70)中利用的结构体进行定义;以及
步骤(S30),与所述取得的各栏(450)的数据类型对应地决定所述结构体的各成员(150)的数据类型。
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围不是由上述说明表示,而是由权利要求书表示,意在包含与权利要求书等同的意思以及范围内的全部变更。
Claims (8)
1.一种控制系统,其用于对控制对象进行控制,该控制系统具有:
数据库,其保持有1个或多个表;
控制装置,其能够访问所述数据库;以及
信息处理装置,其对由所述控制装置执行的用户程序的开发进行辅助,
所述信息处理装置具有:
取得单元,其取得构成所述1个或多个表中所选择的表的各栏的栏名和数据类型;
决定单元,其与所述取得的各栏的数据类型对应地决定能够在所述用户程序中利用的各成员的数据类型;以及
显示单元,其显示如下画面:所述画面包含各栏的栏名和数据类型、以及与各栏的数据类型对应的各成员的数据类型。
2.根据权利要求1所述的控制系统,其中,
所述决定单元从能够在所述用户程序中利用的数据类型中,决定各成员的数据类型。
3.根据权利要求1所述的控制系统,其中,
所述决定单元基于表示栏的数据类型与成员的数据类型的对应关系的列表,决定各成员的数据类型。
4.根据权利要求1~3中的任意一项所述的控制系统,其中,
所述决定单元按照用户操作,决定各成员的数据类型。
5.根据权利要求1~3中的任意一项所述的控制系统,其中,
所述用户程序包含第1功能块,所述第1功能块用于执行控制对所述数据库的访问的命令,
在所述第1功能块中,将与对象栏对应的变量设定为自变量。
6.根据权利要求1~3中的任意一项所述的控制系统,其中,
所述用户程序包含第2功能块,所述第2功能块用于使得能够将与各栏的数据类型对应的数据类型的数据保存到所述控制装置中。
7.一种信息处理装置,其对由控制装置执行的用户程序的开发进行辅助,该信息处理装置具有:
取得单元,其取得构成所述控制装置能够访问的数据库所保持的1个或多个表中所选择的表的各栏的栏名和数据类型;
决定单元,其与所述取得的各栏的数据类型对应地决定能够在所述用户程序中利用的各成员的数据类型;以及
显示单元,其显示如下画面:所述画面包含各栏的栏名和数据类型、以及与各栏的数据类型对应的各成员的数据类型。
8.一种记录介质,其保存有由信息处理装置执行的信息处理程序,所述信息处理装置对由控制装置执行的用户程序的开发进行辅助,所述信息处理程序使所述信息处理装置执行以下步骤:
取得构成所述控制装置能够访问的数据库所保持的1个或多个表中所选择的表的各栏的栏名和数据类型;
与所述取得的各栏的数据类型对应地决定能够在所述用户程序中利用的各成员的数据类型;以及
显示如下画面:所述画面包含各栏的栏名和数据类型、以及与各栏的数据类型对应的各成员的数据类型。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-042490 | 2019-03-08 | ||
JP2019042490A JP7014199B2 (ja) | 2019-03-08 | 2019-03-08 | 制御システム、情報処理装置、および情報処理プログラム |
CN202080017521.1A CN113518981A (zh) | 2019-03-08 | 2020-02-14 | 控制系统、信息处理装置以及信息处理程序 |
PCT/JP2020/005789 WO2020184061A1 (ja) | 2019-03-08 | 2020-02-14 | 制御システム、情報処理装置、および情報処理プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017521.1A Division CN113518981A (zh) | 2019-03-08 | 2020-02-14 | 控制系统、信息处理装置以及信息处理程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450589A true CN116450589A (zh) | 2023-07-18 |
Family
ID=72354306
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310457195.1A Pending CN116450589A (zh) | 2019-03-08 | 2020-02-14 | 控制系统、信息处理装置以及记录介质 |
CN202080017521.1A Pending CN113518981A (zh) | 2019-03-08 | 2020-02-14 | 控制系统、信息处理装置以及信息处理程序 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017521.1A Pending CN113518981A (zh) | 2019-03-08 | 2020-02-14 | 控制系统、信息处理装置以及信息处理程序 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20220147010A1 (zh) |
EP (2) | EP3937024A4 (zh) |
JP (1) | JP7014199B2 (zh) |
CN (2) | CN116450589A (zh) |
WO (1) | WO2020184061A1 (zh) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH103303A (ja) * | 1996-06-14 | 1998-01-06 | Mitsubishi Electric Corp | インターフェース装置 |
JP2000315167A (ja) * | 1999-04-30 | 2000-11-14 | Toshiba Corp | データ管理装置、計算機システムおよびプログラムを記憶した記憶媒体 |
US7188100B2 (en) * | 2000-02-25 | 2007-03-06 | Joseph De Bellis | Search-on-the-fly report generator |
US7136873B2 (en) * | 2002-07-20 | 2006-11-14 | Microsoft Corporation | Dynamic filtering in a database system |
US6862486B2 (en) * | 2003-03-04 | 2005-03-01 | Activplant Corporation | System and method for processing data relating to conditions in a manufacturing process |
US20040210631A1 (en) * | 2003-04-17 | 2004-10-21 | Asher Michael L. | Method and apparatus for accessing legacy data in a standardized environment |
JP4494892B2 (ja) * | 2004-07-14 | 2010-06-30 | 三菱電機株式会社 | データ処理装置及びプログラム |
US20080189240A1 (en) * | 2007-02-05 | 2008-08-07 | Mullins Ward R | System, method and software for creating or maintaining local or distributed mapping and transparent persistence of complex data objects and their data relationships |
JP5241370B2 (ja) * | 2008-08-01 | 2013-07-17 | 三菱電機株式会社 | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム |
EP2866108A4 (en) * | 2012-06-22 | 2015-11-04 | Omron Tateisi Electronics Co | CONTROL DEVICE |
EP2827240A1 (en) * | 2013-07-17 | 2015-01-21 | ABB Technology AG | Method for generating control-code by a control-code-diagram |
JP2016194808A (ja) | 2015-03-31 | 2016-11-17 | オムロン株式会社 | プログラマブルロジックコントローラ、データ収集装置、データベースアクセス方法およびデータベースアクセスプログラム |
JP2017016503A (ja) * | 2015-07-03 | 2017-01-19 | 富士通株式会社 | コンパイラ、コンパイル装置及びコンパイル方法 |
US10445350B2 (en) * | 2015-11-15 | 2019-10-15 | Microsoft Technology Licensing, Llc | Optimizing content for consistent presentation through collaboration database service |
US10545984B2 (en) * | 2017-05-23 | 2020-01-28 | Sap Se | Abstract default column type in tables |
JP6550448B2 (ja) * | 2017-12-18 | 2019-07-24 | ヤフー株式会社 | データ管理装置、データ管理方法、およびプログラム |
JP7073813B2 (ja) * | 2018-03-16 | 2022-05-24 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
-
2019
- 2019-03-08 JP JP2019042490A patent/JP7014199B2/ja active Active
-
2020
- 2020-02-14 WO PCT/JP2020/005789 patent/WO2020184061A1/ja active Application Filing
- 2020-02-14 US US17/434,836 patent/US20220147010A1/en active Pending
- 2020-02-14 CN CN202310457195.1A patent/CN116450589A/zh active Pending
- 2020-02-14 EP EP20769408.4A patent/EP3937024A4/en active Pending
- 2020-02-14 CN CN202080017521.1A patent/CN113518981A/zh active Pending
- 2020-02-14 EP EP23170673.0A patent/EP4224333A1/en active Pending
-
2022
- 2022-06-10 US US17/837,268 patent/US20220299968A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2020144753A (ja) | 2020-09-10 |
EP3937024A1 (en) | 2022-01-12 |
US20220299968A1 (en) | 2022-09-22 |
WO2020184061A1 (ja) | 2020-09-17 |
US20220147010A1 (en) | 2022-05-12 |
EP3937024A4 (en) | 2022-11-09 |
CN113518981A (zh) | 2021-10-19 |
EP4224333A1 (en) | 2023-08-09 |
JP7014199B2 (ja) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095194B (zh) | 控制系统、控制器以及控制方法 | |
JP2017191386A (ja) | 機器保全装置、機器保全方法、機器保全プログラム及び記録媒体 | |
JP6737298B2 (ja) | コントローラ、制御方法、および制御プログラム | |
US10203681B2 (en) | Sequence-program-creation supporting apparatus | |
US20060290716A1 (en) | Program creation apparatus, program creation method and program | |
JP2017191385A (ja) | 機器保全装置、機器保全方法、機器保全プログラム及び記録媒体 | |
EP1708057A1 (en) | Programmable terminal system | |
JPH08221107A (ja) | シーケンス制御プログラム作成装置 | |
US11199993B2 (en) | Control system, development assistance device, and development assistance program | |
CN116450589A (zh) | 控制系统、信息处理装置以及记录介质 | |
JP6856153B2 (ja) | 機器保全装置、機器保全方法、機器保全プログラム及び記録媒体 | |
US11829355B2 (en) | Control system, control method, and control program | |
CN111033475A (zh) | 控制程序开发支持装置、控制程序开发支持系统、控制程序开发支持方法以及控制程序开发支持程序 | |
US20230101320A1 (en) | Method for creating and executing a control program for controlling an automation system, and automation system | |
JP4001458B2 (ja) | タグ名共有化装置、タグ名共有化方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20100083177A1 (en) | Using tags with operator interface panels | |
JP4919092B2 (ja) | 制御プログラムの開発支援装置 | |
JP2019160348A (ja) | 機器保全装置、機器保全方法、機器保全プログラム及び記録媒体 | |
JPH09128222A (ja) | ジョブフロー図表示方法及びジョブフロー図設計支援装置 | |
JPH04315203A (ja) | プログラマブルコントローラシステム | |
JPH02133838A (ja) | データ処理装置 |
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 |