控制器、控制方法以及控制程序技术

技术编号:24019703 阅读:59 留言:0更新日期:2020-05-02 04:49
期望用于在不描述SQL语句的情况下在数据库上生成表的技术。控制器(200)的控制程序包含生成模块(250),该生成模块(250)输出用于在数据库(430)上生成表(432)的SQL语句(230),该表(432)是该控制程序所包含的作为收集对象的变量的存储目的地。生成模块(250)针对作为收集对象的各变量决定数据库(430)上的识别名,根据控制程序中能够使用的数据类型、与数据库(430)中能够使用的数据类型之间的对应关系(213),确定与作为收集对象的各变量的数据类型对应的数据库(430)上的数据类型,根据所决定的识别名和确定的数据类型,生成SQL语句(230)。

Controller, control method and control program

【技术实现步骤摘要】
【国外来华专利技术】控制器、控制方法以及控制程序
本公开涉及用于在由控制器访问的数据库上生成表的技术。
技术介绍
在各种生产现场中,使生产工序自动化的FA(FactoryAutomation:工厂自动化)系统正在普及。FA系统由各种工业用的驱动设备构成。工业用的驱动设备例如包含用于使工件移动的移动台、用于搬运工件的输送机、用于将工件移动到预定的目标场所的手臂机器人等。这些驱动设备由PLC(ProgrammableLogicController:可编程逻辑控制器)、机器人控制器等工业用的控制装置(以下,也称为“控制器”。)来控制。近年来,能够访问外部设备的数据库的控制器正在普及。关于这样的控制器,日本特开2016-194808号公报(专利文献1)公开了“在不描述SQL的情况下操作数据库的技术中,能够通过简单的机理来统一操作多个记录”的控制器。国际公开第2014/184962号(专利文献2)公开了“在从数据库读出数据时,与以往相比能够减少从数据库进行读出的工序数”的控制器。现有技术文献专利文献专利文献1:日本特开2016-194808号公报专利文献2:国际公开第2014/184962号
技术实现思路
专利技术要解决的课题但是,为了将控制器内的收集对象的数据上传到数据库,需要预先在数据库上登记表。表是指用于数据管理的模型。表由表示列的列和表示行的记录构成。为了在数据库上生成表,用户需要预先定义各列的属性。作为一例,用户需要定义各列的识别名(列名)或能够追加到各列的数据类型等。此外,作为用于将控制器内的收集对象的数据追加到表中的事前准备,用户需要将控制器内的收集对象的数据与表上的各列名对应起来、或者按照登记在各列中的数据类型来转换收集对象的数据的类型。在这样的事前设定中需要SQL知识等专业知识。因此,缺乏专业知识的用户很难构建数据库。因此,期望能够在不描述SQL语句的情况下在数据库上生成表的技术。用于解决课题的手段在本公开的一例中,用于对控制对象进行控制的控制器具有:通信部,其用于访问数据库;以及存储装置,其存储用于对上述控制对象进行控制的控制程序。上述控制程序包含生成模块,该生成模块输出用于在上述数据库上生成表的SQL语句,该表是该控制程序所包含的作为收集对象的变量的存储目的地。上述生成模块针对作为上述收集对象的各变量决定上述数据库上的识别名,上述生成模块根据上述控制程序中能够使用的数据类型、与上述数据库中能够使用的数据类型之间的预定的对应关系,针对作为上述收集对象的各变量,确定与该变量的数据类型对应的上述数据库上的数据类型,上述生成模块根据针对作为上述收集对象的各变量决定的上述识别名、和针对作为上述收集对象的各变量确定的上述数据类型,生成上述SQL语句。根据本公开,用户能够在不描述SQL语句的情况下在数据库上生成表。在本公开的一例中,上述控制器还输出作为上述收集对象的各变量、该各变量的数据类型、与该各变量相关的上述数据库上的识别名以及与该各变量相关的上述数据库上的数据类型之间的对应结果。根据本公开,用户能够容易地掌握作为收集对象的各变量、该各变量的数据类型、与该各变量相关的数据库上的识别名以及与该各变量相关的数据库上的数据类型之间的对应关系。在本公开的一例中,上述生成模块将与作为上述收集对象的各变量的变量名相同的名称、或包含作为上述收集对象的各变量的变量名的名称决定为上述数据库上的上述识别名。根据本公开,通过将变量名表示为数据库上的识别名,用户能够容易地掌握与各变量对应的数据库上的识别名。在本公开的一例中,在作为上述收集对象的变量中包含结构体的情况下,上述生成模块针对结构体名决定上述识别名,并且针对上述结构体的各成员决定上述识别名,上述生成模块按照如下的方式生成上述SQL语句:将针对上述结构体名决定的上述识别名登记在上述表中,上述生成模块按照如下的方式生成上述SQL语句:将针对上述结构体的各成员决定的上述识别名登记在与上述表不同的表中。根据本公开,用户能够将结构体所包含的成员变量作为与其他收集对象变量不同的表来进行管理。在本公开的一例中,上述SQL语句包含用于将针对上述结构体名决定的上述识别名作为外部键而登记在上述表中的命令语句。根据本公开,用户能够在不描述SQL语句的情况下将与结构体对应的数据库上的识别名登记为外部键。在本公开的一例中,上述生成模块被规定为受理用于将作为上述收集对象的变量内的任意变量指定为主键的输入。上述SQL语句包含用于将与指定的变量对应的识别名作为主键而登记在上述表中的命令语句。根据本公开,用户能够在不描述SQL语句的情况下进行主键的设定。在本公开的其他例子中,能够访问数据库的控制器的控制方法具有如下的步骤:接收上述控制器的控制程序;针对上述控制程序所包含的作为收集对象的各变量,决定上述数据库上的识别名;根据上述控制程序中能够使用的数据类型、与上述数据库中能够使用的数据类型之间的预定的对应关系,针对作为上述收集对象的各变量,确定与该变量的数据类型对应的上述数据库上的数据类型;以及根据针对作为上述收集对象的各变量决定的上述识别名、和针对作为上述收集对象的各变量确定的上述数据类型,输出用于在上述数据库上生成表的SQL语句,上述表是作为上述收集对象的变量的存储目的地。根据本公开,用户能够在不描述SQL语句的情况下在数据库上生成表。在本公开的其他例子中,能够访问数据库的控制器的控制程序使上述控制器执行如下的步骤:针对上述控制程序所包含的作为收集对象的各变量,决定上述数据库上的识别名;根据上述控制程序中能够使用的数据类型、与上述数据库中能够使用的数据类型之间的预定的对应关系,针对作为上述收集对象的各变量,确定与该变量的数据类型对应的上述数据库上的数据类型;根据针对作为上述收集对象的各变量决定的上述识别名、和针对作为上述收集对象的各变量确定的上述数据类型,输出用于在上述数据库上生成表的SQL语句,上述表是作为上述收集对象的变量的存储目的地。根据本公开,用户能够在不描述SQL语句的情况下在数据库上生成表。专利技术效果在某些方面,能够在不描述SQL语句的情况下在数据库上生成表。附图说明图1是示出第1实施方式的控制系统的结构例的图。图2是示出第1实施方式的开发辅助装置、控制器、驱动设备以及外部设备之间的数据流的时序图。图3是示出作为由第1实施方式的开发工具提供的用户界面的一例即程序设计画面的图。图4是示出作为由第1实施方式的开发工具提供的用户界面的一例即表设定画面的图。图5是概略地示出第1实施方式的SQL语句的生成处理的图。图6是示出根据图5所示的SQL语句而生成的表的数据结构的图。图7是概略地示出第1实施方式的表的生成模式1的图。图8是示出根据图7所示的SQL语句而生成的表的数据结构的图。图9是概略地示出第1实施方式的表的生成模式2的图。图本文档来自技高网...

【技术保护点】
1.一种控制器,该控制器用于对控制对象进行控制,其中,/n该控制器具有:/n通信部,其用于访问数据库;以及/n存储装置,其存储用于对所述控制对象进行控制的控制程序,/n所述控制程序包含生成模块,该生成模块输出用于在所述数据库上生成表的SQL语句,该表是该控制程序所包含的作为收集对象的变量的存储目的地,/n所述生成模块针对作为所述收集对象的各变量决定所述数据库上的识别名,/n所述生成模块根据所述控制程序中能够使用的数据类型、与所述数据库中能够使用的数据类型之间的预定的对应关系,针对作为所述收集对象的各变量,确定与该变量的数据类型对应的所述数据库上的数据类型,/n所述生成模块根据针对作为所述收集对象的各变量决定的所述识别名、和针对作为所述收集对象的各变量确定的所述数据类型,生成所述SQL语句。/n

【技术特征摘要】
【国外来华专利技术】20180315 JP 2018-0476351.一种控制器,该控制器用于对控制对象进行控制,其中,
该控制器具有:
通信部,其用于访问数据库;以及
存储装置,其存储用于对所述控制对象进行控制的控制程序,
所述控制程序包含生成模块,该生成模块输出用于在所述数据库上生成表的SQL语句,该表是该控制程序所包含的作为收集对象的变量的存储目的地,
所述生成模块针对作为所述收集对象的各变量决定所述数据库上的识别名,
所述生成模块根据所述控制程序中能够使用的数据类型、与所述数据库中能够使用的数据类型之间的预定的对应关系,针对作为所述收集对象的各变量,确定与该变量的数据类型对应的所述数据库上的数据类型,
所述生成模块根据针对作为所述收集对象的各变量决定的所述识别名、和针对作为所述收集对象的各变量确定的所述数据类型,生成所述SQL语句。


2.根据权利要求1所述的控制器,其中,
所述控制器还输出作为所述收集对象的各变量、该各变量的数据类型、与该各变量相关的所述数据库上的识别名以及与该各变量相关的所述数据库上的数据类型之间的对应结果。


3.根据权利要求1或2所述的控制器,其中,
所述生成模块将与作为所述收集对象的各变量的变量名相同的名称、或包含作为所述收集对象的各变量的变量名的名称决定为所述数据库上的所述识别名。


4.根据权利要求1~3中的任意一项所述的控制器,其中,
在作为所述收集对象的变量中包含结构体的情况下,所述生成模块针对结构体名决定所述识别名,并且针对所述结构体的各成员决定所述识别名,
所述生成模块按照如下的方式生成所述SQL语句:将针对所述结构体名决定的所述识别名登记在所述表中,
所述生成模块按照如下的方式生成所述SQL语句:将针对所述结构体的各成员决定的所述识别名登记在...

【专利技术属性】
技术研发人员:冈村弘太郎
申请(专利权)人:欧姆龙株式会社
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1