Programmable display and rewriting method
The programmable display addresses variable value discrepancies by using a communication and rewrite processing unit to restore values to their predetermined states, ensuring accurate restoration and reducing manual corrections.
Patent Information
- Authority / Receiving Office
- JP Β· JP
- Patent Type
- Applications
- Current Assignee / Owner
- SCHNEIDER ELECTRIC JAPAN HLDG LTD
- Filing Date
- 2024-12-10
- Publication Date
- 2026-06-22
AI Technical Summary
There is a need for a programmable display that can accurately restore the value of a variable related to a device to its value at a predetermined point in time, addressing discrepancies caused by changes from a programmable logic controller or ladder program.
A programmable display with a communication unit, operation reception unit, acquisition unit, creation unit, and rewrite processing unit that acquires and stores history information, allowing the programmable display to rewrite variable values to their accurate values at a predetermined point in time.
Ensures that variable values are restored accurately to their original states, reducing the need to manually correct errors and saving time and effort in device settings.
Smart Images

Figure 2026101139000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a programmable display and a rewriting method.
Background Art
[0002] Conventionally, a technique for returning the value of a target variable to the value at a predetermined time is known. For example, Patent Document 1 discloses a control system for a machine tool that specifies an arbitrary parameter in a change history attribute unit list in which parameters are sorted for each change history attribute and performs a process of returning a target parameter to the specified parameter.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There is a demand for a programmable display that communicates with a programmable logic controller to perform a process of returning the value of a variable that stores a value related to a device to the value at a predetermined time. For example, consider a case where the value of a variable stored by a programmable logic controller is changed by another programmable display or a case where the programmable logic controller changes the value of a variable according to a ladder program. In this case, for a variable that stores a value related to a certain device, there is a possibility that the value previously set by the programmable display for the variable is different from the current value of the variable stored by the programmable logic controller.
[0005] Here, consider the case where a programmable display restores the value of a variable that stores device-related values ββto the variable's value at a predetermined point in time that it has stored. In this case, there is a problem that the value of the variable that stores device-related values ββwill be different from the exact variable value immediately before the setting change that the programmable logic controller has stored. One aspect of the present invention aims to restore the value written to a variable to the exact variable value at a predetermined point in time. [Means for solving the problem]
[0006] To solve the above problems, a programmable display according to one aspect of the present invention includes: a communication unit that communicates with a programmable logic controller that controls a device and detects the state of the device; an operation reception unit that accepts write operations to a variable that stores a value related to the device; an acquisition unit that acquires the value of the variable at the time the operation reception unit accepts the write operation from the programmable logic controller as a first value; a creation unit that creates history information including the first value and a second value written to the variable by the write operation; and a rewrite processing unit that, when the operation reception unit accepts an operation to perform a first function that returns the value of the variable to the value at a predetermined point in time, refers to the history information and performs a process to rewrite the second value written to the variable to the first value.
[0007] Furthermore, a rewriting method according to one aspect of the present invention is a rewriting method for rewriting the value of a variable that stores a value related to a device using a programmable display, and includes: a communication step of communicating with a programmable logic controller that controls the device and detects the state of the device; an operation reception step of accepting a write operation to the variable; an acquisition step of acquiring the value of the variable at the time the write operation is accepted in the operation reception step as a first value from the programmable logic controller; a creation step of creating history information including the first value and a second value written to the variable by the write operation; and a processing step of referring to the history information and rewriting the second value written to the variable to the first value when an operation to perform a first function of restoring the value of the variable to the value at a predetermined point in time is accepted in the operation reception step. [Effects of the Invention]
[0008] According to one aspect of the present invention, the value written to a variable can be restored to the accurate value of the variable at a predetermined point in time. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing an example configuration of a programmable display, a PLC, and a device according to an embodiment of the present invention. [Figure 2] Figure 1 shows an example of a screen displayed by the display unit of the programmable display shown in Figure 1. [Figure 3] This figure shows an example of history information created by the control unit of the programmable display shown in Figure 1. [Figure 4] This diagram illustrates the process performed by the control unit of the programmable display shown in Figure 1, which restores the value of a variable to its value at a predetermined point in time. [Figure 5] Figure 1 illustrates a process performed by the control unit of a programmable display, which restores the value of a variable indicated by a specified history and the value of a variable indicated by a history later than the specified history to their values ββat a predetermined point in time. [Figure 6] Figure 1 is a diagram illustrating the process performed by the control unit of the programmable display shown in Figure 1, which involves setting tags for historical information. [Figure 7] This diagram illustrates the case when the programmable display shown in Figure 1 is activated. [Figure 8] This diagram illustrates the case where the programmable display shown in Figure 1 is turned on after being turned off. [Figure 9] This diagram illustrates the process of creating recipe data, which is performed by the control unit of the programmable display shown in Figure 1. [Figure 10] Figure 1 shows an example of a screen displayed by the display unit of the programmable display shown in Figure 1. [Figure 11] This figure shows the history information created by the control unit of the programmable display shown in Figure 1. [Modes for carrying out the invention]
[0010] (Programmable display 1) Figure 1 is a block diagram showing an example configuration of a programmable display 1, a PLC (programmable logic controller) 2, and a device 3 according to an embodiment of the present invention. The following description mainly describes the programmable display 1, but also describes a method for rewriting the values ββof variables that store values ββrelated to the device 3 using the programmable display 1. As shown in Figure 1, the programmable display 1 comprises a display unit 10, an operation reception unit 11, a storage unit 12, a communication unit 13, and a control unit 14.
[0011] The programmable display unit 1 is connected to the PLC2. The programmable display unit 1 communicates with the PLC2 via a communication cable. The programmable display unit 1 is a dedicated computer that realizes the operation and display functions unique to programmable displays by displaying a screen for operation and display, and is used as an HMI (Human Machine Interface) device.
[0012] The display unit 10 can display a screen for operation and display. The operation reception unit 11 is, for example, a touch panel that receives touch operations by the user, and is provided so as to overlap the display unit 10. In the present embodiment, the user is a person who uses the programmable display 1 and the device 3.
[0013] The storage unit 12 stores programs for executing various processes in the programmable display 1. The various processes include screen display processes, touch input processes, communication processes, and the like. The communication unit 13 is an interface unit for the programmable display 1 to communicate with the PLC 2. The communication unit 13 communicates with the PLC 2 (communication step).
[0014] The control unit 14 executes an operation of causing the display unit 10 to display a screen for operation and display, and an operation of controlling the state of the device 3 according to an operation on the operation reception unit 11. The operation of the control unit 14 controlling the state of the device 3 is realized via the PLC 2. Further, the control unit 14 controls each unit of the programmable display 1.
[0015] The control unit 14 includes an acquisition unit 141, a creation unit 142, a rewrite processing unit 143, a display processing unit 144, and a storage processing unit 145. The display processing unit 144 executes a process of causing the display unit 10 to display a screen. The storage processing unit 145 executes a process of storing data in the storage unit 12. The processes of the acquisition unit 141, the creation unit 142, and the rewrite processing unit 143 will be described later.
[0016] (PLC2) The PLC 2 is a control device that controls the device 3 by reading the state of the device 3 and giving a control instruction to the device 3 at each predetermined scan time according to a sequence program created by a technician. That is, the PLC 2 controls the device 3 and detects the state of the device 3. In the present embodiment, the technician is a person who sets the PLC 2.
[0017] (Device 3) Device 3 is a device controlled by the programmable display 1 via the PLC 2. Device 3 is, for example, an input device or an output device. The input device is, for example, a sensor or a switch, and the output device is, for example, an actuator, a relay, a solenoid valve, or a display.
[0018] (Screen 21 displayed by display unit 10) FIG. 2 is a diagram showing an example of a screen 21 displayed by the display unit 10 of the programmable display 1 shown in FIG. 1. FIG. 3 is a diagram showing an example of history information 31 created by the control unit 14 of the programmable display 1 shown in FIG. 1.
[0019] In the history information 31 shown in FIG. 3, the first column indicates the history number, the second column indicates the name of the variable storing the value related to Device 3, and the third column indicates the value before the change for the variable shown in the second column. Also, in the history information 31, the fourth column indicates the value after the change for the variable shown in the second column, and the fifth column indicates the screen ID of the screen displayed by the display unit 10 when the value of the variable shown in the second column was rewritten. The screen ID is an example of identification information for identifying a screen.
[0020] As shown in FIG. 2, for example, the screen 21 displayed by the display unit 10 includes switches 22, 23, numerical displays 24, 25, and toggle switches 26, 27. The screen 21 is a screen with a screen ID of P1. The display processing unit 144 causes the screen 21 to be displayed on the display unit 10.
[0021] Here, the operation reception unit 11 receives a write operation to a variable storing a value related to Device 3 (operation reception step). The acquisition unit 141 acquires, as a first value, the value of the variable when the operation reception unit 11 receives the write operation from the PLC 2 before executing the write operation (acquisition step).
[0022] In this case, the rewrite processing unit 143 executes a process to rewrite the value of the above variable stored in the PLC2 from the first value to the second value (processing step). In this embodiment, the first value is the value before change obtained from the PLC2 by the acquisition unit 141, and the second value is the value after change.
[0023] Specifically, the rewrite processing unit 143 sends a command to the PLC2 via the communication unit 13 instructing the PLC2 to rewrite the value of the above variable stored in the PLC2 from the first value to the second value. When the PLC2 receives this command, it rewrites the value of the above variable stored in the PLC2 from the first value to the second value.
[0024] The creation unit 142 creates history information including a first value acquired by the acquisition unit 141 and a second value written to the variable by a write operation received by the operation reception unit 11 (creation step). The storage processing unit 145 stores the history information created by the creation unit 142 in the storage unit 12. The storage processing unit 145 may also store the history information in an external storage device of the programmable display 1. Examples of external storage devices include servers and recording media.
[0025] For example, the operation reception unit 11 accepts the operation of pressing switch 22 as a write operation to a variable that stores a value related to device 3. The acquisition unit 141 acquires the value of the variable "HMI_ExtVar1" from PLC2 as the first value when the operation reception unit 11 accepts the operation of pressing switch 22. At this time, the acquisition unit 141 acquires "10" as the first value. The variable "HMI_ExtVar1" is a variable that stores a value related to device 3. In this case, the rewrite processing unit 143 executes the process of rewriting the value of the variable "HMI_ExtVar1" stored in PLC2 from "10" to "100".
[0026] The creation unit 142 creates history information 31 that includes "10" acquired by the acquisition unit 141 and "100" written to the variable "HMI_ExtVar1" by the write operation accepted by the operation reception unit 11. In the history information 31, the first value acquired by the acquisition unit 141 from the PLC2 is the value before the change, and the second value written to the variable by the write operation is the value after the change. The storage processing unit 145 stores the history information 31 created by the creation unit 142 in the storage unit 12.
[0027] Similarly, when the operation reception unit 11 receives an operation to press the toggle switch 26, the rewrite processing unit 143 executes a process to rewrite the value of the variable "HMI_ExtVar3" stored in the PLC2 from "TRUE" to "FALSE". The creation unit 142 adds a history to the history information 31 that includes "TRUE" as the value before the change and "FALSE" as the value after the change. The history information 31 indicates that the values ββof multiple variables have been rewritten from a first value to a second value, and includes multiple histories arranged in chronological order.
[0028] (A configuration that returns the variable's value to its value at a predetermined point in time) Figure 4 is a diagram illustrating the process performed by the control unit 14 of the programmable display unit 1 shown in Figure 1 to restore the value of a variable to its value at a predetermined point in time. When the operation reception unit 11 receives an operation to perform the first function of restoring the value of a variable to its value at a predetermined point in time, the rewrite processing unit 143 refers to the history information 31 and executes the process of rewriting the second value written to the variable to the first value. In other words, the rewrite processing unit 143 restores the value of the variable from the second value to the first value. The display processing unit 144 also displays the screen 21 on the display unit 10 when the first value has been rewritten to the second value.
[0029] For example, as shown by reference numeral 401 in Figure 4, when the operation reception unit 11 receives an operation in which the user touches the upper right portion of the screen 21 with their finger and slides their finger downwards, the display processing unit 144 displays buttons 41 and 42 in the upper right portion of the screen 21, as shown by reference numeral 402 in Figure 4. Button 41 is an Undo button that overwrites the second value with the first value in the reverse order of chronological order for multiple history entries contained in the history information 31. Button 42 is an Undo button that overwrites the undone first value with the second value in chronological order.
[0030] As shown by reference numeral 403 in Figure 4, consider the case where the operation reception unit 11 receives an operation to press button 41. In this case, if the history with number 3 is the latest history, the rewrite processing unit 143 refers to the history information 31 and executes a process to rewrite "FALSE" to "TRUE" in the variable "HMI_ExtVar3" stored by the PLC2 in the history with number 3. Then, as shown by arrow A1 in Figure 3, the rewrite processing unit 143 changes the target of the next Undo execution from the history with number 3 to the history with number 2.
[0031] Furthermore, the display processing unit 144 refers to the screen ID included in the history information 31 and displays the screen 21 (screen 21 with screen ID P1) on the display unit 10 when the variable "HMI_ExtVar3" is changed from "TRUE" to "FALSE".
[0032] As a result, as shown by reference numerals 402 and 403 in Figure 4, the display of the toggle switch 26 on screen 21 switches from off to on. In addition, the screen 21 from when the toggle switch 26 was previously turned from on to off (screen 21 with screen ID P1) is displayed on the display unit 10. Pressing button 41 is an example of an operation that performs the first function.
[0033] Furthermore, consider the case where the operation reception unit 11 receives an operation to press button 41, as shown by reference numeral 404 in Figure 4. In this case, the rewrite processing unit 143 refers to the history information 31 and executes a process to rewrite "10" to "2" in the variable "HMI_IntVar2" stored by the PLC2 in the history where the number is 2. Then, as shown by arrow A2 in Figure 3, the rewrite processing unit 143 changes the target of the next Undo execution from the history where the number is 2 to the history where the number is 1.
[0034] Furthermore, the display processing unit 144 refers to the screen ID included in the history information 31 and displays the screen 21 (screen 21 with screen ID P1) on the display unit 10 when the variable "HMI_IntVar2" was rewritten from "2" to "10". As a result, as shown by reference numerals 403 and 404 in Figure 4, the display on the numerical indicator 25 on screen 21 switches from 10 to 2. In addition, the display unit 10 displays the screen 21 (screen 21 with screen ID P1) when the numerical value displayed by the numerical indicator 25 changed from 2 to 10 in the past.
[0035] In other words, the display processing unit 144 switches the currently displayed screen to the screen with the referenced screen ID. If the screen with the referenced screen ID is the same as the currently displayed screen, the display processing unit 144 does not switch the display of the screen, but maintains the display of the current screen.
[0036] According to the above configuration, when a write operation is accepted, the value of the variable is obtained from the PLC2 by the acquisition unit 141, and history information 31 containing that value is created by the creation unit 142. Therefore, the accurate variable value obtained from the PLC2 can be reliably included in the history information 31. Consequently, when the first function is executed, it is possible to restore the value written to the variable to the accurate variable value at a predetermined point in time.
[0037] Furthermore, adjusting and setting up device 3 may involve changing settings in numerous locations (such as switching switches on / off or writing to variables by entering setting values). In this case, for example, if an incorrect value is written to a variable, it is necessary to revert the previously written value back to the previous value. With the above configuration, in such cases, there is no need to remember what the previously written variable was or what the variable's value was before writing, nor is there a need to manually change the variable's value while checking its current value. Therefore, time and effort can be saved, and input omissions and errors can be prevented.
[0038] Next, consider the case where the operation reception unit 11 receives an operation to press, for example, button 42. In this case, for example, the rewrite processing unit 143 refers to the history information 31 and changes the target of the next Undo execution from the history with number 1 to the history with number 2. Then, the rewrite processing unit 143 executes the process of rewriting the value "2" written to the variable "HMI_IntVar2" stored by the PLC2 to "10".
[0039] Furthermore, the display processing unit 144 refers to the screen ID included in the history information 31 and displays the screen 21 on the display unit 10 when the variable "HMI_IntVar2" was previously rewritten from "2" to "10". As a result, the display on the numerical display 25 on screen 21 switches from 2 to 10. If the screen after the rewriting process by the rewriting processing unit 143 is the same as the currently displayed screen, the display processing unit 144 does not switch the screen display but maintains the display of the current screen.
[0040] Therefore, when the operation reception unit 11 receives an operation to press button 42, the rewrite processing unit 143 executes a process to change the first value back to the second value for the variable that was rewritten from the second value to the first value by the operation to press button 41.
[0041] Furthermore, the history information 31 includes the screen ID that the display unit 10 was displaying when the second value was written to the variable. Here, the history information 31 includes the screen ID of the first screen. The rewrite processing unit 143 considers the case when the operation reception unit 11 receives an operation to execute the first function. In this case, the display processing unit 144 refers to the screen ID of the first screen included in the history information 31 and executes a process to switch the second screen that the display unit 10 is displaying when the operation reception unit 11 receives an operation to execute the first function back to the first screen.
[0042] Specifically, for example, the history information 31 includes the screen ID (P1) of the screen 21 that the display unit 10 was displaying when "FALSE" was written to the variable "HMI_ExtVar3" for the history with number 3. In addition, the history information 31 assumes that the history with number 4 is the most recent history, and that the screen ID of the history with number 4 is P2.
[0043] In this state, the display unit 10 is displaying the screen with screen ID P2, and we consider the case where the operation reception unit 11 receives an operation to press button 41. In this case, the rewrite processing unit 143 refers to the history information 31 and executes a process to rewrite the changed value written to the variable stored in the PLC2 to the original value in the history with number 4. Then, the rewrite processing unit 143 changes the target of the next Undo execution from the history with number 4 to the history with number 3.
[0044] Furthermore, if the operation reception unit 11 receives an operation to press button 41, the rewrite processing unit 143 refers to the history information 31 and executes a process to rewrite "FALSE" to "TRUE" in the variable "HMI_ExtVar3" stored by the PLC2 in the history where the number is 3. Then, the display processing unit 144 refers to the screen ID (P1) of the screen 21 included in the history where the number is 3 in the history information 31 and executes a process to switch the screen with screen ID P2 to the screen 21 with screen ID P1. With the above configuration, the user can see the screen when the value of the variable is updated from the first value to the second value.
[0045] Furthermore, the display processing unit 144 can perform screen switching processing to replay or reverse playback of the screen displayed by the display unit 10. For example, when a problem occurs at a site where the programmable display unit 1 is installed, the screen changes can be confirmed according to the contents of the history information 31 by performing replay or reverse playback of the screen displayed by the display unit 10.
[0046] (Specify history) Figure 5 is a diagram illustrating the process performed by the control unit 14 of the programmable display unit 1 shown in Figure 1, which restores the values ββof the variables indicated by a specified history 51 and the values ββof the variables indicated by a history 71 that is later than the specified history 51 to their values ββat a predetermined point in time. Reference numeral 501 in Figure 5 shows the screen 21 before the values ββof the variables corresponding to the numerical display unit 25 and the toggle switch 26 are overwritten. Reference numeral 502 in Figure 5 shows the screen 21 after the values ββof the variables corresponding to the numerical display unit 25 and the toggle switch 26 have been overwritten. Reference numeral 503 in Figure 5 shows the history information 31.
[0047] The display processing unit 144 may display the history information 31 shown by reference numeral 503 in Figure 5 on the display unit 10. When the operation reception unit 11 receives an operation to specify history 51, which has the number 2, for the history information 31, the storage processing unit 145 stores information in the storage unit 12 indicating that history 51 has been specified by the operation to specify history 51.
[0048] The rewrite processing unit 143 references the history information 31 and the information indicating that history 51 has been specified from the storage unit 12. Then, the rewrite processing unit 143 performs a process to rewrite the changed values ββof the variable indicated by the specified history 51 and the variable indicated by history 71 which is later than the specified history 51, back to their original values.
[0049] At this time, the rewriting processing unit 143 rewrites the variable "HMI_ExtVar3" from "FALSE" to "TRUE" and the variable "HMI_IntVar2" from "10" to "2". As a result, as shown by reference numerals 501 and 502 in Figure 5, the display of the toggle switch 26 on the screen 21 switches from off to on, and the number displayed by the numerical display unit 25 switches from 10 to 2.
[0050] When history 51 is specified, not only the value of the variable indicated by the specified history 51, but also the value of the variable indicated by history 71, which is after the specified history 51, will have its changed value overwritten with its original value. Therefore, the information indicating that history 51 has been specified can also be rephrased as information indicating the range of histories to which the changed value will be overwritten with the original value. In other words, the information indicating that history 51 has been specified is an example of range information indicating the range of histories (histories 51, 71) specified by the operation of specifying history 51.
[0051] The operation reception unit 11 may accept operations that specify multiple histories, not just one. For example, consider a case where the operation reception unit 11 accepts an operation to specify, among multiple histories, history 51 and the history with the number 3 for the history information 31. In this case, the storage processing unit 145 stores in the storage unit 12 information indicating that history 51 and the history with the number 3 were specified by this operation.
[0052] The rewrite processing unit 143 refers to the history information 31 and also refers to information from the storage unit 12 indicating that history 51 and the history with number 3 have been specified. The information indicating that history 51 and the history with number 3 have been specified is an example of range information that indicates the range of history specified by an operation that specifies at least some of the history.
[0053] The rewriting processing unit 143 then performs the process of overwriting the changed values ββof the variable values ββindicated in history 51 and the variable values ββindicated in the history with number 3 back to their original values. The display processing unit 144 also changes the color of the history entries in the history information 31 where the changed values ββhave been overwritten back to their original values. For example, the display processing unit 144 changes the color of the entire row in the history where the changed values ββhave been overwritten back to their original values ββfrom white to gray.
[0054] Furthermore, the rewrite processing unit 143 may perform a process to rewrite the changed value back to the original value only for the history specified by the operation to specify the history received by the operation reception unit 11. In addition, the display processing unit 144 may display at least one of the following two buttons on the screen displayed by the display unit 10. The first button is for rewriting the changed value back to the original value for the history from the latest history up to the specified history. The second button is for rewriting the changed value back to the original value only for the specified history.
[0055] As described above, the operation reception unit 11 accepts an operation to specify at least some of the history entries from among multiple history entries for the history information 31. The storage unit 12 stores the history information 31, as well as range information indicating the range of history entries specified by the operation to specify at least some of the history entries received by the operation reception unit 11. Furthermore, the rewrite processing unit 143 refers to the history information 31 and the range information from the storage unit 12 and executes a process to rewrite the second value written to the variable indicated by the at least some of the history entries to the first value.
[0056] (Settings for tag 61) Figure 6 is a diagram illustrating the process performed by the control unit 14 of the programmable display unit 1 shown in Figure 1, which sets a tag 61 for history information 31. As shown in Figure 6, consider the case where the operation reception unit 11 receives an operation to set a tag 61 between the history entry with number 2 and the history entry with number 3 in the history information 31. In this case, the storage processing unit 145 stores in the storage unit 12 information indicating that a tag 61 has been set between the history entry with number 2 and the history entry with number 3.
[0057] The rewrite processing unit 143 references the history information 31 and the information indicating that the tag 61 has been set from the storage unit 12. Then, the rewrite processing unit 143 executes a process to rewrite the changed value of the variable indicated by the history 72 after the set tag 61 back to the value before the change. This makes it possible to restore the variable value at a predetermined point in time.
[0058] When tag 61 is set, the value of the variable indicated by the history 72 after the set tag 61 is overwritten with the value before the change. Therefore, the operation of setting tag 61 can also be rephrased as the operation of specifying the history to which the changed value will be overwritten with the value before the change. In other words, the operation of setting tag 61 is an example of an operation that specifies at least some of the history from among multiple history entries for the history information 31.
[0059] Furthermore, the information indicating that tag 61 has been set can also be rephrased as information indicating the range of history to which the changed value will be overwritten with the previous value. In other words, the information indicating that tag 61 has been set is an example of range information indicating the range of history specified by an operation that specifies at least some of the history.
[0060] As described above, the operation reception unit 11 accepts an operation to specify at least some of the history entries from a plurality of history entries for the history information 31. The storage unit 12 stores the history information 31 and range information indicating the range of history entries specified by the operation to specify at least some of the history entries. Furthermore, the rewrite processing unit 143 refers to the history information 31 and the range information from the storage unit 12 and executes a process to rewrite the second value written to the variable indicated by the at least some of the history entries to the first value.
[0061] (When programmable display 1 is activated) Figure 7 is a diagram illustrating the case when the programmable display unit 1 shown in Figure 1 is started up. Reference numeral 701 in Figure 7 indicates history information 31. Reference numeral 702 in Figure 7 indicates the initial value of a variable in the following state. This state is when the power to the programmable display unit 1 and PLC2 is turned on, or when a restart is performed by resetting the programmable display unit 1 and PLC2. In this state, the variable is initialized (initial values ββare set for the variable) by the ladder program of PLC2 or the script of programmable display unit 1.
[0062] In Figure 7, reference numeral 703 indicates the value of a variable after an initial value has been set to the variable by a ladder program or script, as shown in the state indicated by reference numeral 702 in Figure 7, and after the modified value within the history range specified by the setting of tag 61 has been set to the variable.
[0063] As shown by reference numeral 701 in Figure 7, consider a state in which a tag 61 is set for the history information 31, similar to the case in Figure 6. In this state, consider the case where the power to the programmable display 1 and PLC2 is turned off and then turned on, or where a restart is performed by resetting the programmable display 1 and PLC2. In this case, it can be rephrased as when the programmable display 1 and PLC2 are started up.
[0064] When the programmable display unit 1 and PLC2 are powered on, the rewrite processing unit 143 retrieves the history information 31 and information indicating that tag 61 has been set from the storage unit 12. The rewrite processing unit 143 then performs a process to rewrite the initial values ββof the variables indicated in the history 73 prior to tag 61 to the modified values. Here, in order to maintain the history information 31 and information indicating that tag 61 has been set in the storage unit 12 even when the power to the programmable display unit 1 and PLC2 is turned off, the storage unit 12 needs to be a non-volatile memory.
[0065] Specifically regarding the rewriting process, the rewriting processing unit 143 performs the process of rewriting the initial values ββof the variables "HMI_ExtVar1" and "HMI_IntVar2" indicated in history 73 to the modified values, as shown by reference numerals 702 and 703 in Figure 7. In other words, the rewriting processing unit 143 rewrites the variable "HMI_ExtVar1" from "10" to "100" and the variable "HMI_IntVar2" from "2" to "10".
[0066] When tag 61 is set, the initial value of the variable indicated by history 73 prior to the set tag 61 is overwritten with the changed value. Therefore, the operation of setting tag 61 can also be rephrased as the operation of specifying the history to which the initial value will be overwritten with the changed value. Furthermore, the information indicating that tag 61 has been set can also be rephrased as information indicating the range of history to which the initial value will be overwritten with the changed value.
[0067] As described above, the rewrite processing unit 143 references the history information 31 and range information indicating the range of history specified by the operation to specify at least a portion of the history from the storage unit 12, and executes a process to rewrite the values ββof the variables indicated by the at least portion of the history to the second value.
[0068] Consider the case where the variable values ββin programmable display unit 1 and PLC2 are initialized due to power off or restart. Even in this case, when programmable display unit 1 and PLC2 are started up, the variable values ββindicated by the specified history can be set to the rewritten values.
[0069] (If the power to programmable display unit 1 is turned on after it has been turned off) Figure 8 illustrates the case where the programmable display unit 1 shown in Figure 1 is turned on after being turned off. Reference numeral 801 in Figure 8 indicates the initial value of a variable stored in PLC2 when the programmable display unit 1 and PLC2 are started up. Reference numeral 802 in Figure 8 indicates the value of a variable stored in PLC2 immediately before the power to the programmable display unit 1 and PLC2 is turned off, after the state shown by reference numeral 801 in Figure 8.
[0070] In Figure 8, reference numeral 803 indicates the value of a variable stored in PLC2 when the power to the programmable display 1 and PLC2 is turned on after the state shown by reference numeral 802 in Figure 8. The value of the variable shown by reference numeral 803 in Figure 8 is the value after it has been overwritten from the initial value shown by reference numeral 801 in Figure 8 to the modified value.
[0071] After the programmable display unit 1 and PLC2 are started up, the variable "HMI_ExtVar1" is rewritten from "10" to "100" as shown by reference numerals 801 and 802 in Figure 8, and the variable "HMI_ExtVar3" is rewritten from "TRUE" to "FALSE". Also, the variable "HMI_IntVar2" is rewritten from "2" to "10". In this way, the rewrite processing unit 143 executes the process of rewriting the values ββof the variables stored in PLC2 from the first value to the second value.
[0072] In this state, when the power to programmable display unit 1 and PLC2 is turned on after the power to programmable display unit 1 and PLC2 has been turned off, the rewrite processing unit 143 refers to the rewrite history stored in the storage unit 12. This rewrite history is a record showing that the rewrite processing unit 143 has rewritten the value of a variable stored in PLC2 from a first value to a second value.
[0073] The rewrite processing unit 143 executes a process to rewrite the value of the variable stored by the PLC2 to the second value of the rewrite history that the storage unit 12 had stored in the state shown by reference numeral 802 in Figure 8. As a result, the value of the variable stored by the PLC2 becomes the second value of the rewrite history that the storage unit 12 had stored in the state shown by reference numeral 802 in Figure 8.
[0074] (Creation of recipe data 81 and 82) Figure 9 is a diagram illustrating the process by which the control unit 14 of the programmable display unit 1 shown in Figure 1 creates recipe data 81 and 82. Reference numeral 901 in Figure 9 indicates history information 31 to which tags 61 and 62 have been set, reference numeral 902 in Figure 9 indicates recipe data 81, and reference numeral 903 in Figure 9 indicates recipe data 82.
[0075] As shown by reference numeral 901 in Figure 9, the history information 31 has a tag 62 set between the history entry with number 5 and the history entry with number 6, similar to the setting of tag 61, and the display unit 10 displays the history information 31. The operation reception unit 11 receives a creation operation to create recipe data 81 and 82 that specify the values ββof variables from the history information 31. When the operation reception unit 11 receives a creation operation, the creation unit 142 creates the recipe data 81 and 82 by referring to the history information 31.
[0076] For example, consider a case where the operation reception unit 11 receives a creation operation that selects tag 62 from the history information 31 and instructs the creation of recipe data based on the selected tag 62. In this case, the creation unit 142 refers to the history information 31, extracts the variable name and the changed value from the history 74 from the history with number 1 up to tag 62, and creates recipe data 81 in which the variable name and value are associated.
[0077] Furthermore, if the history information 31 includes multiple different histories for the same variable, the recipe data created by the creation unit 142 will include data from different rows for the same variable. For example, if there is a history for the variable "HMI_IntVar1" between the history with number 5 and tag 62, a row for the variable "HMI_IntVar1" will be added to the last row of the recipe data 81. In this case, the recipe data 81 will have two rows for the variable "HMI_IntVar1".
[0078] Let's also consider the case where the operation reception unit 11 selects tags 61 and 62 from the history information 31 and receives a creation operation instructing the creation of recipe data based on the selected tags 61 and 62. In this case, the creation unit 142 refers to the history information 31, extracts the variable names and changed values ββfrom the history 75 from tag 61 to tag 62, and creates recipe data 82.
[0079] With the above configuration, the user can create recipe data 81 and 82 from the history information 31 displayed by the display unit 10 while checking the history information 31. Furthermore, consider the case where the implementer of the programmable display unit 1 creates project data containing multiple screen data to be displayed on the display unit 10. In this case, the user can use the recipe data even if the implementer of the programmable display unit 1 does not define the variables used as recipe data in the project data.
[0080] Therefore, it becomes unnecessary to recreate the recipe data in the drawing editor, transfer the project data to the programmable display unit 1, and restart the programmable display unit 1. In other words, it becomes unnecessary to temporarily suspend the entire system, including the programmable display unit 1.
[0081] Here, consider the case where the operation reception unit 11 receives an operation to specify at least some of the histories from a plurality of histories for the history information 31, and a creation operation that instructs the creation of recipe data based on the at least some of the histories specified by this operation. In this case, the storage unit 12 stores range information indicating the range of histories specified by the operation to specify at least some of the histories received by the operation reception unit 11. The creation unit 142 may also refer to the history information 31 and the range information from the storage unit 12 to extract variable names and modified values ββfrom the at least some of the histories and create recipe data.
[0082] (Display-only display variable) Figure 10 shows an example of a screen 21A displayed by the display unit 10 of the programmable display unit 1 shown in Figure 1. As shown in Figure 10, for example, the screen 21A displayed by the display unit 10 includes a meter graph 28. The meter graph 28 is a meter graph with a numerical display. Screen 21A is the screen with screen ID P2. The display processing unit 144 causes screen 21A to be displayed on the display unit 10.
[0083] Here, consider the case where PLC2 overwrites the value of a display variable, which is one of several variables that store values ββrelated to device 3 and is used exclusively for displaying values ββon the display unit 10, with a fourth value. In this case, the creation unit 142 uses the value of the display variable stored in the storage unit 12 as the third value and creates history information including the third value and the fourth value.
[0084] For example, consider the case where PLC2 overwrites the value of a variable corresponding to the meter graph 28 from a third value to a fourth value. In this case, the creation unit 142 adds a history to the history information that includes the third value, which is the value of the display variable stored in the storage unit 12, and the fourth value, which is the value of the display variable after it has been overwritten by PLC2. In the history information, the third value becomes the value before the change, and the fourth value becomes the value after the change. The history information indicates that the value of the variable corresponding to the meter graph 28 has been overwritten from the third value to the fourth value.
[0085] Here, the variable corresponding to the meter graph 28 is a display variable dedicated to displaying values ββon the display unit 10, and it stores the value that the meter graph 28 displays. The display processing unit 144 displays the meter graph 28, which displays the value of the variable stored in the storage unit 12, on the display unit 10. The PLC2, according to the ladder program, rewrites the value of the display variable stored in the PLC2 from the third value to the fourth value. The creation unit 142 sets the value of the numerical display 18 displayed on the display unit 10 to the value before the change. The value of the display variable cannot be rewritten by operations received by the operation reception unit 11.
[0086] In the above configuration, the variables whose values ββare displayed by the display unit 10 include display variables that are dedicated to displaying values ββto the display unit 10. The programmable display units 1 are designed so that other programmable display units 1 do not perform any processing to overwrite the values ββof these display variables; therefore, their values ββcannot be overwritten by instructions from other programmable display units 1 to the PLC2. Furthermore, since the programmable display unit 1 periodically retrieves the values ββof the display variables from the PLC2, the values ββof the display variables stored in the PLC2 match the values ββof the display variables stored in the programmable display unit 1.
[0087] Therefore, immediately before PLC2 rewrites the value of the display variable, the value stored in the memory unit 12 of the programmable display unit 1 matches the value stored in PLC2. Thus, the value immediately before rewriting can be considered the accurate value.
[0088] The memory unit 12 does not store the history of the variables that store the values ββdisplayed by the meter graph 28 as a history of write operations received by the operation reception unit 11, but rather as a history of changes made by the PLC2. The memory unit 12 stores history information for the variables that store the values ββdisplayed by the meter graph 28, including the value before the change and the value after the change.
[0089] Therefore, the rewrite processing unit 143 does not revert the variables that store the values ββdisplayed by the meter graph 28 from their changed values ββback to their original values. In other words, among the values ββof multiple variables, only the variables that have been rewritten by the write operation received by the operation reception unit 11 can be reverted from their changed values ββback to their original values. The meter graph 28 displays the latest values ββafter rewriting by the PLC2, regardless of when the operation reception unit 11 receives the write operation.
[0090] Furthermore, the operation reception unit 11 may accept an operation that specifies the timing for starting the creation of history information. If the operation reception unit 11 accepts an operation that specifies the timing for starting the creation of history information, the creation unit 142 will start creating the history information at the timing specified by the operation received by the operation reception unit 11.
[0091] For example, when a user performs a write operation to a variable, they may instruct the operation reception unit 11 to start creating history information. Alternatively, when a user remotely connects an external device such as a PC to the programmable display 1, they may use the external device to instruct the operation reception unit 11 to start creating history information.
[0092] (If the value of the variable changes) Figure 11 is a diagram showing the history information 33 created by the control unit 14 of the programmable display unit 1 shown in Figure 1. The creation unit 142 may also create the history information 33. In addition to the information contained in the history information 31, the history information 33 includes a first history indicating that the value of a variable was rewritten from a first value to a second value, and a second history indicating that there was a change in the value of a variable read from the PLC2.
[0093] As shown in Figure 11, for example, the history information 33 includes an R / W flag. A history entry showing that the R / W flag is W is an example of a first history entry indicating that the value of a variable was rewritten from a first value to a second value by a write operation received by the operation reception unit 11. A history entry showing that the R / W flag is R is an example of a second history entry indicating that there was a change in the value of a variable read from the PLC2.
[0094] A history entry with number 1 indicates that the rewrite processing unit 143 rewrote the value of the variable "HMI_ExtVar1" from its original value to its new value. Therefore, in history entries with number 1, the R / W flag is set to W. A history entry with number 2 indicates that there has been a change in the value of the variable "HMI_ExtVar1" read by the acquisition unit 141 from the PLC2. This change is due to the rewrite processing unit 143 rewriting the value of the variable "HMI_ExtVar1" from its original value to its new value in history entry 1. Therefore, in history entries with number 2, the R / W flag is set to R.
[0095] Multiple history entries numbered 1 through 6 are arranged chronologically in history information 33. In other words, history entries indicating that the R / W flag is W and history entries indicating that the R / W flag is R are arranged chronologically in history information 33.
[0096] When the operation reception unit 11 receives an operation to execute the first function, the rewrite processing unit 143 executes the first function on the value of the variable indicated by the first history among the first and second histories. Specifically, when the operation reception unit 11 receives an operation to execute the first function, the rewrite processing unit 143 executes a process to rewrite the changed value to the original value for the value of the variable indicated by the history where the R / W flag is W among the multiple histories included in the history information 33. With the above configuration, the value of the variable indicated by the first history, which indicates that the value of the variable has been updated by writing, can be restored to the value of the variable at a predetermined point in time.
[0097] Furthermore, the rewrite processing unit 143 executes a process to revert the value back to the modified value for variables that have been rewritten from the modified value to the original value by an operation executing the first function, among the multiple histories included in the history information 33. In other words, the rewrite processing unit 143 may execute a process to rewrite the value of a variable indicated by a history where the R / W flag is W to the modified value. In addition, the display processing unit 144 may display only the histories where the R / W flag is W among the multiple histories included in the history information 33 on the display unit 10.
[0098] Furthermore, the display processing unit 144 can perform replay or reverse playback of the screen displayed by the display unit 10 by executing a screen switching process. In particular, since the history information 33 includes a history where the R / W flag is R, the display processing unit 144 can refer to this history and perform replay or reverse playback of the changes in the data displayed by the display unit 10.
[0099] γsummaryγ A programmable display according to aspect 1 of the present invention comprises: a communication unit that communicates with a programmable logic controller that controls a device and detects the state of the device; an operation reception unit that accepts write operations to a variable that stores a value related to the device; an acquisition unit that acquires the value of the variable at the time the operation reception unit accepts the write operation from the programmable logic controller as a first value; a creation unit that creates history information including the first value and a second value written to the variable by the write operation; and a rewrite processing unit that, when the operation reception unit accepts an operation to perform a first function that restores the value of the variable to the value at a predetermined point in time, refers to the history information and performs a process to rewrite the second value written to the variable to the first value.
[0100] According to the above configuration, when a write operation is accepted, the value of the variable is obtained from the programmable logic controller by the acquisition unit, and history information including that value is created by the creation unit. Therefore, the exact variable value obtained from the programmable logic controller can be reliably included in the history information. Consequently, when the first function is executed, it is possible to restore the value written to the variable to the exact variable value at a predetermined point in time.
[0101] A programmable display according to aspect 2 of the present invention further comprises a display unit in aspect 1 above, wherein the history information further includes identification information of the first screen that the display unit was displaying when the second value was written to the variable, and the programmable display may further comprise a display processing unit that, when the operation receiving unit receives an operation to perform the first function, refers to the identification information included in the history information and switches the second screen that the display unit was displaying when the operation receiving unit received the operation to perform the first function back to the first screen.
[0102] With the above configuration, the user can view the screen when the variable's value is updated from the first value to the second value (at a predetermined point in time).
[0103] In the programmable display according to aspect 3 of the present invention, in aspect 1 or 2 described above, the history information indicates that the values ββof a plurality of variables have been rewritten from the first value to the second value and includes a plurality of histories arranged in chronological order, the operation receiving unit accepts an operation to specify at least a portion of the plurality of histories for the history information, the programmable display stores the history information and range information indicating the range of histories specified by the operation to specify at least a portion of the histories, and further includes a storage unit which is a non-volatile memory, and when the programmable display is started, the rewrite processing unit may refer to the history information and the range information and execute a process to rewrite the values ββof the variables indicated by at least a portion of the histories to the second value.
[0104] Consider the case where the values ββof variables in a programmable display and programmable logic controller are initialized due to the power being turned off or the system being restarted. Even in this case, when the programmable display is started up, the values ββof the variables indicated by the specified history can be set to the rewritten values.
[0105] A programmable display according to aspect 4 of the present invention further comprises, in any of aspects 1 to 3 above, a storage unit for storing the history information and the values ββof the variables, and a display unit for displaying the values ββof the variables stored in the storage unit, wherein when the programmable logic controller overwrites the value of a display variable, which is used exclusively for displaying the value to the display unit, with a third value to a fourth value, the creation unit may create the history information including the third value and the fourth value, using the value of the display variable stored in the storage unit as the third value.
[0106] In the above configuration, the variables whose values ββare displayed by the display unit include display variables that are dedicated to displaying values ββto the display unit. These display variables are designed so that their values ββcannot be overwritten by other programmable indicators; therefore, their values ββcannot be overwritten by instructions from other programmable indicators to the programmable logic controller. Furthermore, because the programmable indicator periodically retrieves the values ββof the display variables from the programmable logic controller, the values ββof the display variables stored in the programmable logic controller match the values ββof the display variables stored in the programmable indicator.
[0107] Therefore, immediately before the programmable logic controller overwrites the value of the display variable, the value stored in the programmable display's memory unit and the value stored in the programmable logic controller match. Thus, the value immediately before overwriting can be considered the accurate value.
[0108] A programmable display according to aspect 5 of the present invention further comprises a display unit for displaying the history information in any of the above aspects 1 to 4, wherein the operation reception unit receives a creation operation for creating recipe data specifying the value of the variable from the history information, and the creation unit may create the recipe data by referring to the history information when the operation reception unit receives the creation operation.
[0109] With the above configuration, the user can create recipe data from the history information displayed on the display unit while checking the history information.
[0110] A programmable display according to embodiment 6 of the present invention, in any of embodiments 1 to 5 above, the history information includes a first history indicating that the value of the variable has been rewritten from the first value to the second value, and a second history indicating that there has been a change in the value of the variable read from the programmable logic controller, wherein the first history and the second history are arranged in chronological order in the history information, and the rewrite processing unit may, when the operation receiving unit receives an operation to execute the first function, execute the first function on the value of the variable indicated in the first history among the first history and the second history.
[0111] According to the above configuration, among multiple histories, the value of the variable indicated by the first history, which shows that the variable's value was updated by a write operation, can be restored to the variable's value at a predetermined point in time.
[0112] A rewriting method according to aspect 7 of the present invention is a rewriting method for rewriting the value of a variable that stores a value related to a device using a programmable display, and includes: a communication step of communicating with a programmable logic controller that controls the device and detects the state of the device; an operation reception step of accepting a write operation to the variable; an acquisition step of acquiring the value of the variable at the time the write operation is accepted in the operation reception step as a first value from the programmable logic controller; a creation step of creating history information including the first value and a second value written to the variable by the write operation; and a processing step of referring to the history information and rewriting the second value written to the variable to the first value when an operation to perform a first function of restoring the value of the variable to the value at a predetermined point in time is accepted in the operation reception step.
[0113] Each aspect of the present invention may be implemented by a computer, in which case a control program for the programmable display that enables the computer to implement the programmable display by operating the computer as each part (software element) of the programmable display, and a computer-readable recording medium on which the programmable display is recorded, also fall within the scope of the present invention.
[0114] [Examples of implementation using software] The function of the programmable display unit 1 (hereinafter referred to as "device") is a program that causes the device to function as a computer, and can be realized by a program that causes each control block of the device (particularly each part included in the control unit 14) to function as a computer.
[0115] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., memory) as hardware for executing the program. By executing the program using this control device and storage device, each of the functions described in the above embodiment is realized.
[0116] The above program may be recorded on one or more computer-readable recording media, not temporary ones. These recording media may or may not be provided by the above device. In the latter case, the program may be supplied to the above device via any wired or wireless transmission medium.
[0117] Furthermore, some or all of the functions of each of the above control blocks can also be realized by logic circuits. For example, an integrated circuit in which logic circuits functioning as each of the above control blocks are formed is also included in the scope of the present invention. In addition, it is also possible to realize the functions of each of the above control blocks by, for example, a quantum computer.
[0118] [Additional Notes] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the multiple technical means disclosed in the embodiments are also included in the technical scope of the present invention. [Explanation of Symbols]
[0119] 1. Programmable display 2 PLC 3 devices 10 Display section 11 Operation reception section 12 Storage section 13 Communications Department 14 Control Unit 21, 21A screen 31, 33 History Information 51, 71~75 History 81, 82 Recipe data 141 Acquisition Department 142 Creation Department 143 Rewriting Processing Unit 144 Display Processing Unit
Claims
1. A communication unit that communicates with a programmable logic controller that controls the device and detects the state of the device, An operation receiving unit that accepts write operations to a variable that stores a value related to the aforementioned device, An acquisition unit that acquires the value of the variable when the operation reception unit receives the write operation from the programmable logic controller as a first value, A creation unit that creates history information including the first value and the second value written to the variable by the write operation, A programmable display comprising: a rewrite processing unit that, when the operation receiving unit receives an operation to perform a first function of restoring the value of the variable to its value at a predetermined point in time, refers to the history information and performs a process to rewrite the second value written to the variable to the first value.
2. It also includes a display unit, The history information further includes identification information of the first screen that the display unit was displaying when the second value was written to the variable, The aforementioned programmable display unit is When the operation reception unit receives an operation to perform the first function, The programmable display according to claim 1, further comprising a display processing unit that, when the operation receiving unit receives an operation to perform the first function by referring to the identification information contained in the history information, switches the second screen displayed by the display unit to the first screen.
3. The aforementioned history information indicates that the values ββof multiple variables have been rewritten from the first value to the second value, and includes multiple history entries arranged in chronological order. The operation reception unit receives an operation to specify at least some of the multiple histories for the history information. The programmable display stores the history information and range information indicating the range of history specified by an operation to specify at least some of the history, and further comprises a storage unit which is a non-volatile memory. The rewrite processing unit is, The programmable display according to claim 1, characterized in that when the programmable display is activated, it performs a process of referring to the history information and the range information and rewriting the value of the variable indicated by at least some of the history to the second value.
4. A storage unit that stores the historical information and the values ββof the variables, The system further comprises a display unit that displays the value of the variable stored in the storage unit, When the programmable logic controller overwrites the value of a display variable, which is used exclusively for displaying values ββon the display unit, with a third value, The programmable display according to claim 1, characterized in that the creation unit creates the history information including the third value and the fourth value, using the value of the display variable stored in the storage unit as the third value.
5. The system further includes a display unit for displaying the aforementioned history information, The operation reception unit receives a creation operation to create recipe data specifying the value of the variable from the history information, The programmable display according to claim 1, characterized in that the creation unit creates the recipe data by referring to the history information when the operation reception unit receives the creation operation.
6. The history information includes a first history indicating that the value of the variable was changed from the first value to the second value, and a second history indicating that there was a change in the value of the variable read from the programmable logic controller. The first history and the second history are arranged in chronological order in the history information. The rewrite processing unit is, When the operation reception unit receives an operation to perform the first function, The programmable display according to claim 1, characterized in that, of the first history and the second history, the first function is performed on the value of the variable indicated by the first history.
7. A method for rewriting the value of a variable that stores a value related to a device using a programmable indicator, A communication step that communicates with a programmable logic controller that controls the device and detects the state of the device, An operation acceptance step that accepts a write operation to the aforementioned variable, An acquisition step is to acquire the value of the variable when the write operation is accepted in the operation acceptance step as a first value from the programmable logic controller, A creation step of creating history information including the first value and the second value written to the variable by the write operation, A rewriting method characterized by including, when an operation to perform a first function to return the value of the variable to the value at a predetermined point in time is received in the operation reception step, a processing step of referring to the history information and rewriting the second value written to the variable to the first value.
Citation Information
Patent Citations
JP2020061017A