Programmable Logic Controller
The PLC with a Modbus interface efficiently configures Boolean logic operations using Modbus commands, addressing the flexibility and programming ease limitations in existing PLCs, and enabling remote monitoring and control.
Patent Information
- Application Number
- JP2022552490
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-03
- Filing Date
- 2021-02-24
- Publication Date
- 2025-06-09
- Estimated Expiration
- 2041-02-24
AI Technical Summary
Existing programmable logic controllers (PLCs) lack an efficient method for configuring Boolean logic operations using Modbus commands, limiting their flexibility and ease of programming in industrial control systems.
A programmable logic controller (PLC) with a Modbus interface that receives Modbus commands to specify configurations for Boolean logic operations, allowing the programming module to configure the programmable logic module accordingly, thereby enabling flexible programming of Boolean logic operations.
This solution allows for efficient programming of Boolean logic operations in PLCs, enhancing their flexibility and ease of use in industrial control systems, while also enabling remote monitoring and control of systems.
Smart Images

Figure 0007689973000003 
Figure 0007689973000004 
Figure 0007689973000005
Abstract
Description
Technical Field
[0001] The present invention relates to a programmable logic controller.
Background Art
[0002] The Modbus protocol is a well-known communication protocol used to transmit information between electronic devices. The Modbus protocol is described on the World Wide Web, for example, at http: / / www.modbus.org, which is hereby incorporated by reference in its entirety along with all related web pages. The specifications of the Modbus protocol are described in "MODBUS application protocol specification v1.1b3", which is hereby incorporated by reference. Reference information for software developers implementing Modbus messaging services can be found in "MODBUS Messaging on TCP / IP Implementation Guide V1.0b", which is hereby incorporated by reference. The implementation of the Modbus protocol on serial lines is described in "MODBUS over serial line specification and implementation guide V1.02", which is hereby incorporated by reference.
[0003] The Modbus protocol is generally used for communication between factory facilities and industrial electronic devices such as programmable logic controllers (PLCs) interconnected by, for example, a local area network (LAN).
[0004] A PLC is an industrial digital computer that is generally connected to industrial equipment and controls and / or monitors the industrial equipment according to a stored program. PLCs generally provide highly reliable control, as well as ease of programming and process fault diagnosis.
Summary of the Invention
Means for Solving the Problems
[0005] In a first aspect, the present invention provides a programmable logic controller (PLC). The PLC includes a programmable logic module, a Modbus interface configured to receive one or more Modbus commands that specify a configuration for one or more Boolean logic operations, and a programming module operatively connected to the Modbus interface and the programmable logic module. The programming module is configured to program the programmable logic module according to the configuration of the one or more Boolean logic operations specified by the received one or more Modbus commands.
[0006] The one or more Modbus communication information or commands can be messages according to the Modbus-type protocol. The one or more Modbus communication information or commands can be messages encapsulated in the Modbus-type protocol. The Modbus-type protocol can be selected from the group consisting of Modbus RTU, Modbus TCP / IP, Modbus TCP, Modbus over TCP, Modbus over TCP, Modbus RTU / IP, Modbus over UDP, Modbus Plus (Modbus+, MB+, or MBP), Pemex Modbus, and Enron Modbus. Advantageously, this aspect can be implemented with any Modbus protocol or Modbus-type protocol including but not limited to the above.
[0007] The PLC can further include one or more PLC input parts. The PLC can further include one or more PLC output parts.
[0008] One or more first Modbus commands can specify a first Boolean operation and a first input for the first Boolean operation. One or more first Modbus commands can be configured to specify the first Boolean operation by setting a first Modbus register to a first value and to specify the first input by setting a second Modbus register to a second value. One or more first Modbus commands can further specify a second input for the first Boolean operation. The first Boolean operation can be a logical operation selected from the group consisting of FALSE, OR, AND, XOR, NOR, NAND, XNOR, and TRUE. The PLC can be configured to output the output of the first Boolean operation, which is used by a device remote from the PLC. One or more first Modbus commands can specify that the first input for the first Boolean operation is a value received at a first PLC input part among one or more PLC input parts. One or more first Modbus commands can specify that the first input for the first Boolean operation is the output of a second Boolean operation. One or more first Modbus commands can specify that the first input for the first Boolean operation is an inverted input. One or more Modbus commands can specify that the output of the first Boolean operation is a value output at a first PLC output part among one or more PLC output parts.
[0009] The programmed operation of the PLC includes monitoring and / or controlling a system or device remote from the PLC. The Modbus interface can be configured to receive one or more Modbus commands from a device remote from the PLC.
[0010] In a further aspect, the present invention provides a system comprising a PLC according to the above aspect and a device remote from the PLC configured to transmit one or more Modbus commands to the Modbus interface of the PLC.
[0011] In a further aspect, the present invention provides a method of programming the operation of a programmable logic controller (PLC). The PLC comprises a programmable logic module. The method includes receiving, by the Modbus interface of the PLC, one or more Modbus commands that specify a configuration for one or more Boolean logic operations; and programming, by the programming module of the PLC, the operation of the programmable logic module according to the configuration of the one or more Boolean logic operations specified by the received one or more Modbus commands.
[0012] The method can further include a device remote from the PLC receiving a user input; and the device remote from the PLC generating one or more Modbus commands using the user input. This can include, for example, encapsulating one or more communication information or commands in a Modbus-type protocol. The method can further include the device remote from the PLC transmitting one or more Modbus communication information or commands to the Modbus interface according to the Modbus protocol.
[0013] The method can further include the PLC monitoring at least one of a system or a device; and the PLC controlling at least one of the system or the device. The system or device can be remote from the PLC.
[0014] In a further aspect, the present invention provides a program or programs configured to, when executed by a computer system, or one or more processors, cause the computer system or the one or more processors to receive one or more Modbus communication information or commands that specify a configuration for one or more Boolean logic operations, and program the operation of a programmable logic controller (PLC) according to the configuration of the one or more Boolean logic operations.
[0015] In a further aspect, the present invention provides a machine-readable storage medium storing the program according to the above aspect or at least one of a plurality of programs.
Brief Description of the Drawings
[0016]
Figure 1
Figure 2
Figure 3
Figure 4
Embodiments for Carrying Out the Invention
[0017] FIG. 1 is a schematic diagram of an exemplary system (not to scale) useful for understanding the present invention. This system is a process water system 100 that will be controlled by a programmable logic controller (PLC), and its embodiments will be described in detail below with reference to FIGS. 2 to 4.
[0018] In this example, the process water system 100 includes a process water supply source 102, a filling valve 104, a storage tank 106, a first water level sensor 108, a second water level sensor 110, a pump 112, a process module 114, a drain valve 116, a drain pipe 118, and a return valve 120.
[0019] The process water supply source 102 is configured to supply process water to the storage tank 106 via the filling valve 104. The filling valve 104 controls the supply of process water from the process water supply source 102 to the storage tank 106. The storage tank 106 is configured to store the process water received from the process water supply source 102.
[0020] The first water level sensor 108 is disposed within the storage tank 106. The first water level sensor 108 is configured to detect when the water level in the storage tank 106 is at or above a first threshold level. In this example, the first threshold level corresponds to the "maximum allowable water level".
[0021] The second water level sensor 110 is disposed within the storage tank 106. The second water level sensor 110 is configured to detect when the water level in the storage tank 106 is at or below a second threshold level. In this example, the second threshold level corresponds to the "minimum allowable water level".
[0022] The storage tank 106 is further connected to a pump 112. The pump 112 is configured to pump process water from the storage tank 106 to the process module 114. The process module 114 is configured to execute a process using the process water pumped by the pump 122. The process that the process module 114 executes using the process water can be any suitable process including, but not limited to, a cooling process where the process water is used as a coolant, a washing process, a manufacturing process, a dilution process, etc.
[0023] The process module 114 is further connected to a water distribution pipe 118 via a drain valve 116. Process water (i.e., unused process water or process water used by the process module 114) can be discharged or removed from the system 100 via the drain pipe 118. The drain valve 116 controls the flow of process water from the process module 114 to the drain pipe 118.
[0024] The process module 114 is further connected to the storage tank 106 via a return valve 120. The return valve 120 controls the flow of process water from the process module 114 to the storage tank 106. Thus, the process water (i.e., unused process water or process water used by the process module 114) can be returned to the storage tank for reuse or recycling.
[0025] In this example, the process water system 100 further includes a plurality of switches, namely, a first switch 141, a second switch 142, a third switch 143, a fourth switch 144, a fifth switch 145, a sixth switch 146, and a seventh switch 147.
[0026] The first switch 141 is operatively connected to the second water level sensor 110. The first switch 141 is configured to be closed when the second water level sensor 110 detects that the water level in the storage tank 106 is lower than a second threshold level. The first switch 141 is configured to output a digital output of TRUE (binary 1) when the first switch 141 is closed, i.e., when the water level is lower than the allowable minimum water level. The first switch 141 is further configured to be opened when the second water level sensor 110 detects that the water level in the storage tank 106 is equal to or higher than the second threshold level. The first switch 141 is further configured to output a digital output of FALSE (binary 0) when the first switch 141 is open, i.e., when the water level is equal to or higher than the minimum allowable water level.
[0027] The second switch 142 is operatively connected to the filling valve 104. The second switch 142 is configured to be closed when the filling valve 104 is closed, i.e., when the filling valve 104 prevents the flow of process water from the process water source 102 to the storage tank 106. The second switch 142 is configured to output a digital output of TRUE (binary 1) when the second switch 142 is closed, i.e., when the filling valve 104 is closed. The second switch 142 is further configured to be opened when the filling valve 104 is open, i.e., when the filling valve 104 allows the flow of process water from the process water source 102 to the storage tank 106. The second switch 142 is further configured to output a digital output of FALSE (binary 0) when the second switch 142 is open, i.e., when the filling valve 104 is open.
[0028] The third switch 143 is operatively connected to the first water level sensor 108. The third switch 143 is configured to be closed when the second water level sensor 110 detects that the water level in the storage tank 106 is lower than the first threshold level. The third switch 143 is configured to output a digital output of TRUE (binary 1) when the third switch 143 is closed, i.e., when the water level is lower than the maximum allowable water level. The third switch 143 is further configured to be opened when the first water level sensor 108 detects that the water level in the storage tank 106 is equal to or higher than the first threshold level. The third switch 143 is further configured to output a digital output of FALSE (binary 0) when the third switch 143 is open, i.e., when the water level is equal to or higher than the maximum allowable water level.
[0029] The fourth switch 144 is operatively connected to the pump 112. More specifically, the fourth switch 144 is connected to a temperature sensor coupled to (e.g., attached to) the pump 112. The temperature sensor is configured to measure the temperature of the pump 112. The fourth switch 144 is configured to close when the temperature of the pump 112 measured by the temperature sensor is equal to or higher than a threshold temperature (corresponding to the "maximum allowable pump temperature"), i.e., when the pump 112 is "hot". The fourth switch 144 is configured to output a digital output of TRUE (binary 1) when the fourth switch 144 is closed, i.e., when the pump temperature is equal to or higher than the threshold temperature. The fourth switch 144 is further configured to open when the temperature of the pump 112 measured by the temperature sensor is lower than the threshold temperature, i.e., when the pump 112 is "not hot". The fourth switch 144 is further configured to output a digital output of FALSE (binary 0) when the pump temperature is lower than the threshold temperature.
[0030] The fifth switch 145 is operatively connected to the pump 112. The fifth switch 145 is configured to close when the pump 112 is ON, i.e., when the pump 112 is operating to pump process water from the storage tank 106. The fifth switch 145 is configured to output a digital output of TRUE (binary 1) when the fifth switch 145 is closed, i.e., when the pump 112 is ON. The fifth switch 145 is further configured to open when the pump 112 is OFF, i.e., when process water is not being pumped from the storage tank 116. The fifth switch 145 is further configured to output a digital output of FALSE (binary 0) when the fifth switch 145 is open, i.e., when the pump 112 is OFF.
[0031] The sixth switch 146 is operably connected to the return valve 120. The sixth switch 146 is configured to be closed when the return valve 120 is closed, that is, when the return valve 120 prevents the flow of process water from the process module 114 to the storage tank 106. The sixth switch 146 is configured to output a digital output of TRUE (binary 1) when the sixth switch 146 is closed, that is, when the return valve 120 is closed. The sixth switch 146 is further configured to be opened when the return valve 120 is open, that is, when the return valve 120 allows the flow of process water from the process module 114 to the storage tank 106. The sixth switch 146 is further configured to output a digital output of FALSE (binary 0) when the sixth switch 146 is open, that is, when the return valve 120 is open.
[0032] The seventh switch 147 is operably connected to a conduit connecting the return valve 120 to the storage tank 106. More specifically, the seventh switch 147 is connected to a flow rate sensor configured to detect the flow of process water in the conduit connecting the return valve 120 to the storage tank 106. The seventh switch 147 is configured to be closed when the flow rate sensor detects that water is flowing along the conduit connecting the return valve 120 to the storage tank 106. The seventh switch 147 is configured to output a digital output of TRUE (binary 1) when the seventh switch 147 is closed, that is, when the flow of water from the process module 114 to the storage tank 106 is detected. The seventh switch 147 is further configured to be opened when the flow rate sensor does not detect that water is flowing along the conduit connecting the return valve 120 to the storage tank 106. The seventh switch 147 is further configured to output a digital output of FALSE (binary 0) when the seventh switch 147 is open, that is, when the flow of water from the process module 114 to the storage tank 106 is not detected.
[0033] FIG. 2 is a schematic diagram (not to scale) showing a monitoring system 200 for monitoring the process water system 100 according to an embodiment. In this embodiment, the monitoring system 200 includes a PLC 202, a user device 204, a first fault indicator 206, and a second fault indicator 208.
[0034] The PLC 202 includes an input connector 210, an output connector 212, a programmable logic module 214, a Modbus interface 216, and a programming module 218. The input connector 210 includes a plurality of input portions that can be input pins. Specifically, the input connector 210 includes a first input portion 221, a second input portion 222, a third input portion 223, a fourth input portion 224, a fifth input portion 225, a sixth input portion 226, and a seventh input portion 217.
[0035] In this embodiment, the PLC 202 is operatively connected to the process water system 100 so that the monitoring system 200 can monitor the process water system 100, as will be described in detail below with reference to FIGS. 3 and 4. More specifically, in this embodiment, the first input unit 221 is connected to the first switch 141 (via a wireless or wired connection) such that the output of the first switch 141 is received by the first input unit 221 during operation. Similarly, the second input 222 is connected to the second switch 142 (via a wireless or wired connection) such that the output of the second switch 142 is received by the second input unit 222 during operation. Similarly, the third input unit 223 is connected to the third switch 143 (via a wireless or wired connection) such that the output of the third switch 143 is received by the third input unit 223 during operation. Similarly, the fourth input unit 224 is connected to the fourth switch 144 (via a wireless or wired connection) such that the output of the fourth switch 144 is received by the fourth input unit 224 during operation. Similarly, the fifth input unit 225 is connected to the fifth switch 145 (via a wireless or wired connection) such that the output of the fifth switch 145 is received by the fifth input unit 225 during operation. Similarly, the sixth input unit 226 is connected to the sixth switch 146 (via a wireless or wired connection) such that the output of the sixth switch 146 is received by the sixth input unit 226 during operation. Similarly, the seventh input unit 227 is connected to the seventh switch 147 (via a wireless or wired connection) such that the output of the seventh switch 147 is received by the seventh input unit 227 during operation.
[0036] The input connector 210 is connected to the programmable logic module 214. Specifically, each of the input units 221 - 227 of the input connector 210 is connected to the programmable logic module 214 such that the signals received by the input units 221 - 227 are transmitted to the programmable logic module 214.
[0037] The output connector 212 includes a plurality of output units that can be output pins. Specifically, the output connector 212 includes a first output unit 231 and a second output unit 232. The output connector 212 is connected to the programmable logic module 214. Specifically, each of the output portions 231-232 of the output connector 212 is connected to the programmable logic module 214, and each output portion is configured to receive each output of the programmable logic module 214.
[0038] Each of the output portions 231-232 of the output connector 212 is further connected to respective fault indicators. Specifically, the first output portion 231 is connected to the first fault indicator 206, and the second output portion 232 is connected to the second fault indicator 208.
[0039] The programmable logic module 214 is connected between the input connector 210 and the output connector 212. When operating, the programmable logic module 214 is configured to receive one or more input signals from the input portions 221-227 of the input connector 210, process those input signals, and output one or more output signals to the output portions 231-232 of the output connector 212. The processing of the input signals received by the programmable logic module 214 depends on the programming or configuration of the programmable logic module 214. The programmable logic module 214 can be programmed (or reprogrammed) by the user device 204 transmitting or uploading program instructions or signals to the programmable logic module 214 via the Modbus interface 216 and the programming module 218, as will be described in more detail below with reference to FIG. 3.
[0040] The Modbus interface 216 is an input device of the PLC 202. The Modbus interface 216 is operatively connected to the user device 204 via a communication link. This communication link is a bidirectional communication link. This communication link can be a wired communication link or a wireless communication link. Examples of suitable communication links between the Modbus interface 216 and the user device 204 include, but are not limited to, Internet Protocol (IP) communication links and Transmission Control Protocol (TCP) communication links. The Modbus interface 216 is configured to receive one or more pieces of communication information from the user device 204 according to the Modbus-type protocol (i.e., Modbus-type communication information or commands) during operation. In other words, the Modbus interface 216 is configured to receive one or more messages encapsulated in the Modbus-type protocol during operation. The Modbus-type protocol can be any Modbus-type protocol selected from the group including, but not limited to, Modbus RTU, Modbus TCP / IP, Modbus TCP, Modbus over TCP / IP, or Modbus over TCP, Modbus RTU / IP, Modbus over UDP, Modbus Plus (Modbus+, MB+, or MBP), Pemex Modbus, Enron Modbus, etc.
[0041] The Modbus interface 216 is further connected to a programming module 218 such that the Modbus communication information or commands received by the Modbus interface 216 are sent to the programming module 218. The Modbus interface 216 can be configured to convert the received Modbus communication information or commands into a form usable or understandable by the programming module 218.
[0042] The programming module 218 is configured to process the communication information received from the Modbus interface 216 (i.e., Modbus communication information or commands, or formatted Modbus communication information or commands), and program or configure the programmable logic module 214 according to the received communication information. Specifically, in this embodiment, as will be described in more detail below with reference to FIGS. 3 and 4, the communication information from the user device 204 includes a plurality of Boolean logic operators or functions, and one or more Modbus commands that specify the configuration or arrangement of those Boolean logic operators. The programming module 218 is configured to implement those Modbus commands in order to program or configure the programmable logic module 214 according to the Boolean logic operators and their configuration. Specifically, the programming module 218 can program the programmable logic module 214 such that the input units 221-227 are connected to the output units 231-232 via the configuration or network of Boolean logic operators, substantially as specified by the Modbus communication information.
[0043] The user device 204 can be any suitable electronic communication device, such as a computer like a tablet computer, laptop, or smartphone. The user device 204 is a device through which a user can transmit Modbus communication information to the Modbus interface 216 of the PLC 202.
[0044] In this embodiment, the programmable logic module 214, the programming module 218, the Modbus interface 216, and the user device 204 are further configured such that the output, characteristics, or features (such as coils described below) of the programming module 218 can be transmitted from the programmable logic module 214 to the user device 204. This information received by the user device 204 can be displayed on the user device 204 for the user.
[0045] The first fault indicator 206 can be any suitable output device configured to present an indication indicating that a fault has occurred in the process water system 100. When operating, the first fault indicator 206 is connected to the first output section 231 such that the first fault indicator 206 receives the output of the PLC 202 from the first output section 231. In this embodiment, the first fault indicator 206 is configured to indicate that a fault has occurred in the process water system 100 in response to receiving a digital output of TRUE (binary 1) from the first output section 231. Further, the first fault indicator 206 is configured to indicate that no fault has occurred in the process water system 100 in response to receiving a digital output of FALSE (binary 0) from the first output section 231.
[0046] The second fault indicator 208 can be any suitable output device configured to present an indication indicating that a fault has occurred in the process water system 100. When operating, the second fault indicator 208 is connected to the second output section 232 such that the second fault indicator 208 receives the output of the PLC 202 from the second output section 232. In this embodiment, the second fault indicator 208 is configured to indicate that a fault has occurred in the process water system 100 in response to receiving a digital output of TRUE (binary 1) from the second output section 232. Further, the second fault indicator 208 is configured to indicate that no fault has occurred in the process water system 100 in response to receiving a digital output of FALSE (binary 0) from the second output section 232.
[0047] The first and second fault indicators 206, 208 can comprise one or more indicators selected from a group of indicators including any suitable type of indicator, such as a light (e.g., a flashing light) or a visible warning means such as a message displayed on a screen, and an audible warning means such as an audible alarm.
[0048] Preferably, the first and second fault indicators 206, 208 are different types of fault indicators. The first and second fault indicators 206, 208 can indicate faults of different severities. For example, the first fault indicator 206 can indicate a relatively low-severity fault, and the second fault indicator 208 can indicate a relatively high-severity fault.
[0049] An apparatus including a PLC 202 for implementing the above configuration and executing the method steps described below can be provided by configuring or adapting any suitable apparatus, such as one or more computers or other processing devices or processors, and / or by providing additional modules. The apparatus can comprise a computer, a network of computers, or one or more processors for executing instructions and using data, including instructions and data in the form of a computer program or a plurality of computer programs stored in or on a machine-readable storage medium such as a computer memory, a computer disk, ROM, PROM, or some combination thereof or other storage media.
[0050] FIG. 3 is a process flowchart of a process 300 for programming the PLC 202 of the monitoring system 200 and monitoring the process water system 100.
[0051] Note that some of the process steps shown in the flowchart of FIG. 3 and described below can be omitted, or such process steps can be executed in an order different from that presented below and shown in FIG. 3. Further, although all process steps are shown as temporally consecutive individual steps for convenience and ease of understanding, some of the process steps can actually be executed simultaneously or at least to some extent temporally overlapping.
[0052] In step s302, the process water system 100 is provided. In step s304, the PLC 202 is connected to the process water system 100. Specifically, each of the input units 221-227 of the PLC 202 is connected to each of the switches 141-147 of the system 100 as described in detail above with reference to FIGS. 1 and 2. In step s306, the user controls the user device 204 to construct one or more messages or communication information for programming or configuring the PLC 202.
[0053] In this embodiment, the message or communication information follows the Modbus protocol. In other words, the message or communication information is encapsulated in a Modbus type protocol (e.g., Modbus RTU, Modbus TCP / IP, Modbus over TCP / IP, or Modbus over TCP, Modbus RTU / IP, Modbus over UDP, Modbus Plus (Modbus+, MB+, or MBP), Pemex Modbus, Enron Modbus, etc.). In this embodiment, the one or more messages or communication information includes one or more Modbus commands for use by a Modbus device (i.e., the PLC 202).
[0054] In this embodiment, the one or more messages specify a Boolean logic operation and one or more inputs for that Boolean logic operation. The Boolean logic operation can be specified by a Modbus command that instructs the Modbus device to write a value associated with that particular Boolean logic operation to a holding register related to the Boolean operation selection. The input of the Boolean logic operation can be specified by a Modbus command that instructs the Modbus device to write a value associated with that particular input to a holding register related to the Boolean operator input.
[0055] Exemplarily, - The holding register corresponding to the first input of the Boolean operator is HR1 0 , HR1 1 , HR1 2 , HR13 It can be identified by identifiers such as - The holding register corresponding to the second input of the Boolean operator is HR2 0 、HR2 1 、HR2 2 、HR2 3 It can be identified by identifiers such as - The holding register corresponding to the Boolean operator is HR3 0 、HR3 1 、HR3 2 、HR3 3 It can be identified by identifiers such as - Regarding the input to the Boolean operator, · The raw input can be identified by the identifier RI 1 、RI 2 、RI 3 That is, in this embodiment, the raw input (binary 0 or 1) received at the first input unit 221 from the first switch 141 is identified by the identifier RI 1 , and similarly, the raw input received at the second input unit 222 from the second switch 142 is identified by the identifier RI 2 , and similarly, the raw input received at the third input unit 223 from the third switch 143 is identified by the identifier RI 3 , and so on. · The inverted raw input can be identified by the identifier Inv 1 、Inv 2 、Inv 3 It can be identified by such as. The inverted raw input is an alternative binary value to the raw input, that is, if the raw input is 1, the inverted raw input is 0, and vice versa. In this embodiment, the inversion of the raw input RI 1 is identified by the identifier Inv 1 , and similarly, the inversion of the raw input RI 2 is identified by the identifier Inv 2 , and similarly, the inversion of the raw input RI 3 is identified by the identifier Inv 3Identified by, and so on hereinafter. Advantageously, specifying such an inverted unprocessed input helps reduce or eliminate the need to separately specify the NOT logical operator in the Modbus commands used to program the programmable logic module 214. Therefore, it helps reduce the communication bandwidth between the user device 204 and the PLC 202. · Processed inputs, i.e., inputs that are the outputs from the previous boolean operator, i.e., inputs that are not unprocessed inputs, are identified by the identifiers Pr 1 Pr 2 Pr 3 etc. For example, the output of the first boolean operator (i.e., the first processed input) can be identified by the identifier Pr 1 and, similarly, the output of the second boolean operator can be identified by the identifier Pr 2 and, similarly, the output of the third boolean operator can be identified by the identifier Pr 3 and so on hereinafter. - Regarding boolean operators, different boolean operators are identified by the identifiers B 0 B 1 B 2 B 3 etc. In this embodiment, the identifier "B 0 " is assigned to the operator "FALSE", the identifier "B 1 " is assigned to the operator "OR", the identifier "B 2 " is assigned to the operator "AND", the identifier "B 3 " is assigned to the operator "XOR", the identifier "B 4 " is assigned to the operator "NOR", the identifier "B 5 " is assigned to the operator "NAND", the identifier "B 6 " is assigned to the operator "XNOR", and the identifier "B 7 " is assigned to the operator "TRUE".
[0056] Accordingly, by way of example, the first Boolean operator can be a two-input AND that receives unprocessed input values from the first input section 221 and the second input section 222 as inputs. This first Boolean operator can be specified by a message including the following Modbus commands. TIFF0007689973000001.tif56155 A value Pr that can be used in subsequent Modbus commands can be assigned to the output of this first Boolean operator. 1 can be assigned.
[0057] In this embodiment, one or more messages for programming the PLC 202 created by the user using the user device 104 are as follows. TIFF0007689973000002.tif167163
[0058] Modbus holding registers (e.g., HR4 i ) can be used to connect the output from a Boolean operation (logic gate) to the physical output pins 231, 232. For example, when a specific numerical value is written to the holding register HR4 1 , the output from the second Boolean operation will be connected to the first output section 231. Also, for example, when a specific numerical value is written to the holding register HR4 2 , the output from the fifth Boolean operation will be connected to the second output section 232.
[0059] In step s308, the user device 204 transmits one or more formulated messages including Modbus commands to the Modbus interface 216 of the PLC 202.
[0060] In step s310, the Modbus interface 216 receives one or more messages and transfers these messages to the programming module 218. The Modbus interface 216 can format or convert one or more messages so as to be in a form usable by the programming module 218.
[0061] In step s312, the programming module 218 programs or configures the programmable logic module 214 according to the received message, that is, using the received Modbus command. Therefore, the programming module 218 can be considered to connect the input units 221-227 to the output units 231-232 via Boolean operators in software as specified by the received Modbus command. Conceptually, the programming module 218 can be considered to construct a Boolean network between the input units 221-227 and the output units 231-232 as specified by the received Modbus command.
[0062] FIG. 4 is a schematic diagram (not to scale) showing the programmable logic module 214 programmed by the programming module 218. In this embodiment, the programmable logic module 214 is programmed according to the above-mentioned Modbus command to specify a Boolean network connecting the input units 221-227 and the output units 231-232.
[0063] In this embodiment, the Boolean network 400 includes a plurality of AND operators 401, 402, 403, a plurality of NOT operators 411, 412, 413, and a plurality of OR operators 421, 422. The Boolean network 400 further includes a plurality of coils 431, 432, 433, 434, 435, 436, 437.
[0064] The first AND operator 401 has, as its inputs, raw data values RI from the first and second input units 221, 2221 , RI 2 is received. The first AND operator 401 outputs the output value Pr 1 to the first coil 431.
[0065] The first NOT operator 411 receives, as its input, the unprocessed data value RI 3 from the third input section 223. The output of the first NOT operator 411, that is, the inverted value Inv 3 is output to the second coil 432.
[0066] The first OR operator 421 receives, as its inputs, the data values Pr 1 and Inv 3 stored in the first coil 431 and the second coil 432, respectively. The first OR operator 421 outputs the output value Pr 2 to the third coil 433. The first output section 231 receives the output value Pr 2 from the third coil 433.
[0067] The second NOT operator 412 receives, as its input, the unprocessed data value RI 6 from the sixth input section 226. The output of the second NOT operator 412, that is, the inverted value Inv 6 is output to the fourth coil 434.
[0068] The second AND operator 402 receives, as its inputs, the unprocessed data value RI 5 from the fifth input section 225 and the data value Inv 6 of the fourth coil 434. The second AND operator 402 outputs the output value Pr 3 to the fifth coil 435.
[0069] The third NOT operator 413 receives, as its input, the unprocessed data value RI 7 from the seventh input 227.
[0070] The third AND operator 403 receives the data value Pr 3and the inverted value Inv output from the third NOT operator 413 7 are received as inputs. The third AND operator 402 outputs the output value Pr 4 to the sixth coil 436.
[0071] The second OR operator 422 receives, as its inputs, the unprocessed data value RI from the fourth input 224 4 and the data value Pr stored in the sixth coil 436 4 The second OR operator 422 outputs the output value Pr 5 to the seventh coil 437. The second output section 232 receives the output value Pr from the seventh coil 433 5 In this way, the PLC 202 is programmed.
[0072] Returning to the description of the process 300 in FIG. 3, the monitoring system including the programmed PLC 202 monitors the process water system 100. Specifically, the PLC 202 receives signals from the switches 141 - 147 at its input sections 221 - 227. These input signals are processed by the PLC 214 using the boolean logic network 400 and output signals are provided to the output sections 231 - 232. The PLC 202 provides output signals to the first and second fault indicators 206, 208 via the first and second output sections 231, 232 respectively. The first and second fault indicators 206, 208 indicate the presence or absence of a fault.
[0073] Exemplarily, when a FALSE (binary 0) signal is received from the third switch 142 (this signal corresponds to the water level in the storage tank 106 being above the maximum allowable level), a TRUE (binary 1) signal is output to the second coil 432 and will be received as an input by the first OR operator 421. Accordingly, the TRUE (binary 1) signal will be output to the third coil 433. The TRUE (binary 1) signal will be sent to the first fault indicator 206 via the first output section 231. The first fault indicator 206 will indicate the presence of a fault (e.g., of low severity).
[0074] Also, for example, when a TRUE (binary 1) signal is received from the fourth switch 144 (this signal corresponds to the pump 112 having a temperature exceeding the threshold), the TRUE (binary 1) signal will be received as an input by the second OR operator 422. Accordingly, the TRUE (binary 1) signal will be output to the seventh coil 437. The TRUE (binary 1) signal will be sent to the second fault indicator 208 via the second output 232. The second fault indicator 208 will indicate the presence of a fault (e.g., of high severity).
[0075] The user can take appropriate corrective measures in response to the faults indicated by either or both of the fault indicators 206 and 208. In this way, a process of programming the PLC to monitor the system is provided.
[0076] Advantageously, the PLC 202 is configured to output to the user device 204 the value stored in one or more of the coils 431 - 437 via the Modbus interface 216. The received information can be displayed on the user device 104 for the user. The user can use the displayed coil information to find, for example, a more accurate cause of the fault indication.
[0077] The system and method described above tend to be advantageously simple. For example, the user can program the PLC using simple logic - based commands and does not require knowledge of software programming. The system and method described above tend to reduce the possibility of PLC errors and faults occurring.
[0078] In the above embodiment, the PLC is used to monitor the process water system. However, in other embodiments, instead of or in addition to monitoring, the PLC is used to control the process water system, for example, to control the operation of one or more of the valves or pumps. In other embodiments, the PLC is used to control and / or monitor another system other than the process water system. Examples of suitable alternative systems include, but are not limited to, packaging machines, wind turbines, solar power generation facilities, building automation, robotics, machine tools, assembly lines, and lighting systems.
[0079] In the above embodiment, the PLC provides an output to the fault indicator. However, in other embodiments, one or both of the fault indicators can be omitted, or one or more additional fault indicators can be included. In other embodiments, the PLC provides an output to a different type of output device instead of or in addition to the fault indicator. For example, in some embodiments, the PLC can provide an output signal to a control device that controls the system based on the received signal from the PLC.
[0080] In the above embodiment, the PLC receives inputs from seven switches. However, in other embodiments, the PLC receives inputs from a different number of switches. In other embodiments, the PLC receives inputs from one or more different types of input devices other than switches instead of or in addition to one or more switches.
[0081] In some embodiments, the PLC receives digital binary inputs. However, in other embodiments, the PLC receives different types of inputs, such as non-binary and / or non-digital inputs. In some embodiments, the received non-binary and / or non-digital inputs can be converted into digital and / or binary inputs. For example, in some embodiments, the input device can provide an analog signal to the PLC. The PLC (or other device) can convert the received analog input into a binary input by, for example, providing a binary level of "1" if the analog signal is above a predetermined threshold or a binary level of "0" if the analog signal is below the predetermined threshold.
Explanation of Signs
[0082] 100 Process water system 102 Process water supply source 104 Filling valve 106 Storage tank 108 First water level sensor 110 Second water level sensor 112 Pump 114 Process module 116 Drain valve 118 Drain pipe 120 Return valve 141 First switch 142 Second switch 143 Third switch 144 Fourth switch 145 Fifth switch 146 Sixth switch 147 Seventh switch 200 Monitoring system 202 PLC 204 User device 206 First fault indicator 208 Second fault indicator 210 Input connector 212 Output connector 214 Programmable logic module 216 Modbus Interface 218 Programming Module 221 First Input Section 222 Second Input Section 223 Third Input Section 224 Fourth Input Section 225 Fifth Input Section 226 Sixth Input Section 227 Seventh Input Section 231 First Output Section 232 Second Output Section 300 Process of Programming the PLC S302 - S314 Method Steps 400 Boolean Network 401 First AND Operator 402 Second AND Operator 403 Third AND Operator 411 First NOT Operator 412 Second NOT Operator 413 Third NOT Operator 421 First OR Operator 422 Second OR Operator 431 First Coil 432 Second Coil 433 Third Coil 434 Fourth Coil 435 Fifth Coil 436 Sixth Coil 437 Seventh Coil
Claims
1. A programmable logic controller (PLC), comprising: a programmable logic module; a Modbus interface configured to receive one or more Modbus commands that specify a configuration for one or more Boolean logic operations; a programming module operatively connected to the Modbus interface and the programmable logic module; wherein the programming module is configured to program the programmable logic module according to the configuration of the one or more Boolean logic operations specified by the received one or more Modbus commands. A PLC characterized by the above.
2. The PLC further comprises one or more PLC input parts and one or more PLC output parts. The PLC according to Claim 1.
3. The received one or more Modbus commands include: a first Boolean logic operation; a first input for the first Boolean logic operation; one or more first Modbus commands that specify the above. The PLC according to Claim 1 or 2.
4. The one or more first Modbus commands are configured to: specify the first Boolean logic operation by setting a first Modbus register to a first value; specify the first input by setting a second Modbus register to a second value. The PLC according to Claim 3.
5. The one or more first Modbus commands further specify a second input for the first Boolean logic operation. The PLC according to Claim 3 or 4.
6. The first Boolean logic operation is a logic operation selected from the group consisting of FALSE, OR, AND, XOR, NOR, NAND, XNOR, and TRUE. The PLC according to any one of Claims 3 to 5.
7. The PLC is configured to output an output of the first Boolean logic operation for use by a device remotely located from the PLC. The PLC according to any one of Claims 3 to 6.
8. The one or more first Modbus commands specify that the first input for the first Boolean logic operation is a value received at a first PLC input part among the one or more PLC input parts. The PLC according to any one of claims 3 to 7 when dependent on claim 2.
9. The one or more first Modbus commands specify that a first input for the first Boolean operation is an output of a second Boolean operation. The PLC according to any one of claims 3 to 7 when dependent on claim 2.
10. The one or more first Modbus commands specify that a first input for the first Boolean operation is an inverted input. The PLC according to any one of claims 3 to 9.
11. The one or more Modbus commands specify that an output of the first Boolean operation is a value output as a first PLC output of the one or more PLC output parts. The PLC according to any one of claims 3 to 10.
12. The programmed operation of the PLC includes monitoring and / or controlling a system or device remote from the PLC. The PLC according to any one of claims 1 to 11.
13. The Modbus interface is configured to receive the one or more Modbus commands from a device remote from the PLC. The PLC according to any one of claims 1 to 12.
14. A PLC according to any one of claims 1 to 13, and a device remote from the PLC configured to transmit the one or more Modbus commands to the Modbus interface of the PLC. A system characterized by this.
15. A method of programming the operation of a programmable logic controller (PLC), the PLC comprising a programmable logic module, a Modbus interface, and a programming module, a step of receiving, by the Modbus interface of the PLC, one or more Modbus commands that specify a configuration for one or more Boolean operations, a step of programming, by the programming module of the PLC, the operation of the programmable logic module according to the configuration of the one or more Boolean operations specified by the received one or more Modbus commands. A method characterized by this.
16. A step of receiving, by a device remote from the PLC, a user input. The step of a device far from the PLC generating the one or more Modbus commands using the user input; The method further comprising the step of the device far from the PLC transmitting the one or more Modbus commands to the Modbus interface according to the Modbus protocol. The method according to claim 15.
17. The PLC further comprising at least one of the step of monitoring a system or device; The step of the PLC controlling a system or device; wherein the system or device is far from the PLC. The method according to claim 15 or 16.
18. A program or programs which, when executed by a computer system or one or more processors, causes the computer system or one or more processors to: Receive one or more Modbus communication information specifying a configuration for one or more Boolean operations; Program the operation of a programmable logic controller (PLC) according to the configuration of the one or more Boolean operations.
19. A machine-readable storage medium storing at least one of the program or programs according to claim 18.
Citation Information
Patent Citations
Boolean logical function block
JP2004362561A
Macro function block for encapsulating device-level embedded logic
US20110202688A1