CN104395845B - 控制装置 - Google Patents

控制装置 Download PDF

Info

Publication number
CN104395845B
CN104395845B CN201380032494.5A CN201380032494A CN104395845B CN 104395845 B CN104395845 B CN 104395845B CN 201380032494 A CN201380032494 A CN 201380032494A CN 104395845 B CN104395845 B CN 104395845B
Authority
CN
China
Prior art keywords
name
information
sql statement
program
user program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380032494.5A
Other languages
English (en)
Other versions
CN104395845A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN104395845A publication Critical patent/CN104395845A/zh
Application granted granted Critical
Publication of CN104395845B publication Critical patent/CN104395845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31369Translation, conversion of protocol between two layers, networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Programmable Controllers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种即使不描述用于数据库操作的SQL,也能够进行包含对数据库进行操作的编程的技术。能够访问DBMS(22)的PLC(33)存储有包含结构体型的变量的用户程序(38)以及表示结构体型的定义的定义信息(32)。时序命令程序(34)按顺序执行用户程序(38)的命令,并为了访问DBMS(22)而调用DB访问处理程序(35)。DB访问处理程序(35)读取定义信息(32),并基于所读取的定义信息(32),生成在通过执行用户程序(38)而访问DBMS(22)时的SQL语句。DB访问处理程序(35)通过将生成的SQL语句发送至DB服务器(20)来执行SQL语句。

Description

控制装置
技术领域
本发明涉及一种可编程逻辑控制器(PLC:Programmable Logic Controller)等的控制装置,特别是涉及一种用于易于实现访问数据库系统的技术。
背景技术
PLC等的控制装置用于对工厂等的自动机械进行控制等,具有多个输入输出功能,例如,依次读取从传感器等输出的值并保持数据。
另外,近年来,控制装置与数据库系统连接,并将由控制装置保持的数据积存在数据库系统中。由此,能够易于在与数据库相连接的信息处理装置之间实现数据的共享,或者收集各种数据,易于进行数据的合计、分析等。例如,JP特开2007-80286号公报(下述的专利文献1)公开了一种能够将PLC所具有的I/O数据实时地传达至上位计算机的数据收集装置。
现有技术文献
专利文献
专利文献1:JP特开2007-80286号公报
发明内容
发明要解决的问题
进行PLC等控制装置的控制编程的技术人员,在很多情况下对结构体等控制编程所使用的数据结构很熟练。另一方面,就操作数据库来讲,需要描述SQL语句等,这对技术人员来说很繁琐,另外,也会遇到对数据库的操作不熟练的情况。通常,包含数据库在内的上位计算机系统的工程师对于数据库运用的知识更加熟悉。
因此,本发明的目的在于,提供一种对于技术人员来说,在进行PLC等控制装置的控制编程时,易于进行包含访问数据库在内的编程的技术。
用于解决问题的手段
基于一个实施方式的能够访问数据库系统的控制装置,其特征在于,包括:存储部,其用于存储包含结构体型变量的用户程序以及表示用户程序所包含的结构体型的定义的定义信息,生成部,其读取定义信息,基于所读取的该定义信息,生成在执行用户程序来访问数据库系统时的SQL语句,执行部,其通过将所生成的SQL语句发送至数据库系统,来执行SQL语句。
优选地,生成部可以提取与执行的用户程序对应的定义信息的定义所表示的结构体标志名和成员名,按照规定的转换规则将提取的结构体标志名和成员名决定为用于访问数据库系统的表格名和字段名,由此来生成SQL语句。
优选地,生成部基于定义信息,生成确定了用于访问数据库系统的表格名和字段名但不包含值的SQL语句,执行部可以事先将不包含值的SQL语句发送至数据库系统,根据用户程序的命令提取结构体型变量的成员的值,通过将提取出的值发送至数据库系统来执行SQL语句。
优选地,存储部存储映射信息,映射信息表示定义信息所表示的结构体标志名及成员名的定义与表示用于访问数据库系统的表格名及字段名之间的转换规则,生成部可以基于定义信息所表示的结构体标志名及成员名和映射信息所表示的转换规则,生成SQL语句。
优选地,生成部基于映射信息所表示的表格名和字段名,生成不包含值的SQL语句,执行部可以事先将不包含值的SQL语句发送至数据库系统,根据用户程序的命令提取结构体型变量的成员的值,通过将提取出的值发送至数据库系统来执行SQL语句。
优选地,存储部用于存储映射信息,映射信息表示定义信息所表示的结构体标志名及成员名的定义与用于访问数据库系统的表格名及字段名之间的转换规则,用户程序包含表示应该基于定义信息生成映射信息的命令,生成部执行用户程序所包含的表示应该生成映射信息的命令,由此基于定义信息生成映射信息,可以基于定义信息所表示的结构体标志名及成员名和生成的映射信息所表示的转换规则,来生成SQL语句。
发明的效果
根据上述一个实施方式,进行控制装置的控制编程的技术人员即使不考虑用于数据库操作的SQL语句,也能够使用结构体型的数据结构进行包含访问数据库的编程,使编程变得容易。
通过结合附图来理解的与本发明相关的如下的详细说明,能够理解本发明的上述和其他的目的、特征、方案和优点。
附图说明
图1为示出本实施方式的PLC系统整体的结构的图。
图2为示出PC10的功能的框图。
图3为示出DB服务器20的功能的框图。DB服务器20为具有大容量的存储装置等的计算机系统。
图4为示出PLC30的功能的框图。
图5为示出数据库表格26的图。
图6为示出DB访问处理程序35创建并执行SQL语句的处理的流程图。
图7为示出用户程序的一个例子的图。
图8为示出SQL语句的例子的图。
图9为示出实施方式2中的PLC30的结构的功能框图。
图10为示出映射信息41的例子的图。
图11为示出实施方式2中的DB访问处理程序35的动作的流程图。
具体实施方式
以下,参照附图,对本发明的实施方式进行说明。在以下的说明中,在相同的部件上标上相同的附图标记。这些附图标记的名称和功能也相同。因此,不重复进行详细说明。
<1实施方式1>
<1.1实施方式1的构成>
首先,对本实施方式的控制系统的系统结构进行说明。在本实施方式中,将对机器、设备等控制对象进行控制的可编程控制器(PLC)作为控制装置的典型例子进行说明。但是,本发明的控制装置不仅限于PLC,还能够为各种控制装置。
图1为示出本实施方式的PLC系统整体的结构的图。
首先说明概要。如图1所示,PLC系统包括PC(Personal Computer:个人计算机)10、DB(Database:数据库)服务器20、PLC30、交换式集线器40。PC10为用于使用户对在PLC30动作的用户程序进行创建的信息处理装置。DB服务器20管理数据库,因此,是作为DBMS(database management system:数据库管理系统)起作用的服务器。
用户程序由PLC30的使用者来创建。例如,用户能够通过操作PC10,创建包含访问数据库的访问命令在内的程序(源程序)。PC10将源程序转换为能够在PLC30执行的形式,并将转换后的用户程序发送至PLC30。PLC30能够执行用户程序,并按照用户程序所包含的访问命令来访问DB服务器20。
PLC30与交换式集线器40连接,并经由交换式集线器40与PC10和DB服务器20连接。PLC30从外部接收传感器的输出等,并积存数据。PLC30通过后述的DB访问处理程序35的处理将积存的数据发送至DB服务器20。在图1所示的例子中,示出了PLC系统包含多个PLC30的例子,各个PLC30的主要结构都相同。交换式集线器40与PC10等多个设备连接,传送在各设备之间发送/接收的数据。
下面,对各设备的详细结构进行说明。
<1.2各设备的详细结构>
图2为示出PC10的功能的框图。
PC10为具有MCU(Micro Control Unit:微控制单元)、ROM(Read Only Memory:只读存储器)、RAM(Random Access Memory:随机存储器)等的计算机系统(信息处理装置)。如图2所示,PC10发挥编程工具12的功能。编程工具12为使PC10发挥如下功能的程序,即用于使用户创建用于使PLC30动作的用户程序。编程工具12包含数据类型定义部14和编程功能16的功能。将用户利用编程工具12创建的用户程序发送至PLC30,并由PLC30执行该用户程序。
用户程序包含结构体型的变量。数据类型定义部14为用于定义结构体型的软件。结构体型由结构体标志(tag)名、1个以上的成员(member)名构成。数据类型定义部14定义结构体标志名、这些结构体的成员名以及这些的数据类型。例如,数据类型定义部14为了表示工厂等的生产管理中使用的各指标,定义一种结构体型,其中,将结构体标志名设为“ProductionTable”,将该结构体的各成员设为表示所生产的产品名称的“Name”(数据类型为字符串型(String))、将用于管理产品的批号设为“LotNo”(数据类型为整型(Integer))、将表示制造产品的成功数量设为“SuccessCount”(数据类型为整型(Integer))、将表示制造产品的失败数量设为“FailedCount”(数据类型为整型(Integer))。数据类型定义部14以这种方式定义结构体型,并生成表示其定义内容的定义信息32。编程功能16为用于支援用户创建程序的软件。通过在PC10上执行这些软件,使PC10发挥数据类型定义部14和编程功能16的功能。
图3为示出了DB服务器20的功能的框图。DB服务器20为具有大容量存储装置等的计算机系统。
DB服务器20发挥DBMS22的作用,DBMS22用于管理从数据库读取和向数据库写入。DBMS22包括作为数据库起作用的DB24。DB24保持多个数据库表格26。
图4示出PLC30的功能的框图。PLC30为计算机系统,周期性地执行用户程序。PLC30读写PLC30内的存储区域的信息,按顺序执行由用户程序示出的命令。PLC30具有输入输出功能,通过传感器输出等从PLC30的外部接收数据,并积存数据。PLC30将积存的数据发送至DB服务器20。
如图4所示,PLC30的各功能通过OS(操作系统)31、系统程序33、用户程序38和定义信息32构成。OS31是基于PLC30的计算机体系结构设计而成的,微处理器(未图示)执行系统程序33和用户程序38提供基本的执行环境。
系统程序33为用于提供作为PLC30的基本功能的软件组,在OS31上动作,发挥控制阶梯程序等的作用。系统程序33包括时序命令程序34、DB访问处理程序35、输入输出处理程序36、调度程序37。时序命令程序34一边读写PLC30内的存储区域的信息,一边按顺序执行用户程序38的命令。DB访问处理程序35执行如下的处理,即伴随时序命令程序34执行用户程序38而被调用的用于使用户程序38访问DB服务器20的处理,例如执行生成SQL(Structured Query Language:结构化查询语言)语句等的处理。
输入输出处理程序36控制基于PLC30所具有的多个输入输出功能的向PLC30的数据输入和从PLC30的数据输出。将各输入输出功能分别分配存储器的地址。周期性地一并交换在与各输入输出功能相对应的存储器中保存的数据与PLC30外部的数据。调度程序37控制执行时序命令程序34、DB访问处理程序35、输入输出处理程序36。
由用户在PC10上创建用户程序38并将其保存于PLC30的存储器。如图4所示,用户程序38和时序命令程序34构成控制程序39。即,通过时序命令程序34读出用户程序38并按顺序执行命令,来使PLC30执行用户想要的控制动作。
定义信息32为示出在用户程序38所包含的结构体型的变量的定义的信息,定义有结构体标志名、结构体所包含的各成员名、以及这些的数据类型。
<2数据>
下面,对在本实施方式中使用的数据进行说明。
图5为示出数据库表格26的图。数据库表格26与上述相同,由DB服务器20的DBMS22进行管理。
数据库表格26由表示表格的名称的表格名称51和表格的字段(Name52、LotNo53、SuccessCount54、FailedCount55、……)构成。在图5的例子中,如表格名称51所示,表格的名称为“Production Table(产品表格)”,将与产品相关的信息保存在表格中。Name52表示产品的名称。LotNo53表示产品的批号。SuccessCount54表示制造产品的成功数量,FailedCount55表示制造产品的失败数量。
<3动作>
下面,使用附图对本实施方式中的PC10、PLC30的动作进行详细的说明。
在实施方式1中的动作的概要如下所述。
用户在PC10上创建用于在PLC30执行的用户程序。用户为了访问DB服务器20,创建包含结构体型的变量在内的用户程序。
PLC30从PC10接收并存储用户程序和定义信息32。时序命令程序34按顺序执行用户程序38的命令,通过执行用户程序38的命令,从存储器中提取结构体型的变量的各成员的值。时序命令程序34根据调用DB访问处理程序35的命令,将处理过渡至DB访问处理程序35。DB访问处理程序35分析用户程序38的定义信息32所表示的定义等,利用用户程序38所包含的数据、通过执行用户程序38的命令而提取出的结构体型变量的各成员的值,来生成用于访问DB服务器20的SQL语句。DB访问处理程序35通过将生成的SQL语句发送至DB服务器20,来执行SQL语句(使DB服务器20执行SQL语句)。
此外,在本实施方式中,编程工具12的数据类型定义部14与保存于DB服务器20的数据库表格26的表格名和字段名相对应地定义结构体标志名以及成员名、各成员的数据类型。即,结构体标志名与表格名对应,成员名与字段名对应。这样的定义包含在用户程序38的定义信息32中。因此,DB访问处理程序35能够将在定义信息32中包含的结构体标志名直接用作表格名,创建SQL语句。成员名和字段名也同样。此外,还可以将定义结构体的结构体标志名与数据库表格26的表格名建立对应关系。
图6为示出DB访问处理程序35创建并执行SQL语句的处理的流程图。
在步骤S70中,DB访问处理程序35读取定义信息32。
在步骤S72中,DB访问处理程序35参照定义信息32示出的结构体的定义来提取成员名,并将提取出的成员名作为用于操作DB24的字段名。
在步骤S74中,DB访问处理程序35提取定义信息32示出的结构体的定义的结构体标志名,并将提取出的结构体标志名作为用于操作DB24的表格名。
在步骤S76中,DB访问处理程序35读取通过执行用户程序38而提取出的结构体的各成员的值。
在步骤S78中,DB访问处理程序35将在步骤S72中获取的字段名与在步骤S76中读取的值建立对应关系,利用在步骤S74中获取的表格名来生成SQL语句。
在步骤S80中,DB访问处理程序35通过将生成的SQL语句发送至DB服务器20,来操作DB服务器20的DB24。
由此,对创建用于控制PLC30的用户程序的用户来说,即使不用描述用于操作数据库的SQL语句,也能够访问DBMS22。例如,即使是不习惯数据库操作的用户,不用学会用于数据库操作的SQL的概念等,就能够创建访问数据库的用户程序。
以下,对用户程序的例子、SQL语句的例子进行具体的说明。
对通过编程工具12创建的用户程序的例子进行说明。图7为示出用户程序的一个例子的图。
如图7的用户程序71所示,用户使用结构体型的数据结构实施编程。在用户程序71的例子中,结构体型变量的标志名为“ProductionTable”。此外,通过执行图7的用户程序71,来提取各成员的值。例如,DB访问处理程序35从PLC30的存储器提取成员“Name”的值为“Product1”,成员“LotNo”的值为“100”,成员“SuccessCount”的值为“49”,成员“FailedCount”的值为“1”,创建图8示出的SQL语句并从PLC30发送至DB服务器20。由此,更新数据库。
此处,“NJtoDBFunc”表示如下的命令,即,使PLC30调用在时序命令程序34中事先准备的库(用于根据DB访问处理程序35来访问DBMS22的库),并使PLC30根据DB访问处理程序35访问DBMS22的命令。“DBHandle”表示在PLC30与DBMS22连接时的句柄。句柄在根据用户程序38与DBMS22连接的初始阶段。“Variable”在该程序中,表示作为从PLC30向DB服务器20传送值的对象的结构体型变量的标志名(在图7的例中为“ProductionTable”)。“Done”、“Error”为输出用的命令,表示命令完成的状态。
对在步骤S78中生成的SQL语句的例子进行具体的说明。图8为示出SQL语句的例子的图。此外,图8与图7的用户程序71相对应。
此外,在步骤S72、步骤S74中,从DB服务器20所保持的各数据库表格26中,提取作为PLC30访问的对象的表格名和字段名。在步骤S76中,DB访问处理程序35分析用户程序71的各命令的字句,从存储器读取数据库的值。如图8的SQL语句81所示,在表格名“ProductionTable”中,用于更新各字段的值的SQL语句是通过DB访问处理程序35生成的。
此外,在该图8的例子中,示出了向数据库追加数据的情况,还有向数据库写入、读取、另外还有创建数据库本身的SQL语句,DB访问处理程序35通过生成这些SQL语句并发送至DB服务器20,来操作数据库。还能够利用Insert、Select等操作数据的语言、DML(DataManipulation Language:数据操纵语言)、DDL(Data Definition Language:数据定义语言)等来作为SQL语句的例子。
<4变形例>
(实施例1的变形例1)
此外,在上记实施例1的说明中,就DB访问处理程序35而言,说明了将定义信息32所包含的结构体标志名直接作为用于访问DBMS22的表格名,将定义信息32所包含的成员名作为字段名的情况。
DB访问处理程序35还可以基于预定的转换规则,将定义信息32所包含的结构体标志名和成员名转换为用于访问DBMS22的表格名和字段名。此处,例如,预定的转换规则是指,用于将结构体的结构体标志名或者成员名转换为能够访问DBMS22的字符串的规则。例如,(ⅰ)省略结构体标志名或者成员名的一部分的字符串来作为表格名或者字段名,(ⅱ)在DBMS22中,在定义信息32的结构体标志名或者成员名中包含禁止作为表格名和字段名使用的字符串的情况下,删除或者修改这些字符串之后,用作表格名等等。
(实施例1的变形例2)
在上记实施例1的说明中,说明了DB访问处理程序35为如图8所示的生成包含在步骤S76中读取的值的SQL语句的情况。不限于此,DB访问处理程序35还可以先生成不包含值的SQL语句,并事先发送至DBMS22,然后,每当取得周期性获取的值时,向DBMS22发送值,由此来操作DBMS22。
例如,在图6的例子中,DB访问处理程序35通过步骤S70、步骤S72、步骤S74为止的处理来决定用于操作DB24的字段名和表格名,并使用决定的字段名和表格名生成不包含值的SQL语句。在图8的例子中,在不包含值的SQL语句中,“VALUE”的项目为空白(例如,为VALUE(?,?,?,?))。DB访问处理程序35将不包含值的SQL语句事先发送至DBMS22。然后,DB访问处理程序35基于用户程序38的处理结果,将SQL语句的值发送至DBMS22。例如,在图7和8的例子中,通过DB访问处理程序35的处理,将值“(‘Product1’,100,49,1)”从PLC30发送至DBMS22。像这样,通过DB访问处理程序35的处理使PLC30将不包含值的SQL语句和值发送至DBMS22,由此来执行SQL语句。
<5实施方式2>
下面,对另一种实施方式进行说明。在实施方式1中,说明了如下的情况,即,PLC30基于用户程序38和定义信息32,将定义信息32示出的结构体标志名和成员名直接作为表格名和字段名,或者,基于预定的转换规则转换为表格名和字段名。
相对于此,在实施方式2中,PLC30保持有映射信息41,该映射信息41表示定义信息32示出的结构体标志名和成员名与用于使DB访问处理程序35访问DBMS22的表格名和字段名之间的转换规则。DB访问处理程序35基于与结构体标志名相对应的映射信息41,来生成SQL语句。
以下,进行具体地说明。图9为示出实施方式2的PLC30的结构的功能框图。与实施方式1的不同点在于,PLC30保持有映射信息41。
图10为示出映射信息41的例子的图。如图10所示,映射信息41对结构体标志名与用于访问DBMS22的表格名建立了对应关系。另外,映射信息41对结构体的各成员名与各字段名建立了对应关系。
例如,可以事先由DB服务器20的管理员等创建映射信息41并由PLC30保存该映射信息41,还可以通过PC10获取数据库表格26的表格信息和字段信息,然后管理员等通过PC10创建由数据类型定义部14定义的结构体标志名、成员名与数据库表格26的表格信息和字段信息之间的转换规则。
<6实施方式2的动作>
图11为示出实施方式2中的DB访问处理程序35的动作的流程图。
与实施方式1同样地,PLC30从PC10接收并存储用户程序和定义信息32。时序命令程序34按顺序执行用户程序38的命令,并通过执行用户程序38的命令,从存储器中提取结构体型变量的各成员的值。时序命令程序34根据调用DB访问处理程序35的命令,将处理过渡至DB访问处理程序35。
以下,具体地进行说明。
在步骤S110中,DB访问处理程序35读取用户程序38的定义信息32。
在步骤S112中,DB访问处理程序35从映射信息41中读取出定义信息32的结构体标志名、与各成员相对应的表格名、字段名。
在步骤S114中,DB访问处理程序35读取通过执行用户程序38而提取出的结构体的各成员的值。
在步骤S118中,DB访问处理程序35使用在步骤S112中读取出的表格名、字段名和在步骤S114中读取出的值,生成用于访问DB服务器20的SQL语句。
在步骤S120中,DB访问处理程序35通过将生成的SQL语句发送至DBDB服务器20来执行SQL语句。
根据上述的实施方式2,由于映射信息41示出了定义信息32与用于访问DBMS22的表格名和字段名之间的转换规则,所以例如即使在结构体标志名或者成员名中包含有不能作为表格名和字段名使用的字符串的情况下,DB访问处理程序35也能够通过参照映射信息41来生成SQL语句。另外,在DBMS22中,即使在表格名和字段名的命名规则对用户来讲难以处理的情况下(例如,表格名为对人来讲是难以记住的字符串等),由于DB访问处理程序35参照映射信息41来生成SQL语句,所以用户能够将易于理解的字符串用于结构体标志名或者成员名,来创建用户程序38。另外,在用户想要自由地设定结构体标志名或者成员名的情况下也是有效的,用户即使对SQL的概念不熟练也能够进行编程。
在实施方式2中,例如,说明了事先由DB服务器20的管理员等创建映射信息41并由PLC30保存该映射信息41的情况。除此之外,可以设定为在用户程序38中包含表示PLC30应该生成映射信息41的意思的命令。例如,PC10生成用户程序38,该用户程序38包含定义信息32示出的结构体的数据的定义(结构体标志名、成员名等)与用于使PLC30访问DBMS22的表格名和字段名之间的转换规则。该用户程序38包含PLC30应该生成映射信息41的命令。
在PLC30中,时序命令程序34执行用户程序38,并根据用户程序38中包含的应该生成上述转换规则和映射信息41的命令来生成映射信息41,将所生成的映射信息41保存在存储器中。DB访问处理程序35在生成了映射信息41以后的处理中,基于用户程序38中包含的结构体型变量,参照保存在存储器中的映射信息41来生成SQL语句。由此,实现PLC30生成SQL语句处理的高速化。
另外,在上述实施方式的说明中,说明了如下的情况,即,PC10根据用户的输入操作生成定义信息32和用户程序,将所生成的定义信息32和用户程序分别从PC10发送至PLC30。除此之外,用户程序可以包含定义信息32。PC10生成包含定义信息32的用户程序,并将所生成的用户程序发送至PLC30。
像这样,对各实施方式进行了说明,当然也可以将这些实施方式进行组合。以上,基于实施方式对本发明人提出的发明进行了具体的说明,但是本发明并不仅限定于上述的实施方式,当然也可以为在不脱离其思想的范围内能够进行各种变更。
应该理解的是,本次公开的实施方式在所有方面都是例示性的,而并非限定。本发明的范围不是由上述的说明而是通过权利要求的范围来示出的,并且包含与权利要求的范围等同的意思和范围内的所有的变更。
附图标记说明
10 PC,12编程工具,14数据类型定义部,16编程功能,20 DB服务器,22 DBMS,24DB,26数据库表格,30 PLC,31 OS,32定义信息,33系统程序,34时序命令程序,35DB访问处理程序,36输入输出处理程序,37调度程序,38用户程序,39控制程序,40交换式集线器,41映射信息,51表格名称,52 Name,53 LotNo,54 SuccessCount,55 FailedCount,71用户程序,81 SQL语句。

Claims (5)

1.一种能够访问数据库系统的控制装置,其特征在于,包括:
存储部,其用于存储包含结构体型变量的用户程序以及表示所述用户程序所包含的所述结构体型的定义的定义信息,
生成部,其执行所述用户程序并读取所述定义信息,提取与执行的所述用户程序对应的所述定义信息的定义所表示的结构体标志名和成员名,按照规定的转换规则将提取的结构体标志名和成员名决定为用于访问所述数据库系统的表格名和字段名,由此来生成在执行所述用户程序来访问所述数据库系统时的SQL语句,
执行部,其通过将所生成的SQL语句发送至所述数据库系统,来执行所述SQL语句。
2.如权利要求1所述的控制装置,其特征在于,
所述存储部还存储所述结构体型变量的各成员的值,
所述生成部基于所述定义信息,生成确定了用于访问所述数据库系统的表格名和字段名但不包含值的SQL语句,
所述执行部事先将不包含所述值的SQL语句发送至所述数据库系统,根据所述用户程序的命令提取所述结构体型变量的成员的值,通过将提取出的值发送至所述数据库系统来执行所述SQL语句。
3.如权利要求1所述的控制装置,其特征在于,
所述存储部存储映射信息,所述映射信息表示所述定义信息所表示的结构体标志名及成员名的定义与表示用于访问所述数据库系统的表格名及字段名之间的所述转换规则,
所述生成部基于所述定义信息所表示的结构体标志名及成员名和所述映射信息所表示的所述转换规则,生成所述SQL语句。
4.如权利要求3所述的控制装置,其特征在于,
所述存储部还存储所述结构体型变量的各成员的值,
所述生成部基于所述映射信息所表示的表格名和字段名,生成不包含值的SQL语句,
所述执行部事先将不包含所述值的SQL语句发送至所述数据库系统,根据所述用户程序的命令提取所述结构体型变量的成员的值,通过将提取出的值发送至所述数据库系统来执行所述SQL语句。
5.如权利要求1所述的控制装置,其特征在于,
所述存储部用于存储映射信息,所述映射信息表示所述定义信息所表示的结构体标志名及成员名的定义与用于访问所述数据库系统的表格名及字段名之间的所述转换规则,
所述用户程序包含表示应该基于所述定义信息生成所述映射信息的命令,
所述生成部执行所述用户程序所包含的表示应该生成所述映射信息的命令,由此基于所述定义信息生成所述映射信息,
基于所述定义信息所表示的结构体标志名及成员名和所述生成的所述映射信息所表示的所述转换规则,来生成所述SQL语句。
CN201380032494.5A 2012-06-22 2013-06-21 控制装置 Active CN104395845B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-141378 2012-06-22
JP2012141378 2012-06-22
PCT/JP2013/067088 WO2013191275A1 (ja) 2012-06-22 2013-06-21 制御装置

Publications (2)

Publication Number Publication Date
CN104395845A CN104395845A (zh) 2015-03-04
CN104395845B true CN104395845B (zh) 2017-07-25

Family

ID=49768866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380032494.5A Active CN104395845B (zh) 2012-06-22 2013-06-21 控制装置

Country Status (5)

Country Link
US (1) US10061809B2 (zh)
EP (1) EP2866108A4 (zh)
JP (1) JP6065008B2 (zh)
CN (1) CN104395845B (zh)
WO (1) WO2013191275A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014002981B4 (de) * 2014-04-25 2020-03-12 Mitsubishi Electric Corporation Informationsverknüpfungs-System
KR101704145B1 (ko) * 2014-12-30 2017-02-08 주식회사 포스코아이씨티 이기종 데이터베이스를 지원하는 제어기 관리 스테이션 및 이를 포함하는 제어 시스템
JP2016194808A (ja) * 2015-03-31 2016-11-17 オムロン株式会社 プログラマブルロジックコントローラ、データ収集装置、データベースアクセス方法およびデータベースアクセスプログラム
EP3118696B1 (en) * 2015-04-06 2020-07-22 Mitsubishi Electric Corporation Programmable controller system
US10169351B2 (en) * 2015-08-19 2019-01-01 International Business Machines Corporation Merging directory information from a user directory to a common directory
JP6370503B1 (ja) * 2017-04-17 2018-08-08 三菱電機株式会社 プログラム作成装置
CN111295597A (zh) * 2017-08-31 2020-06-16 阿维瓦软件有限公司 对象索引的数据数组
JP6737298B2 (ja) * 2018-03-15 2020-08-05 オムロン株式会社 コントローラ、制御方法、および制御プログラム
JP6720994B2 (ja) 2018-03-15 2020-07-08 オムロン株式会社 制御システム、コントローラ、および制御方法
CN109885532A (zh) * 2019-02-11 2019-06-14 中国银行股份有限公司 一种交易数据标准化方法和装置
JP7014199B2 (ja) * 2019-03-08 2022-02-01 オムロン株式会社 制御システム、情報処理装置、および情報処理プログラム
CN112015831A (zh) * 2020-09-09 2020-12-01 深圳市绿联科技有限公司 基于c语言对关系型数据库进行操作的方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735594B1 (en) * 2000-06-23 2004-05-11 International Business Machines Corporation Transparent parameter marker support for a relational database over a network
EP1420315A1 (en) * 2002-11-18 2004-05-19 Rockwell Automation Technologies, Inc. Embedded database in an industrial controller environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034513A (ja) 1999-07-19 2001-02-09 Hitachi Ltd データ変換方法および装置並びにデータ変換プログラムを格納した記憶媒体
JP2002023812A (ja) * 2000-07-05 2002-01-25 Mitsubishi Materials Corp 自動制御システムおよび自動制御方法
JP2002099561A (ja) 2000-09-21 2002-04-05 Toshiba Corp データ変換方法およびデータ変換システム並びに記憶媒体
JP2002149652A (ja) 2000-11-07 2002-05-24 Hitachi Ltd データベース検索処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2003091530A (ja) 2001-09-17 2003-03-28 Toshiba Corp 構造化データ変換方法、構造化データ変換プログラム、構造化データ変換装置
JP4244677B2 (ja) 2003-03-31 2009-03-25 三菱電機株式会社 Faコントローラ
US20060026193A1 (en) * 2004-08-02 2006-02-02 Rockwell Software, Inc. Dynamic schema for unified plant model
JP2006164090A (ja) 2004-12-10 2006-06-22 Hitachi Ltd データベース操作プログラムの自動生成装置
US7565351B1 (en) * 2005-03-14 2009-07-21 Rockwell Automation Technologies, Inc. Automation device data interface
US8065666B2 (en) * 2006-06-02 2011-11-22 Rockwell Automation Technologies, Inc. Change management methodologies for industrial automation and information systems
JP4961928B2 (ja) 2006-09-26 2012-06-27 富士電機株式会社 シーケンスプログラム変換装置、および、プログラマブルコントローラのプログラミング装置
DE102006046643A1 (de) 2006-09-29 2008-04-03 Phoenix Contact Gmbh & Co. Kg Speicherprogrammierbare Steuereinrichtung mit integriertem Datenbanktreiber
JP2007080286A (ja) 2006-11-13 2007-03-29 Omron Corp データ収集装置
CN100456237C (zh) * 2007-01-31 2009-01-28 华为技术有限公司 数据库访问方法和装置
US7853336B2 (en) * 2007-02-27 2010-12-14 Rockwell Automation Technologies, Inc. Dynamic versioning utilizing multiple controller engine instances to limit complications
CN101714087A (zh) * 2009-12-15 2010-05-26 四川长虹电器股份有限公司 C语言结构体至关系数据库表的映射系统及映射方法
JP5549556B2 (ja) * 2010-11-16 2014-07-16 富士電機株式会社 データ収集システム、データ収集システムの異常要因判定方法
JP6201298B2 (ja) 2012-11-14 2017-09-27 オムロン株式会社 コントローラおよびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735594B1 (en) * 2000-06-23 2004-05-11 International Business Machines Corporation Transparent parameter marker support for a relational database over a network
EP1420315A1 (en) * 2002-11-18 2004-05-19 Rockwell Automation Technologies, Inc. Embedded database in an industrial controller environment

Also Published As

Publication number Publication date
CN104395845A (zh) 2015-03-04
EP2866108A1 (en) 2015-04-29
WO2013191275A1 (ja) 2013-12-27
JP6065008B2 (ja) 2017-01-25
US10061809B2 (en) 2018-08-28
EP2866108A4 (en) 2015-11-04
US20150254305A1 (en) 2015-09-10
JPWO2013191275A1 (ja) 2016-05-26

Similar Documents

Publication Publication Date Title
CN104395845B (zh) 控制装置
CN107077459B (zh) 具有通信接口的设备和用于控制数据库访问的方法
CN105550241B (zh) 多维数据库查询方法及装置
CN104572895B (zh) MPP数据库与Hadoop集群数据互通方法、工具及实现方法
WO2012154573A1 (en) Query template definition and transformation
CN107480380B (zh) 一种基于模板的工程图纸生成方法
CN107665216A (zh) 一种数据库访问方法及中间件
US10924551B2 (en) IRC-Infoid data standardization for use in a plurality of mobile applications
CN108279885A (zh) 一种对多个模型代码进行软件集成的方法及装置
CN105279269B (zh) 一种支持表自由关联的sql生成方法和系统
CN101634833B (zh) 现场设备io参数的开放式配置方法及系统
CN107870949A (zh) 数据分析作业依赖关系生成方法和系统
CN114117645B (zh) 一种舰船总体性能预报集成应用系统
CN104133891B (zh) 一种基于关系型数据库的海量结构化数据的存储方法
CN117009038B (zh) 一种基于云原生技术的图计算平台
Baier et al. Energy-utility analysis of probabilistic systems with exogenous coordination
CN106648672A (zh) 一种大数据开发与运行方法及系统
Almeida et al. A comprehensive overview of open source big data platforms and frameworks
CN106202239B (zh) 一种cad数据生成shape数据文件方法及系统
CN113901120A (zh) 一种大数据批量导出Excel文件的方法及装置
Grossman What is analytic infrastructure and why should you care?
CN103761099B (zh) 一种模型和实验框架分离的实现方法
CN103246649A (zh) 一种数据库的动态建库方法
CN105550215B (zh) 一种汽车诊断条件无序性与关联性的存储与快速检索方法
CN109376154A (zh) 数据读取、写入方法及数据读取、写入系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant