首页 / 调试辅助程序、调试辅助装置及调试辅助方法

调试辅助程序、调试辅助装置及调试辅助方法实质审查 发明

技术领域

[0001] 本发明涉及调试辅助程序、调试辅助装置及调试辅助方法。

相关背景技术

[0002] 已知以由可编程逻辑控制器(Programmable Logic Controller:
[0003] PLC)执行的定序程序的调试为目的,对定序程序所包含的表示输入输出设备的数据、工作存储器的数据等的标签的值进行显示的技术。例如,在专利文献1中公开了在PLC中执行的定序程序启动后的动作结果发送程序,执行以监视装置为目标的输入输出设备的状态信息的发送,监视装置对输入输出设备的状态信息进行位显示的技术。
[0004] 专利文献1:日本特开2003‑122405号

具体实施方式

[0023] (实施方式)
[0024] 实施方式涉及的调试辅助装置100是对由PLC 200执行的定序程序的调试进行辅助的装置。调试辅助装置100通过未图示网络线缆或无线与PLC 200可通信地连接。
[0025] 在图1中示出调试辅助装置100的功能结构。调试辅助装置100在功能上具有:定序程序存储部101,其对定序程序进行储存;定序程序识别信息接收部102,其对定序程序识别信息的输入进行接收;取得部103,其取得通过定序程序识别信息识别的定序程序所包含的标签的值;显示部104,其通过位串对所取得的标签的值进行显示;滤波处理部105,其针对通过显示部104显示的标签进行由标签的名称的字符串实现的滤波处理;变更部106,其基于变更操作对位串的值进行变更;以及功能模块识别信息接收部107,其对功能模块识别信息的输入进行接收。
[0026] 图1的调试辅助装置100具有图2所示的硬件结构。
[0027] 调试辅助装置100具有:处理器11,其执行各种处理;主存储部12,其用作处理器11的工作区域;辅助存储部13,其对处理器11的处理所使用的各种数据进行存储;通信部14,其用于与外部装置进行通信;输入部15,其取得所输入的信息;输出部16,其提示各种信息;以及RTC(Real Time Clock)17,其进行计时。主存储部12、辅助存储部13、通信部14、输入部
15、输出部16及RTC 17均经由总线18与处理器11连接。
[0028] 处理器11包含CPU(Central Processing Unit)。处理器11通过执行在辅助存储部13存储的程序,从而实现调试辅助装置100的各种功能。
[0029] 主存储部12包含RAM(Random Access Memory)。从辅助存储部13将程序载入至主存储部12。而且,主存储部12用作处理器11的工作区域。
[0030] 辅助存储部13包含以EEPROM(Electrically Erasable Programmable Read‑Only Memory)为代表的非易失性存储器。辅助存储部13除了程序之外,还对用于处理器11的处理的各种数据进行存储。辅助存储部13按照处理器11的指示,将由处理器11利用的数据供给至处理器11,对从处理器11供给来的数据进行存储。
[0031] 通信部14包含用于与外部的装置进行通信的网络接口电路。通信部14从外部的装置对信号进行接收,将该信号所示的数据向处理器11输出。另外,通信部14将表示从处理器11输出的数据的信号向外部的装置发送。
[0032] 输入部15包含输入键、定点设备等输入设备。输入部15取得由调试辅助装置100的用户输入的信息,将取得的信息通知给处理器11。
[0033] 输出部16包含LCD(Liquid Crystal Display)、扬声器等输出设备。输出部16也可以构成与构成输入部15的定点设备形成为一体的触摸屏。输出部16按照处理器11的指示,对用户提示各种信息。
[0034] RTC 17是具有由石英振子构成的振荡电路的计时用的设备。RTC 17例如内置有电池,在调试辅助装置100的电源断开的期间也继续计时。
[0035] 在图1的定序程序存储部101中对在PLC 200中执行的定序程序进行储存。定序程序存储部101由辅助存储部13实现。
[0036] 调试辅助装置100具有将储存于定序程序存储部101的定序程序所包含的标签的值显示于画面的功能。
[0037] 标签是定序程序所包含的要素,表示定序程序所使用的变量。标签例如与连接于PLC 200的输入输出设备的数据、在PLC 200中执行了定序程序时使用的工作存储器的数据相关联。
[0038] 例如,如果用户进行了启动用于对在调试辅助装置100中对定序程序所包含的标签的值进行显示的应用的操作,则图3所示的标签值显示窗口被显示于调试辅助装置100的画面。下面,将用于对定序程序所包含的标签的值进行显示的应用称为“标签值显示应用”。
[0039] 在图3的标签值显示窗口中包含用于记入定序程序的名称的栏301、用于对定序程序存储部101所包含的定序程序进行一览显示的下拉按钮302、用于记入标签的名称所包含的字符串的栏303、对过去输入至栏303的内容进行一览显示的下拉按钮304、用于记入功能模块的名称的栏305、用于对在定序程序存储部101所包含的定序程序中使用的功能模块进行一览显示的下拉按钮306、用于基于记入于栏301、303、305的内容,对标签的值进行显示的显示按钮307。
[0040] 另外,在图3的标签值显示窗口中,包含将定序程序所包含的标签的名称的项目308、标签的数据类型的项目309、表示出标签的当前值的位串的项目310、标签的当前值的项目311、储存于标签的字符串的项目312相关联的表格。
[0041] 在调试辅助装置100中,如果执行了标签值显示应用,则调试辅助装置100建立与PLC 200之间的通信。例如,通过取得部103建立调试辅助装置100和PLC 200之间的通信。如果建立了通信,则调试辅助装置100能够参照PLC 200的标签数据存储部201所储存的标签数据。储存于标签数据存储部201的标签数据是与定序程序所包含的标签相关联的数据,例如是与PLC 200连接的输入输出设备的数据、在PLC 200中执行了定序程序时使用的工作存储器的数据等。
[0042] 图1的定序程序识别信息接收部102对用于识别定序程序的定序程序识别信息的输入进行接收。定序程序识别信息接收部102由处理器11及输入部15实现。此外,定序程序识别信息接收部102是定序程序识别信息接收单元的一个例子。
[0043] 定序程序识别信息是用于对储存于定序程序存储部101的定序程序进行识别的信息,例如是定序程序的名称。
[0044] 例如,如果用户在标签值显示窗口的栏301输入了定序程序的名称即“定序程序A”,对显示按钮307进行了选择,则定序程序识别信息接收部102对“定序程序A”的定序程序识别信息的输入进行接收。
[0045] 图1的取得部103从执行了通过定序程序识别信息识别的定序程序的PLC 200,取得通过定序程序识别信息识别的定序程序所包含的标签的值。取得部103由处理器11及通信部14实现。此外,取得部103是取得单元的一个例子。
[0046] 例如,取得部103对“定序程序A”所包含的标签进行确定,从PLC 200的标签数据存储部201取得与确定出的标签相关联的标签数据。在所取得的标签数据中包含表示标签的当前值的位串、标签的当前值。另外,在标签的数据类型是能够储存字符串的数据类型的情况下,在所取得的标签数据中还包含储存于标签的字符串。
[0047] 在这里,在通过定序程序识别信息识别的定序程序包含多个标签,取得部103取得通过定序程序识别信息识别的定序程序所包含的多个标签的值。在多个标签中包含从功能模块生成的实例所包含的标签或构造体所包含的标签。
[0048] 例如,作为“定序程序A”所包含的标签,取得部103取得标签名“wLabel”、“dLabel”、“wArray”、“bArray”、“stLabel”及“Instance_FB_A_1”的标签数据。
[0049] 对标签名“wLabel”的标签分配了16位的位宽,及对标签名“dLabel”的标签分配了32位的位宽。标签名“wArray”及“bArray”各自是表示阵列的标签。对标签名“wArray”的标签分配16位的位宽,标签名“wArray”的标签与16位的位串×4的阵列的数据相关联。另外,对标签名“bArray”的标签分配18位的位宽,标签名“bArray”的标签与18位的位串×1的阵列的数据相关联。
[0050] 标签名“stLabel”的标签是表示构造体的标签。在构造体的标签中包含大于或等于1个标签。在标签名“stLabel”的标签中包含标签名“uLabel1”、“uLabel2”、“uLabel3”、“bLabel1”及“sLabel1”,对标签名“uLabel1”、“bLabel1”、“sLabel1”及“uLabel3”的标签分配了16位的位宽,对标签名“uLabel2”的标签分配了32位的位宽。
[0051] 标签名“Instance_FB_A_1”的标签是表示从功能模块“FB_A”生成的实例的标签。下面,将从功能模块生成的实例简称为“实例”。在实例的标签中包含大于或等于1个标签。在标签名“Instance_FB_A_1”的标签中包含标签名“vLabel1”、“vLabel2”、“vLabel3”、“cLabel1”及“tLabel1”,对标签名“vLabel1”、“vLabel2”、“vLabel3”及“cLabel1”的标签分配了16位的位宽,对标签名“tLabel1”的标签分配了32位的位宽。
[0052] 图1的显示部104针对所取得的标签的值,通过分配给该值涉及的标签的位宽的位串进行显示。显示部104在通过取得部103取得了多个标签的值的情况下,针对所取得的多个标签的值的每一者,通过分配给该值涉及的多个标签的每一者的位宽的位串进行显示。显示部104由处理器11及输出部16实现。此外,显示部104是显示单元的一个例子。
[0053] 例如,如图4所示,显示部104对由取得部103取得的“定序程序A”所包含的标签的标签数据进行显示。例如,显示部104分别以16位宽、32位宽、16位宽及18位宽对标签名“wLabel”、“dLabel”、“wArray”及“bArray”的位串进行显示。如图4的表格第8、9行所示,折返地显示标签名“bArray”的18位宽的位串。另外,显示部104对位串中的“1”的值的栏附带颜色而进行显示。
[0054] 另外,显示部104对表示构造体的标签及表示实例的标签的标签名附带符号“+”,对标签名进行显示。例如,如图4的表格第10、11行所示,显示部104对标签名“+stLabel”、“+Instance_FB_A_1”进行显示。如果用户选择了附带有符号“+”的标签名,则显示部104对构造体及实例所包含的大于或等于1个标签进行显示。
[0055] 例如,如果选择了图4的表格第10行的标签名“+stLabel”,则显示部104如图5的表格第10~16行所示,对标签名“+stLabel”的标签所包含的标签进行展开显示。
[0056] 另外,例如,如果选择了图4的表格第11行的标签名“+Instance_FB_A_1”,则显示部104如图6的表格第11~17行所示,对标签名“Instance_FB_A_1”的标签所包含的标签进行展开显示。
[0057] 图1的滤波处理部105对标签的名称所包含的字符串的输入进行接收,使通过显示部104显示了值的标签中的在名称中包含接收到的字符串的标签显示于显示部104。滤波处理部105由处理器11及输入部15实现。此外,滤波处理部105是滤波处理单元的一个例子。
[0058] 例如,如果用户在标签值显示窗口的栏303输入字符串“Array”,选择了显示按钮307,则滤波处理部105如图7的表格第1~6行所示,使包含字符串“Array”的标签名“wArray”及“bArray”的标签的值显示于显示部104。
[0059] 图1的变更部106对由显示部104显示的位串的值的变更进行接收,使用变更后的位串所示的数据,使PLC 200执行通过定序程序识别信息识别的定序程序。变更部106由处理器11、通信部14及输入部15实现。此外,变更部106是变更单元的一个例子。
[0060] 例如,如图6所示,如果用户使指针313对准表格第17行处与位串的“D”项目对应的值而进行双击,则变更部106对将与表格第17行的位串的“D”项目对应的值“1”变更为“0”的变更操作进行接收。如果接收到变更操作,则如图8的表格第17行所示,使被变更的位串“0000000000100011”显示于显示部104。然后,变更部106对PLC 200请求执行使用了被变更的位串所示的数据的“定序程序A”。
[0061] 取得部103从使用被变更的位串所示的数据而执行了通过定序程序识别信息识别的定序程序的PLC 200,新取得通过定序程序识别信息识别的定序程序所包含的标签的值。然后,显示部104针对新取得的标签的值,通过分配给该值涉及的标签的位宽的位串进行显示。
[0062] 例如,PLC 200使用被变更的位串“0000000000100011”而执行“定序程序A”,在标签数据存储部201中对“定序程序A”所包含的标签的值进行更新。取得部103从PLC 200取得被更新的“定序程序A”所包含的标签的值,显示部104将所取得的标签的值显示于标签值显示窗口。通过执行使用了被变更的位串的定序程序,在用户变更了值的标签之外的标签的值产生了变化的情况下,将由用户变更的标签的值、产生变化的标签的值显示于标签值显示窗口,在用户变更了值的标签之外的标签的值没有变化的情况下,将由用户变更的标签的值、没有变化的其它标签的值显示于标签值显示窗口。图8的表格示出即使变更标签名“tLabel1”的标签的值,其它标签的值也没有变化的情况。
[0063] 图1的功能模块识别信息接收部107对用于识别功能模块的功能模块识别信息的输入进行接收。功能模块识别信息接收部107由处理器11及输入部15实现。此外,功能模块识别信息接收部107是功能模块识别信息接收单元的一个例子。
[0064] 功能模块识别信息是用于对储存于定序程序存储部101的定序程序中使用的功能模块进行识别的信息,例如,是功能模块的名称。
[0065] 例如,如果用户在标签值显示窗口的栏305输入了功能模块的名称即“FB_A”,对显示按钮307进行了选择,则功能模块识别信息接收部107对“FB_A”的功能模块识别信息的输入进行接收。
[0066] 取得部103从执行了通过定序程序识别信息识别的定序程序的PLC 200,取得从通过功能模块识别信息识别的功能模块生成的实例所包含的标签的值。然后,显示部104对所取得的标签的值进行显示。
[0067] 例如,取得部103在储存于定序程序存储部101的定序程序中,对从“FB_A”生成的实例进行确定。即,取得部103不仅对由用户作为定序程序识别信息输入的“定序程序A”进行确定,还对在其之外的定序程序中从“FB_A”生成的实例进行确定。接下来,取得部103从PLC 200取得确定出的实例所包含的标签的标签数据。例如,取得部103作为从“FB_A”生成的实例,对标签名“Instance_FB_A_1”及“Instance_FB_A_2”的实例进行确定。标签名“Instance_FB_A_2”的实例是在“定序程序A”之外的定序程序中使用的实例。而且,取得部103取得了标签名“Instance_FB_A_1”及“Instance_FB_A_2”的实例所包含的标签的值。如图9所示,显示部104对所取得的标签的值进行显示。
[0068] 接下来,使用图10的流程图对本实施方式涉及的调试辅助装置100所执行的显示处理进行说明。图10的显示处理,例如是如果从用户接收到启动标签值显示应用的操作则执行的处理。
[0069] 取得部103建立调试辅助装置100和PLC 200之间的通信(步骤S101)。
[0070] 定序程序识别信息接收部102对是否接收到用于识别定序程序的定序程序识别信息的输入进行判断(步骤S102)。如果定序程序识别信息接收部102判断为接收到定序程序识别信息的输入(步骤S102;YES),则取得部103从执行了通过定序程序识别信息识别的定序程序的PLC 200取得通过定序程序识别信息识别的定序程序所包含的标签的值(步骤S103)。另一方面,如果定序程序识别信息接收部102判断为未接收定序程序识别信息的输入(步骤S102;NO),则以原状态待机。
[0071] 例如,如果用户在标签值显示窗口的栏301输入了定序程序的名称即“定序程序A”,对显示按钮307进行了选择,则定序程序识别信息接收部102判断为接收到“定序程序A”的定序程序识别信息的输入。然后,取得部103对“定序程序A”所包含的标签进行确定,从PLC 200的标签数据存储部201取得与标签相关联的标签数据。另一方面,在没有进行由用户向标签值显示窗口的栏301输入及显示按钮307的选择的情况下,定序程序识别信息接收部102判断为未接收定序程序识别信息的输入,以原状态待机。
[0072] 显示部104针对所取得的标签的值,通过分配给该值涉及的标签的位宽的位串进行显示(步骤S104)。
[0073] 例如,如图4所示,显示部104对由取得部103取得的“定序程序A”所包含的标签的标签数据进行显示。
[0074] 接下来,滤波处理部105对是否接收到标签的名称所包含的字符串的输入进行判断(步骤S105)。滤波处理部105如果判断为接收到标签的名称所包含的字符串的输入(步骤S105;YES),则使通过显示部104显示了值的标签中的在名称中包含接收到的字符串的标签显示于显示部104(步骤S106)。然后,返回到步骤S102。另一方面,滤波处理部105如果判断为未接收标签的名称所包含的字符串的输入(步骤S105;NO),则进入步骤S107。
[0075] 例如,如果用户在标签值显示窗口的栏303输入字符串“Array”,选择了显示按钮307,则滤波处理部105判断为接收到字符串“Array”的输入。然后,滤波处理部105如图7的表格第1~6行所示,使标签名“wArray”及“bArray”的标签的值显示于显示部104。另一方面,在没有进行由用户向标签值显示窗口的栏303输入及显示按钮307的选择的情况下,滤波处理部105判断为未接收字符串的输入,进入步骤S107。
[0076] 变更部106对是否接收到由显示部104显示的位串的值的变更进行判断(步骤S107)。变更部106如果判断为接收到由显示部104显示的位串的值的变更(步骤S107;YES),则使变更了值的位串显示于显示部104(步骤S108)。然后,变更部106对PLC 200请求使用被变更的位串所示的数据,执行通过定序程序识别信息识别的定序程序(步骤S109)。
[0077] 例如,如图6所示,如果用户使指针313对准表格第17行处与位串的“D”项目对应的值而进行双击,则变更部106判断为接收到在表格第17行与位串的“D”项目对应的值的变更。如图8的表格第17行所示,变更部106使被变更的位串“0000000000100011”显示于显示部104。然后,变更部106对PLC 200请求执行使用了被变更的位串所示的数据的“定序程序A”。
[0078] 取得部103从使用被变更的位串所示的数据而执行了通过定序程序识别信息识别的定序程序的PLC 200,新取得通过定序程序识别信息识别的定序程序所包含的标签的值(步骤S110)。然后,显示部104针对新取得的标签的值,通过分配给该值涉及的标签的位宽的位串进行显示(步骤S111)。之后,返回到步骤S102。另一方面,变更部106如果判断为未接收由显示部104显示的位串的值的变更(步骤S107;NO),则进入步骤S112。
[0079] 例如,取得部103从PLC 200取得使用被变更的位串“0000000000100011”执行的“定序程序A”所包含的标签的值。然后,显示部104将所取得的标签的值显示于标签值显示窗口。另一方面,在没有进行由用户向位串的变更操作的情况下,变更部106判断为未接收变更,进入步骤S112。
[0080] 功能模块识别信息接收部107对是否接收到用于识别功能模块的功能模块识别信息的输入进行判断(步骤S112)。如果功能模块识别信息接收部107判断为接收到功能模块识别信息的输入(步骤S112;YES),则取得部103从执行了通过定序程序识别信息识别的定序程序的PLC 200,取得从通过功能模块识别信息识别的功能模块生成的实例所包含的标签的值(步骤S113)。然后,显示部104对所取得的标签的值进行显示(步骤S114)。之后,返回到步骤S102。另一方面,如果功能模块识别信息接收部107判断为未接收功能模块识别信息的输入(步骤S112;NO),则返回步骤S102。
[0081] 例如,如果用户在标签值显示窗口的栏305输入了功能模块的名称即“FB_A”,对显示按钮307进行了选择,则功能模块识别信息接收部107判断为接收到“FB_A”的功能模块识别信息的输入。接下来,取得部103作为从“FB_A”生成的实例,对“Instance_FB_A_1”及“Instance_FB_A_2”进行确定,取得这些实例所包含的标签的值。然后,如图9所示,显示部104对所取得的标签的值进行显示。另一方面,在没有进行由用户向标签值显示窗口的栏305输入及显示按钮307的选择的情况下,功能模块识别信息接收部107判断为未接收功能模块识别信息的输入,返回到步骤S102。
[0082] 根据本实施方式,能够通过分配给标签的位宽的位串对定序程序所包含的标签的值进行显示。由此,能够在用户不对位宽进行指定的情况下,以位串对标签的值进行显示。另外,由于对位串中的“1”的值的栏附带了颜色而进行显示,因此能够在视觉上以容易理解的方式示出位接通的部位和断开的部位。另外,如从构造体及功能模块生成的实例那样,即使在包含多个标签的情况下,也能够以分配给各个标签的位宽,集中地对位串进行确认。因此,能够削减调试作业的工时。
[0083] 另外,根据本实施方式,通过对标签的名称所包含的字符串进行指定,从而能够仅对在名称包含字符串的标签的值进行显示。由此,即使定序程序的规模大,定序程序所包含的标签的数量庞大,也能够容易地对所期望的标签的值进行确认。
[0084] 另外,根据本实施方式,能够对位串进行变更,对使用被变更的位串所示的数据而执行的定序程序所包含的标签的值进行显示。由此,能够容易地通过某个标签的值的变更,对其它标签的值如何变化进行确认。
[0085] 另外,根据本实施方式,通过对功能模块进行指定,针对从功能模块生成的实例所包含的标签、其它定序程序中使用的标签,能够容易地对该值进行确认。
[0086] (变形例)
[0087] 以上,对本发明的实施方式进行了说明,但在实施本发明时,可以进行由各种方式形成的变形及应用。
[0088] 调试辅助装置100也可以设为省略了一部分功能的结构。例如,调试辅助装置100也可以是不包含功能模块识别信息接收部107的结构。
[0089] 另外,标签名的颜色也可以基于分配给标签的数据的内容而进行变更。例如,在实例中,也可以在标签名的字符或标签名的栏附带颜色,以使得能够对与输入数据相关联的标签、与输出数据相关联的标签进行区分。例如,如果输入数据与标签名“vLabel1”、“vLabel2”及“vLabel3”的标签相关联,输出数据与标签名“cLabel1”及“tLabel1”的标签相关联,则在图6及图8中,也可以用红色显示标签名“vLabel1”、“vLabel2”及“vLabel3”的字符,用蓝色显示标签名“cLabel1”及“tLabel1”的字符。由此,能够容易地对与输入数据相关联的标签和与输出数据相关联的标签进行判别。
[0090] 另外,在上述实施方式中,对位串中的“1”的值的栏附带有颜色而对位串进行了显示,但由显示部104显示的位串的值的显示方式并不限于此,只要是能够在视觉上以容易理解的方式表示位接通的地方和断开的部位,则也可以是任意显示方式。即,显示部104基于位串的值,使该位串的值的显示方式变化。例如,显示部104将位串中的“1”的值设为粗字符,或将位串中的“1”的值的栏设为阴影。或者,显示部104并用这些显示方式,将位串中的“1”的值设为粗字符,或将“1”的值的栏设为阴影。
[0091] 另外,由调试辅助装置100执行的显示处理的流程并不限于图10所示的流程。例如,在图10中,在步骤S105的处理后继续步骤S107的处理及步骤S112的处理,但也可以在步骤S107的处理后继续步骤S105或步骤S112的处理,也可以在步骤S112的处理后继续步骤S105或步骤S107的处理。
[0092] 另外,通过将对上述实施方式涉及的调试辅助装置100的动作进行规定的动作程序应用于现有的个人计算机或信息终端装置,也能够使该个人计算机或信息终端装置作为实施方式涉及的调试辅助装置100起作用。
[0093] 另外,这样的程序的发布方法是任意的,例如,可以储存于CD‑ROM(Compact Disk Read‑Only Memory)、DVD(Digital Versatile Disk)、存储卡等计算机可读取的记录介质而进行发布,也可以经由互联网那样的通信网络进行发布。
[0094] 本发明在不脱离本发明的广义的精神和范围的情况下,能够设为各种实施方式及变形。另外,上述实施方式用于对本发明进行说明,并不是对本发明的范围进行限定。即,本发明的范围不是由实施方式表示,而是由权利要求表示。而且,在权利要求范围内及与其等同的公开意义的范围内施加的各种变形被视为本发明的范围内。
[0095] 工业实用性
[0096] 根据本发明,能够提供可以通过分配给标签的位宽的位串对定序程序所包含的标签的值进行显示的调试辅助程序、调试辅助装置及调试辅助方法。
[0097] 标号的说明
[0098] 11处理器,12主存储部,13辅助存储部,14通信部,15输入部,16输出部,17RTC,18总线,100调试辅助装置,101定序程序存储部,102定序程序识别信息接收部,103取得部,104显示部,105滤波处理部,106变更部,107功能模块识别信息接收部,200PLC,201标签数据存储部,301、303、305栏,302、304、306下拉按钮,307显示按钮,308~312项目,313指针。

当前第1页 第1页 第2页 第3页