《控制装置.pdf》由会员分享,可在线阅读,更多相关《控制装置.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201380032494.5 (22)申请日 2013.06.21 2012-141378 2012.06.22 JP G05B 19/05(2006.01) G05B 23/02(2006.01) G06F 17/30(2006.01) (71)申请人欧姆龙株式会社 地址日本京都府京都市 (72)发明人冈村弘太郎 西山佳秀 冈实 太田政则 中崎胜 (74)专利代理机构隆天国际知识产权代理有限 公司 72003 代理人金相允 向勇 (54) 发明名称 控制装置 (57) 摘要 提供一种即使不描述用于数据库操作的SQL, 也能够进行包含对数。
2、据库进行操作的编程的技 术。能够访问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语句。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.12.19 (。
3、86)PCT国际申请的申请数据 PCT/JP2013/067088 2013.06.21 (87)PCT国际申请的公布数 据 WO2013/191275 JA 2013.12.27 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书8页 附图8页 (10)申请公布号 CN 104395845 A (43)申请公布日 2015.03.04 CN 104395845 A 1/1页 2 1.一种能够访问数据库系统的控制装置,其特征在于,包括: 存储部,其用于存储包含结构体型变量的用户程序以及表示所述用户程序所包含的所 述结构体型的定义的定义信息。
4、, 生成部,其读取所述定义信息,基于所读取的该定义信息,生成在执行所述用户程序来 访问所述数据库系统时的SQL语句, 执行部,其通过将所生成的SQL语句发送至所述数据库系统,来执行所述SQL语句。 2.如权利要求1所述的控制装置,其特征在于, 所述生成部提取与所述执行的用户程序对应的所述定义信息的定义所表示的结构体 标志名和成员名,按照规定的转换规则将提取的结构体标志名和成员名决定为用于访问所 述数据库系统的表格名和字段名,由此来生成所述SQL语句。 3.如权利要求1所述的控制装置,其特征在于, 所述生成部基于所述定义信息,生成确定了用于访问所述数据库系统的表格名和字段 名但不包含值的SQL语。
5、句, 所述执行部事先将不包含所述值的SQL语句发送至所述数据库系统,根据所述用户程 序的命令提取所述结构体型变量的成员的值,通过将提取出的值发送至所述数据库系统来 执行所述SQL语句。 4.如权利要求1所述的控制装置,其特征在于, 所述存储部存储映射信息,所述映射信息表示所述定义信息所表示的结构体标志名及 成员名的定义与表示用于访问所述数据库系统的表格名及字段名之间的转换规则, 所述生成部基于所述定义信息所表示的结构体标志名及成员名和所述映射信息所表 示的转换规则,生成所述SQL语句。 5.如权利要求4所述的控制装置,其特征在于, 所述生成部基于所述映射信息所表示的表格名和字段名,生成不包含值。
6、的SQL语句, 所述执行部事先将不包含所述值的SQL语句发送至所述数据库系统,根据所述用户程 序的命令提取所述结构体型变量的成员的值,通过将提取出的值发送至所述数据库系统来 执行所述SQL语句。 6.如权利要求1所述的控制装置,其特征在于, 所述存储部用于存储映射信息,所述映射信息表示所述定义信息所表示的结构体标志 名及成员名的定义与用于访问所述数据库系统的表格名及字段名之间的转换规则, 所述用户程序包含表示应该基于所述定义信息生成所述映射信息的命令, 所述生成部执行所述用户程序所包含的表示应该生成所述映射信息的命令,由此基于 所述定义信息生成所述映射信息, 基于所述定义信息所表示的结构体标志。
7、名及成员名和所述生成的所述映射信息所表 示的所述转换规则,来生成所述SQL语句。 权 利 要 求 书CN 104395845 A 1/8页 3 控制装置 技术领域 0001 本发明涉及一种可编程逻辑控制器(PLC:Programmable Logic Controller)等的 控制装置,特别是涉及一种用于易于实现访问数据库系统的技术。 背景技术 0002 PLC等的控制装置用于对工厂等的自动机械进行控制等,具有多个输入输出功能, 例如,依次读取从传感器等输出的值并保持数据。 0003 另外,近年来,控制装置与数据库系统连接,并将由控制装置保持的数据积存在数 据库系统中。由此,能够易于在与数据。
8、库相连接的信息处理装置之间实现数据的共享,或者 收集各种数据,易于进行数据的合计、分析等。例如,JP特开2007-80286号公报(下述的 专利文献1)公开了一种能够将PLC所具有的I/O数据实时地传达至上位计算机的数据收 集装置。 0004 现有技术文献 0005 专利文献 0006 专利文献1:JP特开2007-80286号公报 发明内容 0007 发明要解决的问题 0008 进行PLC等控制装置的控制编程的技术人员,在很多情况下对结构体等控制编程 所使用的数据结构很熟练。另一方面,就操作数据库来讲,需要描述SQL语句等,这对技术 人员来说很繁琐,另外,也会遇到对数据库的操作不熟练的情况。。
9、通常,包含数据库在内的 上位计算机系统的工程师对于数据库运用的知识更加熟悉。 0009 因此,本发明的目的在于,提供一种对于技术人员来说,在进行PLC等控制装置的 控制编程时,易于进行包含访问数据库在内的编程的技术。 0010 用于解决问题的手段 0011 基于一个实施方式的能够访问数据库系统的控制装置,其特征在于,包括:存储 部,其用于存储包含结构体型变量的用户程序以及表示用户程序所包含的结构体型的定义 的定义信息,生成部,其读取定义信息,基于所读取的该定义信息,生成在执行用户程序来 访问数据库系统时的SQL语句,执行部,其通过将所生成的SQL语句发送至数据库系统,来 执行SQL语句。 00。
10、12 优选地,生成部可以提取与执行的用户程序对应的定义信息的定义所表示的结构 体标志名和成员名,按照规定的转换规则将提取的结构体标志名和成员名决定为用于访问 数据库系统的表格名和字段名,由此来生成SQL语句。 0013 优选地,生成部基于定义信息,生成确定了用于访问数据库系统的表格名和字段 名但不包含值的SQL语句,执行部可以事先将不包含值的SQL语句发送至数据库系统,根据 用户程序的命令提取结构体型变量的成员的值,通过将提取出的值发送至数据库系统来执 说 明 书CN 104395845 A 2/8页 4 行SQL语句。 0014 优选地,存储部存储映射信息,映射信息表示定义信息所表示的结构体。
11、标志名及 成员名的定义与表示用于访问数据库系统的表格名及字段名之间的转换规则,生成部可以 基于定义信息所表示的结构体标志名及成员名和映射信息所表示的转换规则,生成SQL语 句。 0015 优选地,生成部基于映射信息所表示的表格名和字段名,生成不包含值的SQL语 句,执行部可以事先将不包含值的SQL语句发送至数据库系统,根据用户程序的命令提取 结构体型变量的成员的值,通过将提取出的值发送至数据库系统来执行SQL语句。 0016 优选地,存储部用于存储映射信息,映射信息表示定义信息所表示的结构体标志 名及成员名的定义与用于访问数据库系统的表格名及字段名之间的转换规则,用户程序包 含表示应该基于定义。
12、信息生成映射信息的命令,生成部执行用户程序所包含的表示应该生 成映射信息的命令,由此基于定义信息生成映射信息,可以基于定义信息所表示的结构体 标志名及成员名和生成的映射信息所表示的转换规则,来生成SQL语句。 0017 发明的效果 0018 根据上述一个实施方式,进行控制装置的控制编程的技术人员即使不考虑用于数 据库操作的SQL语句,也能够使用结构体型的数据结构进行包含访问数据库的编程,使编 程变得容易。 0019 通过结合附图来理解的与本发明相关的如下的详细说明,能够理解本发明的上述 和其他的目的、特征、方案和优点。 附图说明 0020 图1为示出本实施方式的PLC系统整体的结构的图。 00。
13、21 图2为示出PC10的功能的框图。 0022 图3为示出DB服务器20的功能的框图。DB服务器20为具有大容量的存储装置 等的计算机系统。 0023 图4为示出PLC30的功能的框图。 0024 图5为示出数据库表格26的图。 0025 图6为示出DB访问处理程序35创建并执行SQL语句的处理的流程图。 0026 图7为示出用户程序的一个例子的图。 0027 图8为示出SQL语句的例子的图。 0028 图9为示出实施方式2中的PLC30的结构的功能框图。 0029 图10为示出映射信息41的例子的图。 0030 图11为示出实施方式2中的DB访问处理程序35的动作的流程图。 具体实施方式 。
14、0031 以下,参照附图,对本发明的实施方式进行说明。在以下的说明中,在相同的部件 上标上相同的附图标记。这些附图标记的名称和功能也相同。因此,不重复进行详细说明。 0032 1实施方式1 0033 1.1实施方式1的构成 说 明 书CN 104395845 A 3/8页 5 0034 首先,对本实施方式的控制系统的系统结构进行说明。在本实施方式中,将对机 器、设备等控制对象进行控制的可编程控制器(PLC)作为控制装置的典型例子进行说明。 但是,本发明的控制装置不仅限于PLC,还能够为各种控制装置。 0035 图1为示出本实施方式的PLC系统整体的结构的图。 0036 首先说明概要。如图1所示。
15、,PLC系统包括PC(Personal Computer:个人计算 机)10、DB(Database:数据库)服务器20、PLC30、交换式集线器40。PC10为用于使用户对 在PLC30动作的用户程序进行创建的信息处理装置。DB服务器20管理数据库,因此,是作 为DBMS(database management system:数据库管理系统)起作用的服务器。 0037 用户程序由PLC30的使用者来创建。例如,用户能够通过操作PC10,创建包含访 问数据库的访问命令在内的程序(源程序)。PC10将源程序转换为能够在PLC30执行的形 式,并将转换后的用户程序发送至PLC30。PLC30能够执。
16、行用户程序,并按照用户程序所包 含的访问命令来访问DB服务器20。 0038 PLC30与交换式集线器40连接,并经由交换式集线器40与PC10和DB服务器20 连接。PLC30从外部接收传感器的输出等,并积存数据。PLC30通过后述的DB访问处理程 序35的处理将积存的数据发送至DB服务器20。在图1所示的例子中,示出了PLC系统包 含多个PLC30的例子,各个PLC30的主要结构都相同。交换式集线器40与PC10等多个设 备连接,传送在各设备之间发送/接收的数据。 0039 下面,对各设备的详细结构进行说明。 0040 1.2各设备的详细结构 0041 图2为示出PC10的功能的框图。 0。
17、042 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执 行该用户程序。 0043 用户程序包含结构体型的变量。数据类型定义部14为用于定义结构体型的软 。
18、件。结构体型由结构体标志(tag)名、1个以上的成员(member)名构成。数据类型定 义部14定义结构体标志名、这些结构体的成员名以及这些的数据类型。例如,数据类型 定义部14为了表示工厂等的生产管理中使用的各指标,定义一种结构体型,其中,将结 构体标志名设为“ProductionTable”,将该结构体的各成员设为表示所生产的产品名称 的“Name”(数据类型为字符串型(String)、将用于管理产品的批号设为“LotNo”(数 据类型为整型(Integer)、将表示制造产品的成功数量设为“SuccessCount”(数据类型 为整型(Integer)、将表示制造产品的失败数量设为“Fai。
19、ledCount”(数据类型为整型 (Integer)。数据类型定义部14以这种方式定义结构体型,并生成表示其定义内容的定义 信息32。编程功能16为用于支援用户创建程序的软件。通过在PC10上执行这些软件,使 PC10发挥数据类型定义部14和编程功能16的功能。 0044 图3为示出了DB服务器20的功能的框图。DB服务器20为具有大容量存储装置 等的计算机系统。 说 明 书CN 104395845 A 4/8页 6 0045 DB服务器20发挥DBMS22的作用,DBMS22用于管理从数据库读取和向数据库写 入。DBMS22包括作为数据库起作用的DB24。DB24保持多个数据库表格26。 。
20、0046 图4示出PLC30的功能的框图。PLC30为计算机系统,周期性地执行用户程序。 PLC30读写PLC30内的存储区域的信息,按顺序执行由用户程序示出的命令。PLC30具有输 入输出功能,通过传感器输出等从PLC30的外部接收数据,并积存数据。PLC30将积存的数 据发送至DB服务器20。 0047 如图4所示,PLC30的各功能通过OS(操作系统)31、系统程序33、用户程序38和 定义信息32构成。OS31是基于PLC30的计算机体系结构设计而成的,微处理器(未图示) 执行系统程序33和用户程序38提供基本的执行环境。 0048 系统程序33为用于提供作为PLC30的基本功能的软件。
21、组,在OS31上动作,发挥控 制阶梯程序等的作用。系统程序33包括时序命令程序34、DB访问处理程序35、输入输出 处理程序36、调度程序37。时序命令程序34一边读写PLC30内的存储区域的信息,一边按 顺序执行用户程序38的命令。DB访问处理程序35执行如下的处理,即伴随时序命令程序 34执行用户程序38而被调用的用于使用户程序38访问DB服务器20的处理,例如执行生 成SQL(Structured Query Language:结构化查询语言)语句等的处理。 0049 输入输出处理程序36控制基于PLC30所具有的多个输入输出功能的向PLC30的 数据输入和从PLC30的数据输出。将各输。
22、入输出功能分别分配存储器的地址。周期性地一 并交换在与各输入输出功能相对应的存储器中保存的数据与PLC30外部的数据。调度程序 37控制执行时序命令程序34、DB访问处理程序35、输入输出处理程序36。 0050 由用户在PC10上创建用户程序38并将其保存于PLC30的存储器。如图4所示, 用户程序38和时序命令程序34构成控制程序39。即,通过时序命令程序34读出用户程序 38并按顺序执行命令,来使PLC30执行用户想要的控制动作。 0051 定义信息32为示出在用户程序38所包含的结构体型的变量的定义的信息,定义 有结构体标志名、结构体所包含的各成员名、以及这些的数据类型。 0052 2。
23、数据 0053 下面,对在本实施方式中使用的数据进行说明。 0054 图5为示出数据库表格26的图。数据库表格26与上述相同,由DB服务器20的 DBMS22进行管理。 0055 数据库表格26由表示表格的名称的表格名称51和表格的字段(Name52、LotNo53、 SuccessCount54、FailedCount55、)构成。在图5的例子中,如表格名称51所示,表 格的名称为“Production Table(产品表格)”,将与产品相关的信息保存在表格中。Name52 表示产品的名称。LotNo53表示产品的批号。SuccessCount54表示制造产品的成功数量, FailedCou。
24、nt55表示制造产品的失败数量。 0056 3动作 0057 下面,使用附图对本实施方式中的PC10、PLC30的动作进行详细的说明。 0058 在实施方式1中的动作的概要如下所述。 0059 用户在PC10上创建用于在PLC30执行的用户程序。用户为了访问DB服务器20, 创建包含结构体型的变量在内的用户程序。 0060 PLC30从PC10接收并存储用户程序和定义信息32。时序命令程序34按顺序执行 说 明 书CN 104395845 A 5/8页 7 用户程序38的命令,通过执行用户程序38的命令,从存储器中提取结构体型的变量的各成 员的值。时序命令程序34根据调用DB访问处理程序35的。
25、命令,将处理过渡至DB访问处 理程序35。DB访问处理程序35分析用户程序38的定义信息32所表示的定义等,利用用 户程序38所包含的数据、通过执行用户程序38的命令而提取出的结构体型变量的各成员 的值,来生成用于访问DB服务器20的SQL语句。DB访问处理程序35通过将生成的SQL语 句发送至DB服务器20,来执行SQL语句(使DB服务器20执行SQL语句)。 0061 此外,在本实施方式中,编程工具12的数据类型定义部14与保存于DB服务器20 的数据库表格26的表格名和字段名相对应地定义结构体标志名以及成员名、各成员的数 据类型。即,结构体标志名与表格名对应,成员名与字段名对应。这样的定。
26、义包含在用户程 序38的定义信息32中。因此,DB访问处理程序35能够将在定义信息32中包含的结构体 标志名直接用作表格名,创建SQL语句。成员名和字段名也同样。此外,还可以将定义结构 体的结构体标志名与数据库表格26的表格名建立对应关系。 0062 图6为示出DB访问处理程序35创建并执行SQL语句的处理的流程图。 0063 在步骤S70中,DB访问处理程序35读取定义信息32。 0064 在步骤S72中,DB访问处理程序35参照定义信息32示出的结构体的定义来提取 成员名,并将提取出的成员名作为用于操作DB24的字段名。 0065 在步骤S74中,DB访问处理程序35提取定义信息32示出的。
27、结构体的定义的结构 体标志名,并将提取出的结构体标志名作为用于操作DB24的表格名。 0066 在步骤S76中,DB访问处理程序35读取通过执行用户程序38而提取出的结构体 的各成员的值。 0067 在步骤S78中,DB访问处理程序35将在步骤S72中获取的字段名与在步骤S76中 读取的值建立对应关系,利用在步骤S74中获取的表格名来生成SQL语句。 0068 在步骤S80中,DB访问处理程序35通过将生成的SQL语句发送至DB服务器20, 来操作DB服务器20的DB24。 0069 由此,对创建用于控制PLC30的用户程序的用户来说,即使不用描述用于操作数 据库的SQL语句,也能够访问DBM。
28、S22。例如,即使是不习惯数据库操作的用户,不用学会用 于数据库操作的SQL的概念等,就能够创建访问数据库的用户程序。 0070 以下,对用户程序的例子、SQL语句的例子进行具体的说明。 0071 对通过编程工具12创建的用户程序的例子进行说明。图7为示出用户程序的一 个例子的图。 0072 如图7的用户程序71所示,用户使用结构体型的数据结构实施编程。在用户程序 71的例子中,结构体型变量的标志名为“ProductionTable”。此外,通过执行图7的用户程 序71,来提取各成员的值。例如,DB访问处理程序35从PLC30的存储器提取成员“Name” 的值为“Product1”,成员“Lo。
29、tNo”的值为“100”,成员“SuccessCount”的值为“49”,成员 “FailedCount”的值为“1”,创建图8示出的SQL语句并从PLC30发送至DB服务器20。由 此,更新数据库。 0073 此处,“NJtoDBFunc”表示如下的命令,即,使PLC30调用在时序命令程序34中事先 准备的库(用于根据DB访问处理程序35来访问DBMS22的库),并使PLC30根据DB访问处理 程序35访问DBMS22的命令。“DBHandle”表示在PLC30与DBMS22连接时的句柄。句柄在根 说 明 书CN 104395845 A 6/8页 8 据用户程序38与DBMS22连接的初始阶。
30、段。“Variable”在该程序中,表示作为从PLC30向DB 服务器20传送值的对象的结构体型变量的标志名(在图7的例中为“ProductionTable”)。 “Done”、“Error”为输出用的命令,表示命令完成的状态。 0074 对在步骤S78中生成的SQL语句的例子进行具体的说明。图8为示出SQL语句的 例子的图。此外,图8与图7的用户程序71相对应。 0075 此外,在步骤S72、步骤S74中,从DB服务器20所保持的各数据库表格26中,提 取作为PLC30访问的对象的表格名和字段名。在步骤S76中,DB访问处理程序35分析用 户程序71的各命令的字句,从存储器读取数据库的值。如。
31、图8的SQL语句81所示,在表格 名“ProductionTable”中,用于更新各字段的值的SQL语句是通过DB访问处理程序35生 成的。 0076 此外,在该图8的例子中,示出了向数据库追加数据的情况,还有向数据库写入、 读取、另外还有创建数据库本身的SQL语句,DB访问处理程序35通过生成这些SQL语句 并发送至DB服务器20,来操作数据库。还能够利用Insert、Select等操作数据的语言、 DML(Data Manipulation Language:数据操纵语言)、DDL(Data Denition Language:数据 定义语言)等来作为SQL语句的例子。 0077 4变形例。
32、 0078 (实施例1的变形例1) 0079 此外,在上记实施例1的说明中,就DB访问处理程序35而言,说明了将定义信息 32所包含的结构体标志名直接作为用于访问DBMS22的表格名,将定义信息32所包含的成 员名作为字段名的情况。 0080 DB访问处理程序35还可以基于预定的转换规则,将定义信息32所包含的结构体 标志名和成员名转换为用于访问DBMS22的表格名和字段名。此处,例如,预定的转换规则 是指,用于将结构体的结构体标志名或者成员名转换为能够访问DBMS22的字符串的规则。 例如,()省略结构体标志名或者成员名的一部分的字符串来作为表格名或者字段名, ()在DBMS22中,在定义信。
33、息32的结构体标志名或者成员名中包含禁止作为表格名和字 段名使用的字符串的情况下,删除或者修改这些字符串之后,用作表格名等等。 0081 (实施例1的变形例2) 0082 在上记实施例1的说明中,说明了DB访问处理程序35为如图8所示的生成包含 在步骤S76中读取的值的SQL语句的情况。不限于此,DB访问处理程序35还可以先生成 不包含值的SQL语句,并事先发送至DBMS22,然后,每当取得周期性获取的值时,向DBMS22 发送值,由此来操作DBMS22。 0083 例如,在图6的例子中,DB访问处理程序35通过步骤S70、步骤S72、步骤S74为止 的处理来决定用于操作DB24的字段名和表格。
34、名,并使用决定的字段名和表格名生成不包 含值的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语句。 说 明 书C。
35、N 104395845 A 7/8页 9 0084 5实施方式2 0085 下面,对另一种实施方式进行说明。在实施方式1中,说明了如下的情况,即, PLC30基于用户程序38和定义信息32,将定义信息32示出的结构体标志名和成员名直接 作为表格名和字段名,或者,基于预定的转换规则转换为表格名和字段名。 0086 相对于此,在实施方式2中,PLC30保持有映射信息41,该映射信息41表示定义信 息32示出的结构体标志名和成员名与用于使DB访问处理程序35访问DBMS22的表格名和 字段名之间的转换规则。DB访问处理程序35基于与结构体标志名相对应的映射信息41, 来生成SQL语句。 0087 以。
36、下,进行具体地说明。图9为示出实施方式2的PLC30的结构的功能框图。与 实施方式1的不同点在于,PLC30保持有映射信息41。 0088 图10为示出映射信息41的例子的图。如图10所示,映射信息41对结构体标志 名与用于访问DBMS22的表格名建立了对应关系。另外,映射信息41对结构体的各成员名 与各字段名建立了对应关系。 0089 例如,可以事先由DB服务器20的管理员等创建映射信息41并由PLC30保存该映 射信息41,还可以通过PC10获取数据库表格26的表格信息和字段信息,然后管理员等通过 PC10创建由数据类型定义部14定义的结构体标志名、成员名与数据库表格26的表格信息 和字段。
37、信息之间的转换规则。 0090 6实施方式2的动作 0091 图11为示出实施方式2中的DB访问处理程序35的动作的流程图。 0092 与实施方式1同样地,PLC30从PC10接收并存储用户程序和定义信息32。时序命 令程序34按顺序执行用户程序38的命令,并通过执行用户程序38的命令,从存储器中提 取结构体型变量的各成员的值。时序命令程序34根据调用DB访问处理程序35的命令,将 处理过渡至DB访问处理程序35。 0093 以下,具体地进行说明。 0094 在步骤S110中,DB访问处理程序35读取用户程序38的定义信息32。 0095 在步骤S112中,DB访问处理程序35从映射信息41中。
38、读取出定义信息32的结构 体标志名、与各成员相对应的表格名、字段名。 0096 在步骤S114中,DB访问处理程序35读取通过执行用户程序38而提取出的结构 体的各成员的值。 0097 在步骤S118中,DB访问处理程序35使用在步骤S112中读取出的表格名、字段名 和在步骤S114中读取出的值,生成用于访问DB服务器20的SQL语句。 0098 在步骤S120中,DB访问处理程序35通过将生成的SQL语句发送至DBDB服务器 20来执行SQL语句。 0099 根据上述的实施方式2,由于映射信息41示出了定义信息32与用于访问DBMS22 的表格名和字段名之间的转换规则,所以例如即使在结构体标。
39、志名或者成员名中包含有不 能作为表格名和字段名使用的字符串的情况下,DB访问处理程序35也能够通过参照映射 信息41来生成SQL语句。另外,在DBMS22中,即使在表格名和字段名的命名规则对用户来 讲难以处理的情况下(例如,表格名为对人来讲是难以记住的字符串等),由于DB访问处理 程序35参照映射信息41来生成SQL语句,所以用户能够将易于理解的字符串用于结构体 说 明 书CN 104395845 A 8/8页 10 标志名或者成员名,来创建用户程序38。另外,在用户想要自由地设定结构体标志名或者成 员名的情况下也是有效的,用户即使对SQL的概念不熟练也能够进行编程。 0100 在实施方式2中。
40、,例如,说明了事先由DB服务器20的管理员等创建映射信息41 并由PLC30保存该映射信息41的情况。除此之外,可以设定为在用户程序38中包含表示 PLC30应该生成映射信息41的意思的命令。例如,PC10生成用户程序38,该用户程序38包 含定义信息32示出的结构体的数据的定义(结构体标志名、成员名等)与用于使PLC30访 问DBMS22的表格名和字段名之间的转换规则。该用户程序38包含PLC30应该生成映射信 息41的命令。 0101 在PLC30中,时序命令程序34执行用户程序38,并根据用户程序38中包含的应 该生成上述转换规则和映射信息41的命令来生成映射信息41,将所生成的映射信息。
41、41保 存在存储器中。DB访问处理程序35在生成了映射信息41以后的处理中,基于用户程序38 中包含的结构体型变量,参照保存在存储器中的映射信息41来生成SQL语句。由此,实现 PLC30生成SQL语句处理的高速化。 0102 另外,在上述实施方式的说明中,说明了如下的情况,即,PC10根据用户的输入操 作生成定义信息32和用户程序,将所生成的定义信息32和用户程序分别从PC10发送至 PLC30。除此之外,用户程序可以包含定义信息32。PC10生成包含定义信息32的用户程序, 并将所生成的用户程序发送至PLC30。 0103 像这样,对各实施方式进行了说明,当然也可以将这些实施方式进行组合。。
42、以上, 基于实施方式对本发明人提出的发明进行了具体的说明,但是本发明并不仅限定于上述的 实施方式,当然也可以为在不脱离其思想的范围内能够进行各种变更。 0104 应该理解的是,本次公开的实施方式在所有方面都是例示性的,而并非限定。本发 明的范围不是由上述的说明而是通过权利要求的范围来示出的,并且包含与权利要求的范 围等同的意思和范围内的所有的变更。 0105 附图标记说明 0106 10 PC,12编程工具,14数据类型定义部,16编程功能,20 DB服务器,22 DBMS,24 DB,26数据库表格,30 PLC,31 OS,32定义信息,33系统程序,34时序命令程序,35DB访问处 理程。
43、序,36输入输出处理程序,37调度程序,38用户程序,39控制程序,40交换式集线器,41 映射信息,51表格名称,52 Name,53 LotNo,54 SuccessCount,55 FailedCount,71用户程 序,81 SQL语句。 说 明 书CN 104395845 A 10 1/8页 11 图1 图2 说 明 书 附 图CN 104395845 A 11 2/8页 12 图3 说 明 书 附 图CN 104395845 A 12 3/8页 13 图4 说 明 书 附 图CN 104395845 A 13 4/8页 14 图5 说 明 书 附 图CN 104395845 A 14 5/8页 15 图6 说 明 书 附 图CN 104395845 A 15 6/8页 16 图7 图8 说 明 书 附 图CN 104395845 A 16 7/8页 17 图9 说 明 书 附 图CN 104395845 A 17 8/8页 18 图10 图11 说 明 书 附 图CN 104395845 A 18 。