控制器、信息处理装置及程序的制作方法

文档序号:6298092阅读:186来源:国知局
控制器、信息处理装置及程序的制作方法
【专利摘要】提供控制器、信息处理装置及程序,在包含控制装置(控制器)和其他系统的控制系统中,使得调试使PLC与其他系统协同进行动作的用户程序的处理变得容易。CPU单元104具有通信接口,执行用户程序(186),按照包含在用户程序(186)中的指令,调出DB连接服务来生成用于访问数据库装置(400)的指令语句。DB连接服务切换第一模式及第二模式来进行动作,在第一模式中生成与访问指令相对应的指令语句,并将所生成的指令语句发送至数据库系统,并将其响应结果响应给用户程序(186)。在第二模式中,将与指令语句相对应的执行结果响应给用户程序(186),而不向数据库装置(400)发送指令语句。
【专利说明】控制器、信息处理装置及程序
【技术领域】
[0001]本发明涉及包含周期性地执行用户程序的控制器的控制系统,特别涉及与数据库系统连接的控制系统。
【背景技术】
[0002]在很多的生产现场中使用的机械或设备,典型地利用主要由可编程控制器(Programmable Logic Controller,下面还称为“PLC”)等控制装置构成的控制系统来进行控制。PLC等控制器用于对工厂等的自动机械进行控制等,具有多个输入输出功能,例如依次读取从传感器等输出的值来保持数据。
[0003]另外,近年来已知有连接到数据库系统上的PLC。PLC将PLC所保持的数据积聚到数据库系统中。由此,能够使得与数据库连接的信息处理装置之间的数据的共有更加容易,并且能够通过收集各种数据来使数据的统计及分析等更加容易。例如,日本特开2012 -108642号公报(专利文献I)公开了具有如下功能的PLC,该功能是指,将包含多个用于访问数据库的SQL语句的SQL处理组发送至数据库功能。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:日本特开2012 — 108642号公报
[0007]在对PLC和其他系统(数据库系统等)进行连接的结构中,有时需要在使其他系统运行之前启动PLC。例如,存在如下情况:利用实机(real machine)对PLC的控制动作进行验证,并且想要在日后对与数据库系统等其他系统连接的部分的动作进行验证。在对PLC的控制动作的验证结束后,要对PLC与其他系统结合的情况的动作进行评价的情况下,在其他系统还未运行的状态下,需要通过模拟程序来启动该其他系统,并利用模拟系统来确认PLC与其他系统之间的连接。因此,在与PLC连接的其他系统运行之前的阶段,需要启动模拟系统等,导致在PLC中进行动作的用户程序的调试变得繁杂。
[0008]因此,在采用将PLC连接到其他系统上的结构的情况下,需要对PLC与其他系统协同进行动作的用户程序的调试变得容易的技术。

【发明内容】

[0009]本发明的一个技术方案的控制器包括:通信接口,其用于与数据库系统连接;指令执行部,其执行用于对控制对象进行控制的用户程序;访问处理部,其在由指令执行部执行包含用于访问数据库系统的访问指令的用户程序时,控制按照与访问指令相对应的指令语句而经由通信接口对数据库系统进行的访问;访问处理部,能够以第一模式及第二模式进行动作;在第一模式中,访问处理部将与访问指令相对应的指令语句发送至数据库系统,并将该指令语句的响应结果响应给用户程序;在第二模式中,访问处理部将与指令语句相对应的执行结果响应给用户程序,而不向数据库系统发送指令语句。
[0010]优选地,控制器也可以还具有用于对时刻进行计时的计时部;指令执行部,也可以在用户程序执行规定的处理时,将处理内容与由计时部计时得到的时刻相对应关联地保存至存储器来作为日志;访问处理部,也可以将与访问指令相对应的处理内容与计时部计时得到的时刻相对应关联地保存至存储器来作为日志。
[0011]优选地,访问处理部,也可以生成与访问指令相对应的指令语句,并将所生成的指令语句作为日志保存至存储器。
[0012]优选地,访问处理部,也可以在第二模式中,对用户程序进行表示用指令语句对数据库系统的访问正常结束的响应或用指令语句对数据库系统的访问出错的响应,作为与对对应于访问指令的指令语句相对应的执行结果。
[0013]优选地,控制部也可以包括接受响应时间的设定的响应时间设定部;也可以在以第二模式进行动作的情况下,控制部在从处理的开始起经过了所设定的响应时间之后输出与访问指令相对应的处理结果。
[0014]优选地,控制器也可以具有输入输出部,该输入输出部与连接到控制器上的信息处理装置进行数据的发送及接收;输入输出部,也可以按照信息处理装置的要求,将访问处理部对用户程序的响应结果输出至信息处理装置。
[0015]优选地,输入输出部,也可以从信息处理装置接受使访问处理部以第一模式和第二模式中的哪个模式进行动作的指定;访问处理部,也可以按照从信息处理装置接受的指定切换第一模式及第二模式。
[0016]优选地,用户程序也可以包括指定指令,该指定指令用于指定以第一模式和第二模式中的哪个模式使访问处理部进行动作;访问处理部,也可以按照指定指令所表示的指定,以第一模式和第二模式中的某个模式进行动作。
[0017]本发明的一个技术方案的程序,用于对控制器的动作进行控制,控制器具有用于访问数据库系统的通信接口、处理器及存储器;程序使处理器执行如下步骤:执行用于对控制对象进行控制的用户程序,在执行包含用于访问数据库系统的访问指令的用户程序时,控制按照与访问指令相对应的指令语句而经由通信接口对数据库系统进行的访问;在控制按照与访问指令相对应的指令语句访问数据库系统的步骤中,能够以第一模式及第二模式进行动作,使处理器,在第一模式中,将与访问指令相对应的指令语句发送至数据库系统,并将该指令语句的响应结果响应给用户程序,在第二模式中,将与指令语句相对应的执行结果响应给用户程序,而不向数据库系统发送指令语句。
[0018]本发明的一个技术方案的信息处理装置,用于连接到控制器上,控制器具有:通信接口,其用于与数据库系统连接;指令执行部,其执行用于对控制对象进行控制的用户程序;访问处理部,其在由指令执行部执行包含用于访问数据库系统的访问指令的用户程序时,控制按照与访问指令相对应的指令语句而经由通信接口对数据库系统进行的访问;输入输出部,其与信息处理装置连接,用于与信息处理装置进行数据的发送与接收;访问处理部,能够以第一模式及第二模式进行动作;在第一模式中,访问处理部将与访问指令相对应的指令语句发送至数据库系统,并将该指令语句的响应结果响应给用户程序;在第二模式中,访问处理部将与指令语句相对应的执行结果响应给用户程序,而不向数据库系统发送指令语句;信息处理装置具有:接收处理部,其经由控制器的输入输出部接收访问处理部对用户程序的响应结果;显示处理部,其将用接收处理部接收的响应结果显示到监视器上。
[0019]本发明的一个技术方案的控制器具有:用于连接数据库系统的通信接口、处理器、存储器;处理器用于进行如下处理:切换第一模式及第二模式来进行动作;执行用于对控制对象进行控制的用户程序,在执行包含用于访问数据库系统的访问指令的用户程序时,控制按照与访问指令相对应的指令语句而经由通信接口对数据库系统进行的访问;在以第一模式进行动作的情况下,将与访问指令相对应的指令语句发送至数据库系统,并将该指令语句的响应结果响应给用户程序;在以第二模式进行动作的情况下,将与指令语句相对应的执行结果响应给用户程序,而不向数据库系统发送指令语句。
[0020]根据本发明,在采用将PLC连接到其他系统上的结构的情况下,能够使得调试使PLC和其他系统协同进行动作的用户程序处理变得容易。
【专利附图】

【附图说明】
[0021]图1是示出了本实施方式的控制系统I的系统结构的示意图。
[0022]图2是示出了表示本实施方式的PLC100的主要部分的硬件结构的示意图。
[0023]图3是示出了本实施方式的PLC100的软件结构的示意图。
[0024]图4是示出了连接到本实施方式的PLC100上使用的辅助装置300的硬件结构的示意图。
[0025]图5是示出了本实施方式的PLC100与数据库装置400之间的通信处理的概要以及日志记录的概要的图。
[0026]图6是示出了本实施方式的PLC100以测试模式进行动作时的通信处理的概要以及日志记录的概要的图。
[0027]图7是示出了运行日志184的图。
[0028]图8是示出了本实施方式的PLC100的处理步骤及数据库装置400的处理步骤的流程图。
[0029]图9是示出了测试模式中的PLC100的处理步骤的流程图。
[0030]图10是示出了辅助装置300用于获取运行日志184的处理的流程图。
[0031]图11是示出了辅助装置300将以测试模式进行动作的指示赋予PLC100的处理步骤的例子的图。
[0032]图12是示出了本实施方式的辅助装置300中提供的用户接口的一个例子的图。
[0033]附图标记的说明
[0034]I控制系统,10检测开关,20继电器,30伺服电机驱动器,32电机,100PLC,102电源单元,104CPU单元,10610单元,108PLC系统总线,110现场总线,112网络,114连接电缆,120处理器,122芯片集,124系统时钟,126主存储器,128非易失性存储器,130USB连接器,140PLC系统总线控制器,142、152、162缓冲存储器,144PLC系统总线控制电路,146、156、166DMA控制电路,148PLC系统总线连接器,150现场总线控制器,154现场总线控制电路,158现场总线连接器,160上位通信控制器,164上位通信控制电路,168上位通信连接器,170存储卡接口,172存储卡,1800S,184运行日志,184J SQL语句,1842日志文件,186用户程序,188系统程序,190序列指令程序,192访问处理程序,194输入输出处理程序,196接口处理程序,198排程器,200远程IO终端,202通信连接器,208终端总线,300辅助装置,302CPU,304R0M, 306RAM, 308硬盘,310键盘,312鼠标,314监视器,316光盘读取装置,330辅助程序,332光学记录介质,388运行日志显示部,389详细信息显示部,400数据库装置。【具体实施方式】
[0035]参照附图,详细说明本发明的实施方式。此外,对于图中的相同或等同的部分,标注相同附图标记,不重复进行说明。
[0036]< A.系统结构>
[0037]首先,说明本实施方式的控制系统的系统结构。在本实施方式中,将对机械或设备等控制对象进行控制的可编程控制器(PLC)作为控制装置的典型例子来进行说明。但是,本发明的控制装置并不限定于PLC,能够适用于各种控制装置。
[0038]图1是示出了本实施方式的控制系统I的系统结构的示意图。参照图1,控制系统I包含PLC100、连接到PLC100上的辅助装置300、接受来自PLC100的访问的数据库装置400。PLC100周期性地执行如后述的用户程序,或者在发生事件时(按事件触发)执行用户程序。用户程序是由PLC100的使用人员作成的。用户例如能够通过操作辅助装置300来作成包含访问指令的程序(源程序)。辅助装置300将源程序变换为能够在PLC100上执行的形式,并将变换得到的用户程序发送至PLC100。PLC100执行用户程序,能够按照包含在用户程序中的访问指令来访问数据库装置400。
[0039]S卩,PLC100及数据库装置400能够经由以太网(注册商标)等的网络112来互相交
换数据。
[0040]辅助装置300是能够与PLC100连接的信息处理装置的典型例子。辅助装置300经由连接电缆114与PLC100相连接,向PLC100提供各种参数的设定、编程、显示(监视)、调试等的功能。在PLC100与辅助装置300之间,典型地能够按照USB(Universal Serial Bus:通用串行总线)标准来进行通信。
[0041]PLC100包含执行控制运算的CPU单元104和一个以上的IO(Input/Output:输入/输出)单元106。这些单元能够经由PLC系统总线108互相交换数据。另外,利用电源单元102向这些单元供给适当电压的电源。
[0042]在控制系统I中,PLC100经由(经由PLC系统总线108相连接)IO单元106或现场总线110,或者经由这两者,与各种现场仪器互相交换数据。这些现场仪器包含用于对控制对象进行某种处理的促动器以及用于从控制对象获取各种信息的传感器等。在图1中,作为这样的现场仪器的一个例子,包括检测开关10、继电器20以及对电机32进行驱动的伺服电机驱动器30。另外,PLC100经由现场总线110还与远程IO终端200相连接。远程IO终端200基本上与IO单元106同样地进行与一般的输入输出处理相关的处理。更具体地,远程IO终端200包含用于与现场总线110进行数据传输处理的通信连接器202和一个以上的IO单元204。这些单元能够经由远程IO终端总线208互相交换数据。
[0043]< B.PLC100 的结构>
[0044]接着,说明本实施方式的PLC100的结构。图2是示出了表示本实施方式的PLC100的主要部分的硬件结构的示意图。图3是示出了本实施方式的PLC100的软件结构的示意图。
[0045]参照图2,说明PLC100的CPU单元104的硬件结构。CPU单元104包含处理器120、芯片集122、系统时钟124、主存储器126、非易失性存储器128、USB连接器130、PLC系统总线控制器140、现场总线控制器150、上位通信控制器160及存储卡接口 170。在芯片集122和其他元件之间,经由各种总线分别相结合。
[0046]处理器120及芯片集122典型地按照通用的计算机架构构成。即,处理器120解读并执行从芯片集122按照内部时钟依次供给来的指令代码。芯片集122和与之身相连接的各种元件互相交换内部数据,并且生成处理器120所需的指令代码。系统时钟124生成预先规定的周期性的系统时钟并将其提供给处理器120。芯片集122具有对由处理器120执行运算处理的结果所得到的数据等进行缓存的功能。另外,芯片集122包含接受从系统时钟124提供的时钟来进行计时的计时芯片123。
[0047]CPU单元104具有作为存储单元的主存储器126及非易失性存储器128。主存储器126是易失性存储区域,保持处理器120应执行的各种程序,并且还作为执行各种程序时的工作用存储器来使用。非易失性存储器128非易失性地保持OS (Operating System:操作系统)、系统程序、用户程序、日志信息等。
[0048]USB连接器130是用于连接辅助装置300和CPU单元104的接口。典型地,从辅助装置300传递来的能够执行的程序等经由USB连接器130导入至CPU单元104。
[0049]CPU单元104具有作为通信单元的PLC系统总线控制器140、现场总线控制器150及上位通信控制器160。这些通信电路进行数据的发送及接收。
[0050]PLC系统总线控制器140对经由PLC系统总线108的数据的互相交换进行控制。更具体地,PLC系统总线控制器140包含缓冲存储器142、PLC系统总线控制电路144及DMA(Dynamic Memory Access:动态内存访问)控制电路146。PLC系统总线控制器140经由PLC系统总线连接器148与PLC系统总线108相连接。
[0051]现场总线控制器150包含缓冲存储器152、现场总线控制电路154及DMA控制电路156。现场总线控制器150经由现场总线连接器158与现场总线110相连接。上位通信控制器160包含缓冲存储器(简称为“缓存”)162、上位通信控制电路(简称为“CTR”)164及DMA控制电路(简称为“DMA”)166。上位通信控制器160经由上位通信连接器168与网络112相连接。
[0052]存储卡接口 170连接存储卡172和处理器120,该存储卡172能够安装到CPU单元104上并能够从CPU单元104上拆卸。
[0053]接着,参照图3,说明用于实现本实施方式的PLC100所提供的各种功能的软件结构。包含在这些软件中的指令代码在适当的时刻被读取,并被CPU单元104的处理器120执行。
[0054]参照图3,由CPU单元104执行的软件,具有0S180、系统程序188及用户程序186。
[0055]0S180提供处理器120用于执行系统程序188及用户程序186的基本的执行环境。
[0056]系统程序188是提供PLC100的基本功能的软件组。具体地,系统程序188包含序列指令程序190、DB (数据库)访问处理程序192、输入输出处理程序194、工具(Tool)接口处理程序196及排程器198。
[0057]相对于此,用户程序186是根据对控制对象的控制目的来任意作成的程序。即,用户程序186是根据用控制系统I进行控制的对象来任意设计的。
[0058]用户程序186与序列指令程序190协同地实现用户的控制目的。即,用户程序186通过利用序列指令程序190所提供的指令、函数、功能模块等,来实现程序化的动作。因此,还有将用户程序186及序列指令程序190统称为“控制程序”的情况。[0059]就运行日志184而言,在随着系统程序188及用户程序186的执行而产生预先规定的事件时,将所发生的该事件的信息与时刻信息相对应关联地保存至该运行日志184。即,在运行日志184中,保存有与系统程序188或用户程序186或这两者的执行相对应的各种信息来作为日志(履历信息)。
[0060]下面,更详细地说明各程序。
[0061]序列指令程序190包含如下的指令代码组,该指令代码组是指,随着用户程序186的执行,调出在用户程序186中被指定的序列指令的实体,并实现该指令的内容的指令代码组。
[0062]DB访问处理程序192包含如下的指令代码组,该指令代码组用于,随着用户程序186的执行,实现访问数据库装置400所需的处理。DB访问处理程序192包含与能够在用户程序186中指定的指令相对应的执行代码。
[0063]输入输出处理程序194是指,对IO单元106和各种现场仪器之间的输入数据的获取及输出数据的发送进行管理的程序。
[0064]工具(Tool)接口处理程序196提供用于与辅助装置300之间互相交换数据的接□。
[0065]排程器198根据预先规定的优先级或系统计时器的值等,来生成用于执行控制程序的线程(thread)或过程(procedure)。
[0066]用户程序186是如上述那样根据用户的控制目的来作成的。典型地,用户程序186的形式是能够在CPU单元104的处理器120中执行的目标程序形式。用户程序186是在辅助装置300等中以梯(Ladder)形式或功能块形式记述的源程序被编译(compiled)而生成的。然后,将生成的目标程序形式的用户程序从辅助装置300传递至CPU单元104,并保存至非易失性存储器128等。
[0067]PLC100具有利用图2及图3说明的结构,通过由处理器120执行系统程序188及用户程序186,来发挥“执行用于对控制对象进行控制的用户程序的指令执行部”的功能。另外,PLC100通过由处理器120执行DB访问处理程序192及用户程序186,来发挥“访问处理部”的功能,其中,“访问处理部”用于,在包含用于访问数据库装置400的访问指令的用户程序被指令执行部执行时,对按照与访问指令相对应的指令语句经由通信接口访问数据库装置400的处理进行控制。PLC100通过执行DB访问处理程序192,通过如后述的处理将DB连接服务的动作模式以第一模式(运行模式)或第二模式(测试模式)中的任意模式进行动作。PLC100通过由处理器120根据包含在用户程序186中的访问指令来执行DB访问处理程序192,来发挥如下功能,S卩,“在第一模式中,将与访问指令相对应的指令语句(SQL语句)发送至数据库装置400,并将该指令语句的响应结果响应给用户程序186,在第二模式中,不向数据库装置400发送指令语句,而将与指令语句相对应的执行结果响应给用户程序 186”。
[0068]< C.辅助装置300的结构>
[0069]接着,说明本实施方式的辅助装置300。辅助装置300用于对PLC100的CPU单元104的使用进行辅助,向PLC100提供各种参数的设定、编程、显示(监视)、调试等的功能。
[0070]图4是示出了连接到本实施方式的PLC100上使用的辅助装置300的硬件结构的示意图。辅助装置300典型地由通用的计算机构成。[0071]参照图4,辅助装置300包括:CPU302,其执行包含OS的各种程序;R0M(Read OnlyMemory:只读存储器)304,其保存BIOS (Basic Input Output System:基本输入输出系统)及各种数据;存储器RAM (Random Access Memory:随机存取存储器)306,其提供用于保存CPU302执行程序所需的数据的工作区域;硬盘(HDD)308,其非易失性地保存CPU302所执行的程序等。更具体地,在硬盘308中保存有用于实现辅助装置300所提供的功能的辅助程序 330。
[0072]辅助装置300还包括接受来自用户的操作的键盘310和鼠标312以及用于将信息提示给用户的监视器314。进而,辅助装置300还包括用于与PLC100 (CPU单元104)等进行通信的通信接口(IF) 318。
[0073]在辅助装置300中执行的辅助程序330等被保存到光学记录介质332中来流通。保存到光学记录介质332中的程序,用光盘读取装置316来读取并保存至硬盘308等。或者,也可以通过网络从上位主机等中下载程序。
[0074]辅助装置300经由通信IF318与PLC100连接。辅助装置300通过由CPU302执行辅助程序330,来发挥以下功能,S卩,“接收处理部,其从PLC100接收由DB访问处理程序192响应给用户程序186的响应结果”以及“显示处理部,其将由接收处理部接收的上述响应结果显示到监视器314上”的功能。
[0075]< D.数据库装置400的结构>
[0076]接着,说明本实施方式的数据库装置400。数据库装置400能够采用提供数据库的公知的结构。这样的数据库能够采用关系数据类型或目标数据类型这样的任意结构。数据库装置400是按照通用的计算机架构构成的,因而在此不重复其详细说明。
[0077]数据库装置400接受来自PLC100的连接要求或访问要求(在关系数据类型中是SQL语句),来执行所需的处理,并将其处理结果等响应给PLC100。
[0078]< E.DB (数据库)?的访问处理及日志记录的概要>
[0079]接着,说明在本实施方式的控制系统I中由PLC100访问数据库装置400的处理的概要。图5是示出了本实施方式的PLC100和数据库装置400之间的通信处理的概要以及日志记录的概要的图。
[0080]本实施方式的PLC100的CPU单元104,通过DB连接服务来进行对数据库装置400的访问处理。DB连接服务切换多个动作模式来进行动作。在本实施方式中,DB连接服务将动作模式切换为运行模式(第一模式)和测试模式(第二模式)来进行动作。
[0081]运行模式是指,在将PLC100连接到数据库装置400等其他系统上的状态下,使控制系统I运行的情况下使用的动作模式,以及在试运行的情况下使用的动作模式。测试模式是指,在未将PLC100连接到其他系统上的状态下,对使用了用于连接到其他系统上的指令(在本实施方式中,是DB连接指令)的用户程序186的动作进行确认时使用的动作模式。在本实施方式中,就DB连接服务而言,在以测试模式进行动作的情况下,不执行向数据库装置400的SQL语句的发送,而使DB连接服务正常结束。在图5中,示出了 CPU单元104的DB连接服务以运行模式进行动作的情况。
[0082]假定在用户程序186中指定有用于访问数据库装置400的指令(例如,图5的DB连接指令“DB_Insert”)。CPU单元104在使DB连接服务以运行模式进行动作的情况下,在到达DB连接指令的执行时刻时,调出与DB访问处理程序192 (图3)相对应的指令代码,来生成包含连接数据库装置400的连接要求的SQL语句,并将所生成的SQL语句发送至数据库装置400。通过DB访问处理程序192来实现DB连接服务。通过执行用户程序186中的DB连接指令,触发DB连接服务。DB连接服务生成SQL语句并将所生成的SQL语句传递给DB访问功能。DB访问功能是为了访问各种数据库系统而准备的驱动软件。DB访问功能是由上位通信控制器160 (图2)及DB访问处理程序192 (图3)来实现的功能,将从DB连接服务接收的SQL语句经由网络112发送至数据库装置400。
[0083]数据库装置400在接收到来自PLC100的SQL语句时,按照所接收的SQL语句来执行处理,并根据需要,将其结果响应给PLC100。
[0084]另外,本实施方式的日志输出功能,能够随着由程序所规定的规定处理的执行,而输出日志(下面,还称为“执行日志”),以及在发生程序的执行失败或硬件不良情况时输出相对应的日志(下面,还称为“事件日志”)。运行日志184包括这些全部的日志。在本实施方式中,说明PLC100如后述那样将运行日志184写入安装到PLC100上的存储卡等记录介质中的例子。存储卡等记录介质保存运行日志184作为日志文件。
[0085]执行日志是在执行预先规定的种类的处理时通过将其处理内容与时刻信息相对应关联地记录来得到的信息。通过该执行日志,能够确认在用户程序186中指定的处理已执行。就执行日志而言,基本上在PLC100的运行过程中(正在执行由程序预先规定的种类的处理的状态)始终进行日志记录。事件日志是在所指定的处理的执行失败这样的情况下通过将其处理内容与时刻信息相对应关联地记录来得到的信息。典型地,在所指定的处理因出错等而被中断这样的情况下其内容被记录为日志记录。例如,DB连接服务与时刻信息相对应关联地输出根据DB连接指令而生成的SQL语句,以此作为日志。
[0086]在图5中,示出了在用户程序186中定义有连接数据库装置400的连接指令的例子。在图5的例子中,用户通过在辅助装置300中执行的辅助程序,来作成包含连接数据库装置400的连接指令的程序。辅助装置300将作成的程序变换为能够在PLC100中执行的形式,并将变换得到的用户程序从辅助装置300发送至PLC100。其中,就在用户程序186中定义的指令而言,能够任意定义,并且所定义的该指令的种类并不对本发明的范围带来任何影响。
[0087]DB连接服务对该DB连接指令的执行(SQL语句的作成及发送)进行响应,将通过该指令来指定的信息与时刻信息相对应关联地(即,作为执行日志)吸入到运行日志184 (在图5所示的例子中,是保存至存储卡172的日志文件1842)中。S卩,保存PLC100的运行状况的日志。此时,建立了如下的系统环境,即,用户不需明确指示向运行日志184写入执行日志,而在执行DB连接指令时,DB连接服务自动将运行状况写入至运行日志184。
[0088]此外,运行日志184的写入对象并不限定于存储卡172,也可以是主存储器126或非易失性存储器128(图2),或者,也可以是PLC100外部的存储装置。其中,优选在PLC100的电源被切断的情况下也能够保持这些运行日志184的存储装置。
[0089]图6是示出了本实施方式的PLC100以测试模式进行动作的情况的通信处理的概要以及日志记录的概要的图。就使DB连接服务以测试模式或运行模式中的哪个模式进行动作而言,能够通过从辅助装置300给出指示。
[0090]针对测试模式中的动作,与DB连接服务以运行模式进行动作的情况进行比较。DB连接服务在以测试模式进行动作时,根据DB连接指令进来生成SQL语句,并将SQL语句的执行结果响应给用户程序186,而不将所生成的SQL语句发送至数据库装置400。DB连接服务,将以下两种响应中的任一响应输出至用户程序186 (能够设定输出哪个响应),这两种响应是指,表示SQL语句的执行在数据库装置400中正常进行的响应,表示SQL语句的执行在数据库装置400中出错的响应。例如,在用辅助装置300对用户程序186进行调试的情况下,存在如下情况等,即,使CPU单元104的DB连接服务以测试模式进行动作,对表示在数据库装置400中处理正常进行的响应和表示在数据库装置400中处理出错的响应,分别确认用户程序186的动作。
[0091]DB连接服务,在以测试模式进行动作的情况下,也将根据DB连接指令而生成的SQL语句写入到运行日志184中。由此,使用户程序186的调试变得容易。
[0092]另外,辅助装置300能够设定测试模式中的DB连接服务的响应时间。如上所述,DB连接服务在以测试模式进行动作的情况下,响应给用户程序186,而不将SQL语句发送至数据库装置400。在此,用户能够通过操作辅助装置300来设定DB连接服务的响应时间,并且能够在通过包含在用户程序186中的DB连接指令来调出DB连接服务之后,在经过了所设定的响应时间之后,向DB连接服务输出响应结果。由此,考虑到假定的从数据库装置400发送来的响应时间,能够将DB连接服务设定为测试模式来对用户程序186进行调试。
[0093]< F?运行日志 184 >
[0094]参照图7,说明由PLC100记录的运行日志184。图7是示出了运行日志184的图。记录到运行日志184中的日志包含条目184A、日期及时间184B、类别184C、日志名184D、结果184E、连接名184F、序列ID184G、表名184H及SQL语句184J。 [0095]日期及时间184B表示成为日志获取对象的处理所发生的时刻。类别184C表示日志的属性。日志名184D包含能够一目了然掌握日志内容的信息。结果184E包含表不处理结果的代码,例如包含表示与数据库装置400的连接成功还是失败的信息。DB连接名184F及序列ID184G主要是与DB连接相关的信息,含有用于表示在预先设定的连接设定中使用了哪个设定这样的信息。184H包含用于识别PLC100所连接的数据库表的信息。SQL语句184J表示由DB连接服务根据DB连接指令而生成的SQL语句。
[0096]< G.处理步骤〉
[0097]接着,说明本实施方式的PLC100和数据库装置400之间的通信处理以及日志记录的处理。图8是示出了本实施方式的PLC100的处理步骤以及数据库装置400的处理步骤的流程图。在图8中,DB连接服务(DB访问处理程序)以运行模式进行动作。
[0098]图8所示的各步骤通过由CPU单元104的处理器120分别执行用户程序186及系统程序188来实现。此外,在图8中,示出了相互独立地执行用户程序186及系统程序188的例子,但也可以将这两个程序包含在一个程序中来执行该一个程序。
[0099]参照图8,就用户程序186的执行而言,处理器120加载(load)预先保存的用户程序186,并以预先规定的周期重复执行所加载的用户程序186。此外,假定加载的该用户程序186是被编译后能够执行的目标形式。其中,可以直接加载由用户作成的源代码,或者,也可以加载编译源代码得到的中间代码。此时,处理器120—边依次编译所加载的代码,一边执行处理。即,处理器120按照包含在用户程序186中的指令,一边根据必要调出系统程序188, —边执行被指定的处理。
[0100]在步骤SlOl中,处理器120按照包含在用户程序186中的指令来执行处理,在执行用于访问数据库装置400的指令时,开始通过DB访问处理程序192来进行对数据库装置400的访问处理。
[0101]在步骤S201中,处理器120通过DB访问处理程序192执行对数据库装置400的访问,并输出与包含在用户程序186中的用于访问数据库装置400的指令相对应的指令语句(SQL语句)。
[0102]在步骤S203中,处理器120将所生成的SQL语句发送至数据库装置400,并将与该发送处理相关的日志保存至运行日志184。
[0103]在步骤S205中,处理器120设定自身与数据库装置400之间的通信的超时时间,并且一直接受来自数据库装置400的响应,直到发生通信超时为止。
[0104]在步骤S401中,数据库装置400接收从PLC100发送来的SQL语句,并执行所接收的SQL语句。
[0105]在步骤S403中,数据库装置400将SQL语句的执行结果响应给PLC100。
[0106]在步骤S207中,处理器120在对自身与数据库装置400之间的通信设定的超时期间经过之前从数据库装置400接收到表示数据库装置400中的SQL语句的执行结果的响应时,将来自数据库装置400的响应从DB访问处理程序192传递给用户程序186。另外,处理器120将与从数据库装置400接收到响应结果相关的日志保存至运行日志184。
[0107]在步骤S103中,处理器120与SQL语句的执行结果相对应地执行用户程序186。
[0108](测试模式中的DB连接服务的动作)
[0109]接着,参照图9,说明测试模式中的DB连接服务(DB访问处理程序)的动作。图9是示出了测试模式中的PLC100的处理步骤的流程图。如上所述,在测试模式中,DB连接服务通过包含在用户程序186中的DB连接指令来被调出,在用辅助装置300等设定的响应时间经过之后输出响应结果。
[0110]在步骤SlOl中,处理器120按照包含在用户程序186中的指令执行处理,如果执行乐用于访问数据库装置400的指令,则使DB访问处理程序192进行动作。
[0111]在步骤S201中,处理器120通过DB访问处理程序192生成与包含在用户程序186中的用于访问数据库装置400的指令相对应的指令语句(SQL语句)。
[0112]在步骤S211中,处理器120待机至所设定的响应时间经过(超过响应时间)为止。
[0113]在步骤S213中,处理器120将在步骤S201中生成的SQL语句保存至运行日志184。
[0114]在步骤S215中,处理器120不将所生成的SQL语句发送至数据库装置400,而是将与所生成的SQL语句相对应的指令执行结果从DB访问处理程序192响应给用户程序186。
[0115]在步骤S103中,处理器120根据SQL语句的执行结果来执行用户程序186。
[0116]通过上面的图8及图9所示的处理,DB连接服务切换运行模式和测试模式来进行动作。
[0117]< H.日志的获取>
[0118]例如,用辅助装置300来获取由PLC100记录的运行日志184,由此,用户能够通过操作辅助装置300来参照运行日志184。例如,辅助装置300按如下方式从PLC100获取运行日志184。S卩,辅助装置300与PLC100进行通信,并通过PLC100的系统程序188来从存储器中读取运行日志184,并将所读取的运行日志184从PLC100响应给辅助装置300。
[0119]图10是示出了辅助装置300用于获取运行日志184的处理的流程图。[0120]在步骤S311中,辅助装置300指示PLClOO获取运行日志184。
[0121 ] 在步骤S221中,处理器120通过执行系统程序188,来按照运行日志的获取指示来获取运行日志184。
[0122]在步骤S223中,处理器120通过系统程序188的处理,来将所获取的运行日志184响应给用户程序186。
[0123]在步骤S313中,辅助装置300从PLC100获取运行日志184,并将所获取的运行日志184显示到监视器314上。
[0124]通过执行用户程序186来读取运行日志184,由此例如能够在用户程序186执行任意指令之后获取运行日志184,从而,用户能够对PLC100与数据库装置400之间的通信发生不良情况等的原因采取措施。
[0125]除此之外,也可以通过将规定的指令包含到用户程序中,来从存储器中读取运行日志184。用户能够通过操作辅助装置300,来将日志获取指令包含到用户程序186中。处理器120通过用户程序186的日志获取指令,一边调出系统程序188或DB访问处理程序192,一边执行读取运行日志184的处理。通过用户程序186读取运行日志184,例如能够在辅助装置300上显示运行日志184。
[0126]< 1.辅助装置300指示动作模式的例子>
[0127]使CPU单元104的DB连接服务切换到运行模式和测试模式中的哪个动作模式来进行动作的处理,例如也可以由PLC100的系统程序188基于辅助装置300的指示来进行。
[0128]图11是示出了辅助装置300将测试模式的动作指示赋予PLC100的处理步骤的例子的图。
[0129]在步骤S301中,辅助装置300从用户接受用于使CPU单元104的DB连接服务以测试模式进行动作的输入操作。
[0130]在步骤S303中,辅助装置300根据在步骤S301中的输入操作,将用于切换动作模式的指示发送至CPU单元104。
[0131]在步骤S121中,CPU单元104的处理器120通过系统程序188的功能来与辅助装置300进行通信,由此,从辅助装置300接受用于切换动作模式的指示。处理器120按照从辅助装置300接受的指示,来设定DB连接服务的动作模式。
[0132]在步骤S123中,处理器120在DB连接服务的动作模式的设定变更结束时,将设定结束的情况通知给辅助装置300。
[0133]在步骤S305中,辅助装置300从CPU单元104接收表示DB连接服务的动作模式的设定变更结束的信息。
[0134]这样,辅助装置300能够按照用户的输入操作来切换PLC100的DB连接服务的动作模式,从而能够使用户的调试变得容易。
[0135]除此之外,还能够将用于指定使DB连接服务以运行模式和测试模式中的哪个模式进行动作的指令包含到用户程序中。用户在用辅助装置300作成程序时,定义使DB连接服务以运行模式和测试模式中的哪个模式进行动作。如果通过辅助装置300生成了包含对动作模式的指定的用户程序,并将该用户程序发送至PLC100,则PLC100在执行用户程序时按照动作模式的指定来进行动作。
[0136]<J.用户接口的例>[0137]图12是示出了本实施方式的辅助装置300中提供的用户接口的一个例子的图。辅助装置300能够将运行日志184显示到辅助装置300的监视器上。
[0138]辅助装置300例如通过上述的图10所示的步骤来从PLC100获取运行日志184。
[0139]如图12所示,显示画面380将运行日志184显示为一览表。用运行日志显示部388的各条目(条目381、条目382、条目383、条目384),来显示包含在运行日志184(在图7中示出)中的各种数据。
[0140]辅助装置300例如也可以还将获取按钮390显示到显示画面380上,通过接受用户对获取按钮390的输入操作,来从PLC100获取运行日志184。例如也可以通过接受对获取按钮390的输入操作,来使辅助装置300执行上述图10所示的步骤。另外,也可以对于用户所选择的条目(在图12中,通过用边框强调表示条目381,来表示条目381被用户选择的情况),将其详细信息显示到运行日志显示部388。例如,在图12的例子中,对于条目381,将用DB连接服务生成的SQL语句的日志显示到了详细信息389上。
[0141]通过采用如上所述的结构,用户在采用将PLC连接到其他系统(数据库系统等)上的结构的情况下,即使不使实际的其他系统与PLC进行通信,也能够使PLC的DB连接服务以测试模式进行动作,从而使PLC和其他系统协同进行动作的用户程序的调试变得容易。
[0142]另外,在上述的实施方式的说明中,由于由辅助装置300将运行日志184显示到监视器上,因而说明了如下例子,即,例如在PLC100通过系统程序188从辅助装置300接收到运行日志184的读取要求的情况下,从规定的存储器读取运行日志184来将其响应给辅助装置300。除此之外,例如也可以采用如下结构,该结构是指,CPU单元104具备FTP (FileTransfer Protocol:文件传输协议)服务器功能,用FTP客户端软件登录到CPU单元104,并由FTP客户端软件通过FTP来获取运行日志184。
[0143]应当认为本公开的实施方式是在全部点的例示而非限制。本发明的范围并不由上述说明来表示,而是由权利要求书来表示,意在包括在与权利要求书均等的意思和范围内的全部变更。
【权利要求】
1.一种控制器,其特征在于, 该控制器包括: 通信接口,其用于与数据库系统连接, 指令执行部,其执行用于对控制对象进行控制的用户程序, 访问处理部,其在由所述指令执行部执行包含用于访问所述数据库系统的访问指令的所述用户程序时,控制按照与所述访问指令相对应的指令语句而经由所述通信接口对所述数据库系统进行的访问; 所述访问处理部,能够以第一模式及第二模式进行动作; 在所述第一模式中,所述访问处理部将与所述访问指令相对应的指令语句发送至所述数据库系统,并将该指令语句的响应结果响应给所述用户程序; 在所述第二模式中,所述访问处理部将与所述指令语句相对应的执行结果响应给所述用户程序,而不向所述数据库系统发送所述指令语句。
2.如权利要求1所述的控制器,其特征在于, 所述控制器,还具有用于对时刻进行计时的计时部; 所述指令执行部,在所述用户程序执行规定的处理时,将处理内容与由所述计时部计时得到的时刻相对应关联地保存至存储器来作为日志; 所述访问处理部,将与所述访问指令相对应的处理内容与由所述计时部计时得到的时刻相对应关联地保存至所述存储器来作为所述日志。
3.如权利要求2所述的控制器,其特征在于, 所述访问处理部,生成与所述访问指令相对应的指令语句,并将所生成的指令语句作为所述日志保存至所述存储器。
4.如权利要求1所述的控制器,其特征在于, 所述访问处理部,在所述第二模式中,对所述用户程序进行正常响应或出错响应,来作为所述访问指令所对应的所述指令语句所对应的执行结果, 所述正常响应是指,表示通过所述指令语句对所述数据库系统进行的访问正常结束的响应, 所述出错响应是指,表示通过所述指令语句对所述数据库系统进行的访问出错的响应。
5.如权利要求1所述的控制器,其特征在于, 所述控制部包括接受响应时间的设定的响应时间设定部; 在以所述第二模式进行动作的情况下,所述控制部在从所述处理的开始起经过所设定的所述响应时间之后,输出与所述访问指令相对应的处理结果。
6.如权利要求1至5中的任一项所述的控制器,其特征在于, 所述控制器具有输入输出部,该输入输出部与连接到所述控制器上的信息处理装置进行数据的发送及接收; 所述输入输出部,按照所述信息处理装置的要求,将所述访问处理部对所述用户程序的响应结果输出至所述信息处理装置。
7.如权利要求6所述的控制器,其特征在于, 所述输入输出部,从所述信息处理装置接受使所述访问处理部以所述第一模式和所述第二模式中的哪个模式进行动作的指定; 所述访问处理部,按照从所述信息处理装置接受的指定,切换所述第一模式和所述第二模式。
8.如权利要求1所述的控制器,其特征在于, 所述用户程序包括指定指令,该指定指令用于指定以所述第一模式和所述第二模式中的哪个模式使所述访问处理部进行动作; 所述访问处理部,按照所述指定指令所表示的指定,以所述第一模式和所述第二模式中的某个模式进行动作。
9.一种程序,用于对控制器的动作进行控制,其特征在于, 所述控制器具有用于访问数据库系统的通信接口、处理器及存储器; 所述程序使所述处理器执行如下步骤: 执行用于对控制对象进行控制的用户程序, 在执行包含用于访问所述数据库系统的访问指令的所述用户程序时,控制按照与所述访问指令相对应的指令语句而经由所述通信接口对所述数据库系统进行的访问; 在控制按照与所述访问指令相对应的指令语句访问数据库系统的步骤中,能够以第一模式及第二模式进行动作,使所述处理器, 在所述第一模式中,将与所述访问指令相对应的指令语句发送至所述数据库系统,并将该指令语句的响应结果响应给所述用户程序, 在所述第二模式中,将与所述指令语句相对应的执行结果响应给所述用户程序,而不向所述数据库系统发送所述指令语句。
10.一种信息处理装置,与控制器相连接,其特征在于, 所述控制器具有: 通信接口,其用于与数据库系统连接, 指令执行部,其执行用于对控制对象进行控制的用户程序, 访问处理部,其在由所述指令执行部执行包含用于访问所述数据库系统的访问指令的所述用户程序时,控制按照与所述访问指令相对应的指令语句而经由所述通信接口对所述数据库系统进行的访问, 输入输出部,其与所述信息处理装置连接,用于与所述信息处理装置进行数据的发送与接收; 所述访问处理部,能够以第一模式及第二模式进行动作; 在所述第一模式中,所述访问处理部将与所述访问指令相对应的指令语句发送至所述数据库系统,并将该指令语句的响应结果响应给所述用户程序, 在所述第二模式中,所述访问处理部将与所述指令语句相对应的执行结果响应给所述用户程序,而不向所述数据库系统发送所述指令语句; 所述信息处理装置具有: 接收处理部,其经由所述控制器的所述输入输出部接收所述访问处理部对所述用户程序的响应结果, 显示处理部,其将用所述接收处理部接收的所述响应结果显示到监视器上。
11.一种控制器,其特征在于,具有: 用于连接数据库系统的通信接口, 处理器, 存储器; 所述处理器用于进行如下处理: 切换第一模式及第二模式来进行动作, 执行用于对控制对象进行控制的用户程序,在执行包含用于访问所述数据库系统的访问指令的所述用户程序时,控制按照与所述访问指令相对应的指令语句而经由所述通信接口对所述数据库系统进行的访问, 在以第一模式进行动作的情况下,将与所述访问指令相对应的指令语句发送至所述数据库系统,并将该指令语句的响应结果响应给所述用户程序, 在以第二模式进行动作的情况下,将与所述指令语句相对应的执行结果响应给所述用户程序,而不向所述数 据库系统发送所述指令语句。
【文档编号】G05B19/418GK103995499SQ201310656213
【公开日】2014年8月20日 申请日期:2013年12月6日 优先权日:2013年2月15日
【发明者】冈村弘太郎, 太田政则, 西山佳秀, 矢尾板宏心, 中崎胜 申请人:欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1