控制系统、控制方法以及控制程序

文档序号:118955 发布日期:2021-10-19 浏览:22次 >En<

阅读说明:本技术 控制系统、控制方法以及控制程序 (Control system, control method, and control program ) 是由 冈村弘太郎 武内良峰 乾智成 于 2020-02-18 设计创作,主要内容包括:提供辅助用户以查明在向数据库追加收集数据时产生的异常的原因的技术。控制器(200)或信息处理装置(100)具有将SQL语句和各SQL语句的执行结果对应起来作为日志数据(214)进行保存的存储装置(208)。信息处理装置(100)具有:显示部(121);显示控制部(154),其将日志数据(214)所包含的SQL语句内的、执行结果为异常的作为修正对象的SQL语句显示于显示部(121);以及操作部(115),其受理针对作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作,显示控制部(154)将修正后的SQL语句的执行结果显示于显示部(121)。(Provided is a technique for assisting a user to find a cause of an abnormality occurring when additionally collecting data in a database. The controller (200) or the information processing device (100) has a storage device (208) that stores SQL statements and execution results of the SQL statements in association with each other as log data (214). An information processing device (100) is provided with: a display unit (121); a display control unit (154) that displays, on a display unit (121), SQL statements that are to be corrected and whose execution result is abnormal, among the SQL statements included in the log data (214); and an operation unit (115) that receives a correction operation for the SQL sentence to be corrected and receives an execution operation for the corrected SQL sentence, wherein the display control unit (154) displays the execution result of the corrected SQL sentence on the display unit (121).)

控制系统、控制方法以及控制程序

技术领域

本公开涉及用于在由控制器访问的数据库上生成表的技术。

背景技术

在各种生产现场,用于使生产工序自动化的FA(Factory Automation:工厂自动化)系统正在普及。FA系统由输入设备、驱动设备以及控制器等构成。控制器根据来自作为输入设备的各种传感器的输入来控制驱动设备。驱动设备例如包含用于移动工件的移动台、用于输送工件的输送机、用于使工件移动至预先确定的目标场所的手臂机器人等。

近年来,能够访问外部设备的数据库的控制器正在普及。关于这样的控制器,日本特开2016-194808号公报(专利文献1)公开了在“不进行SQL的记述地操作数据库的技术中,能够以简单的机制一并操作多个记录”的控制器。国际公开第2014/184962号(专利文献2)公开了“在从数据库读出数据时,与以往相比能够减少从数据库读出的工序数”的控制器。

现有技术文献

专利文献

专利文献1:日本特开2016-194808号公报

专利文献2:国际公开第2014/184962号

发明内容

发明所要解决的课题

由控制器收集与驱动设备等控制对象相关的数据,将收集到的数据依次追加到数据库中。此时,存在收集数据因某些异常而未被追加到数据库的情形。在该情况下,用户需要查明异常的原因,修正SQL语句、设定等。这样的异常因各种原因而发生,根据异常的种类,非常难以查明原因。因此,为了查明在向数据库追加收集数据时产生的异常的原因,期望用于对用户进行辅助的技术。

用于解决课题的手段

在本公开的一例中,提供一种构成为能够与对控制对象进行控制的控制器进行通信的信息处理装置。上述控制器或上述信息处理装置具有存储装置,上述存储装置用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据进行保存,所述1个以上的SQL语句是为了将与上述控制对象相关的数据插入到数据库而执行的。上述信息处理装置具有:显示部;显示控制部,其用于将上述日志数据所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于上述显示部;操作部,其用于受理针对上述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作;以及通信部,其用于基于上述操作部受理了上述执行操作这一情况,将上述修正后的SQL语句的执行命令发送到上述控制器,并且从上述控制器接收上述修正后的SQL语句的执行结果。上述显示控制部将上述修正后的SQL语句的执行结果显示于上述显示部。

在本公开的一例中,上述操作部构成为进一步受理如下操作:从上述日志数据所包含的SQL语句内,选择表示执行结果为正常的作为比较对象的SQL语句。上述显示控制部并排显示通过上述作为修正对象的SQL语句而插入到上述数据库中的数据、和通过上述作为比较对象的SQL语句而插入到上述数据库中的数据。

在本公开的一例中,在通过上述作为修正对象的SQL语句而插入到上述数据库的各数据与通过上述作为比较对象的SQL语句而插入到上述数据库的各数据的数据组合内,上述显示控制部将满足预先确定的比较条件的数据组合以与其他数据组合不同的显示方式进行显示。

在本公开的一例中,在组合的数据间位数不同的情况下,满足上述预先确定的比较条件。

在本公开的一例中,上述显示控制部将上述日志数据所包含的SQL语句内的、与上述作为修正对象的SQL语句的一部分一致的SQL语句作为上述作为比较对象的SQL语句的候选显示于上述显示部。上述操作部从上述候选内受理上述作为比较对象的SQL语句的选择操作。

在本公开的一例中,上述显示控制部将上述日志数据所包含的SQL语句内的、与上述作为修正对象的SQL语句所规定的表名一致的SQL语句上述作为候选显示于上述显示部。

在本公开的另一例中,提供一种构成为能够与对控制对象进行控制的控制器进行通信的信息处理装置的控制方法。上述控制器或上述信息处理装置具有存储装置,上述存储装置用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据进行保存,所述1个以上的SQL语句是为了将与上述控制对象相关的数据插入到数据库而执行的。上述控制方法具有以下步骤:将上述日志数据所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于显示部;受理针对上述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作;基于受理了上述执行操作这一情况,将上述修正后的SQL语句的执行命令发送到上述控制器,并且从上述控制器接收上述修正后的SQL语句的执行结果;以及将上述修正后的SQL语句的执行结果显示于上述显示部。

在本公开的又一例中,提供一种构成为能够与对控制对象进行控制的控制器进行通信的信息处理装置的控制程序。上述控制器或上述信息处理装置具有存储装置,上述存储装置用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据进行保存,所述1个以上的SQL语句是为了将与上述控制对象相关的数据插入到数据库而执行的。上述控制程序使上述信息处理装置执行以下步骤:将上述日志数据所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于显示部;受理针对上述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作;基于受理了上述执行操作这一情况,将上述修正后的SQL语句的执行命令发送到上述控制器,并且从上述控制器接收上述修正后的SQL语句的执行结果;以及将上述修正后的SQL语句的执行结果显示于上述显示部。

附图说明

图1是表示实施方式的控制系统的结构例的图。

图2是表示实施方式的信息处理装置的硬件结构的示意图。

图3是表示实施方式的控制器的硬件结构的示意图。

图4是表示实施方式的外部设备的硬件结构的框图。

图5是表示信息处理装置、控制器、驱动设备和外部设备之间的通常时的序列流程的图。

图6是表示开发工具提供的程序设计画面的图。

图7是表示设定信息的一例的图。

图8是表示信息处理装置、控制器、驱动设备和外部设备之间的调试时的序列流程的图。

图9是表示异常日志的选择画面的图。

图10是表示图8所示的步骤S84中的编辑画面的图。

图11是表示图8所示的步骤S86中的编辑画面的图。

图12是表示图8所示的步骤S90中的编辑画面的图。

图13是表示正常日志的选择画面的图。

图14是表示所选择的SQL语句的编辑画面的图。

图15是表示变形例的编辑画面的图。

图16是表示变形例的选择画面的图。

图17是表示实施方式的信息处理装置执行的处理的一部分的流程图。

具体实施方式

以下,参照附图说明本发明的各实施方式。在以下的说明中,对相同的部件和结构要素标注相同标号。它们的名称和功能也相同。因此,不重复对它们的详细说明。

<A.应用例>

参照图1,说明本发明的应用例。图1是表示实施方式的控制系统10的结构例的图。

控制系统10是用于使生产工序自动化的FA系统。在图1的例子中,控制系统10由1个以上的信息处理装置100、1个以上的控制器200、1个以上的驱动设备300、以及1个以上的外部设备400构成。

信息处理装置100、控制器200和外部设备400与网络NW1连接。网络NW1采用EtherNET或OPC-UA(Object Linking and Embedding for Process Control UnifiedArchitecture:用于过程控制统一架构的对象链接和嵌入)等。OPC-UA是为了不依赖于供应商或OS(Operating System:操作系统)的种类等地实现数据交换而确定的通信的基准性标准。

控制器200以及驱动设备300与网络NW2连接。网络NW2优选采用保证数据的到达时间的、进行恒定周期通信的现场网络。作为进行这样的恒定周期通信的现场网络,已知EtherCAT(注册商标)、EtherNet/IP(注册商标)、注册商标)、CompoNet(注册商标)等。

信息处理装置100例如是笔记本型或台式的PC(Personal Computer:个人计算机)、平板终端、智能手机、或其他信息处理终端。信息处理装置100包含控制装置102、操作部115和显示部121来作为硬件结构。

控制器200例如是PLC(Programmable Logic Controller:可编程逻辑控制器)。控制器200根据预先设计的用户程序来控制驱动设备300。驱动设备300包含用于使生产工序自动化的各种工业用设备。作为一例,驱动设备300包含机器人控制器、伺服驱动器、被机器人控制器控制的手臂机器人、由伺服驱动器控制的伺服电机等。另外,驱动设备300也可以包含用于拍摄工件的视觉传感器、在生产工序中利用的其他设备等。

控制器200在用户程序的执行中,收集表示作为控制对象的驱动设备300的状态的各种数据,定期地将该收集数据追加到外部设备400的数据库430。或者,该收集数据在存在对控制的输入的定时、驱动完成的定时等预先确定的定时被追加到数据库430。外部设备400的数据库430由预先生成的1个以上的表432构成。表432由表示列的栏和表示行的记录构成。收集数据被追加到由SQL语句指定的表432中。

控制器200将收集数据向数据库430的追加结果作为日志数据214存储于存储装置208。在日志数据214中,针对为了将收集数据插入到数据库430而执行的各个SQL语句,对应有SQL语句的执行结果。作为一例,在正常地执行了SQL语句的情况下,表示正常的执行结果“OK”与已执行的SQL语句一起被写入到日志数据214。另一方面,在没有正常地执行SQL语句的情况下,表示异常的执行结果“NG”与已执行的SQL语句一起被写入到日志数据214。优选的是,进一步将错误代码写入到日志数据214。错误代码例如包含表示连接错误的错误代码、表示字符串数据的右侧被截断的错误代码、表示数值在范围外的错误代码、表示日期时刻书写格式无效的错误代码等。

用户在日志数据214中发生了异常的情况下,需要查明异常发生的原因,对SQL语句或设定等进行修正。这样的异常因各种原因而发生,根据异常的种类,非常难以查明原因。因此,信息处理装置100辅助用户来查明在向数据库430追加收集数据时产生的异常的原因。作为用于实现该情况的功能结构的一例,控制装置102包含通信部152和显示控制部154。

通信部152是用于实现与控制器200的通信的通信驱动器。通信部152从控制器200接收日志数据214。接收到的日志数据214被输出到显示控制部154。

显示控制部154是用于控制显示部121的显示内容的功能模块。在图1的例子中,显示控制部154将SQL语句的编辑画面50显示于显示部121。

编辑画面50包含SQL语句的编辑栏51、记录信息显示栏55、发送按钮56、结果显示栏58。

显示控制部154将日志数据214所包含的SQL语句内的表示执行结果为异常的SQL语句52显示于编辑栏51。另外,显示控制部154将通过SQL语句52而插入失败的数据的详情显示于记录信息显示栏55。记录信息显示栏55中显示的内容包含数据的插入目的地的表名、构成该表的各栏的名称、插入失败的数据的值。

操作部115受理针对信息处理装置100的各种用户操作。作为一例,操作部115受理针对编辑栏51中显示的SQL语句52的修正操作。另外,操作部115受理修正后的SQL语句52的执行操作。例如基于编辑画面50的发送按钮56被按下来受理执行操作。

通信部152基于操作部115受理了执行操作这一情况,将修正后的SQL语句52和修正后的SQL语句52的执行命令发送到控制器200。控制器200基于从信息处理装置100接收到修正后的SQL语句52和执行命令,使外部设备400执行修正后的SQL语句52。然后,控制器200将修正后的SQL语句52的执行结果发送到信息处理装置100。信息处理装置100的通信部152基于从控制器200接收到执行结果这一情况,将该执行结果输出到显示控制部154。然后,显示控制单元154在显示部121上显示从通信部152接收到的执行结果。图1的例子中,在编辑画面50的结果显示栏58中示出修正后的SQL语句52的执行结果。

如上所述,信息处理装置100将日志数据214所包含的SQL语句内的表示执行结果为异常的SQL语句52作为修正对象显示于显示部121。然后,信息处理装置100受理针对所显示的SQL语句52的修正操作、和针对修正后的SQL语句52的测试执行操作。通过提供这样的调试环境,用户能够容易地查明在向数据库追加收集数据时产生的异常的原因,能够根据查明的原因来修正SQL语句、设定。

另外,在图1的例子中,对数据库430存在于外部设备400的例子进行了说明,但数据库430不一定必须存在于外部设备400。例如,数据库430也可以存在于控制器200的内部。或者,数据库430也可以存在于与控制器200的内部总线连接的另一单元的内部。

另外,向数据库的写入功能和日志保存功能也可以安装在控制器200的附属单元上。另外,日志数据214也可以不保存在控制器200中,而保存在信息处理装置100中。

<B.硬件结构>

参照图2~图4,依次说明信息处理装置100、控制器200和外部设备400的硬件结构。

(B1.信息处理装置100的硬件结构)

首先,参照图2,说明信息处理装置100的硬件结构。图2是表示信息处理装置100的硬件结构的示意图。

作为一例,信息处理装置100由基于通用的计算机架构而构成的计算机构成。信息处理装置100包含CPU(Central Processing Unit:中央处理单元)或MPU(Micro-Processing Unit:微处理单元)等控制装置102、主存储器104、非易失性的存储装置110、通信接口111、I/O(Input/Output:输入输出)接口114以及显示接口120。这些组件经由内部总线125以能够相互进行通信的方式连接。

控制装置102通过执行开发辅助程序110A等各种控制程序来控制信息处理装置100的动作。开发辅助程序110A是提供用于开发控制器200的控制程序(用户程序)的环境的程序。控制装置102基于受理了开发辅助程序110A等各种控制程序的执行命令这一情况,将作为执行对象的控制程序从存储装置110读出到主存储器104。

通信接口111经由网络与其他通信设备之间交换数据。该其他通信设备例如包含控制器200、外部设备400、服务器等。信息处理装置100也可以构成为能够经由通信接口111从该其他通信设备下载开发辅助程序110A等各种控制程序。

I/O接口114与操作部115连接,取得来自操作部115的表示用户操作的信号。操作部115典型地由键盘、鼠标、触摸面板、触控板等构成,受理来自用户的操作。另外,在图2的例子中,信息处理装置100和操作部115作为分体示出,但信息处理装置100和操作部115也可以一体地构成。

显示接口120与显示部121连接,按照来自控制装置102等的指令,向显示部121送出用于显示图像的图像信号。显示部121例如是LCD(Liquid Crystal Display:液晶显示器)或有机EL(Electro Luminescence:电致发光),对用户提示各种信息。在显示部121中,能够显示由开发辅助程序110A提供的各种画面。另外,在图2的例子中,信息处理装置100和显示部121作为分体示出,但信息处理装置100和显示部121也可以一体地构成。

(B2.控制器200的硬件结构)

接着,参照图3,说明控制器200的硬件结构。图3是表示控制器200的硬件结构的示意图。

控制器200包含通信接口201、CPU或MPU等控制装置202、芯片组204、主存储器206、非易失性的存储装置208、内部总线控制器222、现场总线控制器224、存储卡接口239。

控制装置202读出存储装置208所保存的控制程序211,并在主存储器206中展开执行,由此实现对各种驱动设备300的控制。控制程序211包含用于对控制器200进行控制的各种程序。作为一例,控制程序211包含系统程序209和用户程序210等。系统程序209包含用于提供数据的输入输出处理、执行定时控制等控制器200的基本功能的命令代码。用户程序210是从信息处理装置100下载的程序。用户程序210根据控制对象任意地设计,包含用于执行序列控制的序列程序210A和用于执行运动控制的运动程序210B。

芯片组204通过控制各组件来实现作为控制器200整体的处理。

存储装置208除了控制程序211之外还保存有各种数据。作为一例,存储装置208保存有规定了用户程序210上的数据类型与数据库430上的数据类型的对应关系的设定信息212、和上述的日志数据214(参照图1)。之后将叙述设定信息212的详情。日志数据214包含异常日志215和正常日志216。

内部总线控制器222是与通过内部总线和控制器200连接的各种设备之间交换数据的接口。作为这样的设备的一例,连接有I/O单元226。

现场总线控制器224是与通过现场总线和控制器200连接的各种驱动设备300之间交换数据的接口。作为这样的设备的一例,连接有伺服驱动器300A、300B。此外,也可以连接机器人控制器、视觉传感器等驱动设备。

内部总线控制器222以及现场总线控制器224能够对所连接的设备赋予任意的指令,并且能够取得设备所管理的任意数据。另外,内部总线控制器222和/或现场总线控制器224还作为用于与机器人控制器或伺服驱动器之间交换数据的接口发挥功能。

通信接口201控制各种通过有线/无线网络的数据交换。控制器200经由通信接口201与信息处理装置100或外部设备400进行通信。另外,控制器200能够经由通信接口201访问外部设备400上的数据库430。

存储卡接口239构成为能够装卸作为外部存储介质一例的存储卡240(例如,SD卡),能够对存储卡240写入数据,并从存储卡240读出数据。

(B3.外部设备400的硬件结构)

接着,参照图4,说明外部设备400的硬件结构。图4是表示外部设备400的硬件结构的框图。

外部设备400具备具有通用架构的硬件结构。即,外部设备400被安装为一种个人计算机。但是,也可以不使用通用的硬件,而使用专用硬件来安装外部设备400。

更具体而言,外部设备400包含CPU或MPU等控制装置402、主存储器404、非易失性的存储装置410、通信接口412、I/O接口414以及显示接口420。这些组件经由内部总线425以能够相互进行数据通信的方式连接。

控制装置402读出存储装置410所保存的控制程序(未图示),并在主存储器404中展开执行,由此控制外部设备400。即,控制装置402通过与主存储器404以及存储装置410协作,实现执行控制运算的控制部。

通信接口412、I/O接口414以及现场总线接口416对外部设备400与其他通信设备的数据交换进行中介。

更具体而言,通信接口412对经由网络NW1(参照图1)等的与控制器200的通信进行中介。通信接口412例如可采用能够进行遵循EtherNET的通信的组件。

I/O接口414与操作部415连接,取得来自操作部415的表示用户操作的信号。操作部415典型地由键盘、鼠标、触摸面板、触控板等构成,受理来自用户的操作。另外,在图4的例子中,外部设备400和操作部415作为分体示出,但外部设备400和操作部415也可以一体地构成。

显示接口420与显示部421连接,按照来自控制装置402等的指令,向显示部421送出用于显示图像的图像信号。显示部421由LCD、有机EL显示器等构成,对用户提示各种信息。另外,在图4的例子中,外部设备400和显示部421作为分体示出,但外部设备400和显示部421也可以一体地构成。

<C.通常执行时的序列流程>

参照图5以及图6,对通常执行时的序列流程进行说明。图5是表示信息处理装置100、控制器200、驱动设备300和外部设备400之间的通常执行时的序列流程的图。

在步骤S10中,假设信息处理装置100受理了开发辅助程序110A(参照图5)的启动命令。基于该情况,信息处理装置100启动图6所示的开发工具30。图6是表示开发工具30提供的程序设计画面31的图。程序设计画面31例如显示于信息处理装置100的显示部121。

用户程序210可以以任意编程语言记述。作为一例,用户程序210既可以由梯形图(LD:Ladder Diagram)规定,也可以由命令列表(IL:Instruction List)、结构化文本(ST:Structured Text)以及序列功能图(SFC:Sequential Function Chart)中的任意一个或者它们的组合来规定。或者,用户程序210也可以用JavaScript(注册商标)、C语言那样的通用编程语言来规定。

在图6的例子中,用户程序210用梯形图来记述。设计者通过在程序设计画面31上组合任意的功能块、或者规定变量和功能块的输入输出关系,能够设计与作为控制对象的驱动设备300匹配的用户程序210。功能块是指在用户程序210内反复使用的功能被部件化的功能块。

在图6的例子中,用户程序210包含变量A~C和功能块FB1、FB2。功能块FA1基于与其输入部相关联的变量A的值,执行功能块FB1中规定的预先确定的功能。该执行结果被反映在与功能块FA1的输出部相关联的变量B中。功能块FB2基于与其输入部相关联的变量B的值,执行功能块FB2中规定的预先确定的功能。该执行结果被反映在与功能块FA2的输出部相关联的变量C中。这样,设计者通过在程序设计画面31上组合变量、功能块,能够设计任意的用户程序210。

此外,用户程序210也可以包含用于向数据库430追加数据的功能块。该功能块接收控制器200的收集数据的输入,生成用于将该收集数据追加到数据库430的SQL语句,使外部设备400执行该生成的SQL语句。

再次参照图5,假设在步骤S30中,开发工具30受理了编译操作。基于此,开发工具30对在程序设计画面31上设计的用户程序210进行编译。然后,假设开发工具30受理了编译结果的下载操作。基于此,开发工具30将编译后的用户程序210传送至控制器200。控制器200将接收到的用户程序210保存于存储装置208(参照图3)。

在步骤S32中,假设控制器200受理了用户程序210的执行命令。基于此,控制器200开始用户程序210的执行。在用户程序210是循环执行型的程序的情况下,控制器200每隔预先设定的控制周期反复执行用户程序210所包含的命令组。更具体而言,控制器200以1个控制周期执行从用户程序210的开头行到最终行。在接下来的控制周期中,控制器200再次执行用户程序210的从开头行到最终行。控制器200每隔控制周期生成指令值,并将该指令值输出至驱动设备300。

在步骤S50中,控制器200判断是否受理了用户程序210所规定的指令值的生成处理的执行命令。作为一例,该执行命令根据来自输入设备(例如传感器等)的输入信号而发出。控制器200在判断为受理了该执行命令的情况下(在步骤S50中为“是”),按照规定的命令生成指令值,并将该指令值发送到驱动设备300(步骤S52)。驱动设备300按照从控制器200接收到的指令值来驱动控制对象。在控制器200判断为未受理指令值的生成处理的执行命令的情况下(在步骤S50中为“否”),控制器200不执行步骤S52的处理,而将控制切换到步骤S60。

在步骤S60中,控制器200判断是否受理了收集数据的上传处理的执行命令。控制器200在判断为受理了该执行命令的情况下(在步骤S60中为“是”),生成用于执行INSERT命令的SQL语句。在该SQL语句中,规定用于指定作为追加目的地的表的信息(例如,表名)、要上传到各栏的数据的值等。控制器200在判断为未受理该执行命令的情况下(在步骤S60中为“否”),不执行步骤S62的处理,而将处理切换到步骤S70。

控制器200在生成SQL语句时,将用户程序210中规定的作为收集对象的各数据的类型转换为与数据库430对应的数据类型。这样的类型转换例如基于图7所示的设定信息212来进行。图7是表示设定信息212的一例的图。设定信息212例如由用户预先设定。如图7所示,在设定信息212中,对数据库430所包含的各表规定用户程序210上的数据类型与数据库430上的数据类型的对应关系。

在步骤S62中,控制器200将基于设定信息212而生成的SQL语句发送到外部设备400。外部设备400根据从控制器200接收到的SQL语句,生成在各栏中反映了变量值的记录,在数据库430内的对应的表432中追加生成的记录。由此,收集数据被反映在数据库430中。然后,外部设备400将表示正常结束或异常结束的上传结果发送控制器200。

在步骤S64中,控制器200将从外部设备400接收到的上传结果与执行的SQL语句对应起来,然后将它们写入到日志数据214。在上传结果表示异常的情况下,上传结果作为异常日志215被写入到日志数据214。另一方面,在上传结果表示正常的情况下,上传结果作为正常日志216被写入到日志数据214。

在步骤S70中,控制器200判断是否结束用户程序210的执行。该结束命令例如基于从用户受理了结束操作而发出。控制器200在判断为从用户受理了结束操作的情况下(在步骤S70中为“是”),结束用户程序210的执行。否则(在步骤S70中为“否”),控制器200使控制返回到步骤S50。

另外,在上述中,说明了在步骤S62中将INSERT命令的SQL语句从控制器200发送到外部设备400的数据库430的例子,但也可以仅将要INSERT的值发送到外部设备400的数据库430。在该情况下,外部设备400基于接收到要INSERT的值这一情况,生成INSERT命令的SQL语句,基于该SQL语句执行接收到的值的INSERT处理。

<D.调试时的序列流程>

参照图8~11,对调试时的序列流程进行说明。图8是表示信息处理装置100、控制器200、驱动设备300和外部设备400之间的调试时的序列流程的图。

在步骤S80中,假设信息处理装置100受理了日志数据214(参见图1)的取得操作。该取得操作例如在上述的开发工具30中被受理。信息处理装置100基于受理了日志数据214的取得操作这一情况,向控制器200发送日志数据214的取得请求。控制器200接收该取得请求,将保存在存储装置208(参照图3)中的日志数据214发送到信息处理装置100。

在步骤S82中,信息处理装置100基于从控制器200接收到日志数据214这一情况,将图9所示的选择画面40显示于信息处理装置100的显示部121。图9是表示异常日志的选择画面40的图。

如图9所示,基于选择画面40的选项TB1被按下,信息处理装置100将日志数据214中包含的异常日志显示于日志列表41。在日志列表41中并排显示条目、异常发生日期时刻、异常的类别、日志代码、日志名、SQL语句的执行结果、错误代码、对数据库的连接名、序列ID。用户能够在日志列表41所显示的异常日志中选择一个异常日志。异常日志的选择操作例如使用信息处理装置100的操作部115来实现。

基于从日志列表41中选择了一个异常日志,在详细显示栏45中显示与该一个异常日志对应的SQL语句52。在选择了异常日志的状态下,按下确定按钮46时,受理异常日志的选择。另一方面,当按下取消按钮47时,取消异常日志的选择,关闭选择画面40。

假设在步骤S82中,在选择了异常日志的状态下,按下了确定按钮46。基于此,在步骤S84中,信息处理装置100将SQL语句的编辑画面显示于显示部121。

图10是表示步骤S84中的编辑画面50的图。编辑画面50包含SQL语句的编辑栏51、错误详情显示栏53、记录信息显示栏55、发送按钮56、结果显示栏58。

在编辑栏51中显示与在步骤S82中选择出的异常日志对应的SQL语句52。

在错误详情显示栏53中显示所选择的异常日志中的详细信息。在错误详情显示栏53中显示的内容显示有错误代码、发生错误的原因以及与发生的错误对应的对策方案。关于各错误代码的错误原因以及对策方案被预先保存在信息处理装置100的存储装置110等中。信息处理装置100在错误详情显示栏53中显示与所选择的异常日志的错误代码对应的错误原因和对策方案。

在记录信息显示栏55中,显示通过SQL语句52而插入失败的数据的详情。记录信息显示栏55中显示的内容包含作为数据的插入目的地的表名、构成该表的各栏的名称、插入失败的数据的值。

信息处理装置100的操作部115对编辑栏51中显示的SQL语句52受理编辑操作。通过该编辑操作,进行表名的修正、栏名的编辑、值的编辑等。优选的是,这些编辑操作也可以对记录信息显示栏55来进行。在该情况下,针对编辑栏51以及记录信息显示栏55中的一方的编辑操作也被反映到另一方,编辑栏51的显示内容与记录信息显示栏55的显示内容同步。

图11是表示步骤S86中的编辑画面50的图。如图11所示,在步骤S86中,假设SQL语句52的栏“A”的值从“200”被修正为了“90”。

在步骤S90中,假设编辑画面50的发送按钮56被按下。由此,受理编辑后的SQL语句52的执行操作。这样的执行操作例如由操作部115实现。信息处理装置100基于操作部115受理了执行操作这一情况,将修正后的SQL语句52和修正后的SQL语句52的执行命令发送到控制器200。控制器200基于从信息处理装置100接收到修正后的SQL语句52和执行命令,使外部设备400执行修正后的SQL语句52。

外部设备400从控制器200接收修正后的SQL语句52的执行命令,执行修正后的SQL语句52,并进行对数据库430的数据插入处理。然后,外部设备400将修正后的SQL语句52的执行结果发送到控制器200。控制器200将从外部设备400接收到的执行结果发送到信息处理装置100。

在步骤S92中,信息处理装置100在编辑画面50上显示从控制器200接收到的执行结果。图12是表示步骤S90中的编辑画面50的图。如图12所示,从控制器200接收到的执行结果被显示在编辑画面50的结果显示栏58中。图12所示的“0x0000”表示执行结果正常。

<E.正常日志的选择画面>

在上述的图9中,对在选择画面40中选择异常日志的例子进行了说明,但选择画面40也受理正常日志的选择。以下,参照图13以及图14,对选择正常日志的例子进行说明。

图13是表示正常日志的选择画面40的图。如图13所示,基于选择画面40的选项卡TB2被按下,信息处理装置100将日志数据214中包含的正常日志显示于日志列表41。用户能够在日志列表41所显示的正常日志中选择一个正常日志。正常日志的选择操作例如使用信息处理装置100的操作部115来实现。

基于从日志列表41中选择了一个正常日志,在详细显示栏45中显示与该一个正常日志对应的SQL语句52A。在选择了正常日志的状态下,按下确定按钮46时,受理正常日志的选择。另一方面,当按下取消按钮47时,取消正常日志的选择,关闭选择画面40。

图14是表示所选择的SQL语句52A的编辑画面50的图。在编辑栏51中显示与所选择的正常日志对应的SQL语句52A。在记录信息显示栏55中显示通过SQL语句52A成功插入的数据的详情。在记录信息显示栏55中显示的内容包含作为数据的插入目的地的表名、构成该表的各栏的名称和插入成功的数据的值。这样,通过显示所选择的正常日志的内容,用户能够参考正常执行的SQL语句。

<F.编辑画面的变形例>

参照图15,对图10所示的编辑画面50的变形例进行说明。图15是表示变形例的编辑画面50A的图。

在上述图10中,在编辑画面50中显示了所选择的一个异常日志。与此相对,在本变形例的编辑画面50A中,将所选择的一个正常日志与所选择的一个异常日志并排显示。用户通过比较异常日志和正常日志,能够容易地调查异常的原因在何处。

如图15所示,变形例的编辑画面50A包含SQL语句的编辑栏51、记录信息显示栏55A、发送按钮56、结果显示栏58。

在比较例的编辑画面50A中,记录信息显示栏55A与上述的编辑画面50的记录信息显示栏55不同。关于其他方面,如在图10中说明的那样,所以不重复它们的说明。

如上所述,用户不仅能够从日志数据214所包含的SQL语句内选择表示执行结果异常的SQL语句,还能够选择表示执行结果正常的SQL语句。异常日志以及正常日志的选择操作例如使用操作部115来实现。基于选择了异常日志和正常日志,信息处理装置100将通过执行结果异常的作为修正对象的SQL语句而插入的数据组57A、和通过执行结果正常的作为比较对象的SQL语句而插入的数据组57B并排显示。由此,用户能够比较执行结果异常的数据组57A和执行结果正常的数据组57B,从而能够容易地调查值异常的数据。以此为线索,用户能够修正用户程序210内的数据的插入位置、设定信息212(参照图7)等。

优选的是,在执行结果异常的数据组57A所包含的各数据与执行结果正常的数据组57B所包含的各数据的数据组合内,信息处理装置100将满足预先确定的比较条件的数据组合以与其他数据组合不同的显示方式进行显示。在图15的例子中,与栏“B”、“C”所对应的数据对相比,栏“A”所对应的数据对被突出显示。突出显示例如通过阴影显示、基于特定颜色(例如红色)的显示、闪烁显示等来实现。由此,能够更容易注意到值异常的数据。

在数据组57A所包含的各数据与数据组57B所包含的各数据的数据对中,在与预先确定的规则一致的情况下,满足上述比较条件。在某个方面,在一个数据为预先确定的值(例如100)以上,另一个数据小于该预先确定的值(例如100)的情况下,满足比较条件。在另一方面,在数据对中的2个数据间位数不同的情况下,满足比较条件。这些比较条件可以由用户预先设定,也可以在设计时设定。

<G.选择画面的变形例>

参照图16,对图13所示的选择画面40的变形例进行说明。图16是表示变形例的选择画面40A的图。

在上述的图13中,日志数据214所包含的全部的正常日志被显示于选择画面40。并且,在上述的图15中,将与从这些正常日志中选择出的一个正常日志对应的SQL语句显示为与作为修正对象的SQL语句进行比较的比较对象。与此相对,本变形例的选择画面40A具有对作为显示对象的正常日志进行过滤的功能,能够提取与作为修正对象的SQL语句关联性高的正常日志。由此,用户能够容易地选择作为比较对象的正常日志。

如图16所示,变形例的选择画面40A包含日志列表41、过滤条件输入栏44、详细显示栏45、确定按钮46以及取消按钮47。

图16所示的选择画面40A在还具有过滤条件输入栏44这一点上与图13所示的选择画面40不同。关于其他方面,与在图13中说明的相同,所以不重复它们的说明。

信息处理装置100将日志数据214所包含的正常的SQL语句内的与作为修正对象的SQL语句的一部分一致的SQL语句作为比较对象的SQL语句的候选而显示于显示部121。这里所说的“一致”是指在作为修正对象的SQL语句与作为比较对象的SQL语句之间,单词一致的数量为规定数量(例如,1~4个单词)以上。这样,通过将与作为修正对象的SQL语句类似的SQL语句筛选为作为比较对象的SQL语句的候选,提取与作为修正对象的SQL语句关联性高的正常日志。

这样的显示对象的筛选条件由过滤条件输入栏44受理。过滤条件输入栏44例如具有复选框44A、44B。

若勾选复选框44A,则信息处理装置100从日志数据214所包含的SQL语句内,确定与作为修正对象的SQL语句规定的表名一致的SQL语句,将与该确定出的各SQL语句对应的正常日志显示于日志列表41。换言之,在日志数据214所包含的SQL语句内,与作为修正对象的SQL语句所规定的表名不一致的SQL语句所对应的正常日志不显示在日志列表41中。由此,用户能够用表名筛选作为显示对象的日志。

若勾选复选框44B,则信息处理装置100从日志数据214所包含的SQL语句内,确定与作为修正对象的SQL语句规定的命令语句一致的SQL语句,将与该确定出的各SQL语句对应的正常日志显示于日志列表41。换言之,在日志数据214所包含的SQL语句内,与作为修正对象的SQL语句所规定的命令语句不一致的SQL语句所对应的正常日志不显示在日志列表41中。由此,用户能够用命令的种类筛选作为显示对象的日志。

<H.信息处理装置100的控制流程>

参照图17,对信息处理装置100的控制结构进行说明。图17是表示信息处理装置100执行的处理的一部分的流程图。图17所示的处理通过信息处理装置100的控制装置102执行程序来实现。在其他方面中,处理的一部分或全部也可以通过电路元件或其他硬件来执行。

在步骤S110中,控制装置102判断执行对象命令是否是向数据库430的插入命令。控制装置102在判断为执行对象命令是向数据库430的插入命令的情况下(在步骤S110中为“是”),将控制切换到步骤S114。否则(在步骤S110中为“否”),控制装置102将控制切换到步骤S112。

在步骤S112中,控制装置102如通常那样执行所指定的执行对象命令。

在步骤S114中,控制装置102基于上述的设定信息212(参照图7),将收集对象数据的类型转换为数据库430上的数据类型,生成用于数据插入的SQL语句。然后,控制装置102将SQL语句的执行命令与生成的SQL语句一起发送给外部设备400。接收到该数据后,外部设备400执行数据向数据库430的插入处理,并将其执行结果发送到控制器200。

在步骤S116中,控制装置102从外部设备400接收在步骤S114中生成的SQL语句的执行结果。

在步骤S120中,控制装置102判断从外部设备400接收到的执行结果是否表示正常。控制装置102在判断为从外部设备400接收到的执行结果表示正常的情况下(在步骤S120中为“是”),将控制切换到步骤S140。否则(在步骤S120中为“否”),控制装置102将控制切换到步骤S130。

在步骤S130中,控制装置102判断向异常日志215(参照图3)的日志保存是否被设定为了有效。对异常日志215的日志保存的有效或无效是预先设定的。控制装置102在判断为对异常日志215的日志保存被设定为了有效的情况下(在步骤S130中为“是”),将控制切换到步骤S132。否则(在步骤S130中为“否”),控制装置102将控制切换到步骤S150。

在步骤S132中,控制装置102将在步骤S116中接收到的执行结果写入到异常日志215。

在步骤S140中,控制装置102判断向正常日志216(参照图3)的日志保存是否被设定为了有效。向正常日志216的日志保存的有效或无效是预先设定的。控制装置102在判断为对正常日志216的日志保存被设定为了有效的情况下(在步骤S140中为“是”),将控制切换到步骤S142。否则(在步骤S140中为“否”),控制装置102将控制切换到步骤S150。

在步骤S142中,控制装置102将在步骤S116中接收到的执行结果写入到正常日志216。

在步骤S150中,控制装置102判断所执行的插入处理是否是测试执行。例如,如果是基于上述编辑画面50(参照图10)的发送按钮56被按下而执行的插入处理,则控制装置102判断为所执行的插入处理是测试执行。控制装置102在判断为所执行的插入处理是测试执行的情况下(在步骤S150中为“是”),将控制切换到步骤S152。否则(在步骤S150中为“否”),控制装置102将控制切换到步骤S160。

在步骤S152中,控制装置102将在步骤S116中接收到的执行结果发送到信息处理装置100。由此,执行结果被显示于信息处理装置100的显示部121。

在步骤S160中,控制装置102判断是否结束程序的执行。该结束命令例如基于从用户受理了结束操作而发出。控制装置102在判断为结束程序的执行的情况下(在步骤S160中为“是”),结束图17所示的处理。否则(在步骤S160中为“否”),控制装置102使控制返回到步骤S110。

<I.附记>

如上所述,本实施方式包含以下的公开。

[结构1]

一种信息处理装置(100),其构成为能够与对控制对象进行控制的控制器(200)进行通信,在该控制系统中,

所述控制器(200)或所述信息处理装置(100)具有存储装置(208),所述存储装置(208)用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据(214)进行保存,所述1个以上的SQL语句是为了将与所述控制对象相关的数据插入到数据库(430)而执行的,

所述信息处理装置(100)具有:

显示部(121);

显示控制部(154),其用于将所述日志数据(214)所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于所述显示部(121);以及

操作部(115),其用于受理针对所述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作,

所述通信部(152)具有通信部(152),所述通信部(152)用于基于所述操作部(115)受理了所述执行操作这一情况,将所述修正后的SQL语句的执行命令发送到所述控制器(200),并且从所述控制器(200)接收所述修正后的SQL语句的执行结果,

所述显示控制部(154)将所述修正后的SQL语句的执行结果显示于所述显示部(121)。

[结构2]

在结构1所记载的控制系统中,

所述操作部(115)构成为进一步受理如下操作:从所述日志数据(214)所包含的SQL语句内,选择表示执行结果为正常的作为比较对象的SQL语句,

所述显示控制部(154)并排显示通过所述作为修正对象的SQL语句而插入到所述数据库(430)的数据、和通过所述作为比较对象的SQL语句而插入到所述数据库(430)的数据。

[结构3]

在结构2所记载的控制系统中,

在通过所述作为修正对象的SQL语句而插入到所述数据库(430)的各数据与通过所述作为比较对象的SQL语句而插入到所述数据库(430)的各数据的数据组合内,所述显示控制部(154)将满足预先确定的比较条件的数据组合以与其他数据组合不同的显示方式进行显示。

[结构4]

在结构3所记载的控制系统中,

在组合的数据间位数不同的情况下,满足所述预先确定的比较条件。

[结构5]

在结构2~4中的任意一项所记载的控制系统中,

所述显示控制部(154)将所述日志数据(214)所包含的SQL语句内的、与所述作为修正对象的SQL语句的一部分一致的SQL语句作为所述作为比较对象的SQL语句的候选显示于所述显示部(121),

所述操作部(115)从所述候选内受理所述作为比较对象的SQL语句的选择操作。

[结构6]

在结构5所记载的控制系统中,

所述显示控制部(154)将所述日志数据(214)所包含的SQL语句内的、与所述作为修正对象的SQL语句所规定的表名一致的SQL语句作为所述候选显示于所述显示部(121)。

[结构7]

一种信息处理装置(100)的控制方法,该信息处理装置(100)构成为能够与对控制对象进行控制的控制器(200)进行通信,其中,

所述控制器(200)或所述信息处理装置(100)具有存储装置(208),所述存储装置(208)用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据(214)进行保存,所述1个以上的SQL语句是为了将与所述控制对象相关的数据插入到数据库(430)而执行的,

所述控制方法具有以下步骤:

步骤(S84),将所述日志数据(214)所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于显示部(121);

步骤(S86),受理针对所述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作;

步骤(S90),基于受理了所述执行操作这一情况,将所述修正后的SQL语句的执行命令发送到所述控制器(200),并且从所述控制器(200)接收所述修正后的SQL语句的执行结果;以及

步骤(S92),将所述修正后的SQL语句的执行结果显示于所述显示部(121)。

[结构8]

一种信息处理装置(100)的控制程序,该信息处理装置(100)构成为能够与对控制对象进行控制的控制器(200)进行通信,其中,

所述控制器(200)或所述信息处理装置(100)具有存储装置(208),所述存储装置(208)用于将1个以上的SQL语句、和该1个以上的SQL语句各自的执行结果对应起来作为日志数据(214)进行保存,所述1个以上的SQL语句是为了将与所述控制对象相关的数据插入到数据库(430)而执行的,

所述控制程序使所述信息处理装置(100)执行以下步骤:

步骤(S84),将所述日志数据(214)所包含的SQL语句内的、表示执行结果为异常的作为修正对象的SQL语句显示于显示部(121);

步骤(S86),受理针对所述作为修正对象的SQL语句的修正操作,并且受理修正后的SQL语句的执行操作;

步骤(S90),基于受理了所述执行操作这一情况,将所述修正后的SQL语句的执行命令发送到所述控制器(200),并且从所述控制器(200)接收所述修正后的SQL语句的执行结果;以及

步骤(S92),将所述修正后的SQL语句的执行结果显示于所述显示部(121)。

应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围不是由上述说明表示,而是由权利要求书表示,意在包含与权利要求书等同的意思以及范围内的全部变更。

标号说明

10:控制系统;30:开发工具;31:程序设计画面;40、40A:选择画面;41:日志列表;44:过滤条件输入栏;44A、44B:复选框;45:详细显示栏;46:确定按钮;47:取消按钮;50、50A:编辑画面;51:编辑栏;52、52A:SQL语句;53:错误详情显示栏;55、55A:记录信息显示栏;56:发送按钮;57A、57B:数据组;58:结果显示栏;100:信息处理装置;102、202、402:控制装置;104、206、404:主存储器;110、208、410:存储装置;110A:开发辅助程序;111、201、412:通信接口;114、414:接口;115、415:操作部;120、420:显示接口;121、421:显示部;125、425:内部总线;152:通信部;154:显示控制部;200:控制器;204:芯片组;209:系统程序;210:用户程序;210A:序列程序;210B:运动程序;211:控制程序;212:设定信息;214:日志数据;215:异常日志;216:正常日志;222:内部总线控制器;224:现场总线控制器;226:I/O单元;239:存储卡接口;240:存储卡;300:驱动设备;300A、300B:伺服驱动器;400:外部设备;416:现场总线接口;430:数据库;432:表。

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:控制系统、控制方法以及控制设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类