Object-oriented PLC programming system and method

By using object-oriented PLC programming methods, and leveraging object pre-classification and a graphical interface, the problems of tedious and error-prone traditional PLC programming are solved, achieving high efficiency and convenience in integrated PLC control and interactive operation.

CN120909207APending Publication Date: 2025-11-07BEIJING MELECHENG IOT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511036215.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-26
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

Traditional PLC programming concepts and processes are cumbersome and prone to errors. The separation of PLC programming and configuration programming leads to increased workload and extended development cycles, making it difficult for non-technical personnel to operate efficiently and conveniently.

Method used

It adopts an object-oriented PLC programming method, and provides a graphical programming interface and a dedicated visual attribute configuration interface through object pre-classification and partitioning display. This enables intuitive binding of PLC logic conditions and actions, and generates executable code.

Benefits of technology

It simplifies the PLC programming process, improves programming efficiency and convenience, and enables non-technical personnel to easily get started and achieve integrated PLC control and interactive operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120909207A_ABST
    Figure CN120909207A_ABST
Patent Text Reader

Abstract

The invention discloses an object-oriented PLC (programmable logic controller) programming system and method, and the method comprises the steps: predefining PLC programming resources as an input object set and an output object set, and fixedly displaying the input object set and the output object set in a graphical programming interface in a partitioned manner; the method specifically comprises the steps of object pre-classification and partition display, fixedly displaying an input object set in a first area (such as the left side) of an interface, and fixedly displaying an output object set in a second area (such as the right side); object-driven program construction: inserting a condition input focus position of a programming working area when a user selects an input object, configuring attributes through an exclusive visual interface, inserting an action input focus position when the user selects an output object, and configuring the attributes; and logic generation: according to the topological connection relationship of the object and the bound instruction semantics, automatically compiling to generate a PLC executable code. According to the system, direct mapping of instruction semantics is realized through a graphical interface, and the programming efficiency is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of industrial automation control, and particularly relates to an object-oriented PLC programming system and method. BACKGROUND

[0002] In the field of industrial automation, there are many problems in traditional PLC programming. The programming idea adopts the "attribute first and object second" mode, which is contrary to the normal thinking habit of "considering object first and attribute second", leading to complicated and error-prone programming process, and being extremely unfriendly to non-technical personnel. Meanwhile, PLC programming and configuration programming are independent of each other, and need to be completed in two sets of development environments, which increases the workload and prolongs the development cycle. Therefore, an integrated PLC control and interaction system is urgently needed to break through the technical barrier, and to enable non-technical personnel to easily start by innovating programming paradigm and integrating development environment, so as to realize efficient and convenient PLC programming and interaction operation. SUMMARY

[0003] An object-oriented PLC programming method, comprising the following operations:

[0004] (a) object pre-classification and partition display operation:

[0005] - the PLC programming resources are pre-defined as an input object set and an output object set;

[0006] - in the graphical programming interface, the input object set is fixedly displayed in a first region, and the output object set is fixedly displayed in a second region;

[0007] (b) object-driven program construction operation:

[0008] - in response to the user selecting a first target object from the input object set in the first region, the first target object is inserted into the current conditional input focus position of the programming work area;

[0009] - in response to the user operation, the first target object is configured with attributes through the visual attribute configuration interface special for the first target object to bind the corresponding PLC logic condition instruction semantics;

[0010] - in response to the user selecting a second target object from the output object set in the second region, the second target object is inserted into the current action input focus position of the programming work area;

[0011] - in response to the user operation, the second target object is configured with attributes through the visual attribute configuration interface special for the second target object to bind the corresponding PLC logic action instruction semantics;

[0012] (c) logic generation operation:

[0013] - based on the input objects, output objects and their bound instruction semantics formed by the object insertion and property configuration in the programming workspace, and the topological connection relationship between objects, the PLC executable code is compiled and generated.

[0014] The first fixed area and the second fixed area are spatially separated.

[0015] The first area is located on the left side of the graphical programming interface, and the second area is located on the right side of the graphical programming interface.

[0016] The configuration options provided in the dedicated visual property configuration interface have a direct mapping relationship with the PLC instruction semantics, and the configuration process does not require manual input of instruction text by the user.

[0017] The operation (b) further comprises:

[0018] In response to selecting the inserted object in the programming workspace, the dedicated visual property configuration interface of the object is dynamically activated and displayed;

[0019] In response to the change operation of the property configuration in the dedicated visual property configuration interface, the graphical representation of the object in the programming workspace and its bound instruction semantics are updated in real time.

[0020] The object property configuration options in the input object set at least include one of the following: LD, LDI, P (rising edge detection instruction), N (falling edge detection instruction);

[0021] The object property configuration options in the output object set at least include one of the following: OUT, SET, RST, MOV, TON, TOF, CTU, CTD.

[0022] The conditional input focus position and the action input focus position are located in the logical line of the programming workspace, and support automatic updating with object insertion operation;

[0023] A PLC programming system of the method, comprising:

[0024] A processor;

[0025] A memory storing computer executable instructions;

[0026] A pre-classified object database for storing a predefined input object set and an output object set;

[0027] A graphical user interface module executed by the processor, configured to:

[0028] Display the input object set in the first fixed area of the graphical programming interface;

[0029] displaying the set of output objects in a second fixed area of the graphical programming interface;

[0030] providing a programming workspace and managing conditional input focus position and action input focus position;

[0031] object insertion and focus management module, executed by the processor, for:

[0032] in response to the user selecting an input object from the first area, inserting it into the current conditional input focus position;

[0033] in response to the user selecting an output object from the second area, inserting it into the current action input focus position;

[0034] property-instruction binding module, executed by the processor, for:

[0035] providing a dedicated visual property configuration interface for each object inserted into the programming workspace;

[0036] mapping the user's configuration operations in the dedicated interface into corresponding PLC instruction semantics and binding them to the object;

[0037] logic compilation module, executed by the processor, for generating PLC executable code based on the topological connection relationship of the objects in the programming workspace and their bound instruction semantics. BRIEF DESCRIPTION OF DRAWINGS

[0038] In order to more clearly illustrate the technical solutions of the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art according to these drawings.

[0039] Figure 1 is a method flowchart of the present application;

[0040] Figure 2 is a system interface layout provided by embodiment one of the present application;

[0041] Figure 3 is an object-oriented visual property interface provided by embodiment one of the present application;

[0042] Figure 4 is an object-oriented PLC programming method provided by embodiment two of the present application;

[0043] Figure 5 is a system interface layout provided by embodiment three of the present application;

[0044] Figure 6The object-oriented visual attribute interface is provided by the third embodiment of the present application. DETAILED DESCRIPTION

[0045] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not used to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.

[0046] Embodiment 1

[0047] Basic logic control (LD X0 OUT Y0)

[0048] Step flow:

[0049] 1, Object pre-classification display

[0050] The system displays the input object set X0, X1, X2... in the left panel (first fixed area) of the graphical interface.

[0051] The right panel (second fixed area) displays the output object set Y0, Y1, Y2...

[0052] 2, Constructing conditional logic row

[0053] The user clicks the X0 object in the left panel, and the system inserts it into the current conditional input focus position (the starting point on the left side of the first row) of the programming area.

[0054] Activate the exclusive attribute interface: the user selects the "normally open" attribute, and binds the LD X0 instruction semantics.

[0055] The graphical symbol is updated to the normally open contact icon.

[0056] 3, Constructing output action.

[0057] The user clicks the Y0 object in the right panel, and the system inserts it into the current action input focus position (on the right side of the logic row) of the programming area.

[0058] Activate the exclusive attribute interface: the user selects the "coil" attribute, and binds the OUT Y0 instruction semantics.

[0059] The graphical symbol is updated to the coil icon.

[0060] 4, Logic generation.

[0061] The system detects the topological relationship: the condition chain (X0) connects the output (Y0).

[0062] Compile to generate machine code: LD X0 OUT Y0.

[0063] Example 2:

[0064] Motor start-stop control with timer

[0065] Step flow:

[0066] 1, Condition object configuration 1

[0067] The user drags X0 from the left panel to the programming area → positions to the new logic row condition focus. The attribute interface sets "always on" → binds LD X0.

[0068] 2, Output object configuration 1

[0069] Drag T0 (timer object) to the logic action focus position.

[0070] Attribute interface settings:

[0071] Timing type: TON (on delay).

[0072] Time value: 10s → bind TON T0 K100.

[0073] 3, Topology connection 1

[0074] The system automatically generates a connection line: X0 → T0.

[0075] 4, Condition object configuration 2

[0076] The user drags T0 from the left panel to the programming area → positions to the new logic row condition focus. The attribute interface sets "always on" → binds LD T0.

[0077] 5, Output object configuration 2

[0078] Drag Y0 from the right panel to the logic action focus position.

[0079] Attribute interface settings "coil" → bind OUT Y0.

[0080] 6, Topology connection 2

[0081] The system automatically generates a connection line: T0 → Y0.

[0082] Graphically display the timer block and time parameters.

[0083] 7, Logic generation

[0084] Compile code:

[0085] LD X0

[0086] TON T0100 / / 10s delay

[0087] LD T0

[0088] OUT Y0

[0089] Example 3:

[0090] System Implementation

[0091] 1. User selects X1 on the left panel through the graphical interface module.

[0092] 2. Object insertion and focus management module:

[0093] Insert X1 into the conditional focus of the first row and first column in the programming area.

[0094] Trigger focus update: conditional focus moves to the right of the same row (first row, second column); action focus moves to the right of the same row.

[0095] 3. Attribute-instruction binding module:

[0096] Pop up the exclusive interface, and the user selects "rising edge" → directly mapped as LDP X1.

[0097] 4. User selects X2 on the left panel through the graphical interface module.

[0098] 5. Object insertion and focus management module:

[0099] Insert X2 into the conditional focus of the first row and second column in the programming area.

[0100] 6. Trigger focus update: conditional focus moves to the right of the same row (first row, third column)

[0101] Attribute-instruction binding module:

[0102] Pop up the exclusive interface, and the user selects "normally closed" → directly mapped as LDI X2.

[0103] 7. User selects the MOV instruction object from the right panel.

[0104] 8. Object insertion and focus management module:

[0105] Insert the MOV instruction object into the first action focus in the programming area.

[0106] 9. Attribute-instruction binding module:

[0107] Pop up the exclusive interface, and the user selects "source address: D0; target address: D1" → binds MOV D0 D1, and selects "continuous execution".

[0108] 10. Logic compilation module:

[0109] Parses the topology: X1 (rising edge) -> X2 (always closed) -> MOV instruction.

[0110] Generates machine code:

[0111] LDP X1

[0112] ANI X2

[0113] MOV D0 D1 The storage medium described in the embodiments of the present application is intended to include, but not limited to, these and any other suitable types of memories.

[0114] Those skilled in the art should be aware that, in one or more examples described above, the functions described in the present application can be implemented in combination of hardware and software. When the software is applied, the corresponding functions can be stored in a computer readable medium or transmitted as one or more instructions or codes on the computer readable medium. The computer readable medium includes computer storage medium and communication medium, wherein the communication medium includes any medium facilitating the transmission of computer programs from one place to another. The storage medium can be any available medium accessible by a general or special purpose computer.

[0115] The above detailed description of the specific embodiments of the present application has further explained the purposes, technical solutions and beneficial effects of the present application. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solutions of the present application shall be included in the protection scope of the present application.

Claims

1. An object-oriented PLC programming method, characterized by, The method comprises the following operations: (a) object pre-classification and partition display operation: - predefine PLC programming resources as an input object set and an output object set; - in a graphical programming interface, display the input object set in a first region and the output object set in a second region; (b) object-driven program construction operation: - in response to a user selecting a first target object from the input object set in the first region, insert the first target object into a current condition input focus position in a programming workspace; - in response to a user operation, configure attributes of the first target object through a visual attribute configuration interface specific to the first target object to bind corresponding PLC logic condition instruction semantics; - in response to a user selecting a second target object from the output object set in the second region, insert the second target object into a current action input focus position in the programming workspace; - in response to a user operation, configure attributes of the second target object through a visual attribute configuration interface specific to the second target object to bind corresponding PLC logic action instruction semantics; (c) logic generation operation: - based on the input object, the output object, and the instruction semantics bound thereto formed by the object insertion and attribute configuration in the programming workspace, and the topological connection relationship between the objects, compile and generate PLC executable code.

2. The method of claim 1, wherein: The first fixed region and the second fixed region are spatially separated.

3. The method of claim 2, wherein: The first region is located on the left side of the graphical programming interface, and the second region is located on the right side of the graphical programming interface.

4. The method according to claim 1 or 3, characterized in that: The configuration options provided in the specific visual attribute configuration interface have a direct mapping relationship with the PLC instruction semantics, and the configuration process does not require the user to manually input instruction text.

5. The method of claim 1, wherein, The operation (b) further comprises: in response to selecting an inserted object in the programming workspace, dynamically activating and displaying the specific visual attribute configuration interface of the object; and in response to a change operation of attribute configuration in the specific visual attribute configuration interface, updating the graphical representation of the object in the programming workspace and the instruction semantics bound thereto in real time.

6. The method of claim 1, wherein: The object attribute configuration options in the input object set at least include one of the following: LD, LDI, P (rising edge detection instruction), and N (falling edge detection instruction); and the object attribute configuration options in the output object set at least include one of the following: OUT, SET, RST, MOV, TON, TOF, CTU, and CTD.

7. The method of claim 1, wherein: The condition input focus position and the action input focus position are located in a logic line of the programming workspace and support automatic updating with object insertion operations.

8. A PLC programming system implementing the method of any of claims 1-7, characterized by The method comprises: a processor; a memory storing computer executable instructions; a pre-classified object database for storing a pre-defined input object set and an output object set; a graphical user interface module executed by the processor, configured to: - display the input object set in a first fixed region of a graphical programming interface; - display the output object set in a second fixed region of the graphical programming interface; - provide a programming workspace and manage a condition input focus position and an action input focus position; an object insertion and focus management module executed by the processor, configured to: - in response to the user selecting an input object from the first area, inserting it into the current conditional input focus position; - in response to the user selecting an output object from the second area, inserting it into the current action input focus position; an attribute-instruction binding module, executed by the processor, for: - providing a dedicated visual attribute configuration interface for each object inserted into the programming work area; - mapping the user's configuration operations in the dedicated interface to corresponding PLC instruction semantics and binding them to the object; a logic compiling module, executed by the processor, for generating PLC executable code based on the topological connection relationship of the objects in the programming work area and their bound instruction semantics.