[go: up one dir, main page]

CN119148613B - Intelligent interaction system for PLC graphical programming - Google Patents

Intelligent interaction system for PLC graphical programming Download PDF

Info

Publication number
CN119148613B
CN119148613B CN202411638613.8A CN202411638613A CN119148613B CN 119148613 B CN119148613 B CN 119148613B CN 202411638613 A CN202411638613 A CN 202411638613A CN 119148613 B CN119148613 B CN 119148613B
Authority
CN
China
Prior art keywords
function
block
programming
plc
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202411638613.8A
Other languages
Chinese (zh)
Other versions
CN119148613A (en
Inventor
陶怡
歹杰
任振辉
张良
马玲娜
贺庆凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Aerospace Automation Co ltd
Original Assignee
Xi'an Aerospace Automation Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Aerospace Automation Co ltd filed Critical Xi'an Aerospace Automation Co ltd
Priority to CN202411638613.8A priority Critical patent/CN119148613B/en
Publication of CN119148613A publication Critical patent/CN119148613A/en
Application granted granted Critical
Publication of CN119148613B publication Critical patent/CN119148613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

The application provides an intelligent interaction system for PLC graphical programming, which relates to the technical field of PLC graphical programming interaction, the system integrates a standard instruction connection library module, a dragging type programming module and a PLC project real-time management and control module, and aims to greatly improve the convenience, flexibility and efficiency of PLC programming. The pull programming module includes intelligent recursive programming of graphic block elements including recursive insertion of block elements and recursive deletion of block elements. The towed programming module also includes a conditional jump function based on the web tag. The system not only optimizes the dragging and engineering management functions of the ladder diagram elements, but also introduces a core function block recursion and an intelligent label jump mechanism. Through the innovative functions, the method and the device remarkably improve the programming support capability of the complex PLC program, and greatly expand the scale and application range of industrial Internet of things programming.

Description

Intelligent interaction system for PLC graphical programming
Technical Field
The application relates to the technical field of PLC graphical programming interaction, in particular to an intelligent interaction system for PLC graphical programming.
Background
PLC is a digital operation controller for automation control well known and widely used by engineering technicians. In the PLC, a graphical edited ladder diagram is adopted, a PLC user program is needed to be embedded besides a hardware controller, namely, each type of PLC is provided with a corresponding editor, and the main basic connecting elements are consistent with the international standard IEC 61131-3 and are different in use mode, so that the PLC is suitable for domestic PLCs, and the corresponding editors are needed to be developed.
At present, domestic PLC software still has the functions of button and focus on programming experience, and drag, automatic wire connection and the like are not supported temporarily, and cross-platform operation is also not possible. Besides, a ladder diagram of codesys programming software supports drag programming, but the placement area is extremely small and difficult to place, a parallel structure is specially represented by using parallel contacts, the number of connecting elements is increased, for example, a normally open contact only supports serial connection, a normally open contact only supports parallel connection, only one normally open contact only needs two connecting elements, an Auto Station of an Itanium PLC supports drag from an instruction tree to a working area, internal drag of the working area is not supported, and automatic connection is not realized after elements are deleted.
The existing patent 202110842732.5 is named as a graphical programming interaction system of a compiling type PLC, operation optimization is carried out on the basis, and compared with a button + focus type programming mode, a dragging type programming mode is more convenient to use, and development efficiency of engineering personnel is greatly improved. However, although the scheme realizes the basic ladder diagram interaction function, the support of the complex programming function is lacking, and the automatic control application in the real industrial scene is difficult to support.
Disclosure of Invention
The application provides an intelligent interaction system for PLC graphical programming, which solves the problems that the existing PLC programming interaction system lacks support for complex programming functions and is difficult to support automation control application in real industrial scenes, and comprises a standard instruction connecting library module, a dragging programming module and a PLC project real-time management and control module;
the standard instruction connection library module is used for storing a series of standardized instruction connection components;
The drag programming module is used for carrying out drag fixed graphic elements and setting parameters to carry out graphical programming according to the selection of the fixed graphic elements by a user so as to obtain a graphical program;
The drag programming module comprises intelligent recursive programming of graphic block elements, wherein the intelligent recursive programming of the graphic block elements comprises recursive insertion of the block elements and recursive deletion of the block elements;
the recursive insertion of the block element comprises adding a new block element to one input end of the block element in the dragging programming module, replacing the original variable element connected with the input end with the new block element, automatically connecting the first output end of the new block element with the selected input end, and intelligently forming a chained element call;
The recursive deletion of the block elements includes deleting one of the block elements at the pull programming module, when an input of the block element is associated with an output of another of the block elements, the block element associated therewith is also deleted, and the block element associated therewith is to be recursively deleted;
the PLC project real-time management and control module is used for providing real-time monitoring and management functions for the whole life cycle of the PLC project.
In one possible implementation, the drag programming module further includes intelligent merging of block elements and intelligent splitting of block elements;
The intelligent combination of the block elements is used for automatically generating a new composite block element containing all selected functions of a plurality of block elements according to the logic relation and input/output ports of the plurality of block elements when the functions of the plurality of block elements can be combined into a more complex block element in the drag programming;
The intelligent splitting of the block elements is used for selecting the block elements to be split, designating splitting points or splitting conditions, and automatically splitting the selected block elements into a plurality of smaller block elements according to the information and the internal logic of the block elements.
In one possible implementation, the drag programming module further includes intelligent searching of the block element and intelligent replacement of the block element;
the intelligent searching of the block elements is used for inputting keywords or selecting specific searching conditions when a certain specific block element or a block element with a specific function needs to be searched, so that the block elements meeting the conditions can be quickly searched and highlighted in the whole program;
And the intelligent replacement of the block elements is used for selecting the block elements to be replaced and designating a replacement target block element when one block element needs to be replaced with another block element with the same or similar functions, and automatically replacing the selected block element with the designated target block element according to the input/output port of the block element, and keeping the original connection relation and the input/output port unchanged.
In one possible implementation, the towed programming module further includes a conditional jump function based on a network tag;
The network label refers to that in the programming process, a user-defined label can be added in the network, the network label corresponds to the network program one by one, and the network label is used for representing the position of the network program;
the jump element means that an element can be added at the end of the network for jumping in the programming process;
And the conditional jump function based on the network tag is used for continuing to run the network program corresponding to the network tag set by the jump element when the program runs to the jump element.
In one possible implementation, the drag programming module further includes a nesting function of the network tag and a cycle skip function of the network tag;
The nesting function of the network labels is that a nesting relation is established among a plurality of network labels, and a plurality of network programs are jumped for a plurality of times through a plurality of completely nested network labels to form a multi-layer nested jump structure;
the loop jump function of the network tag means that when the program runs to a certain network tag, the program can jump back to the former certain network tag to restart execution, and a closed loop control structure is formed.
In one possible implementation, the drag programming module further includes a dynamic modification function of the network tag and a monitoring function of the network tag;
The dynamic modification function of the network tag means that the corresponding relation or the jump condition of the network tag is dynamically modified through a specific interface or a command in the running process of the program;
The monitoring function of the network tag is to display the network tag or the jump history to which the current program operates in real time in a monitoring window.
In one possible implementation, the standard instruction connection library module comprises graphic characterization data, logic association data and variable binding data;
The graphic characterization data is used for showing the appearance of the instruction connection component in a graphic programming environment;
The logic association data is used for recording the logic connection relation between the instruction connection components;
The variable binding data is used for tightly binding the instruction connection components and the variables operated by the instruction connection components, and the variable binding data comprises a Boolean value, an integer type, a real number type, a character string type and a date type.
In one possible implementation, the standard instruction connection library module comprises a contact, a coil, a return element, a plurality of functions and functional blocks, wherein the functions comprise a type conversion function, a numerical class function, an arithmetic class function, a bit operation function, a comparison and selection class function, a character string class function, a date class function and the like;
The functional blocks comprise bistable element functional blocks, edge detection functional blocks, counter functional blocks and timer functional blocks;
the contact is used for transferring a ladder diagram element in a Boolean state to a right element;
the coil is used for representing a Boolean state and outputting a ladder diagram element;
The return element is used for returning the program, and when the program runs to the return element, the program finishes running in advance;
The type conversion function is used for type conversion of various types of data;
the numerical class function comprises absolute value, open square, exponential operation, logarithmic operation, sine, cosine, tangent, arcsine, arccosine and arctangent operation of numerical values;
The arithmetic class function comprises addition, subtraction, multiplication, division, remainder, power and duplication operations of various numerical values;
the bit operation function comprises non-cyclic left shift, cyclic right shift, non-cyclic right shift, bit-wise AND, bit-wise OR, bit-wise XOR and bit-wise inverse allele operation;
the comparison and selection class functions comprise comparison functions of greater than, greater than or equal to, less than or equal to, unequal to and the like, and one-way selection, maximum value, minimum value and limit value selection functions;
The character string class function comprises a character string solving function, a character string intercepting function, a character string connection function, a character string replacement function and a character search function in the character string;
The date class function comprises an addition function and a subtraction function of a date type;
the bistable element functional block comprises a set priority bistable element priority functional block which is used for state latching and provides a set function, and the reset priority bistable element functional block is also used for state latching and provides a reset function;
The edge detection functional block comprises a rising edge detection functional block and a falling edge detection functional block;
The counter function block comprises an adder, a subtracter and an adder-subtractor, wherein the adder, the subtracter and the adder-subtractor complete a counting function through the rising edge change of a pulse signal;
the timer comprises a pulse timing function block, a delay on timer and a delay off timer, wherein the pulse function block is used for generating pulses, and the delay on timer and the delay off timer are used for controlling instruction delay.
In one possible implementation, the PLC project real-time management and control module comprises a project management and organization function, a program editing and debugging function and a real-time monitoring and diagnosis function;
the project management and organization function is used for creating, storing, backing up, recovering and structurally managing PLC projects;
The program editing and debugging function is used for supporting multiple programming languages and providing a debugging tool for writing, testing and modifying the PLC program;
The real-time monitoring and diagnosing function is used for displaying the running state of the PLC project in real time and providing fault diagnosis.
In a feasible implementation manner, the PLC project real-time management and control module further comprises a dynamic variable configuration and instant feedback unit, an intelligent variable filling unit and an editing area flexible moving unit;
The dynamic variable configuration and instant feedback unit is used for carrying out instant parameter configuration on the connection elements dragged to the working area in the programming process, displaying the state and effect of the current parameter configuration, and sending out a prompt to provide a modification suggestion or automatically modify the parameters when the parameter configuration is wrong or not in line with the expectation;
The intelligent variable filling unit is used for double-clicking a bullet frame above the connection element when the connection element needs the associated variable, listing the variable available in the current PLC project in the bullet frame, and finding out the associated variable through a scrolling or searching function;
the editing area flexible moving unit is used for providing flexible moving functions of the editing area and comprises a vertical rolling unit and a horizontal rolling unit;
The vertical rolling unit moves the editing area up and down by rolling a mouse wheel or external input operation;
and the horizontal scrolling unit is used for performing left-right movement on the editing area by scrolling a mouse wheel or external input operation when the program width exceeds the editing area width.
The application provides an intelligent interaction system for PLC graphical programming, which not only optimizes the dragging and engineering management functions of ladder diagram elements, but also introduces a core function block recursion and an intelligent label jump mechanism. Through the innovative functions, the method and the device remarkably improve the programming support capability of the complex PLC program, and greatly expand the scale and application range of industrial Internet of things programming.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the practice of the invention and together with the description, serve to explain the principles of the embodiments of the invention. It is evident that the drawings in the following description are only some embodiments of the implementation of the present invention and that other drawings may be obtained from these drawings without inventive effort for a person of ordinary skill in the art.
FIG. 1 is a schematic diagram of an intelligent interactive system for graphical programming of a PLC, as schematically illustrated in an embodiment of the present application;
FIG. 2 is a schematic diagram of ladder diagram drag programming by a drag programming module, which is schematically shown in an embodiment of the present application;
FIG. 3 is a schematic diagram of recursive insertion of block elements as schematically illustrated in an embodiment of the present application;
fig. 4 is a schematic diagram of a network tag and a jumping element, as exemplarily shown in an embodiment of the present application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many different forms and should not be construed as limited to the examples set forth herein, but rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of the implementations of embodiments of the invention.
The PLC is a digital operation controller for automatic control, adopts a graphical edited ladder diagram, and requires an embedded user program. Each type of PLC is provided with a corresponding editor, and the use modes are different. At present, domestic PLC software is relatively backward in programming experience, and functions such as dragging, automatic wire connection and the like are not supported temporarily, and cross-platform operation is also not possible. The prior patent 202110842732.5 realizes a graphical programming interaction system of a compiling type PLC, and provides a dragging type programming mode, but lacks support for complex programming functions, and is difficult to meet the requirements of real industrial scenes.
Referring to fig. 1 to 4, in order to solve the above problems, an embodiment of the present application provides an intelligent interaction system for PLC graphical programming, which integrates a standard command connection library module, a dragging type programming module, and a PLC project real-time management and control module, so as to greatly improve convenience, flexibility, and efficiency of PLC programming.
The standard instruction connection library module is used for storing a series of standardized instruction connection components. The instruction connection components in the standard instruction connection library module are subjected to strict standardization treatment to conform to the international universal automatic control standard, and the standardization and consistency in the programming process are ensured. The user does not need to construct complex control logic from scratch, but can select the instruction connecting assembly from the standard instruction connecting library, so that the programming time is saved, and the error rate is reduced. Meanwhile, the introduction of the standardized instruction connecting component also provides convenience for the later maintenance of the PLC project.
The PLC project real-time management and control module provides real-time monitoring and management functions for the full life cycle of the PLC project for users. Through the module, a user can view the running state of the project, monitor the change of the variable, debug and modify the program and the like in real time. The PLC project real-time management and control module is beneficial to timely finding and solving problems, and maintenance efficiency and reliability of projects can be improved.
The drag programming module is used for carrying out drag fixed graphic elements and setting parameters according to the selection of the fixed graphic elements by a user to carry out graphic programming to obtain a graphic program, and allows the user to easily place the fixed graphic elements (such as instruction connecting components, variables and the like) in a programming interface through simple drag operation, and the graphic program is built through the setting parameters, so that the programming convenience is improved, and the technical threshold of PLC programming is reduced.
The pull programming module includes intelligent recursive programming of graphic block elements including recursive insertion of block elements and recursive deletion of block elements.
The recursive insertion of block elements includes adding a new block element to an input of the block element in the pull programming module, replacing the original variable element connected to the input with the new block element, and automatically connecting a first output of the new block element to the selected input to intelligently form chained block element calls.
Specifically, when a user needs to add a new block element to the input end of a certain block element, the system can intelligently identify and replace the original variable element, and meanwhile, the output end of the new block element is automatically connected to the designated input end to form a chained element call. This functionality greatly simplifies the construction process of complex control logic, enabling users to implement complex control strategies more quickly.
Recursive deletion of block elements includes deleting one block element at a pull programming module, when an input of the block element is associated with an output of another block element, the block element associated therewith is also deleted, and the block element associated therewith is to be recursively deleted.
In particular, when a block element is deleted, if it is associated with another block element (e.g., an input is associated with an output of another block element), the system can automatically recursively delete all block elements associated therewith, ensuring program integrity and consistency. The function effectively avoids program errors caused by false deletion or missing deletion, and improves the reliability and stability of programming.
In summary, the intelligent interaction system for PLC graphical programming provided by the embodiment of the application provides an efficient, convenient and reliable PLC programming environment for users by integrating the standard instruction connecting library module, the dragging programming module and the PLC project real-time management and control module. The system not only greatly improves the programming efficiency and accuracy, but also reduces the technical threshold and the maintenance cost.
In some embodiments of the application, the towed programming module further includes intelligent merging of the block elements and intelligent splitting of the block elements. The intelligent combination of the block elements is used for automatically generating a new composite block element containing all selected block element functions according to the logic relation and input/output ports of the block elements when the functions of the block elements can be combined into a more complex block element in the drag programming, and the intelligent splitting of the block elements is used for selecting the block elements needing to be split, designating splitting points or splitting conditions and automatically splitting the selected block elements into a plurality of smaller block elements according to the information and the internal logic of the block elements.
In particular, in the PLC programming process, it is often encountered that a plurality of functional blocks are required to be combined into one more complex functional block. In the embodiment of the application, the intelligent combination function of the block elements can automatically identify the logic relations among a plurality of functional blocks in the dragging type programming interface, such as series connection, parallel connection, condition judgment and the like, and automatically generate a new composite functional block according to the logic relations and the input and output ports of the functional blocks. The composite functional block not only comprises the functions of all selected functional blocks, but also optimizes the internal logic structure, improves the execution efficiency of the program, and the reliability and the readability of the program, and simultaneously effectively avoids the program faults caused by manual connection errors.
Second, in contrast to intelligent merging of block elements, the intelligent splitting function of block elements allows a user to split a complex functional block into multiple smaller functional blocks for finer debugging and optimization. In PLC programming, some functional blocks sometimes need to be deeply analyzed or modified, but directly modifying the original functional blocks may introduce new errors or affect other portions of logic. In the embodiment of the application, the intelligent splitting of the block elements allows a user to select the functional blocks needing to be split and specify the splitting points or the splitting conditions. The system will automatically split the selected function block into a plurality of smaller function blocks based on this information and the internal logic structure of the function block. These split functional blocks preserve the input-output ports and logical relationships of the original functional blocks and thus can be seamlessly integrated back into the original program.
The intelligent splitting function of the block elements provides a more flexible programming means for users to more easily debug and optimize programs. In addition, the split functional blocks are simpler and clearer, so that the readability and maintainability of the program are improved.
In some embodiments of the present application, the towed programming module further includes intelligent searching of the block elements and intelligent replacement of the block elements.
In the PLC programming process, as the project scale is increased and the complexity is increased, a user may face hundreds to thousands of block elements, and need to quickly locate a specific block element or a block element having a specific function. While conventional searching methods often rely on the search function of a text editor, such methods are not only inefficient, but may miss targets due to keyword inaccuracy.
In this embodiment, the provided intelligent searching of block elements is used to input a keyword or select a specific searching condition when a specific block element or a block element with a specific function needs to be searched, so that the block elements meeting the conditions can be quickly searched and highlighted in the whole program. The intelligent search function of the block elements allows the user to input keywords or select specific search conditions, such as the names, types, function descriptions, etc. of the block elements, the system can quickly search and highlight the block elements meeting the conditions in the whole PLC program. The searching mode is accurate and efficient, can help a user to quickly know the structure and the function distribution of the program, and provides powerful support for subsequent optimization and debugging.
In the PLC programming process, it is sometimes also necessary to replace a certain block element with another block element having the same or similar function, in order to optimize the program performance, reduce the hardware cost, or meet specific control requirements. Conventional alternatives often require manual disconnection of the original block elements, followed by insertion and reconnection of new block elements, which is not only cumbersome and error-prone, but may introduce new program failures.
In this embodiment, the intelligent replacement of a block element is used to select a block element to be replaced and designate a replacement target block element when a block element needs to be replaced with another block element having the same or similar function, and automatically replace the selected block element with the designated target block element according to the input/output port of the block element, and keep the original connection relationship and the input/output port unchanged.
The intelligent replacement mode of the block element provides a more flexible programming means for users, so that the users can more easily cope with the demands of program optimization, hardware upgrading and the like. In addition, the function can automatically process the connection relation between the block elements, so that program faults caused by manual replacement errors are effectively avoided.
In some embodiments of the application, the drag programming module further comprises a conditional jump function based on a network tag, wherein the network tag refers to a user-defined tag which is added to the network in the programming process and corresponds to the network program one by one, the network tag is used for representing the position of the network program, and the jump element refers to an element which is added to the end of the network in the programming process for jumping.
Network tags are an innovative and practical concept in the graphical programming of PLCs, and during programming, a user-friendly tag can be defined for a particular network program. The label and the network program establish a one-to-one correspondence, namely an address mark, so that each part in the program can be easily identified and referenced. The jump element is a key component in the PLC graphical programming for implementing conditional jumps, and is typically placed at the end of the network program as a control point for the program flow. When the program runs to the jump component, it will determine whether to perform the jump operation according to the preset conditions (such as the state of the input variable, etc.).
And the conditional jump function based on the network tag is used for continuing to run the program from the network program corresponding to the network tag set by the jump element when the program runs to the jump element. The conditional jump function based on the network tag combines the advantages of the network tag and the jump element, and provides strong flow control capability for the PLC program. When the program runs to the jumping element, the program checks whether the jumping condition is satisfied, and if so, the program jumps to the corresponding network program to continue running according to the network tag set by the jumping element.
The conditional jump function based on the network tag enables the PLC program to dynamically adjust the execution path according to different running conditions, thereby realizing more intelligent and flexible control logic and simplifying the programming process of the complex program. For example, in an industrial automation system, different control flows can be triggered according to real-time data of a sensor, and in an intelligent home system, different working modes can be switched according to instructions of a user.
In some embodiments of the present application, the pull programming module further includes a nesting function for the network tag and a loop-skip function for the network tag. The nesting function of the network labels means that nesting relation is established among a plurality of network labels, a plurality of network programs skip for a plurality of times through the plurality of completely nested network labels to form a multi-layer nested skip structure, and the circulation skip function of the network labels means that when running to a certain network label, the programs can skip back to a certain previous network label to restart execution to form a closed loop control structure.
Specifically, the nesting function of the network tag can create a multi-layer nested jump structure in the PLC program. The ability to skip multiple times between multiple network programs can be achieved by defining network tags for different network programs and establishing nested relationships between the tags. This nested relationship is like a multi-level map, with each network tag being a landmark indicating the direction of the next step in the procedure. The nesting function of the network tag greatly enhances the complex flow control capability of the PLC program. The user can construct finer and more complex control logic according to the actual demands.
For example, on a complex automated production line, it may be necessary to perform different control flows according to different production phases and product types. By utilizing the nesting function of the network tags, users can easily realize these complex control requirements, thereby improving the efficiency and flexibility of the production line.
In addition, the nesting function of the network tag also helps to improve the readability and maintainability of the PLC program. By adding clear labels for different network programs and establishing nesting relations for the labels, a user can more intuitively understand the flow structure of the program and quickly locate the part needing modification or optimization. The difficulty of debugging and maintaining the program is greatly reduced, and the working efficiency of a user is improved.
Second, the loop-and-jump function of the network tag may be applied in a scenario where it is necessary to repeatedly perform a certain control flow, such as loop counting, timing control, etc.
Specifically, in a task that needs to be executed periodically, the timing trigger can be implemented by setting a loop jump. When the program runs to the designated network tag, it jumps back to the start of the loop and continues to execute the task for the next cycle. The circulation control structure not only simplifies the design and implementation process of the program, but also improves the stability and reliability of the program. By adjusting the start and end points of the cycle, as well as the control logic inside the cycle, different control demands can be handled. The flexibility enables the PLC program to be better suitable for various complex application scenes.
In some embodiments of the application, the dragging type programming module further comprises a dynamic modification function of the network tag and a monitoring function of the network tag, wherein the dynamic modification function of the network tag refers to dynamically modifying the corresponding relation or the jump condition of the network tag through a specific interface or command in the running process of the program, and the monitoring function of the network tag refers to displaying which network tag or the jump history the current program runs to in real time in a monitoring window.
The dynamic modification function of the network tag gives the PLC program the capability of adjusting the flow control logic of the PLC program in the running process. In conventional PLC programming, once the program is compiled and downloaded into the PLC for operation, its flow control logic is typically fixed and difficult to modify at runtime. The dynamic modification function of the network tag in the embodiment of the application allows the user to dynamically modify the corresponding relationship or the jump condition of the network tag through a specific interface or command in the process of running the program. That is, when the PLC program encounters a situation where the flow control logic needs to be adjusted, the user does not need to stop the program operation, recompile and download the program, but can directly modify at the time of operation. For example, on an automated production line, if the time consumption of a certain process is changed, a user can dynamically modify the corresponding relationship of the network labels to adjust the starting time of the subsequent process, so as to ensure the coordinated operation of the whole production line.
And the monitoring function of the network tag can assist in debugging and troubleshooting the PLC program. During the running process of the PLC program, the monitoring window can display which network tag or jump history the current program runs to in real time. This enables the user to intuitively understand the execution flow and state of the program, and quickly locate potential problem points. When the program is abnormal or fails, the user can rapidly judge that the problem is located according to the information in the monitoring window and take corresponding measures to repair the problem. In addition, the monitoring function of the network tag is also beneficial to improving the readability and maintainability of the PLC program, so that debugging and maintenance work can be more efficiently performed.
In some embodiments of the application, the standard instruction connection library module includes graphics characterization data, logical association data, and variable binding data.
In particular, the graphical representation data is used to present the appearance of command-joining components, typically in the form of icons, lines or graphical interfaces, in a graphical programming environment, intended to provide a visual, visualized programming experience for the user. Through the graphic characterization data, a user can easily identify and operate various instruction connection components, such as a timer, a counter, a comparator and the like, so that the programming process is simplified, the learning cost is reduced, and the logic association data is used for recording logic connection relations among the instruction connection components, wherein the logic connection relations define the execution sequence and conditions of each component in the program and are the key for the correct execution of the PLC program. Through logic association data, a user can clearly see how each instruction connection component is associated with and influenced by each other, so that the flow and control logic of a program can be grasped more accurately, variable binding data are used for tightly binding the instruction connection components and variables operated by the instruction connection components together, the variable binding data comprise a Boolean value, an integer type, a real number type, a character string type and a date type, the variable binding data represent actual physical quantities or logic states which need to be monitored and controlled in the PLC program, and the user can ensure that the instruction connection components can correctly read and modify the values of the variables, so that the accurate control of the PLC program is realized.
In some embodiments of the application, contacts, coils, return elements, and various functions and blocks are included in a standard instruction connection library module.
In particular, the contacts, coils are used to implement the input and output of variables and the underlying logic. The system comprises a return element, a jump element, a function block, a timer, a bistable element function block, a counter and a function block, wherein the function block comprises bistable elements, edge detection, an up-down counter, the timer and the like, the timer provides an accurate time control means for a user, the PLC can execute actions in a specific time point or time period according to actual requirements, so that the flexibility and accuracy of an automatic system are improved, the counter provides an accurate counting and counting means for the user, the PLC can accurately record and monitor the times of various events and processes, so that abundant data support is provided for the user, the bistable element function block provides a state reset and setting function, the user can conveniently realize the functions of starting and stopping the system, the counter reset and the like, the edge detection function is convenient for the user to monitor the change of signals, the response speed and accuracy of the system are improved, and the functions comprise a type conversion function, a numerical value class function, an arithmetic class function, a bit operation function, a comparison and selection class function, a character string class function, a date and a date class function and the like, and the like.
In some embodiments of the application, the PLC project real-time management and control module comprises a project management and organization function, a program editing and debugging function and a real-time monitoring and diagnosis function.
Specifically, the project management and organization functions are used for creating, saving, backing up, recovering and structurally managing the PLC project. The method comprises the steps of allowing a user to quickly establish a new PLC project and storing all relevant information of the project, including program codes, configuration files, notes and the like, providing a project backup function, ensuring that project data can be quickly recovered when unexpected conditions (such as hardware faults, data loss and the like) occur, reducing loss, supporting layering and classified management of the project, enabling the project structure to be clearer, and facilitating the user to find and modify.
Program editing and debugging functions for supporting multiple programming languages, providing debugging tools for writing, testing and modifying the PLC program. Specifically, programming habits and requirements of different users can be met, programming efficiency and flexibility are improved, visual programming interfaces and rich programming elements are provided, a user is helped to quickly construct a PLC program, simulation operation and online test functions are supported, the user is allowed to initially verify and debug the program under the condition that the user is not actually connected with PLC hardware, a convenient modification tool can be provided, and the user is helped to quickly locate and repair errors or defects in the program.
And the real-time monitoring and diagnosing function is used for displaying the running state of the PLC project in real time and providing fault diagnosis. For example, the running state of the PLC system can be displayed in real time through a graphical interface, and the running state can comprise input and output signals, an internal register value, a timer/counter state and the like, and the system can automatically detect and report the abnormality or the error in the PLC system, help a user to quickly locate the cause of the problem, automatically trigger an alarm mechanism when serious faults or the abnormality are detected, inform related personnel in a mail, short message and other modes, and ensure that the problem is timely handled.
In some embodiments of the application, the PLC project real-time management and control module further comprises a dynamic variable configuration and immediate feedback unit, an intelligent variable filling unit and an editing area flexible moving unit.
Specifically, the dynamic variable configuration and instant feedback unit is configured to perform instant parameter configuration on the connection element dragged to the working area in the programming process, and display the state and effect of the current parameter configuration, where the state of the current parameter configuration may include the state of the input/output signal, the value of the internal register, and the like. When the parameter configuration is wrong or not in line with expectations, a prompt is sent out, and a modification suggestion or an automatic parameter correction is provided so as to ensure the correctness and stability of the project.
And the intelligent variable filling unit is used for double-clicking to appear a bullet frame at the position above the connection element when the connection element needs the associated variable, listing the variable available in the current PLC project in the bullet frame, and finding out the associated variable through a scrolling or searching function. The intelligent variable filling unit provides centralized management of all variables in the PLC project so that the user can conveniently view, modify and delete the variables. By the intelligent variable filling unit, a user can avoid spelling errors or format errors which can occur when the variable names are manually input.
The editing area flexible moving unit is used for providing flexible moving functions of the editing area and comprises a vertical rolling unit and a horizontal rolling unit, wherein the vertical rolling unit moves the editing area up and down through rolling a mouse wheel or external input operation, and the horizontal rolling unit moves the editing area left and right through rolling the mouse wheel or external input operation when the program width exceeds the width of the editing area. The flexible mobile unit of the editing area enables the user to not need to frequently switch views or scroll pages, thereby improving editing efficiency.
As can be seen from the content of the embodiment, the application provides an intelligent interaction system for PLC graphical programming, which integrates a standard instruction connection library module, a dragging programming module and a PLC project real-time management and control module, and aims to greatly improve the convenience, flexibility and efficiency of PLC programming. The pull programming module includes intelligent recursive programming of graphic block elements including recursive insertion of block elements and recursive deletion of block elements. The towed programming module also includes a conditional jump function based on the web tag. The system not only optimizes the dragging and engineering management functions of the ladder diagram elements, but also introduces a core function block recursion and an intelligent label jump mechanism. Through the innovative functions, the method and the device remarkably improve the programming support capability of the complex PLC program, and greatly expand the scale and application range of industrial Internet of things programming.
Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains.

Claims (9)

1. The intelligent interaction system for PLC graphical programming is characterized by comprising a standard instruction connection library module, a dragging programming module and a PLC project real-time management and control module;
the standard instruction connection library module is used for storing a series of standardized instruction connection components;
The drag programming module is used for carrying out drag fixed graphic elements and setting parameters to carry out graphical programming according to the selection of the fixed graphic elements by a user so as to obtain a graphical program;
The drag programming module comprises intelligent recursive programming of a graphic block element, the intelligent recursive programming of the graphic block element comprising recursive insertion of the block element and recursive deletion of the block element;
the drag programming module further comprises intelligent merging of block elements and intelligent splitting of block elements;
The intelligent combination of the block elements is used for automatically generating a new composite block element containing all selected functions of a plurality of block elements according to the logic relation and input/output ports of the plurality of block elements when the functions of the plurality of block elements can be combined into a more complex block element in the drag programming;
the intelligent splitting of the block elements is used for selecting the block elements to be split, designating splitting points or splitting conditions, and automatically splitting the selected block elements into a plurality of smaller block elements according to the information and the internal logic of the block elements;
the recursive insertion of the block element comprises adding a new block element to one input end of the block element in the dragging programming module, replacing the original variable element connected with the input end with the new block element, automatically connecting the first output end of the new block element with the selected input end, and intelligently forming a chained element call;
The recursive deletion of the block elements includes deleting one of the block elements at the pull programming module, when an input of the block element is associated with an output of another of the block elements, the block element associated therewith is also deleted, and the block element associated therewith is to be recursively deleted;
the PLC project real-time management and control module is used for providing real-time monitoring and management functions for the whole life cycle of the PLC project.
2. The intelligent interactive system for PLC graphical programming according to claim 1, wherein the drag programming module further comprises intelligent searching of block elements and intelligent replacing of block elements;
the intelligent searching of the block elements is used for inputting keywords or selecting specific searching conditions when a certain specific block element or a block element with a specific function needs to be searched, so that the block elements meeting the conditions can be quickly searched and highlighted in the whole program;
And the intelligent replacement of the block elements is used for selecting the block elements to be replaced and designating a replacement target block element when one block element needs to be replaced with another block element with the same or similar functions, and automatically replacing the selected block element with the designated target block element according to the input/output port of the block element, and keeping the original connection relation and the input/output port unchanged.
3. The intelligent interactive system for graphical programming of a PLC of claim 1, wherein the drag programming module further comprises a conditional jump function based on a network tag;
The network label refers to that in the programming process, a user-defined label can be added in a network program, the network label corresponds to the network program one by one, and the network label is used for representing the position of the network program;
The jump element means that an element can be added at the end of the network program to carry out jump in the programming process;
And the conditional jump function based on the network tag is used for continuing to run the network program corresponding to the network tag set by the jump element when the program runs to the jump element.
4. The intelligent interactive system for graphical programming of a PLC of claim 3, wherein the dragging programming module further comprises a nesting function of the network tag and a cycle skip function of the network tag;
The nesting function of the network labels is that a nesting relation is established among a plurality of network labels, and a plurality of network programs are jumped for a plurality of times through a plurality of completely nested network labels to form a multi-layer nested jump structure;
the loop jump function of the network tag means that when the program runs to a certain network tag, the program can jump back to the former certain network tag to restart execution, and a closed loop control structure is formed.
5. The intelligent interactive system for graphical programming of PLC according to claim 4, wherein the dragging programming module further comprises a dynamic modification function of the network tag and a monitoring function of the network tag;
The dynamic modification function of the network tag means that the corresponding relation or the jump condition of the network tag is dynamically modified through a specific interface or a command in the running process of the program;
The monitoring function of the network tag is to display the network tag or the jump history to which the current program operates in real time in a monitoring window.
6. The intelligent interactive system for graphical programming of a PLC of claim 1, wherein the standard instruction connection library module comprises graphical characterization data, logic association data and variable binding data;
The graphic characterization data is used for showing the appearance of the instruction connection component in a graphic programming environment;
The logic association data is used for recording the logic connection relation between the instruction connection components;
The variable binding data is used for tightly binding the instruction connection components and the variables operated by the instruction connection components, and the variable binding data comprises a Boolean value, an integer type, a real number type, a character string type and a date type.
7. The intelligent interactive system for graphical programming of a PLC according to claim 1, wherein the standard instruction connection library module comprises contacts, coils, return elements and various functions and functional blocks, wherein the functions comprise a type conversion function, a numerical class function, an arithmetic class function, a bit operation function, a comparison and selection class function, a character string class function and a date class function;
The functional blocks comprise bistable element functional blocks, edge detection functional blocks, counter functional blocks and timer functional blocks;
the contact is used for transferring a ladder diagram element in a Boolean state to a right element;
the coil is used for representing a Boolean state and outputting a ladder diagram element;
The return element is used for returning the program, and when the program runs to the return element, the program finishes running in advance;
The type conversion function is used for type conversion of various types of data;
the numerical class function comprises absolute value, open square, exponential operation, logarithmic operation, sine, cosine, tangent, arcsine, arccosine and arctangent operation of numerical values;
The arithmetic class function comprises addition, subtraction, multiplication, division, remainder, power and duplication operations of various numerical values;
The bit operation function comprises non-cyclic left shift, cyclic right shift, non-cyclic right shift, bit-wise AND, bit-wise OR, bit-wise XOR and bit-wise inversion operation;
The comparison and selection class functions comprise a comparison function, a one-way selection function, a maximum value, a minimum value and a limit value selection function, wherein the comparison and selection class functions are more than, equal to, less than or equal to and not equal to;
The character string class function comprises a character string solving function, a character string intercepting function, a character string connection function, a character string replacement function and a character search function in the character string;
The date class function comprises an addition function and a subtraction function of a date type;
The bistable element functional block comprises a setting priority bistable element functional block and a resetting priority bistable element functional block, wherein the setting priority bistable element functional block is used for state latching and provides a setting function, and the resetting priority bistable element functional block is also used for state latching and provides a resetting function;
The edge detection functional block comprises a rising edge detection functional block and a falling edge detection functional block;
The counter function block comprises an adder, a subtracter and an adder-subtractor, wherein the adder, the subtracter and the adder-subtractor complete a counting function through the rising edge change of a pulse signal;
The timer function block comprises a pulse timing function block, a delay on timer and a delay off timer, wherein the pulse timing function block is used for generating pulses, and the delay on timer and the delay off timer are used for controlling instruction delay.
8. The intelligent interaction system for graphical programming of PLC according to claim 1, wherein the PLC project real-time management and control module comprises a project management and organization function, a program editing and debugging function and a real-time monitoring and diagnosis function;
the project management and organization function is used for creating, storing, backing up, recovering and structurally managing PLC projects;
The program editing and debugging function is used for supporting multiple programming languages and providing a debugging tool for writing, testing and modifying the PLC program;
The real-time monitoring and diagnosing function is used for displaying the running state of the PLC project in real time and providing fault diagnosis.
9. The intelligent interaction system for graphical programming of PLC according to claim 8, wherein the real-time management and control module of PLC project further comprises a dynamic variable configuration and immediate feedback unit, an intelligent variable filling unit and an editing area flexible moving unit;
The dynamic variable configuration and instant feedback unit is used for carrying out instant parameter configuration on the connection elements dragged to the working area in the programming process, displaying the state and effect of the current parameter configuration, and sending out a prompt to provide a modification suggestion or automatically modify the parameters when the parameter configuration is wrong or not in line with the expectation;
The intelligent variable filling unit is used for double-clicking a bullet frame above the connection element when the connection element needs the associated variable, listing the variable available in the current PLC project in the bullet frame, and finding out the associated variable through a scrolling or searching function;
the editing area flexible moving unit is used for providing flexible moving functions of the editing area and comprises a vertical rolling unit and a horizontal rolling unit;
The vertical rolling unit moves the editing area up and down by rolling a mouse wheel or external input operation;
and the horizontal scrolling unit is used for performing left-right movement on the editing area by scrolling a mouse wheel or external input operation when the program width exceeds the editing area width.
CN202411638613.8A 2024-11-18 2024-11-18 Intelligent interaction system for PLC graphical programming Active CN119148613B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411638613.8A CN119148613B (en) 2024-11-18 2024-11-18 Intelligent interaction system for PLC graphical programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411638613.8A CN119148613B (en) 2024-11-18 2024-11-18 Intelligent interaction system for PLC graphical programming

Publications (2)

Publication Number Publication Date
CN119148613A CN119148613A (en) 2024-12-17
CN119148613B true CN119148613B (en) 2025-03-04

Family

ID=93802105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411638613.8A Active CN119148613B (en) 2024-11-18 2024-11-18 Intelligent interaction system for PLC graphical programming

Country Status (1)

Country Link
CN (1) CN119148613B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515084A (en) * 2021-07-26 2021-10-19 山东省计算中心(国家超级计算济南中心) A graphical programming interactive system and interactive method for compiled PLC

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1873634A3 (en) * 2006-06-29 2013-10-09 Rockwell Automation Technologies, Inc. HMI framework for extensible automation system engineering platforms
KR101713085B1 (en) * 2015-12-15 2017-03-07 위드큐브(주) Contents providing system by smart block
CN108762751A (en) * 2018-05-31 2018-11-06 福州芝麻智能科技有限公司 A kind of logic figure configuration and the method and system for changing into data flow
CN110497412A (en) * 2019-08-26 2019-11-26 中科新松有限公司 Graphical programming interactive system for robots based on web pages and mobile terminals
CN115202636A (en) * 2022-06-30 2022-10-18 广东美的智能科技有限公司 Programming system of programmable logic controller
CN116795347B (en) * 2023-06-30 2024-06-04 兰州交通大学 Map-oriented automatic comprehensive graphical programming system and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515084A (en) * 2021-07-26 2021-10-19 山东省计算中心(国家超级计算济南中心) A graphical programming interactive system and interactive method for compiled PLC

Also Published As

Publication number Publication date
CN119148613A (en) 2024-12-17

Similar Documents

Publication Publication Date Title
US5485620A (en) Integrated control system for industrial automation applications
US7302676B2 (en) Method for debugging flowchart programs for industrial controllers
US6268853B1 (en) Data structure for use in enterprise controls
US11960925B2 (en) Program generating device, program generating method, and information storage medium
US20020120921A1 (en) Simulation method and apparatus for use in enterprise controls
US20030182083A1 (en) Diagnostics method and apparatus for use with enterprise controls
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
CN108897676B (en) Flight guidance control software reliability analysis system and method based on formalization rules
US9921946B2 (en) Method and system to display and browse program trace using source code decoration
JP2012256178A (en) Information processor, information processing method and program
EP1624352B1 (en) Manual restart learning process and manual restart process for an automated system
Hopsu et al. On portability of IEC 61499 compliant structures and systems
CN119148613B (en) Intelligent interaction system for PLC graphical programming
CN117806613A (en) Interactive event management method and device based on node type visual editor
WO1995032476A1 (en) A system and method for creating design configurations and for controlling the execution of multiple design tools
CN110990177A (en) Fault repairing method, device, system, storage medium and electronic equipment
CN104615536A (en) Test case control method and electronic device
US20100063606A1 (en) Automated derivation of a logic-controller-behavior-model from a mechanical-machine-operation-model
KR102755756B1 (en) Error tracking method for motion controller
KR101907199B1 (en) Device and method for driving program in instrumentation and control facility
CN118642426B (en) A remote monitoring and debugging method, system and terminal based on PLC
KR20140080717A (en) Task graph construct apparatus and method of conversational processing system based on task graph
Lucas Understanding and assessing logic control design methodologies
CN117785166A (en) Imaging programming system, method and storage medium for industrial active control
CN118426446A (en) A PLC program automatic testing method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant