WO2023157091A1 - 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 - Google Patents

画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 Download PDF

Info

Publication number
WO2023157091A1
WO2023157091A1 PCT/JP2022/005999 JP2022005999W WO2023157091A1 WO 2023157091 A1 WO2023157091 A1 WO 2023157091A1 JP 2022005999 W JP2022005999 W JP 2022005999W WO 2023157091 A1 WO2023157091 A1 WO 2023157091A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration information
function block
image
state image
state
Prior art date
Application number
PCT/JP2022/005999
Other languages
English (en)
French (fr)
Inventor
圭亮 中島
照昌 安井
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2022547160A priority Critical patent/JP7241982B1/ja
Priority to PCT/JP2022/005999 priority patent/WO2023157091A1/ja
Priority to CN202280085050.7A priority patent/CN118435134A/zh
Publication of WO2023157091A1 publication Critical patent/WO2023157091A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Definitions

  • the present disclosure relates to an image generation program, an image generation device, a programmable controller system, and an image generation method.
  • FA Vectory Automation
  • a large number of devices are controlled by operating a programmable controller according to a pre-created operation program.
  • Function blocks corresponding to so-called routines are used to efficiently describe operating programs. If the function block is distributed, many users can use the functions of the function block without any coding work. For example, a manufacturer of a device to be controlled provides function blocks related to the device to the user on site.
  • the present disclosure has been made in view of the above circumstances, and aims to achieve both user-friendliness and reduction of design and implementation work burdens in relation to a user interface for observing the functions of function blocks. .
  • an image generation program of the present disclosure acquires function block information indicating a function block corresponding to a routine described in an operation program for operating a programmable controller by a computer, and obtains function block information.
  • Acquisition means for acquiring individually determined individual configuration information for the function block, defining the configuration of the state image indicating the state of the parameters related to the function block when the function block is used; It functions as generating means for generating based on information and outputting to a display device.
  • the acquisition means acquires the individual configuration information defined individually for the function blocks, which defines the configuration of the state image, and the generation means generates the state image based on the individual configuration information. Therefore, a user-friendly user interface can be provided by creating individual configuration information without designing and implementing user interfaces corresponding to various function blocks from scratch. Therefore, regarding the user interface for observing the functions of the function blocks, it is possible to achieve both ease of use for the user and reduction of the work load of design and implementation.
  • FIG. 1 shows a functional configuration of an image generation device according to Embodiment 1;
  • FIG. 1 shows a hardware configuration of an image generation device according to Embodiment 1;
  • FIG. 11 is a diagram showing an example of a function block according to Embodiment 1;
  • FIG. 4 shows a state image generated based on individual configuration information according to Embodiment 1;
  • a diagram showing an example of individual configuration information according to Embodiment 1 A diagram showing an example of common configuration information according to the first embodiment
  • FIG. 4 shows a state image generated based on common configuration information according to Embodiment 1;
  • Flowchart showing image generation processing according to Embodiment 1 shows a state image generated based on individual configuration information and common configuration information according to Embodiment 1;
  • FIG. 10 shows individual configuration information and a plurality of common configuration information having priorities according to the third embodiment
  • the image generation device 10 according to the embodiment of the present disclosure will be described in detail below with reference to the drawings.
  • Embodiment 1 The image generating apparatus 10 according to the present embodiment constitutes a programmable controller system 100 together with a PLC (Programmable Logic Controller) 20 that controls a device 21, as shown in FIG.
  • Programmable controller system 100 is an FA (Factory Automation) system for managing the operation contents of PLC 20 .
  • the PLC 20 is a control device that corresponds to an example of a programmable controller.
  • the PLC 20 controls one or a plurality of devices 21 according to an operation program provided from the image generation device 10 to realize various processes represented by a production line.
  • An operation program corresponds to an example of a program for operating a programmable controller.
  • the PLC 20 controls the flow of workpieces on the belt conveyor by controlling the device 21 having a robot arm based on the sensing results of the device 21, which is a sensor, according to a ladder program, which is a type of operation program.
  • a plurality of PLCs 20 may cooperate to control one or more devices 21 .
  • the PLC 20 and the device 21 are connected via a signal line that transmits voltage signals or current signals, a communication line that transmits serial data, or an industrial network.
  • the PLC 20 is connected to the image generation device 10 via a communication line typified by a USB (Universal Serial Bus) cable or a LAN (Local Area Network).
  • the image generation device 10 is a computer typified by an industrial PC (Personal Computer) and corresponds to a terminal for managing the PLC 20 .
  • the image generation device 10 executes software called an engineering tool to edit the contents of an operation program to be executed by the PLC 20, write the created operation program to the PLC 20, and convert data stored in the memory of the PLC 20. Do a read.
  • the image generation device 10 generates a state image showing the state of the function block when the function block corresponding to the routine included in the operation program is actually functioned and the test run of the PLC 20 is performed. The user is presented with a trial run screen including
  • FIG. 2 shows the hardware configuration of the image generation device 10.
  • the image generation device 10 has a processor 31, a main storage section 32, an auxiliary storage section 33, an input section 34, an output section 35, and a communication section 36, as shown in FIG.
  • the main storage section 32 , auxiliary storage section 33 , input section 34 , output section 35 and communication section 36 are all connected to the processor 31 via an internal bus 37 .
  • the processor 31 includes a CPU (Central Processing Unit) or MPU (Micro Processing Unit).
  • the processor 31 performs functions described later by executing the program P1 stored in the auxiliary storage unit 33 .
  • the program P1 corresponds to an example of an image generation program that causes the image generation device 10 to perform various functions.
  • the main storage unit 32 includes a RAM (Random Access Memory).
  • a program P1 is loaded from the auxiliary storage unit 33 into the main storage unit 32 .
  • the main storage unit 32 is used as a work area for the processor 31 .
  • the auxiliary storage unit 33 includes a non-volatile memory typified by EEPROM (Electrically Erasable Programmable Read-Only Memory).
  • the auxiliary storage unit 33 stores various data used for the processing of the processor 31 in addition to the program P1.
  • Auxiliary storage unit 33 supplies data used by processor 31 to processor 31 and stores the data supplied from processor 31 in accordance with instructions from processor 31 .
  • the input unit 34 includes an input device typified by a keyboard.
  • the input unit 34 acquires information input by the user of the image generation device 10 and notifies the processor 31 of the acquired information.
  • the output unit 35 includes an output device typified by an LCD (Liquid Crystal Display).
  • the output unit 35 presents various information to the user according to instructions from the processor 31 .
  • the communication unit 36 includes a communication interface circuit for communicating with external devices.
  • the communication unit 36 receives a signal from the outside and notifies the processor 31 of information indicated by this signal.
  • the communication unit 36 also transmits a signal indicating information output from the processor 31 to an external device.
  • the image generation device 10 exhibits the function of generating a state image that presents the state of the function block being executed to the user through the cooperation of the hardware configuration described above.
  • the image generation device 10 has, as its functions, an acquisition unit 11 that acquires FB information 121, individual configuration information 122, and common configuration information 123 and stores them in the storage unit 12;
  • a storage unit 12 that stores information provided from an acquisition unit 11, a generation unit 13 that generates a state image of a function block using the information stored in the storage unit 12, and a trial operation screen including the state image to a user.
  • It has a UI (User Interface) unit 14 for presentation, and an instruction unit 15 for transmitting a test run instruction to the PLC 20 in accordance with the user's operation input to the UI unit 14 .
  • UI User Interface
  • the acquisition unit 11 is realized mainly by the cooperation of the processor 31 and the input unit 34.
  • the acquisition unit 11 acquires FB information 121, individual configuration information 122, and common configuration information 123 input by the user.
  • the FB information 121 corresponds to an example of function block information indicating function blocks.
  • a function block is a so-called routine, that is, a reusable program component corresponding to a set of instructions, and is characterized by being able to hold variables inside.
  • the function block performs predetermined processing on input data using variables and outputs the result.
  • the FB information 121 indicates the type of data input to the function block, the processing applied to the data, and the type of data output from the function block as a processing result.
  • function blocks may output processing results without using variables.
  • FIG. 3 illustrates a function block 40 named "MCv_AllPower”.
  • This function block 40 is a function block for handling the device 21, which is a servo amplifier.
  • the inputs to the function block 40 are "Axis” indicating the axis to be controlled, "Enable” as a bit value indicating whether to enable the function of the function block 40, and whether to turn on the servo amplifier. It contains a bit value "ServoON" that indicates whether the
  • the output of the function block 40 is "Axis” equivalent to the input "Axis”, a bit value “Busy” indicating whether or not the function block is operating, and an error occurring in the function block 40. and an unsigned word type “ErrorID” indicating the type of error when an error occurs.
  • "DUT” in FIG. 3 means a structure
  • "B” means a bit value
  • "UW” means an unsigned word.
  • the state of the function block 40 is indicated by the values of the parameters for the function block 40.
  • the parameters include arguments as input data and return values as output data. Parameters may also include intermediate parameters used in processing to obtain output from input.
  • parameters corresponding to inputs to function blocks may be referred to as input arguments
  • parameters corresponding to outputs may be referred to as output arguments. Also, these parameters are sometimes referred to as arguments.
  • the individual configuration information 122 is information that is individually predetermined for a function block and defines the configuration of the state image of the function block.
  • the common configuration information 123 is information that defines the configuration of the state image, which is predetermined in common for a plurality of function blocks. Details of the individual configuration information 122 and the common configuration information 123 will be described later.
  • the form in which the acquisition unit 11 acquires the FB information 121, the individual configuration information 122, and the common configuration information 123 may be arbitrarily changed.
  • the acquisition unit 11 may acquire some or all of the FB information 121, the individual configuration information 122, and the common configuration information 123 provided by the manufacturer of the device 21 by downloading them from a server device on the network. When these pieces of information are acquired by downloading, the acquisition unit 11 is implemented by the communication unit 36 .
  • the acquisition unit 11 may acquire part or all of the FB information 121, the individual configuration information 122, and the common configuration information 123 by reading them from recording media such as DVDs (Digital Versatile Disks) and memory cards. good.
  • the FB information 121, the individual configuration information 122, and the common configuration information 123 may be bundled with the device 21 to be sold, or these information may be bundled with the program P1 for sale.
  • the acquisition unit 11 corresponds to an example of acquisition means for acquiring function block information, individual configuration information, and common configuration information.
  • the storage unit 12 is mainly realized by at least one of the main storage unit 32 and the auxiliary storage unit 33.
  • the storage unit 12 stores the FB information 121 , the individual configuration information 122 and the common configuration information 123 stored by the acquisition unit 11 and provides these information in response to a request from the generation unit 13 .
  • the FB information 121 is information defined for each of a plurality of function blocks, and the storage unit 12 stores a plurality of pieces of FB information 121 respectively indicating different function blocks.
  • the individual configuration information 122 is information individually defined for each of the plurality of function blocks, and the storage unit 12 stores the plurality of individual configuration information 122 .
  • the individual configuration information 122 is not defined for some function blocks, and the storage unit 12 may store the FB information 121 of such function blocks for which there is no corresponding individual configuration information 122 . Since common configuration information 123 is common to a plurality of function blocks, storage unit 12 stores single common configuration information 123 .
  • the generation unit 13 is mainly implemented by the processor 31 .
  • the generation unit 13 In response to a request from the UI unit 14 that receives a user's selection of a specific function block, the generation unit 13 refers to the information in the storage unit 12 to generate a state image indicating the state of the parameters of the function block. do. Specifically, the generation unit 13 reads out the FB information 121 indicating the selected function block from the storage unit 12, and if the individual configuration information 122 of the function block is stored in the storage unit 12, the individual When the configuration information 122 is read and the individual configuration information 122 is not stored in the storage unit 12 , the common configuration information 123 is read instead of the individual configuration information 122 .
  • the generating unit 13 corresponds to an example of a generating unit that generates a state image when functioning a function block based on the individual configuration information and outputs the state image to the display device.
  • FIG. 4 illustrates a window 400 corresponding to an example of the state image generated by the generation unit 13.
  • This window 400 has a combo box 401 for selecting a function block, a combo box 402 for selecting an axis, buttons 403 and 404, and display sections 405, 406 and 407 for indicating parameter states.
  • the options in the combo box 402 correspond to "Axis" of the function block 40 shown in FIG.
  • the display units 405, 406 and 407 correspond to the output arguments of the function block 40, ie, "Busy”, “Error” and “ErrorID", respectively.
  • the state image corresponds to an example of an image showing the state of parameters related to the function block when the functions of the function block are used.
  • a window 400 as shown in FIG. 4 is generated based on the individual configuration information 122 illustrated in FIG.
  • This individual configuration information 122 is information that defines the arrangement of image elements contained in the window 400, and includes lines that define areas and lines that define the arrangement of image elements within the areas.
  • line 501 defines an area named "FB selection combo box area" with the upper left corner of window 400 as the origin, 10 pixels down and 10 pixels to the right, and 40 pixels down and 40 pixels to the right.
  • a point of 320 pixels to the right indicates a rectangular area defined by .
  • FB means a function block.
  • a rectangular area is defined in the same way as in line 501 .
  • Line 503 indicates that the character string "FB selection” is displayed on the left side of the "FB selection combo box area"
  • line 504 displays "GetFBs ( )” indicates that a combo box containing the array elements obtained as the return value of the function “.
  • Line 505 indicates that a button for inputting “enable” or “stop” is displayed on the left side of the "button area” in correspondence with the bit value of "Enable” which is the input argument of the function block 40.
  • a row 506 displays a red or green lamp and the characters “running” or “stopped” on the left side of the "lamp area” in correspondence with the bit value of "Busy", which is the output argument of the function block 40. indicates that the columns and .
  • the individual configuration information 122 defines the arrangement of image elements such as character strings, combo boxes, buttons, and lamps. At least some of the arranged image elements correspond to input arguments or output arguments of the function block, and the display form of the image elements is changed according to the values.
  • the display form of the image element means the characters forming the character string and the color, but is not limited to this.
  • FIG. 1 An example of the common configuration information 123 is shown in FIG.
  • This common configuration information 123 is written in the same format as the individual configuration information 122 .
  • the common configuration information 123 defines the arrangement of image elements in correspondence with different parameters included in a plurality of function blocks.
  • the common configuration information 123 does not directly refer to an argument that is used only for a specific function block among the plurality of function blocks corresponding to the common configuration information 123, and the generalized reference expression is Used.
  • line 601 in FIG. 6 indicates that all input arguments whose data type is Boolean are placed in the "input argument table area".
  • a window 600 as shown in FIG. 7 is generated as a state image.
  • This window 600 includes, as an image element, a table 602 showing a list of input arguments of function blocks.
  • the UI unit 14 is realized mainly by the cooperation of the input unit 34 and the output unit 35.
  • the UI unit 14 presents a screen including the state image generated by the generating unit 13 to the user, and receives a user's operation input using the screen.
  • the UI unit 14 receives a selection operation by pressing or tapping buttons 403 and 404 in FIG.
  • the UI unit 14 notifies the instruction unit 15 of the received operation, thereby reflecting the operation on the PLC 20 .
  • the UI unit 14 functions as an input/output interface for the user when trial-running the PLC 20 according to the function blocks.
  • the UI unit 14 corresponds to an example of a display device that displays the state image output from the generation unit 13 .
  • the instruction unit 15 is realized mainly by the cooperation of the processor 31 and the communication unit 36.
  • the instruction unit 15 operates the PLC 20 according to the user's operation notified from the UI unit 14 .
  • the user operation means to make the PLC execute the function of the function block on a trial basis. It can also be said that it is an instruction to cause the PLC 20 to execute an operation program.
  • the input argument of the function block the value specified by the user using the state image is adopted.
  • the instruction unit 15 reads parameters related to the function block when the PLC 20 executes the function block from the memory of the PLC 20 and outputs the parameters to the generation unit 13 .
  • the instruction unit 15 corresponds to an example of instruction means for instructing the programmable controller to operate according to the function block.
  • the image generation process corresponds to an example of an image generation method executed by an image generation device. Note that the image generation process is not limited to the procedure shown in FIG. 8, and the steps to be executed and the order of the steps may be arbitrarily changed as long as a state image showing the state of the function block is presented to the user. .
  • the acquisition unit 11 acquires FB information (step S1), and acquires individual configuration information and common configuration information (step S2). Specifically, the acquisition unit 11 reads these pieces of information from the area of the server device or recording medium indicated by the address specified by the user.
  • step S3 determines whether or not the user has input a test run operation for causing the PLC 20 to execute the function block. If it is determined that the test run operation has not been input (step S3; No), the determination of step S3 is repeated.
  • step S4 determines whether the individual configuration information 122 corresponding to the function block specified in the test run operation is stored in the storage unit 12. is determined (step S4).
  • step S4 determines whether the individual configuration information 122 is not stored in the storage unit 12 (step S4; No).
  • the generation unit 13 extracts the function block from the FB information 121 corresponding to the function block specified in the test run operation of step S3. is extracted, and a state image is generated based on the extracted argument information and the common configuration information 123 (step S5). This produces a window 600 as shown in FIG.
  • the generation unit 13 stores the information indicated in the state image by the common configuration information 123 as the individual configuration information 122. It is determined whether or not there is more information than that shown in the state image (step S6). Specifically, regarding the function block specified in the test run operation in step S3, whether or not the number of parameters referred to in the common configuration information 123 is greater than the number of parameters referred to in the individual configuration information 122 is generated. The part 13 determines.
  • step S6 If the determination in step S6 is negative (step S6; No), the generation unit 13 generates a state image based on the argument information extracted from the FB information 121 and the individual configuration information 122 in the same manner as in step S5. (Step S7). This produces a window 400 as shown in FIG.
  • step S6 determines whether the generation unit 13 is affirmative (step S6; Yes).
  • the generation unit 13 adds image elements related to parameters that are not referred to in the individual configuration information 122 but are referred to in the common configuration information 123 to the state image temporarily generated based on the individual configuration information 122. Add the containing layout to generate the state image to be displayed.
  • MCv_FB2 a function block named "MCv_FB2" having output arguments similar to function block 40 in FIG.
  • the elements are arranged based on the individual configuration information 122, and the window 900 arranged based on the common configuration information 123 for the image element corresponding to the output argument "ErrorID" is generated as a state image.
  • the image generation device 10 transmits a function block execution instruction to the PLC 20 to perform a test run of the PLC 20 and displays a state image to the user (step S9).
  • the instruction unit 15 transmits to the PLC 20 an instruction from the user input using the state image displayed by the UI unit 14 to operate the PLC 20, and the generation unit 13 operates the PLC 20. Reflect the result in the state image.
  • the timing at which the image generation processing ends may be the timing at which the user inputs a stop instruction, the passage of a predetermined length of time, or any other timing. good too.
  • the acquisition unit 11 acquires the individual configuration information 122 that defines the configuration of the state image, and the generation unit 13 generates the state image based on the individual configuration information 122. Therefore, a user-friendly user interface can be provided by creating individual configuration information without designing and implementing user interfaces corresponding to various function blocks from scratch. Therefore, regarding the user interface for observing the functions of the function blocks, it is possible to achieve both favorable usability for the user and reduction of the workload of design and implementation.
  • the generation unit 13 when there is no individual configuration information 122 corresponding to a function block, the generation unit 13 generates a state image based on the common configuration information 123. Therefore, there is no need to create individual configuration information 122 for all function blocks and distribute it to users. Therefore, the workload of the creator who creates the individual configuration information 122 is reduced, and the need for the user to manage a large number of individual configuration information 122 is eliminated.
  • a function block whose corresponding individual configuration information 122 is stored in the storage unit 12 corresponds to an example of a first function block
  • a function block whose corresponding individual configuration information 122 is not stored in the storage unit 12 corresponds to an example of the second function block.
  • the generation unit 13 generates a state image when the first function block functions based on the individual configuration information, and generates a state image when the second function block different from the first function block functions based on the common configuration information. It corresponds to an example of generating means for generating and outputting to a display device.
  • the burden on the creator of the individual configuration information 122 can be reduced because the individual configuration information 122 can be created for particularly important parameters.
  • the parameter referred to in the individual configuration information 122 corresponds to an example of a first parameter
  • the parameter not referred to in the individual configuration information 122 but referred to in the common configuration information 123 corresponds to an example of a second parameter. .
  • the generation unit 13 converts the parameter whose state is indicated by the state image configured according to the common configuration information for the first function block to the first parameter whose state is indicated by the state image configured according to the individual configuration information for the first function block. , and a second parameter different from the first parameter, a state image is generated that indicates the state of the first parameter based on the individual configuration information and indicates the state of the second parameter based on the common configuration information. It corresponds to an example of generating means.
  • the individual configuration information 122 and the common configuration information 123 define the arrangement of multiple image elements included in the state image. This makes it possible to directly configure the information presented to the user.
  • the test run of the PLC 20 is performed according to the function blocks. This allows the on-site user to easily observe the operation of the PLC 20 as a result of the functions of the function blocks being exhibited.
  • Embodiment 2 differs from the first embodiment in that individual configuration information 122 includes element information indicating new image elements, as shown in FIG.
  • a state image generated based on this individual configuration information 122 includes either an image of "image01.jpg” or "image02.jpg”.
  • the new image element is arranged in the state image generated by the generation unit 13. This makes it possible to flexibly design the state image.
  • Embodiment 3 Next, the third embodiment will be described, focusing on differences from the first embodiment described above. It should be noted that the same or equivalent configurations as those of the first embodiment are denoted by the same reference numerals, and the explanations thereof are omitted or simplified.
  • the present embodiment differs from the first embodiment in that a state image is generated using a plurality of pieces of common configuration information 123 having priorities.
  • FIG. 11 shows individual configuration information 122 stored in the storage unit 12, first common configuration information 123a with a priority of "1”, second common configuration information 123b with a priority of "2", and priority
  • the third common configuration information 123c whose degree is "3" is illustrated.
  • the priority indicates the degree of priority, and common configuration information 123 with a higher priority value is used in preference to common configuration information 123 with a lower priority value.
  • the generation unit 13 generates a state image based on the individual configuration information 122. However, if there are insufficient parameters to be displayed in the state image based on the individual configuration information 122, the generation unit 13 sequentially refers to the common configuration information 123 with the highest priority to create a state image for displaying such parameters. Attempt to generate. Further, when there is no individual configuration information 122 corresponding to the function block whose state is displayed by the state image, the generation unit 13 refers to the common configuration information 123 in descending order of priority, and determines the parameters of the function block. Generate a state image to display.
  • the common configuration information 123 is information defined for a plurality of function blocks, but may be defined for a specific group of function blocks.
  • the third common configuration information 123c corresponds to a function block that handles devices of a specific year of manufacture
  • the second common configuration information 123b corresponds to a function block that handles a group of devices whose model number character string begins with "AB”.
  • the first common configuration information 123a may correspond to a function block that handles devices of a specific device manufacturer.
  • the configuration of the state image can be designed more flexibly. .
  • the priority need not be explicitly defined.
  • the order of priority may be defined by inheriting common configuration information 123 to other common configuration information 123, similar to class inheritance in programming languages.
  • the method of describing the individual configuration information 122 and the common configuration information 123 may be changed arbitrarily.
  • these pieces of information may be described according to XML (eXtensible Markup Language).
  • the instruction unit 15 may cause the PLC 20 to execute an operation program including function blocks whose states are displayed in the state image and other source code according to instructions from the user.
  • the common configuration information 123 may define the arrangement of image elements corresponding to parameters of all types of data types that can be used in an operating program to generate a state image for any function block.
  • the image generation device 10 has the UI unit 14 as a display device that generates a state image, but the state image may be output to an external display device.
  • the image generation device 10 generates a state image when performing a test run by reflecting the functions of the function blocks in the PLC 20, but it is not limited to this.
  • the image generation device 10 may generate a state image when simulating the functions of the function blocks without actually operating the PLC 20 .
  • the functions of the image generation device 10 can be realized by dedicated hardware or by a normal computer system.
  • the program P1 executed by the processor 31 is stored in a computer-readable non-temporary recording medium, distributed, and the program P1 is installed in the computer to configure the device that executes the above process.
  • Examples of such recording media include flexible disks, CD-ROMs (Compact Discs Read-Only Memory), DVDs, and MOs (Magneto-Optical Discs).
  • the program P1 may be stored in a disk device of a server device on a communication network typified by the Internet, superimposed on a carrier wave, and downloaded to a computer.
  • the above processing can also be achieved by starting and executing the program P1 while transferring it via a communication network.
  • the above processing can also be achieved by executing all or part of the program P1 on the server device and executing the program while the computer transmits and receives information regarding the processing via a communication network.
  • the functions described above are to be shared by the OS (Operating System) or by cooperation between the OS and the application, only the parts other than the OS may be stored in a medium and distributed. , or you may download it to your computer.
  • the means for realizing the functions of the image generation device 10 is not limited to software, and part or all of it may be realized by dedicated hardware including circuits.
  • the present disclosure is suitable for developing an operation program to be executed by a programmable controller.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

プログラムは、画像生成装置(10)を、取得部(11)及び生成部(13)として機能させる。取得部(11)は、PLC(20)を動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すFB情報(121)を取得し、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報(122)を取得する。生成部(13)は、ファンクションブロックを機能させるときの状態画像を個別構成情報(121)に基づいて生成してUI部(14)に出力する。

Description

画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法
 本開示は、画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法に関する。
 工場に代表されるFA(Factory Automation)の現場では、予め作成した動作プログラムに従ってプログラマブルコントローラを動作させることにより多数の機器が制御される。動作プログラムを効率的に記述するために、いわゆるルーチンに相当するファンクションブロックが利用される。ファンクションブロックが配布されれば、多くのユーザがコーディング作業をすることなくファンクションブロックの機能を利用することができる。例えば、制御対象の機器のメーカーから当該機器に関するファンクションブロックが現場のユーザに提供される。
 動作プログラムを現場で作成するために、ファンクションブロックの機能を試験的に発揮させて、ファンクションブロックに関するパラメータの状態を観察したいという要望がある。そこで、プログラムの一部に相当するファンクションブロックについて部分シミュレーションを行う技術を適用することが考えられる(例えば、特許文献1を参照)。
特開2021-082034号公報
 しかしながら、特許文献1の技術では、部分シミュレーションの経過或いは結果を観察するためにユーザに対して提示される画面をどのように構成するかという点については何ら考察されていない。このため、部分シミュレーションを実行する装置に予め実装されたユーザインタフェースが、ファンクションブロックの機能を観察するユーザに提供されることとなる。ここで、種々のファンクションブロックについて共通の仕様に従うユーザインタフェースが実装される場合には、効率的に設計及び実装することができるが、ユーザの使い勝手が悪くなってしまう。一方、ファンクションブロック毎に異なる仕様で詳細にユーザインタフェースを設計及び実装すると、ユーザの使い勝手はよくなるが多くの工数がかかってしまう。このため、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させる余地がある。
 本開示は、上記の事情に鑑みてなされたものであり、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させることを目的とする。
 上記目的を達成するため、本開示の画像生成プログラムは、コンピュータを、プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報を取得する取得手段、ファンクションブロックを機能させるときの状態画像を個別構成情報に基づいて生成して表示装置に出力する生成手段、として機能させる。
 本開示によれば、取得手段が、状態画像の構成を規定する、ファンクションブロックについて個別に定められた個別構成情報を取得し、生成手段が、状態画像を個別構成情報に基づいて生成する。このため、種々のファンクションブロックに対応するユーザインタフェースをそれぞれ一から設計及び実装することなく、個別構成情報を作成すれば、使い勝手のよいユーザインタフェースが提供されることとなる。したがって、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザの使い勝手と設計及び実装の作業負担の軽減とを両立させることができる。
実施の形態1に係る画像生成装置の機能的な構成を示す図 実施の形態1に係る画像生成装置のハードウェア構成を示す図 実施の形態1に係るファンクションブロックの一例を示す図 実施の形態1に係る個別構成情報に基づいて生成される状態画像を示す図 実施の形態1に係る個別構成情報の一例を示す図 実施の形態1に係る共通構成情報の一例を示す図 実施の形態1に係る共通構成情報に基づいて生成される状態画像を示す図 実施の形態1に係る画像生成処理を示すフローチャート 実施の形態1に係る個別構成情報及び共通構成情報に基づいて生成される状態画像を示す図 実施の形態2に係る個別構成情報の一例を示す図 実施の形態3に係る個別構成情報及び優先度を有する複数の共通構成情報を示す図
 以下、本開示の実施の形態に係る画像生成装置10について、図面を参照しつつ詳細に説明する。
 実施の形態1.
 本実施の形態に係る画像生成装置10は、図1に示されるように、機器21を制御するPLC(Programmable Logic Controller)20とともに、プログラマブルコントローラシステム100を構成する。プログラマブルコントローラシステム100は、PLC20の動作内容を管理するためのFA(Factory Automation)システムである。
 PLC20は、プログラマブルコントローラの一例に相当する制御装置である。PLC20は、画像生成装置10から提供される動作プログラムに従って一又は複数の機器21を制御して、生産ラインに代表される種々の工程を実現する。動作プログラムは、プログラマブルコントローラを動作させるためのプログラムの一例に相当する。例えば、PLC20は、動作プログラムの一種であるラダープログラムに従って、センサである機器21によるセンシング結果に基づいてロボットアームを有する機器21を制御することにより、ベルトコンベア上におけるワークの流れを制御する。なお、図1では1台のPLC20が代表的に示されているが、複数のPLC20が協調して一又は複数の機器21を制御してもよい。
 PLC20及び機器21は、電圧信号又は電流信号を伝送する信号線、シリアルデータを伝送する通信線、又は、産業用ネットワークを介して接続される。PLC20は、USB(Universal Serial Bus)ケーブルに代表される通信線又はLAN(Local Area Network)を介して画像生成装置10に接続される。
 画像生成装置10は、産業用PC(Personal Computer)に代表されるコンピュータであって、PLC20を管理するための端末に相当する。画像生成装置10は、エンジニアリングツールと呼ばれるソフトウェアを実行することにより、PLC20に実行させる動作プログラムの内容の編集、作成した動作プログラムのPLC20への書き込み、及び、PLC20のメモリに格納されているデータの読み出しを行う。また、画像生成装置10は、動作プログラムに含まれるルーチンに相当するファンクションブロックを実際に機能させてPLC20の試運転を実行したときの当該ファンクションブロックの状態を示す状態画像を生成して、当該状態画像を含む試運転画面をユーザに提示する。
 図2には、画像生成装置10のハードウェア構成が示されている。画像生成装置10は、図2に示されるように、プロセッサ31と、主記憶部32と、補助記憶部33と、入力部34と、出力部35と、通信部36と、を有する。主記憶部32、補助記憶部33、入力部34、出力部35及び通信部36はいずれも、内部バス37を介してプロセッサ31に接続される。
 プロセッサ31は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)を含む。プロセッサ31は、補助記憶部33に記憶されるプログラムP1を実行することにより後述の機能を発揮する。プログラムP1は、画像生成装置10に種々の機能を発揮させる画像生成プログラムの一例に相当する。
 主記憶部32は、RAM(Random Access Memory)を含む。主記憶部32には、補助記憶部33からプログラムP1がロードされる。そして、主記憶部32は、プロセッサ31の作業領域として用いられる。
 補助記憶部33は、EEPROM(Electrically Erasable Programmable Read-Only Memory)に代表される不揮発性メモリを含む。補助記憶部33は、プログラムP1の他に、プロセッサ31の処理に用いられる種々のデータを記憶する。補助記憶部33は、プロセッサ31の指示に従って、プロセッサ31によって利用されるデータをプロセッサ31に供給し、プロセッサ31から供給されたデータを記憶する。
 入力部34は、キーボードに代表される入力デバイスを含む。入力部34は、画像生成装置10のユーザによって入力された情報を取得して、取得した情報をプロセッサ31に通知する。
 出力部35は、LCD(Liquid Crystal Display)に代表される出力デバイスを含む。出力部35は、プロセッサ31の指示に従って種々の情報をユーザに提示する。
 通信部36は、外部の装置と通信するための通信インタフェース回路を含む。通信部36は、外部から信号を受信して、この信号により示される情報をプロセッサ31へ通知する。また、通信部36は、プロセッサ31から出力された情報を示す信号を外部の装置へ送信する。
 画像生成装置10は、上述のハードウェア構成が協働することにより、実行されているファンクションブロックの状態をユーザに提示する状態画像を生成するための機能を発揮する。詳細には、画像生成装置10は、図1に示されるように、その機能として、FB情報121、個別構成情報122及び共通構成情報123を取得して記憶部12に格納する取得部11と、取得部11から提供される情報を記憶する記憶部12と、記憶部12に記憶されている情報を用いてファンクションブロックの状態画像を生成する生成部13と、状態画像を含む試運転画面をユーザに提示するUI(User Interface)部14と、UI部14に入力されたユーザの操作に従って試運転の指示をPLC20に送信する指示部15と、を有する。
 取得部11は、主としてプロセッサ31及び入力部34の協働によって実現される。取得部11は、ユーザによって入力されたFB情報121、個別構成情報122及び共通構成情報123を取得する。
 FB情報121は、ファンクションブロックを示すファンクションブロック情報の一例に相当する。ファンクションブロックは、いわゆるルーチン、すなわち複数の命令の集合に相当する再利用可能なプログラム部品であって、その内部で変数の保持が可能であることを特徴とする。ファンクションブロックは、入力されたデータに対して、変数を利用して予め定められた処理を施した結果を出力する。FB情報121は、ファンクションブロックに入力されるデータの種別、当該データに施される処理、及び、処理結果としてファンクションブロックから出力されるデータの種別それぞれを示す。ただし、ファンクションブロックは、変数を利用することなく処理結果を出力してもよい。
 図3には、「MCv_AllPower」という名称のファンクションブロック40が例示されている。このファンクションブロック40は、サーボアンプである機器21を扱うためのファンクションブロックである。ファンクションブロック40の入力は、制御対象である軸を示す「Axis」、ファンクションブロック40の機能を有効化するか否かを示すビット値の「Enable」、及び、サーボアンプをオン状態にするか否かを示すビット値の「ServoON」を含む。
 また、ファンクションブロック40の出力は、入力された「Axis」と同等の「Axis」、ファンクションブロックが動作中であるか否かを示すビット値の「Busy」、ファンクションブロック40内でエラーが生じているか否かを示すビット値の「Error」、及び、エラーが生じたときのエラー種別を示す符号無しワード型の「ErrorID」を含む。図3中の「DUT」は、構造体を意味し、「B」はビット値であることを示し、「UW」はUnsigned Wordを意味する。
 図3からわかるように、ファンクションブロック40の状態は、ファンクションブロック40に関するパラメータの値によって示される。このパラメータは、入力されるデータとしての引数、及び、出力されるデータとしての戻り値を含む。また、パラメータは、入力から出力を得るための処理において用いられる中間パラメータを含んでもよい。以下では、ファンクションブロックの入力に相当するパラメータを入力引数と表記し、出力に相当するパラメータを出力引数と表記することがある。また、これらのパラメータを引数と表記することがある。
 図1に戻り、個別構成情報122は、ファンクションブロックについて個別に予め定められた、当該ファンクションブロックの状態画像の構成を規定する情報である。共通構成情報123は、複数のファンクションブロックに共通して予め定められた、状態画像の構成を規定する情報である。個別構成情報122及び共通構成情報123の詳細については、後述する。
 なお、取得部11が、FB情報121、個別構成情報122及び共通構成情報123を取得する形態は任意に変更してもよい。例えば、取得部11は、機器21のメーカーから提供されるFB情報121、個別構成情報122及び共通構成情報123の一部又は全部をネットワーク上のサーバ装置からダウンロードすることにより取得してもよい。これらの情報がダウンロードにより取得される場合には、取得部11は、通信部36によって実現される。また、取得部11は、FB情報121、個別構成情報122及び共通構成情報123の一部又は全部を、DVD(Digital Versatile Disk)及びメモリカードに代表される記録媒体から読み出すことにより取得してもよい。さらに、販売される機器21にFB情報121、個別構成情報122及び共通構成情報123が同梱されていてもよいし、プログラムP1にこれらの情報が同梱されて販売されてもよい。取得部11は、ファンクションブロック情報、個別構成情報及び共通構成情報を取得する取得手段の一例に相当する。
 記憶部12は、主として主記憶部32及び補助記憶部33の少なくとも一方によって実現される。記憶部12は、取得部11によって格納されたFB情報121、個別構成情報122及び共通構成情報123を保存して、生成部13の要求に応じてこれらの情報を提供する。FB情報121は、複数のファンクションブロックそれぞれについて規定された情報であって、記憶部12は、互いに異なるファンクションブロックをそれぞれ示す複数のFB情報121を記憶する。同様に、個別構成情報122は、複数のファンクションブロックそれぞれについて個別に定められた情報であって、記憶部12は、複数の個別構成情報122を記憶する。ただし、一部のファンクションブロックについては個別構成情報122が規定されておらず、そのような対応する個別構成情報122が無いファンクションブロックのFB情報121が記憶部12には格納され得る。共通構成情報123は、複数のファンクションブロックに共通するため、記憶部12は、単一の共通構成情報123を記憶する。
 生成部13は、主としてプロセッサ31によって実現される。生成部13は、特定のファンクションブロックのユーザによる選択を受けたUI部14からの要求に応じて、記憶部12の情報を参照することにより、当該ファンクションブロックのパラメータの状態を示す状態画像を生成する。詳細には、生成部13は、選択されたファンクションブロックを示すFB情報121を記憶部12から読み出して、当該ファンクションブロックの個別構成情報122が記憶部12に格納されている場合には、その個別構成情報122を読み出し、個別構成情報122が記憶部12に格納されていない場合には、個別構成情報122に代えて共通構成情報123を読み出す。生成部13は、ファンクションブロックを機能させるときの状態画像を個別構成情報に基づいて生成して表示装置に出力する状態画像を生成する生成手段の一例に相当する。
 図4には、生成部13によって生成される状態画像の一例に相当するウィンドウ400が例示されている。このウィンドウ400は、ファンクションブロックを選択するためのコンボボックス401、軸を選択するためのコンボボックス402、ボタン403,404、及び、パラメータの状態を示す表示部405,406,407を有する。コンボボックス402の選択肢は、図3に示されたファンクションブロック40の「Axis」に対応し、ボタン403,404はそれぞれ、ファンクションブロック40の入力引数である「Enable」及び「ServoON」に対応し、表示部405,406,407はそれぞれ、ファンクションブロック40の出力引数である「Busy」、「Error」及び「ErrorID」に対応する。状態画像は、ファンクションブロックの機能が用いられる際のファンクションブロックに関するパラメータの状態を示す画像の一例に相当する。
 図4のようなウィンドウ400は、図5に例示される個別構成情報122に基づいて生成される。この個別構成情報122は、ウィンドウ400に含まれる画像要素の配置を規定する情報であって、エリアの領域を規定する行と、エリア内への画像要素の配置を規定する行と、を含む。例えば、行501は、「FB選択コンボボックスエリア」という名称のエリアを、ウィンドウ400の左上の端点を原点として、下方向に10ピクセル及び右方向に10ピクセルの点と、下方向に40ピクセル及び右方向に320ピクセルの点と、で定まる矩形の領域とすることを示している。なお、FBは、ファンクションブロックを意味する。以下の行502では、行501と同様に矩形の領域が規定されている。
 また、行503は、「FB選択コンボボックスエリア」内の左側に「FB選択」という文字列を表示することを示し、行504は、「FB選択コンボボックスエリア」内の中央に、「GetFBs()」という関数の戻り値として得る配列の要素を選択肢として含むコンボボックスを表示することを示している。行505は、「ボタンエリア」内の左側に、ファンクションブロック40の入力引数である「Enable」のビット値に対応させて「有効」又は「停止」を入力するためのボタンを表示することを示す。行506は、「ランプエリア」内の左側に、ファンクションブロック40の出力引数である「Busy」のビット値に対応させて、赤色又は緑色のランプと、「実行中」又は「停止中」の文字列と、を表示することを示している。以上のように、個別構成情報122は、文字列、コンボボックス、ボタン、ランプのような画像要素の配置を規定している。また、配置される複数の画像要素のうちの少なくとも一部は、ファンクションブロックの入力引数又は出力引数に対応しており、その値によって画像要素の表示形態が変更される。ここで、画像要素の表示形態は、文字列を構成する文字、及び、色を意味するが、これには限定されない。
 図6には、共通構成情報123の一例が示されている。この共通構成情報123は、個別構成情報122と同様の形式で記述される。ただし、共通構成情報123では、複数のファンクションブロックに含まれる異なるパラメータに対応させて、画像要素の配置が規定される。換言すると、共通構成情報123では、共通構成情報123に対応する複数のファンクションブロックのうちの特定のファンクションブロックに限って用いられる引数が直接的に参照されることはなく、一般化した参照表現が用いられる。例えば、図6中の行601は、「入力引数テーブルエリア」内にデータ型がBoolean型の入力引数をすべて配置することが示されている。これにより、図7に示されるようなウィンドウ600が状態画像として生成される。このウィンドウ600は、ファンクションブロックの入力引数の一覧を示すテーブル602を画像要素として含む。
 図1に戻り、UI部14は、主として入力部34及び出力部35の協働により実現される。UI部14は、生成部13によって生成された状態画像を含む画面をユーザに提示して、当該画面を利用して入力されるユーザの操作を受け付ける。例えば、UI部14は、図4中のボタン403,404の押下又はタップによる選択操作を受け付ける。そして、UI部14は、受け付けた操作を指示部15に通知することにより、この操作をPLC20に反映させる。すなわち、UI部14は、ファンクションブロックに従ってPLC20を試運転する際におけるユーザの入出力インタフェースとして機能する。UI部14は、生成部13から出力された状態画像を表示する表示装置の一例に相当する。
 指示部15は、主としてプロセッサ31及び通信部36の協働により実現される。指示部15は、UI部14から通知されたユーザ操作に従ってPLC20を動作させる。ここで、ユーザ操作は、ファンクションブロックの機能を試験的にPLCに実行させることを意味するため、指示部15からPLC20への指示は、単一のファンクションブロックに等しい動作プログラムをPLC20に書き込んで当該動作プログラムをPLC20に実行させる指示ともいえる。ただし、ファンクションブロックの入力引数としては、状態画像を用いてユーザによって指定された値が採用される。
 そして、指示部15は、PLC20がファンクションブロックを実行した際の当該ファンクションブロックに関するパラメータを、PLC20のメモリから読み出して、生成部13に出力する。指示部15から出力されたパラメータの値を得た生成部13は、この値を用いて、状態画像を更新してUI部14に出力することにより、ユーザに対して提示される状態画像を更新する。指示部15は、ファンクションブロックに従って動作することをプログラマブルコントローラに指示する指示手段の一例に相当する。
 続いて、画像生成装置10において実行される画像生成処理の手順について、図8を参照して説明する。画像生成処理は、画像生成装置によって実行される画像生成方法の一例に相当する。なお、画像生成処理は、図8に示される手順に限定されず、ファンクションブロックの状態を示す状態画像がユーザに提示されれば、実行すべきステップ及びステップの順序を任意に変更してもよい。
 画像生成処理では、取得部11が、FB情報を取得し(ステップS1)、個別構成情報及び共通構成情報を取得する(ステップS2)。具体的には、取得部11が、ユーザから指定されたアドレスにより示されるサーバ装置又は記録媒体の領域から、これらの情報を読み出す。
 次に、生成部13は、PLC20にファンクションブロックを実行させるための試運転操作がユーザによって入力されたか否かを判定する(ステップS3)。試運転操作が入力されていないと判定された場合(ステップS3;No)、ステップS3の判定が繰り返される。
 一方、試運転操作が入力されたと判定された場合(ステップS3;Yes)、生成部13は、試運転操作において指定されたファンクションブロックに対応する個別構成情報122が記憶部12に格納されているか否かを判定する(ステップS4)。個別構成情報122が記憶部12に格納されていないと判定された場合(ステップS4;No)、生成部13は、ステップS3の試運転操作において指定されたファンクションブロックに対応するFB情報121からファンクションブロックの引数の情報を抽出し、抽出した引数の情報、及び、共通構成情報123に基づいて状態画像を生成する(ステップS5)。これにより、図7に示されたようなウィンドウ600が生成される。
 一方、個別構成情報122が記憶部12に格納されていると判定された場合(ステップS4;Yes)、生成部13は、共通構成情報123により状態画像において示される情報が、個別構成情報122により状態画像において示される情報より多いか否かを判定する(ステップS6)。具体的には、ステップS3の試運転操作において指定されたファンクションブロックに関して、共通構成情報123において参照されるパラメータの数が、個別構成情報122において参照されるパラメータの数より多いか否かを、生成部13が判定する。
 ステップS6の判定が否定される場合(ステップS6;No)、生成部13は、ステップS5と同様にFB情報121から抽出した引数の情報、及び、個別構成情報122に基づいて状態画像を生成する(ステップS7)。これにより、図4に示されたようなウィンドウ400が生成される。
 一方、ステップS6の判定が肯定される場合(ステップS6;Yes)、生成部13は、ステップS5と同様にFB情報121から抽出した引数の情報、個別構成情報122及び共通構成情報123に基づいて状態画像を生成する(ステップS8)。具体的には、生成部13は、個別構成情報122に基づいて一時的に生成した状態画像に対して、個別構成情報122において参照されないが共通構成情報123においては参照されるパラメータに関する画像要素を含むレイアウトを追加することで、表示すべき状態画像を生成する。これにより、例えば、図3のファンクションブロック40と同様の出力引数を有する「MCv_FB2」という名称のファンクションブロックについて、図9に示されるように、「Busy」及び「Error」という出力引数に対応する画像要素ついては個別構成情報122に基づいて配置されるとともに、「ErrorID」という出力引数に対応する画像要素については共通構成情報123に基づいて配置されたウィンドウ900が状態画像として生成される。
 ステップS5,S7,S8に続いて、画像生成装置10は、ファンクションブロックの実行指示をPLC20に送信してPLC20の試運転を行うとともに状態画像をユーザに表示する(ステップS9)。具体的には、UI部14によって表示された状態画像を用いて入力されたユーザからの指示を、指示部15がPLC20に送信することでPLC20を動作させつつ、生成部13が、PLC20の動作結果を状態画像に反映させる。
 その後、画像生成処理が終了する。画像生成処理が終了するタイミングは、ユーザによる停止指示が入力されたタイミングであってもよいし、予め定められた長さの時間の経過であってもよいし、その他の任意のタイミングであってもよい。
 以上、説明したように、取得部11が、状態画像の構成を規定する個別構成情報122を取得し、生成部13が、状態画像を個別構成情報122に基づいて生成する。このため、種々のファンクションブロックに対応するユーザインタフェースをそれぞれ一から設計及び実装することなく、個別構成情報を作成すれば、使い勝手のよいユーザインタフェースが提供されることとなる。したがって、ファンクションブロックの機能を観察するためのユーザインタフェースに関し、ユーザにとって好適な使い勝手と設計及び実装の作業負担の軽減とを両立させることができる。
 また、ファンクションブロックに対応する個別構成情報122が無い場合に、生成部13は、共通構成情報123に基づいて状態画像を生成する。このため、すべてのファンクションブロックについて個別構成情報122を作成し、ユーザに配布する必要はない。したがって、個別構成情報122を作成する作成者の作業負担を軽減するとともに、ユーザが多数の個別構成情報122を管理する必要が無くなる。ここで、対応する個別構成情報122が記憶部12に格納されているファンクションブロックは、第1ファンクションブロックの一例に相当し、対応する個別構成情報122が記憶部12に格納されていないファンクションブロックは、第2ファンクションブロックの一例に相当する。生成部13は、第1ファンクションブロックを機能させるときの状態画像を個別構成情報に基づいて生成し、第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの状態画像を共通構成情報に基づいて生成して表示装置に出力する生成手段の一例に相当する。
 また、個別構成情報122に基づいて表示される情報が不足する場合には、不足した情報が画像要素として共通構成情報123に基づいて配置された状態画像が生成される。したがって、特に重要なパラメータについて個別構成情報122を作成すればよいため、個別構成情報122の作成者の負担を軽減することができる。ここで、個別構成情報122において参照されるパラメータは、第1パラメータの一例に相当し、個別構成情報122において参照されないが共通構成情報123において参照されるパラメータは、第2パラメータの一例に相当する。生成部13は、第1ファンクションブロックについて共通構成情報に従って構成される状態画像により状態が示されるパラメータが、第1ファンクションブロックについて個別構成情報に従って構成される状態画像により状態が示される第1パラメータと、該第1パラメータとは異なる第2パラメータと、を含む場合に、個別構成情報に基づいて第1パラメータの状態を示し、共通構成情報に基づいて第2パラメータの状態を示す状態画像を生成する生成手段の一例に相当する。
 また、個別構成情報122及び共通構成情報123は、状態画像に含まれる複数の画像要素の配置を規定する。これにより、ユーザに対して提示される情報を直接的に構成することができる。
 また、状態画像を用いて、ファンクションブロックに従ってPLC20の試運転が実行される。これにより、現場のユーザが、ファンクションブロックの機能が発揮された結果としてのPLC20の動作を容易に観察することができる。
 実施の形態2.
 続いて、実施の形態2について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、個別構成情報122が、図10に示されるように、新たな画像要素を示す要素情報を含む点で、実施の形態1と異なっている。
 図10の個別構成情報122は、「Busy」という出力引数の値に応じて、「image01.jpg」という名称の画像、又は「image02.jpg」という名称の画像を表示することを示す行1001,1002を含むとともに、これらの名称で特定される画像ファイルを要素情報として含んでいる。この個別構成情報122に基づいて生成される状態画像は、「image01.jpg」又は「image02.jpg」のうちのいずれかの画像を含むこととなる。
 以上、説明したように、個別構成情報122が新たな画像要素を示す要素情報を含むため、生成部13によって生成される状態画像には、新たな画像要素が配置される。これにより、状態画像を柔軟に設計することが可能となる。
 実施の形態3.
 続いて、実施の形態3について、上述の実施の形態1との相違点を中心に説明する。なお、上記実施の形態1と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態は、優先度を有する複数の共通構成情報123を用いて状態画像が生成される点で、実施の形態1と異なっている。
 図11には、記憶部12に格納される個別構成情報122、優先度が「1」である第1共通構成情報123a、優先度が「2」である第2共通構成情報123b、及び、優先度が「3」である第3共通構成情報123cが例示されている。優先度は、優先される度合いを示し、優先度の値が大きい共通構成情報123が、優先度の値が小さい共通構成情報123より優先して用いられる。
 生成部13は、個別構成情報122に基づいて状態画像を生成する。ただし、個別構成情報122に基づく状態画像では表示されるパラメータが不足する場合には、生成部13は、優先度が高い共通構成情報123から順に参照してそのようなパラメータを表示する状態画像の生成を試みる。また、状態画像により状態が表示されるファンクションブロックに対応する個別構成情報122が無い場合には、生成部13は、優先度が高い共通構成情報123から順に参照して、当該ファンクションブロックのパラメータを表示する状態画像を生成する。
 ここで、共通構成情報123は、複数のファンクションブロックについて定められた情報であるが、特定のグループのファンクションブロックについて定められてもよい。例えば、第3共通構成情報123cは、特定の製造年の機器を扱うファンクションブロックに対応し、第2共通構成情報123bは、型番を表す文字列が「AB」から始まるグループの機器を扱うファンクションブロックに対応し、第1共通構成情報123aは、特定の機器メーカーの機器を扱うファンクションブロックに対応してもよい。
 以上、説明したように、優先度を有する複数の共通構成情報が、優先度に従って優先的に採用されることで状態画像が生成されれば、より柔軟に状態画像の構成を設計することができる。
 なお、優先度が明示的に規定されていなくともよい。例えば、プログラミング言語におけるクラスの継承と同様に、共通構成情報123を他の共通構成情報123に継承させることで、優先順位が規定されてもよい。
 以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
 例えば、個別構成情報122及び共通構成情報123を記述する手法は、任意に変更してもよい。例えば、これらの情報は、XML(eXtensible Markup Language)に従って記述されてもよい。
 また、単一のファンクションブロックに等しい動作プログラムをPLC20に実行させる例について説明したが、これには限定されない。指示部15は、ユーザからの指示に従って、状態画像に状態が表示されるファンクションブロックと、他のソースコードと、を含む動作プログラムをPLC20に実行させてもよい。
 また、共通構成情報123は、任意のファンクションブロックについて状態画像を生成するために、動作プログラムにおいて用いられ得るすべての種類のデータ型のパラメータに対応する画像要素の配置を規定してもよい。
 また、画像生成装置10は、状態画像を生成する表示装置としてのUI部14を有したが、外部の表示装置に状態画像を出力してもよい。
 また、画像生成装置10は、ファンクションブロックの機能をPLC20に反映して試運転を行う際の状態画像を生成したが、これには限定されない。例えば、画像生成装置10は、PLC20を実際に動作させることなく、ファンクションブロックの機能のシミュレーションを実行したときの状態画像を生成してもよい。
 また、画像生成装置10の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
 例えば、プロセッサ31によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD、MO(Magneto-Optical Disc)が考えられる。
 また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
 また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
 さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
 なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
 また、画像生成装置10の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
 本開示は、プログラマブルコントローラに実行させる動作プログラムの開発に適している。
 100 プログラマブルコントローラシステム、 10 画像生成装置、 11 取得部 12 記憶部、 121 FB情報、 122 個別構成情報、 123 共通構成情報、 123a 第1共通構成情報、 123b 第2共通構成情報、 123c 第3共通構成情報、 13 生成部、 14 UI部、 15 指示部、 20 PLC、 21 機器、 31 プロセッサ、 32 主記憶部、 33 補助記憶部、 34 入力部、 35 出力部、 36 通信部、 37 内部バス、 40 ファンクションブロック、 400,600,900 ウィンドウ、 401,402 コンボボックス、 403,404 ボタン、 405~407 表示部、 501~506,601 行、 602 テーブル、 P1 プログラム。

Claims (10)

  1.  コンピュータを、
     プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得する取得手段、
     前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力する生成手段、
     として機能させるための画像生成プログラム。
  2.  前記取得手段は、互いに異なる前記ファンクションブロックをそれぞれ示す複数の前記ファンクションブロック情報と、複数の前記ファンクションブロックのうちの第1ファンクションブロックについて定められた前記個別構成情報と、前記状態画像の構成を規定する、複数の前記ファンクションブロックに共通する共通構成情報と、を取得し、
     前記生成手段は、前記第1ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成し、前記第1ファンクションブロックとは異なる第2ファンクションブロックを機能させるときの前記状態画像を前記共通構成情報に基づいて生成して前記表示装置に出力する、
     請求項1に記載の画像生成プログラム。
  3.  前記生成手段は、前記第1ファンクションブロックについて前記共通構成情報に従って構成される前記状態画像により状態が示される前記パラメータが、前記第1ファンクションブロックについて前記個別構成情報に従って構成される前記状態画像により状態が示される第1パラメータと、該第1パラメータとは異なる第2パラメータと、を含む場合に、前記個別構成情報に基づいて前記第1パラメータの状態を示し、前記共通構成情報に基づいて前記第2パラメータの状態を示す前記状態画像を生成する、
     請求項2に記載の画像生成プログラム。
  4.  前記取得手段は、優先度を有する複数の前記共通構成情報を取得し、
     前記生成手段は、前記個別構成情報を前記共通構成情報より優先し、前記優先度が高い前記共通構成情報を前記優先度が低い前記共通構成情報より優先して用いることにより、前記状態画像を生成する、
     請求項2又は3に記載の画像生成プログラム。
  5.  前記個別構成情報は、前記状態画像に含まれる複数の画像要素の配置を規定する情報であって、
     複数の前記画像要素は、前記パラメータに対応する前記画像要素を含む、
     請求項1から4のいずれか一項に記載の画像生成プログラム。
  6.  前記個別構成情報は、前記画像要素を示す要素情報を含み、
     前記生成手段は、前記要素情報により示される前記画像要素を含む前記状態画像を前記個別構成情報に基づいて生成する、
     請求項5に記載の画像生成プログラム。
  7.  前記コンピュータを、
     前記ファンクションブロックに従って動作することを前記プログラマブルコントローラに指示する指示手段、としてさらに機能させ、
     前記生成手段は、前記指示手段の指示によって前記プログラマブルコントローラが動作するときの前記状態画像を生成する、
     請求項1から6のいずれか一項に記載の画像生成プログラム。
  8.  プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得し、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得する取得手段と、
     前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力する生成手段と、
     を備える画像生成装置。
  9.  請求項8に記載の画像生成装置と、
     前記プログラマブルコントローラと、
     を備えるプログラマブルコントローラシステムであって、
     前記画像生成装置は、
     前記ファンクションブロックに従って動作することを前記プログラマブルコントローラに指示する指示手段、をさらに備え、
     前記画像生成装置の前記生成手段は、前記指示手段の指示によって前記プログラマブルコントローラが動作するときの前記状態画像を生成する、
     プログラマブルコントローラシステム。
  10.  取得手段が、プログラマブルコントローラを動作させるための動作プログラムにおいて記述されるルーチンに相当するファンクションブロックを示すファンクションブロック情報を取得するステップと、
     前記取得手段が、前記ファンクションブロックの機能が用いられる際の前記ファンクションブロックに関するパラメータの状態を示す状態画像の構成を規定する、前記ファンクションブロックについて個別に定められた個別構成情報を取得するステップと、
     生成手段が、前記ファンクションブロックを機能させるときの前記状態画像を前記個別構成情報に基づいて生成して表示装置に出力するステップと、
     を含む画像生成方法。
PCT/JP2022/005999 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法 WO2023157091A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022547160A JP7241982B1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法
PCT/JP2022/005999 WO2023157091A1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法
CN202280085050.7A CN118435134A (zh) 2022-02-15 2022-02-15 图像生成程序、图像生成装置、可编程控制器系统以及图像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005999 WO2023157091A1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法

Publications (1)

Publication Number Publication Date
WO2023157091A1 true WO2023157091A1 (ja) 2023-08-24

Family

ID=85600315

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005999 WO2023157091A1 (ja) 2022-02-15 2022-02-15 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法

Country Status (3)

Country Link
JP (1) JP7241982B1 (ja)
CN (1) CN118435134A (ja)
WO (1) WO2023157091A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置
JP2004280341A (ja) * 2003-03-14 2004-10-07 Omron Corp ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置
JP2004341824A (ja) * 2003-05-15 2004-12-02 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2009009505A (ja) * 2007-06-29 2009-01-15 Jtekt Corp Plc

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182712A (ja) * 2000-12-15 2002-06-26 Yaskawa Electric Corp プログラマブルコントローラの表示方法および表示装置
JP2004280341A (ja) * 2003-03-14 2004-10-07 Omron Corp ファンクションブロック呼び出し命令を含むラダープログラムの表示切替方法及びプログラミング装置
JP2004341824A (ja) * 2003-05-15 2004-12-02 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2009009505A (ja) * 2007-06-29 2009-01-15 Jtekt Corp Plc

Also Published As

Publication number Publication date
JPWO2023157091A1 (ja) 2023-08-24
JP7241982B1 (ja) 2023-03-17
CN118435134A (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
EP2889707B1 (en) Control device and communication control method
WO2015075790A1 (ja) シーケンスプログラム作成支援装置
JP5785501B2 (ja) ラダープログラム作成装置
JP6150953B2 (ja) デバッグ装置、デバッグ方法及びデバッグプログラム
CN109643096B (zh) 可编程逻辑控制器系统及存储有工程设计工具程序的可由计算机读取的存储介质
WO2023157091A1 (ja) 画像生成プログラム、画像生成装置、プログラマブルコントローラシステム及び画像生成方法
WO2020195195A1 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
JP5205988B2 (ja) Plcのグローバル変数定義方式
EP3792710B1 (en) Control system, support device, and support program
JP2004341824A (ja) プログラマブルコントローラのプログラミング装置
JP7238678B2 (ja) 情報処理装置、サポートプログラムおよびサポートシステム
WO2021044654A1 (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP2001075790A (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP2008033572A (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP7403732B1 (ja) 翻訳プログラム、翻訳装置及び翻訳方法
WO2021181796A1 (ja) サポート装置、サポートプログラムおよびサポート方法
JP3497423B2 (ja) 制御用表示装置、制御システム、および、そのプログラムが記録された記録媒体
JP3512685B2 (ja) 画面データ作成方法、画面データ作成装置、および、そのプログラムが記録された記録媒体
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템
JP2007252162A (ja) 電動機駆動装置
JP2003295912A (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP2024084362A (ja) 開発支援装置、開発支援方法および開発支援プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022547160

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22926994

Country of ref document: EP

Kind code of ref document: A1