Support device, control method, and support program
By supporting the user interface and disclosure setting unit of the device, users can efficiently set the disclosure of variables generated by the control device to external devices, solving the inefficiency problem in the existing technology and realizing efficient management of variable disclosure.
Patent Information
- Application Number
- CN202480011540.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-14
- Filing Date
- 2024-03-06
- Publication Date
- 2025-09-05
AI Technical Summary
In the prior art, it is inefficient to publicly set a large number of variables generated by a control device, making it difficult to efficiently set the data to be publicly set to an external device.
A support device is provided, which includes a user interface and a disclosure setting unit. A user can specify the instance name or namespace of a function block through the interface to set the disclosure of a variable, thereby generating disclosure setting information. A control device manages the disclosure of the variable based on this information.
This enables efficient public setting of variables to external devices, avoids conflicts between instance and function block variable settings, and improves setting efficiency.
Smart Images

Figure CN120604181A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a support device, a control method, and a support program, and more particularly to a support device that supports a control device that controls a control object according to a user program, a control method for the support device, and a support program that supports the control device. Background Art
[0002] Factory automation (FA) systems, which automate production processes, are becoming increasingly common in various production sites. FA systems are comprised of a variety of industrial drive devices. These include, for example, mobile worktables for moving workpieces, conveyors for transporting workpieces, and robotic arms for moving workpieces to predetermined destinations. These drive devices are controlled by industrial control devices such as programmable logic controllers (PLCs) or robot controllers.
[0003] The control device controls various driven devices according to a program (hereinafter referred to as a "user program") pre-designed by a designer or other person. Designers can use a support device that supports the control device to develop any user program that matches the driven device being controlled.
[0004] Control devices like these are becoming increasingly popular if they support OPC UA (Open Platform Communications Unified Architecture). OPC UA is a standard communication specification designed to enable data exchange between multiple devices, regardless of vendor or operating system type. Using OPC UA-compliant control devices allows external devices to easily access data managed by the control devices.
[0005] For security reasons, the user of the control device must configure whether or not to disclose variables, which represent data managed by the control device, to external devices (hereinafter referred to as "disclosure settings"). However, due to the large number of variables generated when the control device executes user programs, configuring the disclosure settings for each variable is very cumbersome.
[0006] In this regard, Japanese Patent Application Laid-Open No. 2019-159632 (Patent Document 1) discloses a development support device configured to publicly set variables included in a user program for each predetermined namespace.
[0007] Prior art literature
[0008] Patent Literature
[0009] Patent Document 1: Japanese Patent Application Publication No. 2019-159632 Summary of the Invention
[0010] Problems to be solved by the invention
[0011] According to the development support device disclosed in Patent Document 1, the user can make public settings for variables included in the user program for each predetermined namespace. However, there is room for improvement in efficiently making public settings for a large number of variables.
[0012] One object of the present disclosure is to solve the above-mentioned problems, and an object of the present disclosure is to provide a technology that allows a user to efficiently perform settings for exposing variables to an external device.
[0013] Means for solving problems
[0014] According to one example of the present disclosure, a support device is provided that supports a control device that controls a control object according to a user program. The support device includes: a providing unit that provides a user interface for a user to set whether to disclose at least one variable saved in an instance generated when the user program is executed to an external device; and a disclosure setting unit that generates disclosure setting information based on the setting made by the user using the user interface. The control device manages whether to disclose at least one variable saved in an instance generated when the user program is executed to the external device based on the disclosure setting information. The user program includes first identification information that identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information and at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose at least one variable to an external device.
[0015] According to the present disclosure, a user can specify at least one of a variable disclosure setting using first identification information for identifying an instance generated when a function block is executed and a variable disclosure setting using second identification information unique to the function block, thereby efficiently setting the variable disclosure setting to an external device.
[0016] In the above disclosure, the user interface is configured to enable setting, for each instance corresponding to the first identification information specified by the user, whether or not to disclose at least one variable stored in the instance to the external device.
[0017] According to this disclosure, the user can also make public settings for at least one variable stored in the instance corresponding to the designated first identification information, thereby enabling more detailed and efficient settings for disclosing the variable to the external device.
[0018] In the above disclosure, the disclosure setting information includes information for setting whether to disclose to the external device by giving priority to at least one variable specified by the first identification information over at least one variable specified by the second identification information.
[0019] According to this disclosure, users can give priority to the public settings of variables using the first identification information that identifies the instance over the public settings of variables using the second identification information inherent in the function block, thereby avoiding conflicts between the public settings of variables in the instance and the public settings of variables in the function block.
[0020] In the above disclosure, the disclosure setting information includes information for setting whether to disclose to the external device with priority given to at least one variable specified by the second identification information over at least one variable specified by the first identification information.
[0021] According to this disclosure, users can give priority to the public settings of variables using the second identification information inherent in the function block over the public settings of variables using the first identification information that identifies the instance, thereby avoiding conflicts between the public settings of variables in the instance and the public settings of variables in the function block.
[0022] In the above disclosure, the user interface is configured to enable setting whether to disclose to an external device by giving priority to at least one variable corresponding to either the first identification information or the second identification information.
[0023] According to the disclosure, the user can choose to give priority to either the public setting of the variable using the first identification information for identifying the instance or the public setting of the variable using the second identification information inherent in the function block. Therefore, the priority can be considered to avoid conflicts between the public setting of the variable in the instance and the public setting of the variable in the function block.
[0024] According to another example of the present disclosure, a control method for a support device is provided, wherein the support device supports a control device that controls a control object according to a user program. The control method includes the following steps: a step of providing a user interface for a user to set whether to disclose at least one variable saved in an instance generated when the user program is executed to an external device; and a step of generating disclosure setting information based on the setting made by the user using the user interface. The control device manages whether to disclose at least one variable saved in an instance generated when the user program is executed to an external device based on the disclosure setting information. The user program includes first identification information, which identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information, and at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose at least one variable to an external device.
[0025] According to this disclosure, a user can specify at least one of a variable disclosure setting using first identification information for identifying an instance generated when a function block is executed and a variable disclosure setting using second identification information unique to the function block, thereby efficiently setting the variable disclosure setting to an external device.
[0026] According to another example of the present disclosure, a support program is provided, which supports a control device that controls a control object according to a user program. The support program causes a computer to execute the following steps: a step of providing a user interface for a user to set whether to disclose at least one variable saved in an instance generated when the user program is executed to an external device; and a step of generating disclosure setting information based on the setting made by the user using the user interface. The control device manages whether to disclose at least one variable saved in an instance generated when the user program is executed to an external device based on the disclosure setting information. The user program includes first identification information, which identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information, and at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose at least one variable to an external device.
[0027] According to this disclosure, a user can specify at least one of a variable disclosure setting using first identification information for identifying an instance generated when a function block is executed and a variable disclosure setting using second identification information unique to the function block, thereby efficiently setting the variable disclosure setting to an external device. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1This is a diagram showing an example of a control system to which a support device according to the embodiment is applied.
[0029] Figure 2 This diagram shows an example of instantiation of a function block (FB definition).
[0030] Figure 3 This is a diagram showing an example of the hardware configuration of the control device.
[0031] Figure 4 This is a diagram showing an example of the hardware configuration of a support device.
[0032] Figure 5 This is a diagram showing an example of the hardware configuration of an external device.
[0033] Figure 6 This is a sequence diagram showing the processing flow of each of the support device, control device, drive device, and external device.
[0034] Figure 7 This is a diagram showing an example of a development screen as a user interface provided by the support device.
[0035] Figure 8 This is a diagram showing an example of a user setting screen as a user interface provided by the support device.
[0036] Figure 9 This is a diagram showing an example of a public setting screen as a user interface provided by the support device.
[0037] Figure 10 This is a diagram showing an example of a public setting screen as a user interface provided by the support device.
[0038] Figure 11 This is a diagram showing an example of a public setting screen as a user interface provided by the support device.
[0039] Figure 12 It is a diagram showing a modified example of a public setting screen as a user interface provided by the support device.
[0040] Figure 13 It is a diagram showing a modified example of a public setting screen as a user interface provided by the support device.
[0041] Figure 14 It is a diagram showing a modified example of a public setting screen as a user interface provided by the support device. DETAILED DESCRIPTION
[0042] The embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. The same or corresponding parts in the drawings are denoted by the same reference numerals and their description will not be repeated.
[0043] <A. Application Example>
[0044] Refer to Figure 1 to illustrate an example of a scenario in which the support device 100 of the present disclosure is applied. Figure 1 is a diagram showing an example of the control system 1 of the support device 100 according to the application embodiment. The control system 1 is an FA system that automates the production process. As Figure 1 shown, the control system 1 includes: a control device 200; a drive device 400 that is a control object of the control device 200; an external device 300 that exchanges data with the control device 200; and a support device 100 that supports the control device 200.
[0045] The control device 200 is a device such as a PLC that executes a user program 230 for controlling a control object. The control device 200 is communicably connected to the drive device 400 via a control system network 10. The control system network 10 preferably adopts a field network that guarantees the arrival time of data and performs fixed-cycle communication. As such a field network for performing fixed-cycle communication, EtherCAT (registered trademark), EtherNet / IP (registered trademark), CompoNet (registered trademark), etc. are known. In addition, the control device 200 may also be communicably connected to the drive device 400 via a remote I / O (Input / Output) device or an I / O unit that is the control system network 10.
[0046] The control device 200 is communicably connected to the external device 300 via an information system network 20. The information system network 20 is preferably, for example, a network that follows a communication standard that can realize data exchange regardless of the type of vendor or OS (Operating System). As such a communication standard, for example, OPC UA is known. In addition, the communication standard adopted by the information system network 20 is not limited to OPC UA. For example, the information system network 20 may also be a network that follows a communication standard specific to a particular vendor or OS.
[0047] When the information system network 20 is a network that follows OPC UA, the control device 200 functions as an OPC UA server, and the external device 300 functions as an OPC UA client. In the control system 1 corresponding to such OPC UA, the external device 300 as an OPC UA client can easily access the data managed by the control device 200 as an OPC UA server. Hereinafter, the service provided by such a control system 1 is also referred to as a "network open service".
[0048] The control device 200 is communicatively connected to the support device 100 via a USB (Universal Serial Bus) connection or the like.
[0049] Drive equipment 400 includes various industrial devices used to automate production processes. For example, drive equipment 400 includes a robot controller 400A that controls a robot 401A, a servo driver 400B that controls a servo motor 401B, and sensors 400C that collect various data. These drive equipment 400 are controlled by control device 200 via control system network 10.
[0050] The external device 300 obtains the data managed by the control device 200 via the information system network 20. The external device 300 includes, for example, an HMI (Human Machine Interface), a notebook or desktop PC (Personal Computer), a smartphone, a tablet terminal, or other information processing devices with a display function. Figure 1 In the figure, HMI 300A and HMI 300B are shown as examples of external devices 300. Furthermore, external devices 300 are not limited to information processing devices with display functions, such as HMIs, but may also be other control devices (such as PLCs) different from control device 200. For example, control system 1 may be configured such that data managed by each of the control devices 200 is exchanged between the multiple control devices 200 by connecting the multiple control devices 200 in a communicative manner.
[0051] The support device 100 is, for example, a notebook or desktop PC, a smartphone, a tablet terminal, or other information processing device capable of developing a user program 230 for the control device 200. A development tool 150 can be installed in the support device 100. The development tool 150 is an application for supporting the control device 200 and is implemented by executing the support program 130 described later. The development tool 150 provides a designer with a user interface for developing the user program 230. As an example of the development tool 150, "Sysmac Studio" manufactured by Omron Corporation can be cited. The designer can use the user interface provided by the development tool 150 to develop the user program 230 and install the developed user program 230 in the control device 200. For example, the user program 230 is sent to the control device 200 as an executable file compiled by the support device 100.
[0052] In the control system 1 configured as described above, for security reasons, the user must pre-configure whether to disclose data managed by the control device 200 to the external device 300 (disclosure setting). "User" includes the designer of the user program 230, the user of the control system 1, or the administrator of the control system 1. "Disclosure" includes at least one of reading and writing variables. Data managed by the control device 200 includes at least one variable stored in the instance generated when the user program 230 is executed.
[0053] A "variable" is a concept that represents any numerical value or string used by control device 200 during the execution of user program 230. The term "variable" is used as the antonym of a constant whose value never changes. Furthermore, a "variable" is not limited to input / output data exchanged with the outside world or temporary data used during internal processing; it can also be considered a container (memory area) that stores such input / output data or temporary data.
[0054] User program 230 can be written in any programming language. For example, user program 230 is defined using at least one of a ladder diagram (LD), instruction list (IL), structured text (ST), and sequential function chart (SFC). User program 230 can also be defined in a general-purpose programming language such as JavaScript (registered trademark) or C.
[0055] The user program 230 of the embodiment is created in accordance with IEC 61131-3, a standard governing programming for PLCs, an example of the control device 200, and is composed of program components called POUs (Program Organization Units). User program 230 includes function blocks (hereinafter also referred to as "FBs") as components of the POUs.
[0056] A "function block" is a componentized function that is used repeatedly within the user program 230. More specifically, a function block is a POU used when creating a component (e.g., a class) in which output variables such as a timer or counter sometimes differ relative to the same input variables depending on the state of the drive device 400 that is the control object. In a function block, at least one variable used when executing the function block is predetermined. "At least one variable" includes, for example, input variables, output variables, input / output variables, and internal variables. Input variables are variables used within a function block as input data input to the function block. Output variables are variables used within a function block as output data output from the function block. Input / output variables are variables used within a function block as input / output data for the function block. Internal variables are variables used to temporarily store data within a function block.
[0057] Function blocks prepared in advance as classes are also called FB definitions. When configured in user program 230, a function block (FB definition) is independently processed as an instance in user program 230, allowing it to actually run on user program 230. Generally, the term "function block" encompasses both function blocks (FB definitions) representing classes and function blocks instantiated by being built into user program 230. However, in this embodiment, "function block" refers to function blocks (FB definitions) representing classes.
[0058] Reference Figure 2 , explains the instantiation of function blocks (FB definitions). Figure 2 This is a diagram showing an example of instantiation of a function block (FB definition). Figure 2 As shown, FB1 (FB definition) predefines at least one variable (Var1, Var2, ...). This FB1 (FB definition) is configured in user program 230 and processed separately as FB1 corresponding to instance 1 and FB1 corresponding to instance 2 in user program 230.
[0059] An "instance" is created by configuring a function block (FB definition) in user program 230. Each instance specified in user program 230 uses a separate memory area. By creating multiple instances based on a single function block (FB definition) in user program 230, the user can cause control device 200 to execute the same function but process different input and output data according to user program 230.
[0060] like Figure 2As shown, a function block (FB definition) has a unique "namespace" as identification information. For example, a function block (FB definition) has "FB1" as its namespace. Furthermore, instances have a unique "instance name" as identification information. For example, FB1 corresponding to instance 1 has "FB1instance1" as its instance name, and FB1 corresponding to instance 2 has "FB1instance2" as its instance name.
[0061] return Figure 1 The control device 200 includes a variable space 210, an address space 220, a user program 230, a communication management program 240, user setting information 250, and public setting information 260. These pieces of information are stored in a storage device 202 of the control device 200 described later.
[0062] The variable space 210 is a memory area containing at least one variable generated when executing the user program 230. Figure 1 In the example of FIG, the variable space 210 includes a plurality of variables such as a variable A, a variable B, and a variable C. These variables can be updated during the process in which the control device 200 executes the user program 230 to control the drive device 400.
[0063] The address space 220 is a memory area containing the address of at least one variable node corresponding to at least one variable stored in the variable space 210. Figure 1 In the example of FIG, the address space 220 includes addresses of variable node A, variable node B, and variable node C. Each address of variable node A, variable node B, and variable node C includes information for accessing each variable A, variable B, and variable C included in the variable space 210 .
[0064] The user program 230 is a program in which processing for the control device 200 to control the drive device 400 as a control target is described. The user program 230 is generated by the support device 100 and installed in the control device 200.
[0065] The communication management program 240 is a program for causing the control device 200 to function as an OPC UA server. It describes the process for causing the control device 200 to disclose publicly available variables to the external device 300 in response to an access request from the external device 300. The communication management program 240 is generated by the support device 100 and installed in the control device 200.
[0066] User settings information 250 includes login information for managing users who request access to data (variables, etc.) managed by the control device 200 using an external device 300. Hereinafter, to distinguish between "users" such as the designer of the user program 230, the user of the control system 1, or the administrator of the control system 1, users who request access to data managed by the control device 200 using an external device 300 will also be referred to as "access users." It should be noted that "users" and "access users" can be the same person or different individuals. Access users who can access data managed by the control device 200 are pre-registered in the control device 200 as user settings information 250. User settings information 250 is generated by the support device 100 and downloaded to the control device 200.
[0067] The disclosure setting information 260 includes information for determining whether to disclose data managed by the control device 200 to the external device 300. The disclosure setting information 260 is generated by the support device 100 and downloaded to the control device 200.
[0068] The control device 200 includes a disclosure management unit 270. In response to an access request from an external device 300, the disclosure management unit 270 discloses publicly accessible data to the external device 300 in accordance with the communication management program 240. For example, upon receiving an access request for a variable from the external device 300, the disclosure management unit 270 authenticates the accessing user based on the user settings information 250. After successfully authenticating the user, the disclosure management unit 270 determines, based on the disclosure settings information 260, whether disclosure of the variable subject to the access request is permitted. If disclosure of the variable subject to the access request is permitted, the disclosure management unit 270 extracts the address for accessing the variable subject to the access request from the address space 220 and discloses the address to the external device 300, the requesting source. The external device 300 can access the requested variable based on the address obtained from the control device 200.
[0069] In this manner, in control system 1, control device 200 can disclose variables generated during execution of user program 230 to external device 300 in response to a request from external device 300. Furthermore, control device 200 can authenticate accessing users based on user setting information and disclose only variables permitted for disclosure to external device 300 based on disclosure setting information.
[0070] However, when the control device 200 executes the user program 230, the number of variables generated is huge. Therefore, it is very troublesome to publicly set each variable. Thus, the support device 100 of the embodiment is configured to be able to specify at least one of variable public setting using the instance name that identifies the instance generated during the execution of the function block and variable public setting using the namespace inherent to the function block to set the public setting of variables to the external device 300.
[0071] Specifically, the support device 100 has a providing unit 110 and a public setting unit 120 as functions of the development tool 150. The providing unit 110 provides a user interface (a public setting screen described later) for the user to set whether to publicly disclose at least one variable stored in the instance generated during the execution of the user program 230 to the external device 300. And this user interface is configured such that the user can specify at least one of the instance name and the namespace to set whether to publicly disclose at least one variable to the external device 300. The public setting unit 120 generates public setting information 260 based on the setting made by the user using the user interface (public setting screen) provided by the providing unit 110. The public setting information 260 generated by the public setting unit 120 is downloaded to the control device 200.
[0072] According to the support device 100 having such a structure, the user can perform the public setting of variables to the external device 300 for each instance name or each namespace. Therefore, there is no need to separately perform the public setting for the huge number of variables generated during the execution of the user program 230, and the effort for public setting can be greatly omitted.
[0073] <B. Structure of the Control Device>
[0074] Refer to Figure 3 , and the hardware structure of the control device 200 will be described. Figure 3 is a diagram showing an example of the hardware structure of the control device 200. As Figure 3 shown, the control device 200 includes a processor 201, a storage device 202, a memory 203, a chipset 204, a control system interface 205, an information system interface 206, a USB controller 207, and a storage medium interface 208 as main components.
[0075] The processor 201 is a computing entity (computer) that performs various processes by executing various programs. The processor 201 may be comprised of, for example, a CPU (central processing unit) or an MPU (microprocessing unit). While the processor 201 has the function of executing various processes by executing programs, some or all of these functions may be implemented using dedicated hardware circuits such as an ASIC (application-specific integrated circuit) or an FPGA (field-programmable gate array). The processor 201 is not limited to a processor in the narrow sense that executes processes using a stored program, such as a CPU or MPU. It may also include hardwired circuits such as an ASIC or FPGA. Therefore, the processor 201 can also be considered a processing circuit whose processes are predefined by computer-readable code and / or hardwired circuits. Furthermore, the processor 201 may consist of a single chip or multiple chips. Furthermore, the processor 201 and its associated processing circuits may be comprised of multiple computers connected to each other by wired or wireless means, such as a local area network or wireless network. The processor 201 and related processing circuits may also be formed by a cloud computer, which performs remote calculations based on input data and outputs the calculation results to other devices located remotely.
[0076] The storage device 202 stores various programs and data executed by the processor 201. The storage device 202 may be one or more non-transitory computer-readable media or one or more computer-readable storage media. Examples of the storage device 202 include a hard disk drive (HDD) and a solid state drive (SSD). In the control device 200 of the embodiment, the storage device 202 stores a variable space 210, an address space 220, a user program 230, a communication management program 240, user setting information 250, and public setting information 260.
[0077] The memory 203 includes a volatile storage area (such as a work area) that temporarily stores program codes, working memory, etc. when the processor 201 executes various programs. As an example of the memory 203, volatile memories such as DRAM (dynamic random access memory) and SRAM (static random access memory), or non-volatile memories such as ROM (Read Only Memory) and flash memory can be cited.
[0078] The chipset 204 has a relay function for managing and processing data exchanges between the devices constituting the control device 200.
[0079] The control system interface 205 is an interface that mediates data exchanges between the control device 200 and the drive device 400.
[0080] The information system interface 206 is an interface that mediates data exchanges between the control device 200 and the external device 300.
[0081] The USB controller 207 is an interface that mediates data exchanges between the control device 200 and the support device 100.
[0082] The storage medium interface 208 is configured to be able to mount and dismount the storage medium 209, and is an interface for allowing the control device 200 to write various data such as user programs 230, communication management programs 240, user setting information 250, and public setting information 260 to the storage medium 209, or for allowing the control device 200 to read the various data from the storage medium 209. In addition, the storage medium 209 can be one or more non-transitory computer-readable media (non-transitory computer readable medium) such as a memory card, a removable disk, or a USB memory, or can be one or more computer-readable storage media (computer readable storage medium).
[0083] <C. Structure of the Support Device>
[0084] Refer to Figure 4 , and the hardware structure of the support device 100 will be described. Figure 4 is a diagram showing an example of the hardware structure of the support device 100. As Figure 4 shown, the support device 100 includes a processor 101, a storage device 102, a memory 103, a bus 104, a display unit 10, an input unit 106, a USB controller 107, and a storage medium interface 108 as main components.
[0085] Processor 101 is a computing entity (computer) that performs various processes by executing various programs. Processor 101 may be comprised of, for example, a CPU or MPU. While processor 101 has the function of executing various processes by executing programs, some or all of these functions may be implemented using dedicated hardware circuitry, such as an ASIC or FPGA. Processor 101 is not limited to a processor in the narrow sense of a CPU or MPU that executes processes using a stored program; it may also include hardwired circuitry, such as an ASIC or FPGA. Therefore, processor 101 can also be considered processing circuitry whose processes are predefined by computer-readable code and / or hardwired circuitry. Processor 101 may consist of a single chip or multiple chips. Furthermore, processor 101 and its associated processing circuitry may be comprised of multiple computers interconnected by wired or wireless means, such as a local area network or wireless network. Processor 101 and its associated processing circuitry may also be comprised of a cloud computer that remotely performs computations based on input data and outputs the computational results to other remote devices.
[0086] The storage device 102 stores various programs and data executed by the processor 101. The storage device 102 may be one or more non-transitory computer-readable media or one or more computer-readable storage media. Examples of the storage device 102 include a HDD and a SSD. In the support device 100 of this embodiment, the storage device 102 stores a support program 130.
[0087] The memory 103 includes a volatile storage area (e.g., a work area) that temporarily stores program code, work memory, etc. when the processor 101 executes various programs. Examples of the memory 103 include volatile memories such as DRAM and SRAM, and nonvolatile memories such as ROM and flash memory.
[0088] The bus 104 has a relay function for managing and processing data exchange between the devices constituting the support device 100 .
[0089] The display unit 105 is, for example, a display. Alternatively, the display unit 105 may be an interface for connecting to the display, mediating data exchange between the support device 100 and the display. In other words, the support device 100 may include a display as a component or may be separate from the display.
[0090] The input unit 106 is, for example, a peripheral device such as a keyboard or a mouse. Additionally, the input unit 106 can also be an interface for connecting a peripheral device configured to mediate data exchange between the support device 100 and the peripheral device. That is, the support device 100 can be configured to include a peripheral device such as a keyboard or a mouse, or can be separate from the peripheral device.
[0091] The USB controller 107 is an interface that mediates data exchange between the support device 100 and the control device 200.
[0092] The storage medium interface 108 is configured to be able to attach and detach the storage medium 109, and is an interface for the support device 100 to write various data such as the support program 130 to the storage medium 109 or to read the various data from the storage medium 109. Additionally, the storage medium 109 can be one or more non - transitory computer readable media such as a memory card, a removable disk, or a USB memory, or can be one or more computer readable storage media.
[0093] <D. Structure of External Device>
[0094] Refer to Figure 5 The hardware structure of the external device 300 will be described. Figure 5 This is a diagram showing an example of the hardware structure of the external device 300. As Figure 5 shown, the external device 300 includes a processor 301, a storage device 302, a memory 303, a bus 304, a display unit 305, an input unit 306, a communication interface 307, and a storage medium interface 308 as main components.
[0095] Processor 301 is a computing entity (computer) that performs various processes by executing various programs. Processor 301 may be comprised of, for example, a CPU or MPU. While processor 301 has the function of executing various processes by executing programs, some or all of these functions may be implemented using dedicated hardware circuitry, such as an ASIC or FPGA. Processor 301 is not limited to a processor in the narrow sense of a CPU or MPU that executes processes using a stored program; it may also include hardwired circuitry, such as an ASIC or FPGA. Therefore, processor 301 can also be considered processing circuitry in which processing is predefined using computer-readable code and / or hardwired circuitry. Processor 301 may consist of a single chip or multiple chips. Furthermore, processor 301 and its associated processing circuitry may be comprised of multiple computers interconnected by wired or wireless means, such as a local area network or wireless network. Processor 301 and its associated processing circuitry may also be comprised of a cloud computer that remotely performs computations based on input data and outputs the computational results to other remote devices.
[0096] The storage device 302 stores various programs and data executed by the processor 301. The storage device 302 may be one or more non-transitory computer-readable media or one or more computer-readable storage media. Examples of the storage device 302 include an HDD and an SSD. In the external device 300 of the embodiment, the storage device 302 stores a communication program 330. The communication program 330 is a program for enabling the external device 300 to function as an OPC UA client and describes the processing for the external device 300 to request access to variables managed by the control device 200.
[0097] The memory 303 includes a volatile storage area (e.g., a work area) that temporarily stores program code, work memory, etc. when the processor 301 executes various programs. Examples of the memory 303 include volatile memories such as DRAM and SRAM, and nonvolatile memories such as ROM and flash memory.
[0098] The bus 304 has a relay function for managing and processing data exchange between the devices constituting the external device 300 .
[0099] The display unit 305 is, for example, a display. Additionally, the display unit 305 can also be an interface for connecting a display configured to mediate data exchange between the external device 300 and the display. That is, the external device 300 can be configured to include a display or can be separate from the display.
[0100] The input unit 306 is, for example, a peripheral device such as a keyboard or a mouse. Additionally, the input unit 306 can also be an interface for connecting a peripheral device configured to mediate data exchange between the external device 300 and the peripheral device. That is, the external device 300 can be configured to include a peripheral device such as a keyboard or a mouse or can be separate from the peripheral device.
[0101] The communication interface 307 is an interface that mediates data exchange between the external device 300 and the control device 200.
[0102] The storage medium interface 308 is configured to be able to load and unload the storage medium 309 and is an interface for allowing the external device 300 to write various data such as the communication program 330 to the storage medium 309 or for allowing the external device 300 to read the various data from the storage medium 309. Additionally, the storage medium 309 can be one or more non - transitory computer - readable media such as a memory card, a removable disk, or a USB memory, or can be one or more computer - readable storage media.
[0103] <E. Sequence Flow>
[0104] Refer to Figure 6 , and the processing flows of the support device 100, the control device 200, the drive device 400, and the external device 300 will be described. Figure 6 It is a sequence diagram showing the processing flows of the support device 100, the control device 200, the drive device 400, and the external device 300 respectively. Figure 6 Each step (STEP) (hereinafter, represented by "S") of the support device 100 shown is implemented by the processor 101 executing the support program 130. Figure 6 Each step of the control device 200 shown is implemented by the processor 201 executing the user program 230 and the communication management program 240. Figure 6 Each step of the external device 300 shown is implemented by the processor 301 executing the communication program 330.
[0105] As Figure 6As shown, when the support device 100 receives an operation for displaying a development screen, it displays the development screen on the display unit 105 (S11). The user develops the user program 230 using the development screen. Figure 7 This will be described later. The support device 100 compiles the user program 230 and transmits it to the control device 200 as an executable file ( S12 ).
[0106] Upon receiving the user program 230 transmitted from the support device 100 , the control device 200 stores the user program 230 in the storage device 202 ( S21 ).
[0107] When the support device 100 receives an operation for displaying the user setting screen, it displays the user setting screen on the display unit 105 (S13). The user registers a specific person as an access user of the network public service using the user setting screen, and uses the details to Figure 8 This will be described later. The support device 100 generates user setting information 250 based on the input content of the user setting screen (S14). The support device 100 transmits the user setting information 250 to the control device 200 (S15).
[0108] Upon receiving the user setting information 250 transmitted from the support device 100 , the control device 200 stores the user setting information 250 in the storage device 202 ( S22 ).
[0109] When the support device 100 receives an operation for displaying the disclosure setting screen, it displays the disclosure setting screen on the display unit 105 (S16). The user uses the disclosure setting screen to input information related to whether to disclose the data (variables, etc.) managed by the control device 200 to the external device 300. Figures 9 to 11 This will be described later. The support device 100 generates the public setting information 260 based on the input content of the public setting screen ( S17 ). The support device 100 transmits the public setting information 260 to the control device 200 ( S18 ).
[0110] Upon receiving the public setting information 260 transmitted from the support device 100 , the control device 200 stores the public setting information 260 in the storage device 202 ( S23 ).
[0111] Upon receiving an execution command from user program 230, control device 200 executes user program 230 to control drive device 400. If user program 230 is a cyclically executed program, control device 200 repeatedly executes the command set contained in user program 230 according to a predetermined control cycle. More specifically, control device 200 executes the first to last lines of user program 230 in one control cycle, and then executes the first to last lines of user program 230 again in the next control cycle. Control device 200 generates a command value in each control cycle and outputs the command value to drive device 400.
[0112] As described above, the control device 200 executes the user program 230 to control the drive device 400 , thereby storing variables in each instance predetermined by the user program 230 .
[0113] When the access user accesses a variable generated when the user program 230 is executed, the external device 300 receives login information input by the access user ( S31 ).
[0114] When the control device 200 receives the login information input into the external device 300, it compares the login information with the login information contained in the user setting information 250. If the comparison result shows that the login information input into the external device 300 is consistent with the login information contained in the user setting information 250, it is determined that the authentication of the accessing user is legitimate.
[0115] When the variable that the access user wishes to access is determined, the external device 300 receives information for determining the variable input by the access user ( S33 ) and requests the control device 200 to access the variable specified by the access user ( S34 ).
[0116] When the control device 200 receives an access request from the external device 300, it determines whether to permit disclosure of the variables subject to the access request to the accessing user based on the disclosure settings information 260 (S25). If disclosure of the variables subject to the access request to the accessing user is not permitted (No in S25), the control device 200 does not disclose the variables subject to the access request to the accessing user and proceeds to the next step. On the other hand, if disclosure of the variables subject to the access request to the accessing user is permitted (Yes in S25), the control device 200 transmits the address for accessing the variables subject to the access request to the external device 300 (S26).
[0117] The external device 300 displays the variable to be accessed on the display unit 305 based on the address received from the control device 200 ( S34 ).
[0118] Thus, in the case where there is an access request for a variable from an access user, the control device 200 can disclose the variable to the access user on the condition that the disclosure of the variable is permitted based on the disclosure settings set by the support device 100.
[0119] <F. Development Screen of User Program>
[0120] Refer to Figure 7 , and the development screen 151 of the user program 230 will be described. Figure 7 It is a diagram showing an example of the development screen provided by the support device 100 as a user interface.
[0121] The user program 230 is described in ladder logic. By combining arbitrary function blocks in the development screen 151 or specifying the input / output relationships of variables or function blocks, the user can design the user program 230 corresponding to the drive device 400 of the control object.
[0122] The user program 230 includes at least one function block. For example, as Figure 7 shown, the user program 230 includes a function block (FB definition) with the namespace "FB1" and a function block (FB definition) with the namespace "FB2". FB1 is defined in the user program 230 as FB1 corresponding to instance 1 and FB1 corresponding to instance 2. For FB1 corresponding to instance 1, the instance name "FB1 Instance 1" is attached. For FB1 corresponding to instance 2, the instance name "FB2 Instance 1" is attached. FB2 is defined in the user program 230 as FB2 corresponding to instance 1 and FB2 corresponding to instance 2. For FB2 corresponding to instance I, the instance name "FB2 Instance 1" is attached. For FB2 corresponding to instance 2, the instance name "FB2 Instance 2" is attached.
[0123] The function block corresponding to FB1 Instance 1 executes its own function based on variable 1 associated with its input. The execution result of the function block corresponding to FB1 Instance 1 is reflected in variable 2 associated with its output. The function block corresponding to FB1 Instance 2 executes its own function based on variable 2 associated with its input. The execution result of the function block corresponding to FB1 Instance 2 is reflected in variable 3 associated with its output. The function block corresponding to FB2 Instance 1 executes its own function based on variable 3 associated with its input. The execution result of the function block corresponding to FB2 Instance 1 is reflected in variable 4 associated with its output. The function block corresponding to FB2 Instance 2 executes its own function based on variable 4 associated with its input. The execution result of the function block corresponding to FB2 Instance 2 is reflected in variable 5 associated with its output.
[0124] In this way, the user can develop an arbitrary user program 230 by combining variables or functional blocks in the development screen 151.
[0125] <G. User Setting Screen>
[0126] Refer to Figure 8 A description is given of the user setting screen 152. Figure 8 This is a diagram showing an example of the user setting screen 152 provided as a user interface by the support device 100. As Figure 8 shown, the user setting screen 152 includes input fields 1521, 1522, 1523 and icons 1524, 1525.
[0127] The input field 1521 is an input field for entering a user name. The input field 1522 is an input field for entering a password. The input field 1523 is an input field for entering a confirmation password. The icon 1524 is an icon to be operated when confirming the input. The icon 1525 is an icon to be operated when canceling the input.
[0128] The user enters the user name of a specific person to be registered in the network public service into the input field 1521 in the user setting screen 152, and enters the password of the specific person into the input field 1522 and the input field 1523, and then operates the icon 1524. Thereby, the user can register a specific person as an access user of the network public service in the user setting screen 152. <00003…In the example of , the selection field 1543 includes a function block to which "FB1" is attached and a function block to which "FB2" is attached as options. The icon 1545 is an icon to be operated when the function block selected in the selection field 1543 is designated.
[0133] The selection field 1546 is a selection field for the user to select an arbitrary instance from at least one instance specified in the user program 230. Figure 9 as well as Figure 10 In the example shown in FIG. 1 , selection bar 1546 includes options for an instance with "FB1 instance 1," an instance with "FB1 instance 2," an instance with "FB2 instance 1," and an instance with "FB2 instance 2." Icon 1548 is an icon that is operated when the instance selected in selection bar 1546 is specified.
[0134] like Figure 9 As shown, when the user specifies a function block (namespace) for public setting, he or she specifies one function block from among the function blocks labeled "FB1" and "FB2" included in selection bar 1543 and operates icon 1545. This allows the user to select a function block from at least one function block included in selection bar 1543.
[0135] When a user selects a function block in selection field 1543 and operates icon 1541, all variables used in the selected function block can be made public to the accessing user. For example, if the user selects FB2 and operates icon 1541, control device 200 allows the public disclosure of all variables generated when executing the function block labeled "FB2." In this case, regardless of whether FB2 instance 1 or FB2 instance 2 is executed, control device 200 makes the variables generated during execution public to the accessing user.
[0136] On the other hand, when the user selects a function block in selection bar 1543 and operates icon 1542, all variables used in the selected function block can be set to be hidden from the user. For example, if the user selects FB2 and operates icon 1542, control device 200 will not disclose all variables generated when executing the function block assigned "FB2." In this case, regardless of whether FB2 instance 1 or FB2 instance 2 is executed, the control device 200 will not disclose the variables generated during execution to the user.
[0137] like Figure 10As shown, when the user specifies an instance (instance name) for public setting, he or she selects an instance from "FB1 Instance 1," "FB1 Instance 2," "FB2 Instance 1," and "FB2 Instance 2" included in selection field 1546 and operates icon 1548. Thus, the user can select an instance from at least one instance included in selection field 1546.
[0138] When a user selects an instance in selection bar 1546 and operates icon 1541, all variables used in the selected instance can be made public to the accessing user. For example, if a user selects FB2 Instance 1 and operates icon 1541, control device 200 allows the disclosure of all variables generated when executing FB2 Instance 1. It should be noted that for instances other than FB2 Instance 1, namely FB1 Instance 1, FB1 Instance 2, and FB2 Instance 2, control device 200 determines whether to disclose variables based on separate disclosure settings.
[0139] On the other hand, when the user selects an instance in selection bar 1546 and operates icon 1542, all variables used in the selected instance can be set to not be disclosed to the accessing user. For example, when the user selects FB2 instance 1 and operates icon 1542, control device 200 prohibits disclosure of all variables generated when executing FB2 instance 1. It should be noted that for instances other than FB2 instance 1, namely FB1 instance 1, FB1 instance 2, and FB2 instance 2, control device 200 determines whether to disclose variables based on separate disclosure settings.
[0140] In this way, users can publicly configure variables using the function block's unique namespace and can also publicly configure variables using instance names that identify instances generated when the function block is executed. This eliminates the need for users to publicly configure the large number of variables generated when executing user program 230, minimizing the effort required for public configuration. Furthermore, users can shorten public configuration time and reduce public configuration errors. As a result, users can reduce development costs by concentrating the effort and time required for public configuration on other, more complex tasks.
[0141] Furthermore, by using namespaces to publicly configure variables, users can, for example, publicly configure variables used in a selected function block, regardless of which instance the function block corresponds to. Alternatively, by using instance names to publicly configure variables, users can, for example, publicly configure variables used only in a selected instance among multiple instances of the same function block. This allows users to more efficiently configure variable disclosure settings to external devices 300.
[0142] As Figure 11 shown, the support device 100 can also be configured to be able to set whether to disclose to the external device 300 at least one variable stored in the instance designated by itself for each instance. For example, as Figure 11 shown, the disclosure setting screen 154 includes a name column 1551 indicating the name of each variable stored in one instance, a data type column 1552 indicating the data type of each variable, and a network disclosure column 1553 indicating the type of network disclosure.
[0143] When the user selects the intention to disclose the selected instance in the Figure 9 and Figure 10 shown selection column 1546, at least one variable used in the selected instance is displayed as an option in the name column 1551. The user can, taking the name of the variable shown in the name column 1551 as a clue, select "disclose" or "non-disclose" in a drop-down form in the network disclosure column 1553 for each variable. For example, in the Figure 11 example, for the FB2 instance 1 that is allowed to be disclosed as an instance as a whole, "disclose" is selected for Var1, Var2, and Var3. In this case, the control device 200 allows Var1, Var2, and Var3 to be disclosed to the external device 300. On the other hand, for the FB2 instance 1 that is allowed to be disclosed as an instance as a whole, "non-disclose" is selected for Var4. In this case, the control device 200 does not allow Var4 to be disclosed to the external device 300.
[0144] In this way, since the user can further perform disclosure settings for at least one variable stored in the instance allowed to be disclosed, the disclosure settings of variables to the external device 300 can be set more detailedly and efficiently.
[0145] In addition, the support device 100 can also be configured such that the user can set whether to allow or prohibit reading variables and whether to allow or prohibit writing to variables through the disclosure setting screen 154.
[0146] <I. Modification Example>
[0147] The present disclosure is not limited to the above-described embodiments, and various modifications and applications can also be made. Specifically, the support device 100 of the embodiment can perform disclosure settings for variables using a namespace and disclosure settings for variables using an instance name. Therefore, the support device 100 may also further include a structure for eliminating the adverse conditions when performing both disclosure settings simultaneously.
[0148] For example, if the user operates icon 1542 while FB2 is selected, the disclosure setting is set so that the control device 200 does not permit disclosure of all variables generated when the function block assigned "FB2" is executed. On the other hand, if the user operates icon 1541 while FB2 instance 1 is selected, the disclosure setting is set so that the control device 200 permits disclosure of all variables generated when FB2 instance 1 is executed. In this case, the disclosure setting using namespaces prohibits disclosure of variables for the function block assigned "FB2," while the disclosure setting using instances permits disclosure of variables for FB2 instance 1, potentially creating a conflict between the two.
[0149] Therefore, the support device 100 may be configured to be able to set only one of the public setting of the usage namespace and the public setting of the usage instance.
[0150] And, as Figures 12 to 14 As shown, the support device 100 may be configured to give priority to either the public setting of the usage namespace or the public setting of the usage instance. Figures 12 to 14 15 is a diagram showing a modified example of the public setting screen 154 as a user interface provided by the support device 100 .
[0151] like Figure 12 As shown, disclosure setting information 260 may also include information that sets whether to disclose variables to external device 300, giving priority to variables specified by instance names over variables specified by namespaces. In this way, for example, even if the disclosure setting using namespaces disallows disclosure of variables for a function block assigned "FB2," but the disclosure setting using instances allows disclosure of variables for FB2 instance 1, control device 200 will disclose the variables used in FB2 instance 1 to external device 300 based on disclosure setting information 260, thus avoiding conflicts between the two.
[0152] like Figure 13 As shown, the disclosure setting information 260 may also include information that sets whether to disclose variables to the external device 300, giving priority to variables specified by namespaces over variables specified by instance names. In this way, for example, even if the disclosure setting using namespaces prohibits disclosure of variables for a function block assigned "FB2," while the disclosure setting using instances permits disclosure of variables for FB2 instance 1, the control device 200, based on the disclosure setting information 260, does not disclose the variables used in FB2 instance 1 using FB2 to the external device 300, thereby avoiding any conflict between the two.
[0153] like Figure 14As shown, the public setting screen 154 includes a selection bar 1549 for the user to set whether to prioritize the variable corresponding to either the namespace or the instance name for disclosure to the external device 300. When the user selects one of the namespace and the instance name for the priority disclosure setting in the selection bar 1549, the support device 100 preferentially generates the public setting information 260 for the one selected by the user. Thus, for example, when the user selects the instance name in the selection bar 1549, the control device 200 discloses the variables used in the FB2 instance 1 to the external device 300 based on the public setting information 260, and can avoid contradictions between the two.
[0154] <J. Note>
[0155] As described above, the present embodiment includes the following disclosure.
[0156] (Structure 1)
[0157] A support device 100 that supports a control device 200 that controls a control object according to a user program 230, wherein the support device 100 includes: a providing unit 110 that provides a user interface for the user to set whether to disclose at least one variable stored in an instance generated when executing the user program to an external device 300; and a public setting unit 120 that generates public setting information 260 based on the setting made by the user using the user interface, and the control device manages whether to disclose the at least one variable stored in the instance generated when executing the user program to the external device based on the public setting information, the user program includes first identification information that identifies the instance generated when executing a function block included in the user program, the function block has an inherent second identification information, and at least one variable used during execution is predetermined, and the user interface is configured such that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
[0158] (Structure 2)
[0159] The support device according to Structure 1, wherein the user interface is configured to be able to set whether to disclose at least one variable stored in the instance corresponding to the first identification information specified by the user to the external device for each instance.
[0160] (Structure 3)
[0161] The support device according to Structure 1 or Structure 2, wherein the disclosure setting information includes information for setting whether to disclose to the external device with priority given to the at least one variable specified by the first identification information over the at least one variable specified by the second identification information.
[0162] (Composition 4)
[0163] The support device according to Structure 1 or Structure 2, wherein the disclosure setting information includes information for setting whether to disclose to the external device with priority given to the at least one variable specified by the second identification information over the at least one variable specified by the first identification information.
[0164] (Structure 5)
[0165] In the support device according to Configuration 1 or Configuration 2, the user interface is configured to enable setting whether to disclose to the external device by giving priority to the at least one variable corresponding to either the first identification information or the second identification information.
[0166] (Structure 6)
[0167] A control method for a support device 100 that supports a control device 200 for controlling a control object according to a user program 230, wherein the control method includes the following steps: a step (S16) of providing a user interface for allowing a user to set whether to disclose at least one variable stored in an instance generated when the user program is executed to an external device 300; and a step (S17) of generating disclosure setting information based on the setting made by the user using the user interface, wherein the control device manages whether to disclose the at least one variable stored in the instance generated when the user program is executed to the external device based on the disclosure setting information, wherein the user program includes first identification information that identifies the instance generated when a function block included in the user program is executed, the function block having inherent second identification information and pre-determining the at least one variable used during execution, and the user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
[0168] (Structure 7)
[0169] A support program 130 supports a control device 200 that controls a control object according to a user program 230. The support program causes a computer 101 to execute the following steps: a step S16 of providing a user interface for a user to set whether to disclose at least one variable stored in an instance generated when the user program is executed to an external device; and a step S17 of generating disclosure setting information based on the setting made by the user using the user interface. The control device manages whether to disclose the at least one variable stored in the instance generated when the user program is executed to the external device based on the disclosure setting information. The user program includes first identification information that identifies the instance generated when a function block included in the execution of the user program is executed. The function block has inherent second identification information, and at least one variable used during execution is predetermined. The user interface is configured such that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
[0170] <K. Advantages>
[0171] According to the support device 100 of the embodiment, the user can specify at least one of the variable disclosure setting using the first identification information that identifies the instance generated when the function block is executed and the variable disclosure setting using the inherent second identification information of the function block, and can efficiently set the disclosure setting of the variable to the external device.
[0172] The embodiments disclosed herein should be considered illustrative in all respects and not restrictive. The scope of the present invention is represented not by the above description but by the claims, and is intended to include meanings equivalent to the claims and all modifications within the scope.
[0173] Reference Signs Explanation
[0174] 1 Control system; 10 Control system network; 20 Information system network; 100 Support device; 101, 201, 301 Processor; 102, 202, 302 Storage device; 103, 203, 303 Memory; 104, 304 Bus; 105, 305 Display unit; 106, 306 Input unit; 107, 207 USB controller; 108, 208, 308 Storage medium interface; 109, 209, 309 Storage medium; 110 Provider; 120 Public setting unit; 130 Support program; 150 Development tool; 151 Development screen; 152 User setting screen; 154 Public setting screen; 200 Control device; 204 Chipset; 205 Control system interface; 206 Information system interface; 210 Variable space; 220 Address space; 230 User program; 240 Communication management program; 250 User setting information; 260 Public setting Fixed information; 270 Public management department; 300 External device; 307 Communication interface; 330 Communication program; 400 Drive device; 400A Robot controller; 400B Servo drive; 400C Sensor; 401A Robot; 401B Servo motor; 1521, 1522, 1523 Input fields; 1524, 1525, 1541, 1542, 1545, 1548 Icons; 1543, 1546, 1549 Selection fields; 1551 Name field; 1552 Data type field; 1553 Network disclosure field.
Claims
1. A support device that supports a control device that controls a control object according to a user program, wherein: The supporting device comprises: a providing unit that provides a user interface for allowing a user to set whether to disclose at least one variable stored in an instance generated when the user program is executed to an external device; as well as a public setting unit that generates public setting information based on the setting performed by the user using the user interface, The control device manages whether to disclose the at least one variable stored in the instance generated when the user program is executed to the external device based on the disclosure setting information, The user program includes first identification information that identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information, and the at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
2. The support device according to claim 1, wherein: The user interface is configured to enable setting, for each of the instances corresponding to the first identification information specified by the user, whether or not to disclose the at least one variable stored in the instance to the external device.
3. The support device according to claim 1 or 2, wherein: The disclosure setting information includes information for setting whether to disclose to the external device with priority given to the at least one variable specified by the first identification information over the at least one variable specified by the second identification information.
4. The support device according to claim 1 or 2, wherein: The disclosure setting information includes information for setting whether to disclose to the external device with priority given to the at least one variable specified by the second identification information over the at least one variable specified by the first identification information.
5. The support device according to claim 1 or 2, wherein: The user interface is configured to enable setting whether to disclose to the external device by giving priority to the at least one variable corresponding to either the first identification information or the second identification information.
6. A control method for a support device, wherein the support device supports a control device that controls a control object according to a user program, wherein: The control method comprises the following steps: providing a user interface for allowing a user to set whether to disclose at least one variable stored in an instance generated when executing the user program to an external device; as well as generating public setting information based on the setting made by the user using the user interface, The control device manages whether to disclose the at least one variable stored in the instance generated when the user program is executed to the external device based on the disclosure setting information, The user program includes first identification information that identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information, and the at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
7. A support program that supports a control device that controls a control object according to a user program, wherein: The support program causes the computer to execute the following steps: providing a user interface for allowing a user to set whether to disclose at least one variable stored in an instance generated when executing the user program to an external device; as well as generating public setting information based on the setting made by the user using the user interface, The control device manages whether to disclose the at least one variable stored in the instance generated when the user program is executed to the external device based on the disclosure setting information, The user program includes first identification information that identifies the instance generated when a function block included in the user program is executed. The function block has inherent second identification information, and the at least one variable used during execution is predetermined. The user interface is configured so that the user can specify at least one of the first identification information and the second identification information to set whether to disclose the at least one variable to the external device.
Citation Information
Patent Citations
Control system, development assistance apparatus and development assistance program
JP2019159632A