WO2023188069A1 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- WO2023188069A1 WO2023188069A1 PCT/JP2022/015845 JP2022015845W WO2023188069A1 WO 2023188069 A1 WO2023188069 A1 WO 2023188069A1 JP 2022015845 W JP2022015845 W JP 2022015845W WO 2023188069 A1 WO2023188069 A1 WO 2023188069A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- group
- unit
- variable
- reference information
- control device
- Prior art date
Links
- 230000004044 response Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 102100026205 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Human genes 0.000 description 10
- 101000691599 Homo sapiens 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Proteins 0.000 description 10
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 9
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 9
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 9
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Definitions
- the present invention relates to a control device that manages variables and signals in a plurality of name spaces as a group.
- PLC program organization units
- variables are defined for each POU (for example, see Patent Document 1).
- a lineage or POU is included in the concept of a namespace in which variables are defined, and variable management for each lineage or POU is equivalent to variable management for each namespace.
- variables are managed for each namespace, and variables that belong to the same namespace can be set uniformly. It is now possible to check or diagnose variables belonging to the same namespace all at once.
- FIG. 8 is a diagram illustrating Group 1, which illustrates and describes a case in which variables are set for each name space. As shown in FIG. 8, if the user wants to check or diagnose variables set in each of multiple namespaces A, B, and C, the user can check or diagnose the variables set in each namespace individually. Need to be diagnosed.
- the present invention has been made in view of such problems, and is a method for group-managing information for referencing variable definitions across multiple name spaces in a program created across multiple name spaces.
- the objective is to provide a control device that allows the state of any variable to be checked or diagnosed simultaneously across multiple name spaces.
- One aspect of the present disclosure provides a memory unit that records data of addresses usable on a PLC and current values at the addresses, a sequence program executed for each name space, and used in the sequence program for each name space.
- a control device communicably connected to a PLC device including a storage unit that manages variable definition information related to variables defined for addresses of the memory unit, the control unit and an input unit. and, The control unit receives an arbitrary address recorded in the memory unit or an arbitrary variable registered in the storage unit for each name space through the input unit, and creates a group. or a group edit request reception unit that accepts an edit request, and reference information that generates reference information indicating where in the memory unit or the storage unit the address or the variable received by the group edit request reception unit is recorded.
- a group management unit that additionally registers a member including the reference information to the group; and an inquiry request reception unit that receives an inquiry request for any group managed by the group management unit via the input unit; Equipped with The group management department is In response to an inquiry request received by the inquiry request reception unit, an address and a current value are acquired from the memory unit and variable definition information from the storage unit based on the reference information registered in the group for which the inquiry was requested. and provides the information as inquiry information for the members included in the group.
- FIG. 2 is a schematic diagram showing functional blocks of a control device according to an embodiment.
- FIG. 2 is a schematic diagram illustrating an example of reference information indicating where addresses or variables are recorded across name spaces in a control device according to an embodiment.
- FIG. 2 is a schematic diagram illustrating an example of generating reference information for a variable that satisfies a specified condition in a control device according to an embodiment.
- FIG. 3 is a conceptual diagram illustrating a mode in which the state of variables is checked in groups in a control device according to an embodiment.
- FIG. 2 is a schematic diagram illustrating an example of display content showing the status of variables in groups in a control device according to an embodiment.
- FIG. 2 is a schematic diagram showing an example of setting whether or not members included in a group can be viewed and edited, and the display order in a control device according to an embodiment
- FIG. 3 is a diagram illustrating an example of subgroups included in a group in a control device according to an embodiment. It is a flow chart showing operation of a control device concerning one embodiment. It is a flow chart showing operation of a control device concerning one embodiment.
- FIG. 2 is a diagram illustrating an aspect of a conventional technique in which variables are set for each name space.
- FIG. 1 shows a configuration example of a control device according to this embodiment.
- control device 1 is communicably connected to the PLC device 2.
- the control device 1 and the PLC device 2 may be directly connected to each other via a connection interface (not shown).
- the PLC device 2 includes a PLC_CPU 20, a memory section 202, and a storage section 22.
- the memory unit 202 records the current value of an address usable on the PLC. For example, the value of a variable used in a sequence program is stored at an address corresponding to the variable.
- the storage unit 22 stores variable definitions related to variables (also referred to as "local variables") used in the sequence program. As mentioned above, variable definitions are set for each namespace. For example, a variable name defined in a sequence program for each system and an address where the value of the variable is recorded are defined in association with each other. Similarly, in the case of a POU, for example, variables defined in the sequence program (local variables) are defined for each POU.
- the PLC_CPU 20 is a processor that executes a sequence program and performs various controls, arithmetic processing, signal input/output processing, etc. according to the sequence program.
- the PLC_CPU 20 reads, for example, a sequence program stored in a ROM via a bus, and performs sequence control according to the sequence program.
- the PLC_CPU 20 includes an input/output interface unit (not shown) with the control device 1 described later, and in response to an access request from the control device 1 to the memory unit 202 and the storage unit 22, for example,
- the recorded variable definition information and the current value recorded at the address corresponding to the variable recorded in the memory unit 202 can be sent as a response.
- the control device 1 includes a control section 10, a storage section 12, an input section 16, and a display 17.
- the control unit 10 is a processor known to those skilled in the art that is configured to be able to communicate with, for example, a ROM, RAM, CMOS memory, etc. via a bus.
- the control unit 10 reads out a program from, for example, a storage unit 12 that stores a program for executing functions specific to the present invention, which will be described later, and also stores data temporarily required to execute the program.
- a main storage device such as a RAM for It is configured to realize the functions of the generation unit 102, group management unit 103, and inquiry request reception unit 104.
- the storage unit 12 stores reference information corresponding to each variable name included in the group generated by the reference information generation unit 102.
- FIG. 2 is a diagram showing an example of reference information indicating where in the memory section 202 or the storage section 22 an address or variable definition is recorded.
- variables are defined for each system.
- variable definition 1-1 that defines variable name INPUT1 and address X8.0
- variable definition 1-2 that defines variable name * ESP_X and address X8.4
- variable definition 2-1 that defines variable name INPUT2 and address X9.0
- variable definition 2-2 that defines variable name * ESP and address G8.4 are defined. has been done. If the user wants to confirm the variable name INPUT1 and the variable name * ESP_X in the system PLC1, the user must refer to the variable definition in the system PLC1 and check the value stored in the variable via the corresponding address. On the other hand, if you want to check the variable name INPUT2 and the variable name * ESP in the system PLC2, you need to refer to the variable definition in the system PLC2 and check the value stored in the variable through the corresponding address. There is.
- a group (Group 1) is defined by linking each variable name with reference information indicating in which system the variable name is defined.
- a group is defined by linking each variable name with reference information indicating in which system the variable name is defined.
- the variable name INPUT1 is defined in the system PLC1
- it is defined as, for example, PLC1_INPUT1 as reference information.
- the variable name INPUT2 is defined in the system PLC2, it is defined as, for example, PLC2_INPUT2 as reference information.
- the input unit 16 is configured by an input device such as a keyboard, a mouse, a touch panel, or a microphone, and receives information input to the control device 1 from, for example, a user via the input unit 16.
- the display device 17 is configured by a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), an organic EL, or an LED (Light Emitting Diode), and displays, for example, a group requested by a user, as described later. Displays inquiry information, etc. of members included in .
- the group editing request receiving unit 101 receives a group creation or editing request from a user via the input unit 16. Specifically, an arbitrary address recorded in the memory unit 202 or an arbitrary variable name registered in the memory unit 22 for each name space is received from the user via the input unit 16, and a group Accept new creation requests. Note that, as described later, the group editing request receiving unit 101 may accept arbitrary conditions from the user via the input unit 16. In this case, as will be described later, the reference information generation unit 102 generates reference information for the variable that satisfies the condition specified via the input unit 16, and sets the condition based on the generated reference information. It is possible to generate a group that satisfies the requirements. Further, via the input unit 16, it is possible to receive an input of an existing group name from a user, and also to receive a request to edit the group.
- the reference information generation unit 102 When the reference information generation unit 102 receives any address recorded in the memory unit 202 or any variable name registered in the storage unit 22 for each name space, received by the group edit request reception unit 101, Reference information indicating where in the memory unit 202 or storage unit 22 the address or variable is recorded is generated. Specifically, as described above, for example, as shown in FIG. 2, the reference information generation unit 102 defines each variable name by associating it with reference information indicating in which system the variable name is defined. . As shown in FIG. 2, for example, the variable name INPUT1 is defined in the system PLC1, so it is defined as, for example, PLC1_INPUT1 as reference information. Similarly, since the variable name INPUT2 is defined in the system PLC2, it is defined as, for example, PLC2_INPUT2 as reference information.
- FIG. 3 is a schematic diagram showing an example of generating reference information for variables that satisfy specified conditions.
- FIG. 3 for example, in system PLC1 and system PLC2, all variable names with a value of 0 are searched, and for all variable names that satisfy the condition, in which system the variable name is defined is determined. Create reference information that indicates In the example shown in FIG. 3, since the variable name INPUT1 belonging to the system PLC1 and the variable name * ESP belonging to the system PLC2 satisfy the condition, the reference information generation unit 102 generates the variable name INPUT1 belonging to the system PLC1, and the variable name *ESP belonging to the system PLC1.
- the reference information generation unit 102 can, for example, specify the system to which a variable belongs, and generate reference information for a variable name that satisfies an arbitrary condition that a variable belonging to each system should satisfy. can.
- reference information for variables that meet the condition can be automatically generated by simply inputting the condition.
- the group management unit 103 can generate a group that includes variables that satisfy the conditions, and can cross-sectionally confirm or diagnose the states of the variables that satisfy the conditions.
- the group management unit 103 When the group management unit 103 receives a group creation request from the group edit request reception unit 101, the group management unit 103 creates a new group based on the members including the reference information generated by the reference information generation unit 102 as described above. Further, when the group management unit 103 receives an edit request to add a variable name to an existing group from the group edit request reception unit 101, the group management unit 103 generates reference information corresponding to the variable name generated by the reference information generation unit 102. Add to the group. Furthermore, when the group editing request reception unit 101 receives an editing request to delete a specified variable name from an existing group, the group management unit 103 deletes the reference information corresponding to the variable name from the group.
- the group management unit 103 retrieves variable definition information from the storage unit 22 based on reference information registered in the group for which the inquiry was requested. By acquiring the current value stored in the address from the memory unit 202, inquiry information of members included in the group requested for inquiry is provided. Specifically, for example, by providing the display 17 with the inquiry information of the member included in the group for which the inquiry has been requested, the display 17 displays the inquiry information of the member.
- FIG. 4A is a conceptual diagram illustrating a mode in which the status of variables is confirmed on a group-by-group basis.
- FIG. 4A by creating a group that includes variable x included in namespace A, variable y included in namespace B, and variable e included in namespace C, the user can , and the variable e can be simultaneously and cross-checked.
- FIG. 4B is a schematic diagram showing an example of display contents showing the status of variables in groups.
- Group 1 shown in FIG. 4 is an example of group 1 explained in FIG. As shown in FIG.
- variable name INPUT1 in the system PLC1 the address of the variable name * ESP_X and the current value stored at that address, the variable name INPUT2 in the system PLC2, and Variable name *
- the ESP address and the current value stored at that address can be displayed at the same time.
- the group management unit 103 determines whether the creation date of the group, the variable name included in the group, the address, and the current value stored in the address can be viewed (also referred to as "viewing protection"). At least one of property information including whether the current value stored in the variable included in the group can be edited (also referred to as "edit protection") and the display order of members included in the group can be set.
- property information including whether the current value stored in the variable included in the group can be edited (also referred to as "edit protection") and the display order of members included in the group can be set.
- the creation date, viewing protection, and editing protection may be set by the group creator.
- the display order of members included in a group may be set by a user who can view or edit a group when each group is displayed. FIG.
- FIG. 5 is a schematic diagram showing an example of setting whether or not members included in a group can be viewed and edited, and the display order.
- the creation date of group 1 is January 1, 2021, and property information that is edit protected (that is, cannot be edited) is added. Note that since viewing protection is not granted to group 1, the display order can be set when viewing. Note that since the property information of group 2 is protected from viewing, editing is disabled by default. This allows users to manage groups by setting property information for groups and the display order of members included in the group. It can be changed according to your needs.
- the group management unit 103 may create a group having a hierarchical structure such that the group includes a plurality of subgroups based on correlation information indicating the correlation between the groups.
- FIG. 6 is a diagram showing an example of subgroups included in a group. As shown in FIG. 6, group 1_1 is group 1 created on January 1, 2021, as illustrated in FIGS. 2, 4A, and 5. Thereafter, the group management unit 103 creates group 1_2 on January 2, 2021, which has a correlation with group 1_1, similarly creates group 1_3 on January 3, 2021, and similarly creates group 1_4 on January 2021. Group 1 was created on January 4, 2021 as a group (parent group) containing these.
- the group management unit 103 can create multiple groups in a hierarchical structure. Furthermore, a created group may be edited so that it belongs to a parent group in a hierarchical structure. In this way, the user can improve the usability of the group by, for example, subgrouping members that have a correlation with each other.
- the inquiry request reception unit 104 receives an inquiry request for any group managed by the group management unit 103 from the user via the input unit 16. By doing so, as described above, in response to the group inquiry request received by the inquiry request receiving unit 104, the group management unit 103 stores information in the storage unit based on the reference information registered in the group for which the inquiry was requested. By acquiring the variable definition information from 22 and the current value stored in the address from the memory unit 202, inquiry information of the members included in the group requested for inquiry is provided.
- the functional units included in the control device 1 have been described above. Next, the operation of the control device 1 will be explained. 7A and 7B are flowcharts showing the operation of the control device 1, respectively.
- FIG. 7A is a flowchart showing operations when creating or editing a group.
- FIG. 7B is a flowchart showing the operation when displaying definition information of members (variables) included in a specified group and the current value of the variables.
- step S10 the group editing request receiving unit 101 receives a group creation request or an editing request, and in the case of a group creation request, the process moves to step S11. In the case of an editing request, the process moves to step S20.
- step S11 the group edit request receiving unit 101 receives a variable name or condition for specifying a grouping target, and if the variable name is accepted, the process moves to step S13. If the condition is accepted, the process moves to step S12.
- step S12 the reference information generation unit 102 searches for all variable names that satisfy the conditions for each specified system, and obtains all variable names to be grouped. After that, the process moves to step S13.
- step S13 the reference information generation unit 102 generates reference information for each variable name to be grouped.
- step S14 the group management unit 103 creates a new group based on the members including the generated reference information, and ends the process.
- step S20 if the edit request is to add a variable name, the group management unit 103 moves to step S21. If the editing request is to delete a member belonging to a group, the process moves to step S23.
- step S21 the reference information generation unit 102 generates reference information for each specified variable name.
- step S22 the group management unit 103 adds the member including the reference information generated in step S21 to the specified group, and ends the process.
- step S23 the group management unit 103 deletes the specified member from the group, and ends the process.
- the processing flow showing the operation of the control device 1 when creating or editing a group has been described above.
- a processing flow of the control device 1 when displaying definition information of members (variables) included in a designated group and the current value of the variables when a group inquiry request is received will be described.
- step S30 the inquiry request accepting unit 104 accepts a group inquiry request.
- step S31 the group management unit 103 acquires all reference information registered in the group whose inquiry was requested in step S30.
- step S32 the group management unit 103 acquires variable definition information from the storage unit 22 based on each reference information acquired in step S31, and also acquires the current value stored in the address from the memory unit 202.
- step S33 the group management unit 103 outputs the inquiry information of the members included in the group for which the inquiry was requested to the display 17, for example.
- the processing flow showing the operation of the control device 1 at the time of group inquiry has been described above.
- the processing flow showing the operation of the control device 1 has been described.
- control device 1 is not limited to the above-described embodiment, and includes modifications, improvements, etc. within a range that can achieve the purpose.
- the PLC device 2 is communicably connected to the control device 1, but the present invention is not limited to this.
- the control device 1 may include the PLC device 2.
- the PLC device 2 may include the functional units included in the control device 1, the input unit 16, and the display 17.
- each function included in the control device 1 in one embodiment can be realized by hardware, software, or a combination thereof.
- being realized by software means being realized by a computer reading and executing a program.
- Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media are magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-ROMs, R, CD-R/W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
- the program may also be provided to the computer on various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves.
- the temporary computer-readable medium can provide the program to the computer via wired communication channels such as electrical wires and optical fibers, or via wireless communication channels.
- the step of writing a program to be recorded on a recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are executed in parallel or individually. It also includes.
- control device of the present disclosure can take various embodiments having the following configurations.
- the control device 1 includes a memory unit 202 that records data of addresses that can be used on the PLC and current values of the addresses, a sequence program that is executed for each name space, and a sequence program that is executed for each name space.
- the control unit 10 is Any address recorded in the memory unit 202 or any variable registered in the storage unit 22 for each name space is input via the input unit 16, and the group accepts group creation or editing requests.
- an edit request receiving unit 101 a reference information generating unit 102 that generates reference information indicating where in the memory unit 202 or storage unit 22 the address or variable received by the group editing request receiving unit 101 is recorded;
- a request receiving unit 101 receives a group creation request, a new group is created based on the members including the reference information, and when the group editing request receiving unit 101 receives a group editing request, the members including the reference information are created.
- the group management department 103 In response to an inquiry request received by the inquiry request reception unit 104, the address and current value are acquired from the memory unit 202, and variable definition information from the storage unit 22, based on the reference information registered in the group requested for inquiry. , provided as inquiry information for members included in the group.
- the name space may be represented by either the POU name or the system name of the PLC device 2.
- This provides a mechanism for group management of information for referencing variable definitions in programs created across multiple systems or POUs, without relying solely on the system or POU. By doing so, it is possible to check or diagnose the state of any variable across multiple systems or POUs at the same time. Furthermore, since only the status of variables registered in the group can be displayed, the display processing load can be reduced.
- the group management unit 103 For a group, at least one of property information including the creation date of the group, whether it can be viewed, whether it can be edited, and the display order of members included in the group may be set.
- the group can be managed, and the list display format can be changed according to the user's needs.
- the group management unit 103 may create a plurality of subgroups based on correlation information indicating the correlation between the groups. good.
- the reference information generation unit 102 generates reference information for a variable that satisfies a condition specified via the input unit 16. , a group that satisfies the conditions may be generated based on the generated reference information.
- the control device 1 described in any one of (1) to (5) may include a PLC device 2.
- control device 1 described in any one of (1) to (5) may be included in the PLC device 2.
- Control device 10 Control unit 101 Group edit request reception unit 102 Reference information generation unit 103 Group management unit 104 Inquiry request reception unit 12 Storage unit 16 Input unit 17 Display 2 PLC device 20 PLC_CPU 202 Memory section 22 Storage section
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
名前空間を跨いだ変数の状態の確認・変更が簡単にできるように、メモリと、名前空間毎に実行されるシーケンスプログラムと前記シーケンスプログラムで使用される変数定義を管理する記憶部と、前記メモリにおける任意のアドレス及び前記記憶部に登録されている任意の変数定義の参照情報を生成する参照情報生成部と、前記参照情報をグループに登録及び登録されたグループを管理するグループ管理部と、を備え、前記グループ管理部から任意のグループを選択し、グループに登録されたアドレス及び変数定義の参照情報を元に前記メモリからアドレスを、前記記憶部から変数定義を取得し、表示部に通知することで任意のアドレス及び名前空間を跨いで変数を診断できる制御装置。
Description
本発明は、複数の名前空間における変数及び信号をグループ管理する制御装置に関する。
PLCでは、例えば系統毎に特定の機能とシーケンスプログラムの変数とが紐づけて定義される。また、IEC61131-3で規格化されたプログラム構成ユニット(POU:Program Organization Unit)を組み合わせてプログラミングする場合においても、POU毎に変数が定義される(例えば、特許文献1参照)。
具体的には、変数定義の観点からすると、系統又はPOUは、変数が定義されている名前空間の概念に含まれ、系統又はPOUごとの変数管理は、名前空間毎の変数管理と同等である。
このように、名前空間における変数管理においては、名前空間毎に、変数を管理するように設定され、同じ名前空間に属する変数に対しては一律に設定を行うことができ、名前空間毎に画面上で同じ名前空間に属する変数をまとめて確認又は診断することができるようになっている。他方、異なる名前空間において設定される変数については、当該名前空間からは、確認することはできない。
図8は、名前空間毎に変数が設定されているケースの態様を示して説明したグループ1を示す図である。図8に示すように、ユーザは、複数の名前空間A、B、Cそれぞれにおいて設定された変数を確認又は診断したい場合、名前空間毎に、個別に当該名前空間に設定された変数を確認又は診断する必要がある。
具体的には、変数定義の観点からすると、系統又はPOUは、変数が定義されている名前空間の概念に含まれ、系統又はPOUごとの変数管理は、名前空間毎の変数管理と同等である。
このように、名前空間における変数管理においては、名前空間毎に、変数を管理するように設定され、同じ名前空間に属する変数に対しては一律に設定を行うことができ、名前空間毎に画面上で同じ名前空間に属する変数をまとめて確認又は診断することができるようになっている。他方、異なる名前空間において設定される変数については、当該名前空間からは、確認することはできない。
図8は、名前空間毎に変数が設定されているケースの態様を示して説明したグループ1を示す図である。図8に示すように、ユーザは、複数の名前空間A、B、Cそれぞれにおいて設定された変数を確認又は診断したい場合、名前空間毎に、個別に当該名前空間に設定された変数を確認又は診断する必要がある。
前述したように、PLCでは、例えば系統毎に特定の機能とシーケンスプログラムの変数とが紐づけて定義される。また、IEC61131-3で規格化されたプログラム構成ユニット(POU:Program Organization Unit)を組み合わせてプログラミングする場合においても、POU毎に変数が定義される。
このため、名前空間においては、変数名を一意的に定義する必要があるが、他の名前空間において定義される変数名との重複については意識する必要が無く、プログラムをモジュール分割してモジュール毎に開発する際には便利な機能である。
しかしながら、例えばプログラムの機能を確認又は診断するデバッグ時、又はプログラム実行時に機能に問題が生じた時等に、当該機能に関連する変数の状態を確認又は診断する必要が生じた場合、異なる系統又は異なるPOUにおいてそれぞれ変数が定義されている場合、図8に示すように、名前空間毎に、表示を切換えながらそれぞれの名前空間において設定した変数を確認又は診断する必要があり、操作が非常に煩雑化していた。
このため、名前空間においては、変数名を一意的に定義する必要があるが、他の名前空間において定義される変数名との重複については意識する必要が無く、プログラムをモジュール分割してモジュール毎に開発する際には便利な機能である。
しかしながら、例えばプログラムの機能を確認又は診断するデバッグ時、又はプログラム実行時に機能に問題が生じた時等に、当該機能に関連する変数の状態を確認又は診断する必要が生じた場合、異なる系統又は異なるPOUにおいてそれぞれ変数が定義されている場合、図8に示すように、名前空間毎に、表示を切換えながらそれぞれの名前空間において設定した変数を確認又は診断する必要があり、操作が非常に煩雑化していた。
このため、複数の名前空間をまたがって作成されるプログラムにおいて、当該プログラムで定義された任意の変数の状態を、複数の名前空間を通覧して、横断的に確認又は診断できるようにすることが望まれている。
本発明は、このような課題に鑑みてなされたものであり、複数の名前空間をまたがって作成されるプログラムにおいて、変数定義を参照するための情報を複数の名前空間をまたがって、グループ管理する仕組みを提供することで、任意の変数の状態を複数の名前空間を通覧して、同時に横断的に確認又は診断することを可能とする制御装置を提供することを目的とする。
本開示の一態様は、PLC上で使用可能なアドレス及び前記アドレスにおける現在値のデータを記録するメモリ部と、名前空間毎に実行されるシーケンスプログラムと、前記名前空間毎に前記シーケンスプログラムで使用される、前記メモリ部のアドレスに対して定義された変数に係る変数定義情報を管理する記憶部と、を含むPLC装置と通信可能に接続された制御装置であって、制御部と、入力部と、を備え、
前記制御部は、前記入力部を介して、前記メモリ部に記録されている任意のアドレス、又は前記名前空間毎に前記記憶部に登録されている任意の変数が入力されるとともに、グループの作成又は編集要求を受け付けるグループ編集要求受付部と、前記グループ編集要求受付部により受け付けた、前記アドレス又は前記変数が前記メモリ部又は前記記憶部のどこに記録されているかを示す参照情報を生成する参照情報生成部と、前記グループ編集要求受付部によりグループの作成要求を受け付けた場合、前記参照情報を含むメンバーに基いて新たなグループを作成し、前記グループ編集要求受付部によりグループの編集要求を受け付けた場合、前記参照情報を含むメンバーを前記グループに追加登録するグループ管理部と、前記入力部を介して、前記グループ管理部により管理されている任意のグループの照会要求を受け付ける照会要求受付部と、を備え、
前記グループ管理部は、
前記照会要求受付部により受け付けた照会要求に応じて、前記照会要求されたグループに登録されている参照情報に基いて、前記メモリ部からアドレス及び現在値と、前記記憶部から変数定義情報を取得し、前記グループに含まれるメンバーの照会情報として提供する、制御装置である。
前記制御部は、前記入力部を介して、前記メモリ部に記録されている任意のアドレス、又は前記名前空間毎に前記記憶部に登録されている任意の変数が入力されるとともに、グループの作成又は編集要求を受け付けるグループ編集要求受付部と、前記グループ編集要求受付部により受け付けた、前記アドレス又は前記変数が前記メモリ部又は前記記憶部のどこに記録されているかを示す参照情報を生成する参照情報生成部と、前記グループ編集要求受付部によりグループの作成要求を受け付けた場合、前記参照情報を含むメンバーに基いて新たなグループを作成し、前記グループ編集要求受付部によりグループの編集要求を受け付けた場合、前記参照情報を含むメンバーを前記グループに追加登録するグループ管理部と、前記入力部を介して、前記グループ管理部により管理されている任意のグループの照会要求を受け付ける照会要求受付部と、を備え、
前記グループ管理部は、
前記照会要求受付部により受け付けた照会要求に応じて、前記照会要求されたグループに登録されている参照情報に基いて、前記メモリ部からアドレス及び現在値と、前記記憶部から変数定義情報を取得し、前記グループに含まれるメンバーの照会情報として提供する、制御装置である。
本発明によれば、複数の名前空間をまたがって作成されるプログラムにおいて、変数定義を参照するための情報を複数の名前空間をまたがって、グループ管理する仕組みを提供することで、任意の変数の状態を複数の名前空間を通覧して、同時に横断的に確認又は診断することを可能とする。
以下、本発明の実施形態について、図を参照しながら詳述する。まず、本発明の実施形態に係る制御装置の構成について説明する。
〔1 全体構成〕
図1は、本実施形態に係る制御装置の構成例を示す。
図1は、本実施形態に係る制御装置の構成例を示す。
図1に示すように、制御装置1は、PLC装置2と通信可能に接続されている。制御装置1、及びPLC装置2は、図示しない接続インタフェースを介して、互いに直接接続されてもよい。
図1に示すように、PLC装置2は、PLC_CPU20、メモリ部202、及び記憶部22を備える。
メモリ部202は、PLC上で使用可能なアドレスに、当該アドレスの現在の値を記録している。例えば、シーケンスプログラムで使用される変数の値を、変数に対応するアドレスに当該変数の値を記憶する。
記憶部22は、シーケンスプログラムで使用される変数(「ローカル変数」ともいう)に係る変数定義を記憶する。前述したように、変数定義は、名前空間毎に設定される。例えば、系統毎にシーケンスプログラムで定義される変数名と、当該変数の値が記録されるアドレスと、が紐づけて定義される。POUの場合も同様に、例えば、POU毎に、シーケンスプログラムで定義される変数(ローカル変数)が定義される。なお、POUの場合、外部入出力に係る変数(「グローバル変数」ともいう)については、アドレスを割り付けるが、プログラム内で使用する変数(ローカル変数)のメモリ割り付けについては、自動処理されるため、変数名とアドレスと、を紐づけて定義する必要はない。
なお、以下の説明においては、特に断らない限り、名前空間として系統名称に適用する場合について、説明するが、POU名称に適用する場合についても同様である。また、系統名称及びPOU名称に限られず、任意の名前空間に対して適用することができる。
メモリ部202は、PLC上で使用可能なアドレスに、当該アドレスの現在の値を記録している。例えば、シーケンスプログラムで使用される変数の値を、変数に対応するアドレスに当該変数の値を記憶する。
記憶部22は、シーケンスプログラムで使用される変数(「ローカル変数」ともいう)に係る変数定義を記憶する。前述したように、変数定義は、名前空間毎に設定される。例えば、系統毎にシーケンスプログラムで定義される変数名と、当該変数の値が記録されるアドレスと、が紐づけて定義される。POUの場合も同様に、例えば、POU毎に、シーケンスプログラムで定義される変数(ローカル変数)が定義される。なお、POUの場合、外部入出力に係る変数(「グローバル変数」ともいう)については、アドレスを割り付けるが、プログラム内で使用する変数(ローカル変数)のメモリ割り付けについては、自動処理されるため、変数名とアドレスと、を紐づけて定義する必要はない。
なお、以下の説明においては、特に断らない限り、名前空間として系統名称に適用する場合について、説明するが、POU名称に適用する場合についても同様である。また、系統名称及びPOU名称に限られず、任意の名前空間に対して適用することができる。
PLC_CPU20は、シーケンスプログラムを実行し、当該シーケンスプログラムに従って各種制御や演算処理、信号の入出力処理等を行う制御を実行するためのプロセッサである。該PLC_CPU20は、例えば、ROMに格納されたシーケンスプログラムを、バスを介して読み出し、該シーケンスプログラムに従ってシーケンス制御をする。
また、PLC_CPU20は、後述する制御装置1との入出力インタフェース部(図示せず)を備え、制御装置1からのメモリ部202及び記憶部22へのアクセス要求に応じて、例えば、記憶部22に記録されている変数定義情報と、メモリ部202に記録されている当該変数に対応するアドレスに記録されている現在値を応答することができる。
また、PLC_CPU20は、後述する制御装置1との入出力インタフェース部(図示せず)を備え、制御装置1からのメモリ部202及び記憶部22へのアクセス要求に応じて、例えば、記憶部22に記録されている変数定義情報と、メモリ部202に記録されている当該変数に対応するアドレスに記録されている現在値を応答することができる。
図1に示すように、制御装置1は、制御部10と、記憶部12と、入力部16と、表示器17と、を備える。
制御部10は、例えばROM、RAM、CMOSメモリ等と、バスを介して相互に通信可能に構成される、当業者にとって公知のプロセッサである。
制御部10は、例えばROM、RAM、CMOSメモリ等と、バスを介して相互に通信可能に構成される、当業者にとって公知のプロセッサである。
制御部10は、後述する本願発明特有の機能を実行するためのプログラムを格納した、例えば記憶部12から当該プログラムを読み出すとともに、当該プログラムを実行する上で一時的に必要とされるデータを格納するためのRAM等の主記憶装置(図示せず)に格納されるデータを用いて当該プログラムを実行することにより、図1に示すように制御部10が、グループ編集要求受付部101、参照情報生成部102、グループ管理部103、及び照会要求受付部104の機能を実現するように構成される。これら機能部については、後述する。
記憶部12は、後述するように、参照情報生成部102により生成されるグループに含まれる変数名毎に対応する参照情報が記憶される。図2は、アドレス又は変数定義がメモリ部202又は記憶部22のどこに記録されているかを示す参照情報の一例を示す図である。
図2に示すように、系統毎に変数定義がされている。例えば系統PLC1には、変数名INPUT1、及びアドレスX8.0を定義した変数定義1-1と、変数名*ESP_X、及びアドレスX8.4を定義した変数定義1-2と、が定義されている。また、別の系統PLC2には、変数名INPUT2、及びアドレスX9.0を定義した変数定義2-1と、変数名*ESP、及びアドレスG8.4を定義した変数定義2-2と、が定義されている。
このままでは、ユーザは、系統PLC1における変数名INPUT1、及び変数名*ESP_Xについて確認する場合は、ユーザ自身が、系統PLC1における変数定義を参照し、対応するアドレスを介して当該変数に記憶された値を確認し、他方、系統PLC2における変数名INPUT2、及び変数名*ESPについて確認する場合は、系統PLC2における変数定義を参照し、対応するアドレスを介して当該変数に記憶された値を確認する必要がある。
このままでは、ユーザは、系統PLC1における変数名INPUT1、及び変数名*ESP_Xについて確認する場合は、ユーザ自身が、系統PLC1における変数定義を参照し、対応するアドレスを介して当該変数に記憶された値を確認し、他方、系統PLC2における変数名INPUT2、及び変数名*ESPについて確認する場合は、系統PLC2における変数定義を参照し、対応するアドレスを介して当該変数に記憶された値を確認する必要がある。
これを解決するために、本発明においては、図2に示すように、系統PLC1における変数名INPUT1、及び変数名*ESP_Xと、系統PLC2における変数名INPUT2、及び変数名*ESPと、を1つのグループ(グループ1)として定義することで管理する。
具体的には、グループ(グループ1)には、各変数名と、どの系統において定義された変数名かを示す参照情報と、を紐づけて定義する。例えば、変数名INPUT1は、系統PLC1において定義されていることから、参照情報として、例えばPLC1_INPUT1と定義する。同様に、変数名INPUT2は、系統PLC2において定義されていることから、参照情報として、例えばPLC2_INPUT2と定義する。
そうすることで、異なる系統において設定された変数を1つのグループとして管理することにより、後述するように、ユーザは、当該グループに含まれる変数について、同時に横断的に確認又は診断することができる。
具体的には、グループ(グループ1)には、各変数名と、どの系統において定義された変数名かを示す参照情報と、を紐づけて定義する。例えば、変数名INPUT1は、系統PLC1において定義されていることから、参照情報として、例えばPLC1_INPUT1と定義する。同様に、変数名INPUT2は、系統PLC2において定義されていることから、参照情報として、例えばPLC2_INPUT2と定義する。
そうすることで、異なる系統において設定された変数を1つのグループとして管理することにより、後述するように、ユーザは、当該グループに含まれる変数について、同時に横断的に確認又は診断することができる。
入力部16は、例えばキーボード、マウス、タッチパネルあるいはマイク等の入力装置によって構成され、入力部16を介して例えばユーザからの、制御装置1への情報の入力を受け付ける。
表示器17は、例えばLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)、有機EL、LED(Light Emitting Diode)等の表示装置によって構成され、後述するように、例えばユーザから照会要求されたグループに含まれるメンバーの照会情報等を表示する。
表示器17は、例えばLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)、有機EL、LED(Light Emitting Diode)等の表示装置によって構成され、後述するように、例えばユーザから照会要求されたグループに含まれるメンバーの照会情報等を表示する。
次に、制御装置1の備える機能部について説明する。
グループ編集要求受付部101は、入力部16を介して、ユーザから、グループの作成又は編集要求を受け付ける。具体的には、ユーザから、入力部16を介して、メモリ部202に記録されている任意のアドレス、又は名前空間毎に記憶部22に登録されている任意の変数名を受け付けるとともに、グループの新規作成要求を受け付ける。
なお、後述するように、グループ編集要求受付部101は、入力部16を介して、ユーザから任意の条件を受け付けるようにしてもよい。この場合、後述するように、参照情報生成部102は、入力部16を介して指定された条件を満たす変数に対して、参照情報を生成し、生成された参照情報に基いて、当該条件を満たすグループを生成することができる。
また、入力部16を介して、ユーザから既設のグループ名の入力を受け付けるとともに当該グループの編集要求を受け付けることができる。
グループ編集要求受付部101は、入力部16を介して、ユーザから、グループの作成又は編集要求を受け付ける。具体的には、ユーザから、入力部16を介して、メモリ部202に記録されている任意のアドレス、又は名前空間毎に記憶部22に登録されている任意の変数名を受け付けるとともに、グループの新規作成要求を受け付ける。
なお、後述するように、グループ編集要求受付部101は、入力部16を介して、ユーザから任意の条件を受け付けるようにしてもよい。この場合、後述するように、参照情報生成部102は、入力部16を介して指定された条件を満たす変数に対して、参照情報を生成し、生成された参照情報に基いて、当該条件を満たすグループを生成することができる。
また、入力部16を介して、ユーザから既設のグループ名の入力を受け付けるとともに当該グループの編集要求を受け付けることができる。
参照情報生成部102は、グループ編集要求受付部101により受け付けた、メモリ部202に記録されている任意のアドレス、又は名前空間毎に記憶部22に登録されている任意の変数名を受け付けると、当該アドレス又は当該変数がメモリ部202又は記憶部22のどこに記録されているかを示す参照情報を生成する。
具体的には、前述したとおり、例えば図2に示すように、参照情報生成部102は、各変数名と、どの系統において定義された変数名かを示す参照情報と、を紐づけて定義する。図2に示すように、例えば変数名INPUT1は、系統PLC1において定義されていることから、参照情報として、例えばPLC1_INPUT1と定義する。同様に、変数名INPUT2は、系統PLC2において定義されていることから、参照情報として、例えばPLC2_INPUT2と定義する。
具体的には、前述したとおり、例えば図2に示すように、参照情報生成部102は、各変数名と、どの系統において定義された変数名かを示す参照情報と、を紐づけて定義する。図2に示すように、例えば変数名INPUT1は、系統PLC1において定義されていることから、参照情報として、例えばPLC1_INPUT1と定義する。同様に、変数名INPUT2は、系統PLC2において定義されていることから、参照情報として、例えばPLC2_INPUT2と定義する。
また、参照情報生成部102は、入力部16を介して指定された条件を満たす変数に対して、参照情報を生成するようにしてもよい。
図3は、指定された条件を満たす変数に対して参照情報を生成する一例を示す概要図である。図3に示すように、例えば系統PLC1及び系統PLC2において、値が0となる全ての変数名を検索し、当該条件を満たす全ての変数名に対してどの系統において定義された変数名であるかを示す参照情報を作成する。図3に示す例では、系統PLC1に属する変数名INPUT1と、系統PLC2に属する変数名*ESPと、が当該条件を満たすことから、参照情報生成部102は、系統PLC1に属する変数名INPUT1、及び系統PLC2に属する変数名*ESPに対して、それぞれ参照情報を生成する。
なお、参照情報生成部102は、例えば、変数の属する系統の指定、及び各系統に属する変数の満たすべき任意の条件に対して、当該条件を満たす変数名に対して参照情報を生成することができる。
これにより、ユーザがある条件を満たす変数を横断的に確認又は診断したい場合、当該条件を入力するだけで、条件を満たす変数に対する参照情報を自動的に生成することができる。その結果、後述するようにグループ管理部103は、条件を満たす変数を含むグループを生成し、当該条件を満たす変数の状態を横断的に確認又は診断することができる。
図3は、指定された条件を満たす変数に対して参照情報を生成する一例を示す概要図である。図3に示すように、例えば系統PLC1及び系統PLC2において、値が0となる全ての変数名を検索し、当該条件を満たす全ての変数名に対してどの系統において定義された変数名であるかを示す参照情報を作成する。図3に示す例では、系統PLC1に属する変数名INPUT1と、系統PLC2に属する変数名*ESPと、が当該条件を満たすことから、参照情報生成部102は、系統PLC1に属する変数名INPUT1、及び系統PLC2に属する変数名*ESPに対して、それぞれ参照情報を生成する。
なお、参照情報生成部102は、例えば、変数の属する系統の指定、及び各系統に属する変数の満たすべき任意の条件に対して、当該条件を満たす変数名に対して参照情報を生成することができる。
これにより、ユーザがある条件を満たす変数を横断的に確認又は診断したい場合、当該条件を入力するだけで、条件を満たす変数に対する参照情報を自動的に生成することができる。その結果、後述するようにグループ管理部103は、条件を満たす変数を含むグループを生成し、当該条件を満たす変数の状態を横断的に確認又は診断することができる。
グループ管理部103は、グループ編集要求受付部101によりグループの作成要求を受け付けた場合、参照情報生成部102により前述したように生成される参照情報を含むメンバーに基いて新たなグループを作成する。
また、グループ管理部103は、グループ編集要求受付部101により、既設のグループに変数名を追加する編集要求を受け付けた場合、参照情報生成部102により生成された、当該変数名に対応する参照情報を当該グループに追加登録する。
また、グループ管理部103は、グループ編集要求受付部101により、既設のグループから指定された変数名を削除する編集要求を受け付けた場合、当該変数名に対応する参照情報を当該グループから削除する。
また、グループ管理部103は、グループ編集要求受付部101により、既設のグループに変数名を追加する編集要求を受け付けた場合、参照情報生成部102により生成された、当該変数名に対応する参照情報を当該グループに追加登録する。
また、グループ管理部103は、グループ編集要求受付部101により、既設のグループから指定された変数名を削除する編集要求を受け付けた場合、当該変数名に対応する参照情報を当該グループから削除する。
また、グループ管理部103は、後述する照会要求受付部104により受け付けたグループの照会要求に応じて、照会要求されたグループに登録されている参照情報に基いて、記憶部22から変数定義情報を取得し、メモリ部202からアドレスに記憶された現在値を取得することで、照会要求されたグループに含まれるメンバーの照会情報を提供する。具体的には、例えば、照会要求されたグループに含まれるメンバーの照会情報を表示器17に提供することで、表示器17は、当該メンバーの照会情報を表示する。
これにより、複数の名前空間をまたがって作成されるプログラムにおいて、グループ管理する仕組みを提供することで、任意の変数の状態を複数の名前空間を通覧して、同時に横断的に確認又は診断することを可能とする。
図4Aは、グループ単位で変数の状態を確認する態様を示す概念図である。図4Aに示すように、名前空間Aに含まれる変数x、名前空間Bに含まれる変数y、及び名前空間Cに含まれる変数eを含むグループを生成することで、ユーザは、変数x、a、及び、変数eを同時に横断的に確認することができる。
図4Bは、グループ単位で変数の状態を示す表示内容の一例を示す概要図である。図4に示すグループ1は、図2において説明したグループ1を例示したものである。図4に示すように、グループ1を照会することにより、例えば、系統PLC1における変数名INPUT1、及び変数名*ESP_Xのアドレスとそのアドレスに記憶された現在値と、系統PLC2における変数名INPUT2、及び変数名*ESPのアドレスとそのアドレスに記憶された現在値と、を同時に表示することができる。
これにより、複数の名前空間をまたがって作成されるプログラムにおいて、グループ管理する仕組みを提供することで、任意の変数の状態を複数の名前空間を通覧して、同時に横断的に確認又は診断することを可能とする。
図4Aは、グループ単位で変数の状態を確認する態様を示す概念図である。図4Aに示すように、名前空間Aに含まれる変数x、名前空間Bに含まれる変数y、及び名前空間Cに含まれる変数eを含むグループを生成することで、ユーザは、変数x、a、及び、変数eを同時に横断的に確認することができる。
図4Bは、グループ単位で変数の状態を示す表示内容の一例を示す概要図である。図4に示すグループ1は、図2において説明したグループ1を例示したものである。図4に示すように、グループ1を照会することにより、例えば、系統PLC1における変数名INPUT1、及び変数名*ESP_Xのアドレスとそのアドレスに記憶された現在値と、系統PLC2における変数名INPUT2、及び変数名*ESPのアドレスとそのアドレスに記憶された現在値と、を同時に表示することができる。
また、グループ管理部103は、作成されたグループ毎に、グループの作成日、グループに含まれる変数名、アドレス及びそのアドレスに記憶された現在値の閲覧の可否(「閲覧保護」ともいう)、グループに含まれる変数に記憶された現在値の編集の可否(「編集保護」ともいう)を含むプロパティ情報、及びグループに含まれるメンバーの表示順序の少なくともいずれかを設定することができる。これらのプロパティ情報のうち、例えば作成日、閲覧保護、編集保護については、当該グループ作成者が設定できるようにしてもよい。また、グループに含まれるメンバーの表示順序については、グループを閲覧又は編集できるユーザが、それぞれグループを表示する際に設定するようにしてもよい。
図5は、グループに含まれるメンバーの閲覧及び編集の可否、表示順序の設定の一例を示す概要図である。図5に示すように、グループ1の作成日は2021年1月1日であり、編集保護(すなわち、編集不可)されるプロパティ情報が付与されている。なお、閲覧保護はグループ1には付与されていないので、閲覧に際しては、表示順序を設定することができる。なお、グループ2には、閲覧保護のプロパティ情報が閲覧不可とされていることから、編集についてはデフォルト編集不可となる。
これにより、ユーザは、グループに対して、プロパティ情報、及びグループに含まれるメンバーの表示順序を設定することで、グループの管理を行えるとともに、一覧表示する際に、メンバーを表示する順序をユーザのニーズに応じて変更することができる。
図5は、グループに含まれるメンバーの閲覧及び編集の可否、表示順序の設定の一例を示す概要図である。図5に示すように、グループ1の作成日は2021年1月1日であり、編集保護(すなわち、編集不可)されるプロパティ情報が付与されている。なお、閲覧保護はグループ1には付与されていないので、閲覧に際しては、表示順序を設定することができる。なお、グループ2には、閲覧保護のプロパティ情報が閲覧不可とされていることから、編集についてはデフォルト編集不可となる。
これにより、ユーザは、グループに対して、プロパティ情報、及びグループに含まれるメンバーの表示順序を設定することで、グループの管理を行えるとともに、一覧表示する際に、メンバーを表示する順序をユーザのニーズに応じて変更することができる。
また、グループ管理部103は、グループの相関関係を示す相関情報に基づいて、グループが複数のサブグループを含むように階層構造となるグループを作成するようにしてもよい。
図6は、グループに含まれるサブグループの一例を示す図である。図6に示すように、グループ1_1は、図2、図4A、及び図5において例示した2021年1月1日に作成されたグループ1である。その後、グループ管理部103は、グループ1_1と相関関係となる、グループ1_2を2021年1月2日に作成し、同じくグループ1_3を2021年1月3日に作成し、同じくグループ1_4を2021年1月4日に作成し、これらを含むグループ(親グループ)としてグループ1を2021年1月4日に作成している。
このように、グループ管理部103は、複数のグループを階層構造的に作成することができる。また、作成済みのグループを階層構造的に親グループに属するように、編集してもよい。
このように、ユーザは、グループに対して、相関関係にあるメンバーを、例えばサブグループ化することにより、ユーザの使い勝手を良くすることができる。
図6は、グループに含まれるサブグループの一例を示す図である。図6に示すように、グループ1_1は、図2、図4A、及び図5において例示した2021年1月1日に作成されたグループ1である。その後、グループ管理部103は、グループ1_1と相関関係となる、グループ1_2を2021年1月2日に作成し、同じくグループ1_3を2021年1月3日に作成し、同じくグループ1_4を2021年1月4日に作成し、これらを含むグループ(親グループ)としてグループ1を2021年1月4日に作成している。
このように、グループ管理部103は、複数のグループを階層構造的に作成することができる。また、作成済みのグループを階層構造的に親グループに属するように、編集してもよい。
このように、ユーザは、グループに対して、相関関係にあるメンバーを、例えばサブグループ化することにより、ユーザの使い勝手を良くすることができる。
照会要求受付部104は、入力部16を介して、ユーザからグループ管理部103により管理されている任意のグループの照会要求を受け付ける。そうすることで、前述したように、グループ管理部103は、照会要求受付部104により受け付けたグループの照会要求に応じて、照会要求されたグループに登録されている参照情報に基いて、記憶部22から変数定義情報を取得し、メモリ部202からアドレスに記憶された現在値を取得することで、照会要求されたグループに含まれるメンバーの照会情報を提供する。
以上、制御装置1の備える機能部について説明した。
次に、制御装置1の動作について説明する。図7A及び図7Bは、それぞれ制御装置1の動作を示すフローチャートである。図7Aは、グループ作成又はグループ編集時の動作を示すフローチャートである。図7Bは、指定されたグループに含まれるメンバ(変数)の定義情報及び当該変数の現在値を表示するときの動作を示すフローチャートである。
以上、制御装置1の備える機能部について説明した。
次に、制御装置1の動作について説明する。図7A及び図7Bは、それぞれ制御装置1の動作を示すフローチャートである。図7Aは、グループ作成又はグループ編集時の動作を示すフローチャートである。図7Bは、指定されたグループに含まれるメンバ(変数)の定義情報及び当該変数の現在値を表示するときの動作を示すフローチャートである。
図7Aを参照すると、ステップS10において、グループ編集要求受付部101は、グループ作成要求又は編集要求を受け付け、グループ作成要求の場合は、ステップS11に移る。編集要求の場合は、ステップS20に移る。
ステップS11において、グループ編集要求受付部101は、グループ化対象を指定するための変数名、又は条件を受け付け、変数名受け付けの場合、ステップS13に移る。条件受け付けの場合、ステップS12に移る。
ステップS12において、参照情報生成部102は、指定された系統毎に、条件を満たす全ての変数名を検索し、グループ化対象となる全ての変数名を取得する。その後、ステップS13に移る。
ステップS13において、参照情報生成部102は、グループ化対象となる全ての変数名毎に参照情報を生成する。
ステップS14において、グループ管理部103は、生成された参照情報を含むメンバーに基いて新たなグループを作成し、処理を終了する。
ステップS20において、グループ管理部103は、編集要求が変数名追加の場合、ステップS21に移る。編集要求がグループに属するメンバー削除の場合、ステップS23に移る。
ステップS21において、参照情報生成部102は、指定された変数名毎に参照情報を生成する。
ステップS22において、グループ管理部103は、ステップS21において生成された参照情報を含むメンバーを指定されたグループに追加し、処理を終了する。
ステップS23において、グループ管理部103は、指定されたメンバーをグループから削除し、処理を終了する。
以上、制御装置1のグループ作成又はグループ編集時の動作を示す処理フローを説明した。
次に、グループ照会要求を受け付けた場合の、指定されたグループに含まれるメンバ(変数)の定義情報及び当該変数の現在値を表示するときの制御装置1の処理フローについて説明する。
以上、制御装置1のグループ作成又はグループ編集時の動作を示す処理フローを説明した。
次に、グループ照会要求を受け付けた場合の、指定されたグループに含まれるメンバ(変数)の定義情報及び当該変数の現在値を表示するときの制御装置1の処理フローについて説明する。
図7Bを参照すると、ステップS30において、照会要求受付部104は、グループの照会要求を受け付ける。
ステップS31において、グループ管理部103は、ステップS30において照会要求されたグループに登録されている全ての参照情報を取得する。
ステップS32において、グループ管理部103は、ステップS31において取得した各参照情報に基いて、記憶部22から変数定義情報を取得するとともに、メモリ部202からアドレスに記憶された現在値を取得する。
ステップS33において、グループ管理部103は、照会要求されたグループに含まれるメンバーの照会情報を例えば、表示器17に出力する。
以上、制御装置1のグループ照会時の動作を示す処理フローを説明した。
制御装置1の動作を示す処理フローを説明した。
以上、制御装置1のグループ照会時の動作を示す処理フローを説明した。
制御装置1の動作を示す処理フローを説明した。
以上、制御装置の一実施形態について説明したが、制御装置1は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
上述した一実施形態では、PLC装置2が制御装置1に通信可能に接続されていたが、これに限られない。例えば、制御装置1がPLC装置2を含むようにしてもよい。また、PLC装置2が、制御装置1の備える機能部、入力部16、及び表示器17を備えるようにしてもよい。
上述した一実施形態では、PLC装置2が制御装置1に通信可能に接続されていたが、これに限られない。例えば、制御装置1がPLC装置2を含むようにしてもよい。また、PLC装置2が、制御装置1の備える機能部、入力部16、及び表示器17を備えるようにしてもよい。
なお、一実施形態における、制御装置1に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上を換言すると、本開示の制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本実施形態に係る制御装置1は、PLC上で使用可能なアドレス及びアドレスの現在値のデータを記録するメモリ部202と、名前空間毎に実行されるシーケンスプログラムと、名前空間毎にシーケンスプログラムで使用される、メモリ部202のアドレスに対して定義された変数に係る変数定義情報を管理する記憶部22と、を含むPLC装置2と通信可能に接続された制御装置1であって、制御部10と、入力部16と、を備え、
制御部10は、
入力部16を介して、メモリ部202に記録されている任意のアドレス、又は名前空間毎に記憶部22に登録されている任意の変数が入力されるとともに、グループの作成又は編集要求を受け付けるグループ編集要求受付部101と、グループ編集要求受付部101により受け付けた、アドレス又は変数がメモリ部202又は記憶部22のどこに記録されているかを示す参照情報を生成する参照情報生成部102と、グループ編集要求受付部101によりグループの作成要求を受け付けた場合、参照情報を含むメンバーに基いて新たなグループを作成し、グループ編集要求受付部101によりグループの編集要求を受け付けた場合、参照情報を含むメンバーをグループに追加登録するグループ管理部103と、入力部16を介して、グループ管理部103により管理されている任意のグループの照会要求を受け付ける照会要求受付部104と、を備え、
グループ管理部103は、
照会要求受付部104により受け付けた照会要求に応じて、照会要求されたグループに登録されている参照情報に基いて、メモリ部202からアドレス及び現在値と、記憶部22から変数定義情報を取得し、グループに含まれるメンバーの照会情報として提供する。
制御部10は、
入力部16を介して、メモリ部202に記録されている任意のアドレス、又は名前空間毎に記憶部22に登録されている任意の変数が入力されるとともに、グループの作成又は編集要求を受け付けるグループ編集要求受付部101と、グループ編集要求受付部101により受け付けた、アドレス又は変数がメモリ部202又は記憶部22のどこに記録されているかを示す参照情報を生成する参照情報生成部102と、グループ編集要求受付部101によりグループの作成要求を受け付けた場合、参照情報を含むメンバーに基いて新たなグループを作成し、グループ編集要求受付部101によりグループの編集要求を受け付けた場合、参照情報を含むメンバーをグループに追加登録するグループ管理部103と、入力部16を介して、グループ管理部103により管理されている任意のグループの照会要求を受け付ける照会要求受付部104と、を備え、
グループ管理部103は、
照会要求受付部104により受け付けた照会要求に応じて、照会要求されたグループに登録されている参照情報に基いて、メモリ部202からアドレス及び現在値と、記憶部22から変数定義情報を取得し、グループに含まれるメンバーの照会情報として提供する。
これにより、複数の名前空間をまたがって作成されるプログラムにおいて、変数定義を参照するための情報を名前空間のみに依存せず、複数の名前空間をまたがって、グループ管理する仕組みを提供することで、任意の変数の状態を複数の名前空間を通覧して、同時に横断的に確認又は診断することを可能とする。ひいては、当該グループに登録されている、変数の状態だけを表示できるため、表示の処理負荷を軽減することができる。
(2) (1)に記載の制御装置1において、名前空間は、POU名称又はPLC装置2の系統名称のいずれかで表されるようにしてもよい。
これにより、複数の系統又はPOUをまたがって作成されるプログラムにおいて、変数定義を参照するための情報を系統又はPOUのみに依存せず、複数の系統又はPOUをまたがって、グループ管理する仕組みを提供することで、任意の変数の状態を複数の系統又はPOUを通覧して、同時に横断的に確認又は診断することを可能とする。ひいては、当該グループに登録されている、変数の状態だけを表示できるため、表示の処理負荷を軽減することができる。
(3) (1)又は(2)に記載の制御装置1において、グループ管理部103は、
グループに対して、グループの作成日、閲覧の可否、編集の可否を含むプロパティ情報、及びグループに含まれるメンバーの表示順序の少なくともいずれかを設定するようにしてもよい。
グループに対して、グループの作成日、閲覧の可否、編集の可否を含むプロパティ情報、及びグループに含まれるメンバーの表示順序の少なくともいずれかを設定するようにしてもよい。
これにより、グループに対して、プロパティ情報、及びグループに含まれるメンバーの表示順序を設定することで、グループの管理を行えるとともに、一覧表示形態をユーザのニーズに応じて変更することができる。
(4) (1)から(3)のいずれかに記載の制御装置1において、グループ管理部103は、グループの相関関係を示す相関情報に基づいて、複数のサブグループを作成するようにしてもよい。
これにより、グループに対して、相関関係にあるメンバーを更にサブグループ化することにより、ユーザの使い勝手を良くすることができる。
(5) (1)から(4)のいずれかに記載の制御装置1において、参照情報生成部102は、入力部16を介して指定された条件を満たす変数に対して、参照情報を生成し、生成された参照情報に基いて、条件を満たすグループを生成するようにしてもよい。
これにより、ユーザがある条件を満たす変数を横断的に確認又は診断したい場合、当該条件を入力するだけで、条件を満たす変数からなるグループを生成することで、ユーザは容易に確認又は診断することができる。
(6) (1)から(5)のいずれかに記載の制御装置1は、PLC装置2を含むようにしてもよい。
(7) (1)から(5)のいずれかに記載の制御装置1は、PLC装置2に含まれるにしてもよい。
1 制御装置
10 制御部
101 グループ編集要求受付部
102 参照情報生成部
103 グループ管理部
104 照会要求受付部
12 記憶部
16 入力部
17 表示器
2 PLC装置
20 PLC_CPU
202 メモリ部
22 記憶部
10 制御部
101 グループ編集要求受付部
102 参照情報生成部
103 グループ管理部
104 照会要求受付部
12 記憶部
16 入力部
17 表示器
2 PLC装置
20 PLC_CPU
202 メモリ部
22 記憶部
Claims (7)
- PLC上で使用可能なアドレス及び前記アドレスにおける現在値のデータを記録するメモリ部と、
名前空間毎に実行されるシーケンスプログラムと、前記名前空間毎に前記シーケンスプログラムで使用される、前記メモリ部のアドレスに対して定義された変数に係る変数定義情報を管理する記憶部と、を含むPLC装置と通信可能に接続された制御装置であって、
制御部と、
入力部と、を備え、
前記制御部は、
前記入力部を介して、前記メモリ部に記録されている任意のアドレス、又は前記名前空間毎に前記記憶部に登録されている任意の変数が入力されるとともに、グループの作成又は編集要求を受け付けるグループ編集要求受付部と、
前記グループ編集要求受付部により受け付けた、前記アドレス又は前記変数が前記メモリ部又は前記記憶部のどこに記録されているかを示す参照情報を生成する参照情報生成部と、
前記グループ編集要求受付部によりグループの作成要求を受け付けた場合、前記参照情報を含むメンバーに基いて新たなグループを作成し、前記グループ編集要求受付部によりグループの編集要求を受け付けた場合、前記参照情報を含むメンバーを前記グループに追加登録するグループ管理部と、
前記入力部を介して、前記グループ管理部により管理されている任意のグループの照会要求を受け付ける照会要求受付部と、
を備え、
前記グループ管理部は、
前記照会要求受付部により受け付けた照会要求に応じて、前記照会要求されたグループに登録されている参照情報に基いて、前記メモリ部からアドレス及び現在値と、前記記憶部から変数定義情報を取得し、前記グループに含まれるメンバーの照会情報として提供する、制御装置。 - 前記名前空間は、POU名称又はPLC装置の系統名称のいずれかで表される、請求項1に記載の制御装置。
- 前記グループ管理部は、
前記グループに対して、前記グループの作成日、閲覧の可否、編集の可否を含むプロパティ情報、及び前記グループに含まれる前記メンバーの表示順序の少なくともいずれかを設定する請求項1又は請求項2に記載の制御装置。 - 前記グループ管理部は、
前記グループの相関関係を示す相関情報に基づいて、複数のサブグループを作成する請求項1から請求項3の何れか1項に記載の制御装置。 - 前記参照情報生成部は、
前記入力部を介して指定された条件を満たす変数に対して、参照情報を生成し、生成された参照情報に基いて、前記条件を満たすグループを生成する、請求項1から請求項4の何れか1項に記載の制御装置。 - 前記PLC装置を含む、請求項1から請求項5の何れか1項に記載の制御装置。
- 前記制御装置は、前記PLC装置に含まれる、請求項1から請求項5の何れか1項に記載の制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112022005337.2T DE112022005337T5 (de) | 2022-03-30 | 2022-03-30 | Steuervorrichtung |
PCT/JP2022/015845 WO2023188069A1 (ja) | 2022-03-30 | 2022-03-30 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/015845 WO2023188069A1 (ja) | 2022-03-30 | 2022-03-30 | 制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023188069A1 true WO2023188069A1 (ja) | 2023-10-05 |
Family
ID=88200245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/015845 WO2023188069A1 (ja) | 2022-03-30 | 2022-03-30 | 制御装置 |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE112022005337T5 (ja) |
WO (1) | WO2023188069A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019096211A (ja) * | 2017-11-27 | 2019-06-20 | オムロン株式会社 | 制御装置、制御方法、およびプログラム |
JP2019159632A (ja) * | 2018-03-12 | 2019-09-19 | オムロン株式会社 | 制御システム、開発支援装置、および開発支援プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4319082B2 (ja) | 2004-04-08 | 2009-08-26 | 三菱電機株式会社 | プログラミングシステム |
-
2022
- 2022-03-30 DE DE112022005337.2T patent/DE112022005337T5/de active Pending
- 2022-03-30 WO PCT/JP2022/015845 patent/WO2023188069A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019096211A (ja) * | 2017-11-27 | 2019-06-20 | オムロン株式会社 | 制御装置、制御方法、およびプログラム |
JP2019159632A (ja) * | 2018-03-12 | 2019-09-19 | オムロン株式会社 | 制御システム、開発支援装置、および開発支援プログラム |
Also Published As
Publication number | Publication date |
---|---|
DE112022005337T5 (de) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107360224B (zh) | 分布式系统中序列号生成方法、系统、设备及存储介质 | |
US7437686B1 (en) | Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation | |
US8423514B2 (en) | Service provisioning | |
CN112036736A (zh) | 一种工作流创建方法及装置 | |
JP2000090151A (ja) | スケジュール表示方法、スケジュール変更方法、スケジュール管理装置、スケジュール管理プログラムを格納した記憶媒体 | |
US10360013B2 (en) | Management system for creating service | |
US20190163520A1 (en) | Management system and management method for creating service | |
CN109614565B (zh) | 网页生成方法与装置 | |
JP2009238191A (ja) | Webアプリケーションシステム | |
JPWO2011118003A1 (ja) | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 | |
CN114358742A (zh) | 一种工作流执行方法、装置、设备及存储介质 | |
WO2023188069A1 (ja) | 制御装置 | |
US20110010754A1 (en) | Access control system, access control method, and recording medium | |
JP2009187341A (ja) | 情報処理プログラム及び情報処理装置 | |
CN114445023A (zh) | 审批流程配置方法、装置、设备及存储介质 | |
JP4548037B2 (ja) | キャッシュメモリの管理方法、ストレージ装置または計算機システム | |
US10713064B2 (en) | User interface configuration using activator fields | |
US20040225663A1 (en) | Attribute value selection for entity objects | |
JP2013196166A (ja) | 部品表管理装置、部品表管理方法およびプログラム | |
JP2019200643A (ja) | ファイル共有装置 | |
JP2022132054A (ja) | アプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラム | |
JP2009110241A (ja) | 電子ファイル管理装置 | |
JP4400515B2 (ja) | ストレージシステム、ストレージ装置、論理ディスク接続関係変更方法及びプログラム | |
JP2004310742A (ja) | サービス処理方法及び装置 | |
JPWO2020089963A1 (ja) | データ管理システム、プログラマブル表示器、およびデータ管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22935215 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2024510854 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112022005337 Country of ref document: DE |