CN114185532B - Graphical programming system - Google Patents

Graphical programming system Download PDF

Info

Publication number
CN114185532B
CN114185532B CN202210135688.9A CN202210135688A CN114185532B CN 114185532 B CN114185532 B CN 114185532B CN 202210135688 A CN202210135688 A CN 202210135688A CN 114185532 B CN114185532 B CN 114185532B
Authority
CN
China
Prior art keywords
module
unit
graphical programming
primitives
programming system
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
CN202210135688.9A
Other languages
Chinese (zh)
Other versions
CN114185532A (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.)
Filler Smart Iot Technology Co ltd
Original Assignee
Wuhan Easylinkin Technology 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 Wuhan Easylinkin Technology Co ltd filed Critical Wuhan Easylinkin Technology Co ltd
Priority to CN202210135688.9A priority Critical patent/CN114185532B/en
Publication of CN114185532A publication Critical patent/CN114185532A/en
Application granted granted Critical
Publication of CN114185532B publication Critical patent/CN114185532B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the application discloses a graphical programming system, the graphical programming system comprises a graphical programming unit, a data processing unit and a connecting unit, wherein the graphical programming unit comprises: the editing unit is used for editing the graphic primitive; the data processing unit includes: the system comprises a module unit, a program processing unit and a program interpretation unit, wherein the module unit comprises modules which correspond to the graphic elements one by one and jointly form nodes; the program processing unit is used for reflecting a data processing flow of graphical programming, the data processing flow is composed of the nodes and edges, the nodes are used for processing data, and the edges are connecting lines among the nodes and are used as paths for data circulation; the program interpreting unit is used for executing the functions of the program processing unit and the module unit; the connecting unit is used for connecting the graphical programming system with hardware.

Description

Graphical programming system
Technical Field
The application relates to a programming technology, in particular to a graphical programming system.
Background
Graphical programming is widely used in current programming education due to its simplicity and interest. The graphical programming can be divided into two types according to the using mode, one type is that the graphical module encapsulates related hardware knowledge, and a user can control the hardware to complete corresponding actions through a single instruction without knowing the bottom hardware, so that the difficulty of the user is low. The other is that the graphical module code has low packaging, requires the user to know the related hardware knowledge, has strong program module matching and has high difficulty in the hands. The prior art is difficult to balance the upper-hand difficulty and the secondary development capability of graphical programming.
Disclosure of Invention
In order to solve the above technical problem, an embodiment of the present application provides a graphical programming system, which balances the upper-hand difficulty and the secondary development capability of graphical programming to a certain extent.
The technical scheme of the embodiment of the application is realized as follows:
in a first aspect, an embodiment of the present application provides a graphical programming system, which includes a graphical programming unit, a data processing unit, and a connection unit, wherein,
the graphical programming unit comprises: the editing unit is used for carrying out editing operation on the graphic primitive; the graphic element comprises a module icon and a data display window, wherein the module icon is used for identifying the module type; the data display window is used for displaying the state of the module;
the data processing unit comprises: the system comprises a module unit, a program processing unit and a program interpretation unit, wherein the module unit comprises the modules, and the modules correspond to the primitives one by one and jointly form nodes; the program processing unit is used for reflecting a data processing flow of graphical programming, the data processing flow is composed of the nodes and edges, the nodes are used for processing data, and the edges are connecting lines among the nodes and are used as paths for data circulation; the program interpreting unit is used for executing the functions of the program processing unit and the module unit;
the connecting unit is used for connecting the graphical programming system with hardware.
In a second aspect, a graphical programming system provided in another embodiment of the present application further includes a simulation unit, configured to simulate a completed programming project without connecting to hardware.
The graphical programming system provided by the embodiment of the application encapsulates the hardware module, can display the data of the sensor module and control the actuator module in real time, is simple in programming, supports secondary development, supports the module and the entity hardware module in a user-defined system, and can realize program simulation based on the principle of data flow, and can change the control logic of hardware without compiling and downloading after changing programs.
Drawings
FIG. 1 is a main interface of a block software in the prior art;
FIG. 2 is a prior art mixly software main interface;
FIG. 3 is a diagram A of a schematic graphical programming system provided by an embodiment of the present application;
FIG. 4 is a schematic data processing flow diagram provided by an embodiment of the present application;
FIG. 5 is a diagram B of a schematic graphical programming system provided by another embodiment of the present application;
FIG. 6 is a diagram illustrating key module primitives provided in an embodiment of the present application;
FIG. 7 is a diagram C of a schematic graphical programming system provided by yet another embodiment of the present application;
FIG. 8 is a diagram D of a schematic graphical programming system provided by yet another embodiment of the present application;
fig. 9 is a diagram illustrating an example of a simulation operation of graphical programming provided by an embodiment of the present application.
Detailed Description
Technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that, in the embodiment of the present application, the term "and/or" is only one kind of association relationship describing an associated object, and indicates that three relationships may exist, for example, a and/or B may indicate: a exists alone, A and B exist simultaneously, and B exists alone. In addition, in the embodiment of the present application, the character "/" generally indicates that the preceding and following related objects are in an "or" relationship.
In the description of the embodiments of the present application, the term "correspond" may indicate that there is a direct correspondence or an indirect correspondence between the two, may also indicate that there is an association between the two, and may also indicate and be indicated, configure and configured, and so on.
For the convenience of understanding of the technical solutions of the embodiments of the present application, the following related technologies of the embodiments of the present application are described below, and the following related technologies may be optionally combined with the technical solutions of the embodiments of the present application as alternatives, and all of them belong to the protection scope of the embodiments of the present application.
FIG. 1 is a software interface of a graphical programming software Blockly, on the left side, a module library is provided, and a user can build a building block type programming by dragging modules of the module library, wherein the Blockly comprises basic logic control and variable definition. As can be seen from the figure, a single graphic module can control the running, lighting, sound or action of the robot, and only the meaning of each graphic module needs to be known during programming, so that the program function is realized according to the logical relationship. The user does not need to know related hardware knowledge during programming, and the difficulty of starting hands is low.
A program module of this type of graphics software usually corresponds to a text program code, and the hardware connected to the software system is fixed and unchangeable, and the hardware system is either integrated hardware, such as a da and da qi robot, or fixed interface hardware, that is, the interface of the external module is uniquely determined, and each module can only correspond to a certain interface of the core motherboard one by one. The software system is not strong in expansion, generally only supports several hardware unique or specific to manufacturers, and is inconvenient for secondary development, so that the development of user originality is limited.
Fig. 2 is a software main interface of Mixly, which is divided into a module library, a program editing frame, a code frame, and an information prompt frame, where a user drags a module in the module library to implement programming in the program editing frame, the code frame generates a code corresponding to a graphic module, and the information prompt frame prompts corresponding information when the program is compiled and downloaded. Mixly developed a large number of hardware control drivers for Arduino hardware programming, and users can use these functions to very conveniently manipulate Arduino open source hardware.
Mixly provides an interface for a user to develop a library of the user, the user can write codes according to requirements, a corresponding graphical program module is generated and integrated into the Mixly, and the software expandability is strong. However, since the hardware operation is in the IO layer, the control related to the hardware needs to know related hardware knowledge, such as basic knowledge of the single chip microcomputer of IO, AD sampling, PWM and interrupt, etc., and the programs with a little complexity also need to know analog-to-digital conversion, polling, hardware delay, etc. This presents a certain difficulty for the junior. The software is convenient for secondary development, and simultaneously, the difficulty of use of the software is increased for users. In addition, Mixly actually converts a graphical module into a text code for programming, and recompilation and downloading are needed when a program is changed, so that the time consumption is long, and the user experience is influenced.
In order to solve at least some of the above-mentioned defects, the following technical solutions of the embodiments of the present application are proposed.
So that the manner in which the features and advantages of the present application can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments, some of which are illustrated in the appended drawings; the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person skilled in the art without making any inventive step are within the scope of protection of the present application.
Fig. 3 is a diagram a of a graphical programming system according to an embodiment of the present disclosure, and as shown in fig. 3, the graphical programming system 300 includes a graphical programming unit 301, a data processing unit 302, and a connection unit 303, where;
the graphic programming unit 301 includes: the editing unit 3011, the editing unit 3011 is configured to perform an editing operation on a primitive; the graphic element comprises a module icon and a data display window, wherein the module icon is used for identifying the module type; the data display window is used for displaying the state of the module;
the data processing unit 302 includes: a module unit 3021, a program processing unit 3022, and a program interpreting unit 3023, where the module 3021 includes the modules, and the modules correspond to the primitives one to one and together form a node; the program processing unit 3022 is configured to reflect a data processing flow of graphical programming, where the data processing flow is composed of the nodes and edges, the nodes are used for processing data, and the edges are connection lines between the nodes and are used as paths through which data flow; the program interpreting unit 3023 for executing the functions of the program processing unit and the module unit;
the connection unit 303 is configured to connect the graphical programming system 300 with hardware.
The graphical programming system 300 provided by the embodiment of the application is wholly divided into foreground graphical display and background data processing, the graphical programming unit 301 performs a function of a foreground data display part, and the data processing unit 302 performs a function of background data processing. The core of the graphical programming unit 301 is a primitive editor in the editing unit 3011, and a user can edit the primitive to complete the programming operation, where the primitive is used for interactive display of the system and the user, and a module corresponding to the primitive is used for logic implementation of a background, and the primitive and the corresponding module form a node together;
the core of the data processing unit 302 is a program interpreter in the program interpreting unit 3023, and when the user programs the graphic programming unit 301, the program processing unit 3022 performs background data processing in real time, and displays a data processing flow, where the program processing unit 3022 is based on a data flow principle, the data processing flow is composed of edges and nodes, the nodes may also be called operators, and are parts for performing operations, and the edges are connection lines between the nodes and are paths for data flow. The data processed by the node is circulated on the edge, and the activation rule is used to determine whether a node can be activated and when to perform an operation, and this data processing procedure executing unit is a program interpreter, which is essentially a piece of code for executing the functions of the program processing unit 3022 and the module unit 3021. The modules will generate data on the output side, the middle module consumes data on the input side and generates data on the output side, the actuator module only receives data, and the data is transmitted to the actuator module.
The data processing flow of the embodiment of the application is based on the data flow principle, so that after a program is changed, the control logic of hardware can be changed without compiling and downloading, recompiling and downloading are avoided, time is saved, and the use experience of a user is improved.
Fig. 4 is a data processing flow chart provided in the embodiment of the present application, and as shown in fig. 4, the programming item implements a function of turning on a color lamp when a key is pressed once or the illumination intensity is less than a certain threshold. In the figure, keys, light senses and colored lamps are nodes and represent real physical modules, the keys represent intelligent keys, the light senses represent light sensors, and the colored lamps represent controlled real lamps. The "constant", "toggle", "compare" and "OR" are nodes, which perform the function of logical operations. The real equipment is displayed in a graphical programming system by small node icons, and the association binding of the icons and the real equipment is realized through module binding.
The primitive is a basic unit operated by a user, the user performs an editing operation on the primitive through the editing unit 3011 in the graphical programming unit 301 to construct a graphical program, the user can complete the editing operation by dragging the primitive, and the editing operation on the primitive by the user in the process of completing the graphical programming at least includes one of the following operations: addition, movement, and deletion, which are not limited in this application.
Based on this, in the graphical programming system provided in another embodiment of the present application, the editing unit is specifically configured to:
performing at least one of the following editing operations on the primitive: add, move, delete.
Further, the primitives include module primitives and connecting line primitives, the module primitives refer to the existence of modules corresponding to the primitives in the module units, and the connecting line primitives are used for connecting the module primitives.
Based on this, the graphics programming system provided by yet another embodiment of the present application includes module primitives and link primitives.
The graphic element provided by the embodiment of the application comprises a module icon and a data display window, wherein the module icon is used for identifying the type of a module; and the data display window is used for displaying the state of the module.
The data processing unit 302 in this embodiment of the application may be connected to hardware, the module may be connected to hardware for communication, and the primitive may display data of the module through the data display window, because the module is connected to hardware for communication, and the primitive may display the state of the hardware in real time, for example, when the hardware is a switch, the primitive may display the state of the hardware "on" or "off" in real time.
The module icon is used for identifying the type of the module, and means that the primitive can identify the type of the module, as an example, if the module is a key, the module icon of the corresponding primitive is a key icon, and if the module is a knob, the module icon of the corresponding primitive is a knob icon, and the like, so that a user can conveniently and clearly identify the module icon when performing graphical programming.
The primitives in the embodiment of the application are connected through the connecting lines, and the connecting points of the primitives and the connecting lines can be used as input and output ports of the primitives and used for transmitting data.
Based on this, in the graphical programming system provided in another embodiment of the present application, the primitive further includes:
and the input/output port is used as a connection point for transmitting data.
In an embodiment of the present disclosure, the graphics programming system further includes:
and the parameter setting frame is used for setting the parameters of the module.
Specifically, the user sets the parameters of the module through the parameter setting frame, the module is communicated with the hardware in an interconnected mode, and the user also sets the parameters of the hardware at the same time, so that the parameters of the module and the hardware can be set through the parameter setting frame. As an example, when the hardware is a switch, the user may set the state of "on" or "off" of the switch in the parameter setting frame.
In another embodiment of the present application, the graphics programming system further includes:
and the equipment association box is used for binding or unbinding the module graphic primitive with the module.
Specifically, when there are a plurality of modules of the same kind, the device association box may bind or unbind the module primitive with any one of the plurality of modules of the same kind, for example, when there are 3 switch hardware, the switch module has a switch 1, a switch 2, and a switch 3, which are respectively connected to the 3 switch hardware, and the user may bind the module primitive with the switch 1 through the device association box, or when the module primitive has been bound with the switch 1, the user may unbind the module primitive with the switch 1 through the device association box, select the switch 2 in the device association box, bind with the switch 2, or bind with the switch 1, the switch 2, and the switch 3 through the 3 module primitives, respectively.
Fig. 5 is a diagram B of a graphics programming system according to another embodiment of the present application, and as shown in fig. 5, a graphics programming system 500 according to this embodiment is provided by adding a first storage unit 5012 to the graphics programming system 300 according to the above embodiment, where the first storage unit 5012 is used to store all information of module primitives and link primitives in the graphics programming unit 5011 by using text documents. The functions of the same elements in fig. 5 as those in fig. 3 can be referred to the related description of fig. 3, and are not repeated herein.
Specifically, the first storage unit 5012 may save all information of the module primitives of the programming project in the graphic programming unit 301 through texts, including which input/output ports the module primitives have, through which output port of which module primitive the data of each input port is passed, where the data of each output port goes, what the data is, and which two ports of which two module primitives the connection line is connected to, and the like.
The graphical programming system according to another embodiment of the present application is characterized in that the first storage unit 5012 is further configured to store step information in the graphical programming process by using a MySQL database.
Specifically, the first storage unit 5012 may store operation step information of the user in the editing unit 3011, step information for setting primitive parameters, and the like, for example, an adding step, a moving step, and a deleting step for primitives, a setting step for a state of a switch, a binding and unbinding step for a module, and the like.
In an embodiment of the present application, the graphic programming unit 301 further includes:
and the primitive template is used as the basis of the primitive, provides elements common to all the primitives and generates the primitives.
The common elements and refer to functions common to the primitives, such as module icons, input/output ports, etc., referring specifically to table 1, table 1 provides, as an illustration, 6 elements common to the primitives.
TABLE 1
Figure 889028DEST_PATH_IMAGE001
As shown in table 1, the elements include a module icon, an input/output port, a parameter setting box, a device association box, a data display window, and a control port. Specifically, the module icon is used for identifying the type of the module; the input/output port is used as a connection point of the module and is used for data transmission; the parameter setting frame is used for setting parameters of the module; the equipment association frame is used for binding and unbinding the module graphics primitives with the modules; the data display window is used for displaying the module state, wherein the module state may be consistent with parameters in the setting parameters, such as the state of being turned on or turned off; and the control port is used for setting control parameters of the module and switching module calculation functions corresponding to the primitives.
And all the primitives are expanded on the basis of the primitive template by taking the elements as the basis of the primitives.
Schematically, fig. 6 is a key module primitive provided in this embodiment of the present application, and as shown in fig. 6, the key module primitive includes a key icon, an output port, a parameter setting frame, and a device association frame, there is no data display window in the key module primitive, and there is a data display window in other module primitives, such as a knob module, where a value displayed in the data display window is a resistance value of a rotary potentiometer, and the value is consistent with a parameter value in the parameter setting frame, and since a function of an entity module of a key is uniquely determined, a calculation function corresponding to the module is also unique, and a control port is not needed on the key module primitive to switch the calculation function of the module.
Table 2 is a module classification provided in the embodiments of the present application.
TABLE 2
Figure 739697DEST_PATH_IMAGE002
As shown in table 2, the modules are classified into entity modules according to module functions, entity modules, logic modules, control modules, time modules and numerical modules according to functions. The entity module class comprises various sensors and actuators, and the rest classes are all virtual modules which are used for realizing logic control and numerical calculation in a graphical program. Similar to the entity module primitive, the virtual module primitive also has module icon, input/output port and parameter setting box, because the virtual module has no corresponding physical device, the virtual module has no device association box, and part of the virtual module primitives have control parameter ports for setting control parameters, so that the computing function of the control module realizes different data processing functions. The number of entity class modules in the system may continue to increase as wireless modules are developed.
Based on this, the graphical programming system provided by another embodiment of the present application, the modules include a physical module and a virtual module.
Corresponding to the primitive template, the data processing unit 301 of the graphical programming system according to another embodiment of the present disclosure further includes a module template, which is used as a basis for the module, provides an element common to the module, and generates the module.
The module template is used as the basis of the module, and all the modules are expanded on the basis of the module template.
Fig. 7 is a diagram C of a graphical programming system according to another embodiment of the present application, and as shown in fig. 7, a graphical programming system 700 according to this embodiment is added with a second storage unit 7024 on the basis of the graphical programming system 300 according to the above embodiment, for storing data of the program processing unit and the module unit. The functions of the same elements in fig. 7 as those in fig. 3 can be referred to the related description of fig. 3, and are not repeated here.
Specifically, data of the data processing unit 3022 and data of the module unit 3021 are stored in the second storage unit 7024.
In an exemplary embodiment of the graphical programming system, the connection unit 303 is specifically configured to:
and connecting the graphical programming system with hardware through a wireless gateway.
Specifically, the connection mode between the graphical programming system and the hardware is wireless connection.
In another embodiment of the graphical programming system provided in the present application, the connection mode between the hardware is a wireless connection.
Fig. 8 is a diagram D of a graphical programming system according to another embodiment of the present application, and as shown in fig. 8, a graphical programming system 800 in this embodiment is obtained by adding a simulation unit 804 to the graphical programming system 300 in the above embodiment, so as to simulate a completed programming project without connecting hardware. The functions of the same elements in fig. 8 as those in fig. 3 can be referred to the related description of fig. 3, and are not repeated herein.
Fig. 9 is a schematic diagram of an example of a simulation unit 804 performing graphical programming simulation operation according to an embodiment of the present application, and as shown in fig. 9, an example of implementing a key knob control lamp shows a simulation operation function in a graphical programming system, where a key module controls a switch state of the lamp and a knob module controls a brightness of the lamp.
The operation steps are as follows:
step 1, clicking solid modules in a module type frame, popping up a module selection frame, and long-time pressing and dragging in a key module, a knob module and a colored lamp module.
And 2, clicking an output port of the key module, pressing and pulling out a line, connecting the line to an input port of the colored lamp module, and similarly, adding a line between the knob module and the colored lamp module.
And 3, clicking the icon of the key module and the icon of the festoon lamp module, popping up a module parameter setting frame, setting the state of the key module from off to on, and observing the parameter change in the festoon lamp module parameter setting frame. And adjusting the parameter value of the knob module to observe the change of the colored lamp.
The parameter values for all blocks in this graphical programming entry on the left in fig. 9 are default values, and the programming entry is for comparison. The right graphical programming item shows the result of the operation step 3, and it can be seen from the figure that the on-off state of the colored lamp module changes along with the state of the key, and the brightness value of the colored lamp module is consistent with the numerical value of the knob module. And the colors of the core components in the key module icons and the colored lamp module icons are changed, and the numerical values under the knob module icons are consistent with the parameter values in the parameter setting frames. The module can also see the module's status and data very visibly when the parameter settings box is closed.
The graphical programming system provided by the embodiment of the application can also enable the finished programming project to be directly simulated and run without connecting hardware, and can display the state and data change of the module on the graphical interface during simulation running, thereby providing very humanized prompt and feedback. When the function of the finished programming project is complex or no hardware module exists on hand temporarily, the graphical programming can be directly carried out in the system, the simulation operation is carried out, and the graphical programming is simply and conveniently debugged.
The embodiment of the application aims at hardware systems in the Internet of things and develops corresponding graphical programming systems. The graphical system can display data of the sensor module and can be used for graphically programming and controlling the actuator module, and meanwhile, the graphical programming system provided by the embodiment of the application has strong expansibility and is convenient for adding an entity hardware module and a system module corresponding to the entity hardware module. The system can really control the wireless module in the network, solve the contradiction between the programming upper-hand difficulty and the secondary creation capability to a certain extent, reduce the upper-hand difficulty and improve the secondary development capability.
The graphical programming system provided by the embodiment of the application packages the hardware module, can display data of the sensor module and control the actuator module in real time, is simple in programming, supports secondary development, supports modules and entity hardware modules in a user-defined system, and can realize program simulation based on the principle of data flow, and can change the control logic of hardware without compiling and downloading after changing programs.
In some embodiments, the storage medium may be a Memory such as a magnetic random Access Memory (FRAM), a Read Only Memory (ROM), a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), an Electrically Erasable Programmable Read Only Memory (EEPROM), a Flash Memory (Flash Memory), a magnetic surface Memory, an optical Disc, or a Compact Disc Read-Only Memory (CD-ROM); or may be various devices including one or any combination of the above memories.
In some embodiments, executable instructions may be written in any form of programming language (including compiled or interpreted languages), in the form of programs, software modules, scripts or code, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
By way of example, executable instructions may correspond, but do not necessarily have to correspond, to files in a file system, may be stored in a portion of a file that holds other programs or data, e.g., in one or more scripts stored in a hypertext markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
By way of example, executable instructions may be deployed to be executed on one computing device or on multiple computing devices at one site or distributed across multiple sites and interconnected by a communication network.
It should be noted that: "first," "second," and the like are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
The technical solutions described in the embodiments of the present application can be arbitrarily combined without conflict.
In the several embodiments provided in the application, it should be understood that the disclosed method and electronic device can be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all functional units in the embodiments of the present application may be integrated into one second processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application.

Claims (14)

1. A graphic programming system comprising a graphic programming unit, a data processing unit and a connection unit, wherein,
the graphical programming unit comprises: editing units and primitive templates; the editing unit is used for editing the graphic primitive; the graphic element comprises a module icon and a data display window, wherein the module icon is used for identifying the module type; the data display window is used for displaying the state of the module; the primitive template is used as the basis of the primitives, provides elements common to all the primitives and generates all the primitives; wherein the common elements include: the system comprises a module icon, an input/output port, a parameter setting frame, an equipment association frame, a data display window and a control port; the module icon is used for identifying the type of the module; the input/output port is used as a connection point of the module and is used for data transmission; the parameter setting frame is used for setting parameters of the module; the equipment association frame is used for binding and unbinding the module graphics primitives with the modules; the data display window is used for displaying the module state; the control port is used for setting control parameters of the module and switching module calculation functions corresponding to the primitives;
the data processing unit comprises: the system comprises a module unit, a program processing unit and a program interpretation unit, wherein the module unit comprises the modules, and the modules correspond to the primitives one by one and jointly form nodes; the program processing unit is used for reflecting a data processing flow of graphical programming, the data processing flow is composed of the nodes and edges, the nodes are used for processing data, and the edges are connecting lines among the nodes and are used as paths for data circulation; the program interpreting unit is used for executing the functions of the program processing unit and the module unit;
the connecting unit is used for connecting the graphical programming system with hardware.
2. The graphical programming system of claim 1, wherein the editing unit is specifically configured to:
performing at least one of the following editing operations on the primitive: add, move, delete.
3. The graphical programming system of claim 1, wherein the primitives comprise module primitives and link primitives.
4. The graphical programming system of claim 1, wherein the primitives further comprise:
and the input/output port is used as a connection point for transmitting data.
5. The graphical programming system of claim 4, wherein the primitives further comprise:
and the parameter setting frame is used for setting the parameters of the module.
6. The graphical programming system of claim 5, wherein the primitives further comprise:
and the equipment association box is used for binding or unbinding the module graphic primitive with the module.
7. The graphical programming system of claim 1, wherein the graphical programming unit further comprises:
and the first storage unit is used for storing all information of module primitives and connecting line primitives in the graphical programming unit by using the text document.
8. The graphical programming system according to claim 7, wherein the first storage unit is further configured to save step information in the graphical programming process by using a MySQL database.
9. The graphical programming system of claim 1, wherein the modules comprise physical modules and virtual modules.
10. The graphical programming system of claim 1, wherein the data processing unit further comprises:
and the module template is used as a basis of the module, provides elements common to the module and generates the module.
11. The graphical programming system of claim 1, wherein the data processing unit further comprises:
and the second storage unit is used for storing the data of the program processing unit and the module unit.
12. The graphical programming system of claim 1, wherein the connection unit is specifically configured to:
and connecting the graphical programming system with hardware through a wireless gateway.
13. The graphical programming system of claim 1, wherein the connection between the hardware is a wireless connection.
14. The graphical programming system according to any one of claims 1 to 13, further comprising:
and the simulation unit is used for simulating the finished programming project under the condition of not connecting hardware.
CN202210135688.9A 2022-02-15 2022-02-15 Graphical programming system Active CN114185532B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210135688.9A CN114185532B (en) 2022-02-15 2022-02-15 Graphical programming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210135688.9A CN114185532B (en) 2022-02-15 2022-02-15 Graphical programming system

Publications (2)

Publication Number Publication Date
CN114185532A CN114185532A (en) 2022-03-15
CN114185532B true CN114185532B (en) 2022-05-10

Family

ID=80545934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210135688.9A Active CN114185532B (en) 2022-02-15 2022-02-15 Graphical programming system

Country Status (1)

Country Link
CN (1) CN114185532B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116088822A (en) * 2023-02-03 2023-05-09 武汉慧联无限科技有限公司 Information processing method, device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475154A (en) * 2020-03-17 2020-07-31 北京邮电大学 Program editing system, method, electronic device, and storage medium
CN111708530A (en) * 2020-06-24 2020-09-25 武汉久同智能科技有限公司 Industrial robot graphical programming system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114832A1 (en) * 2003-11-24 2005-05-26 Microsoft Corporation Automatically generating program code from a functional model of software
US7570267B2 (en) * 2004-05-03 2009-08-04 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
CN103699055B (en) * 2013-12-24 2016-08-17 沈阳飞机工业(集团)有限公司 Aircraft structure intelligent numerical control machining prgraming system and method
CN110941426B (en) * 2019-12-02 2023-09-19 苏州金蒲芦物联网技术有限公司 Graphic programming system for NB-IoT terminal
CN111580806A (en) * 2020-04-10 2020-08-25 天津大学 Collaborative robot graphical programming system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475154A (en) * 2020-03-17 2020-07-31 北京邮电大学 Program editing system, method, electronic device, and storage medium
CN111708530A (en) * 2020-06-24 2020-09-25 武汉久同智能科技有限公司 Industrial robot graphical programming system

Also Published As

Publication number Publication date
CN114185532A (en) 2022-03-15

Similar Documents

Publication Publication Date Title
US11477905B2 (en) Digital labeling control system terminals that enable guided wiring
US5485600A (en) Computer modelling system and method for specifying the behavior of graphical operator interfaces
US7908020B2 (en) Architecture for control systems
US8898123B2 (en) Method and system for interface configuration via device-side scripting
CN110362299A (en) A kind of inline graphics programing system and its application method based on blockly and raspberry pie
US8639491B2 (en) Emulator for general purpose viewer configurable interface
US8918733B2 (en) Interface method and system for enhanced data and memory management
US20190377838A1 (en) Method and System for Designing a Distributed Heterogeneous Computing and Control System
US7962659B2 (en) Interoperably configurable HMI system and method
CN114185532B (en) Graphical programming system
US8788959B1 (en) System and method for monitoring a target device
KR20000069716A (en) Device for implementing hierarchical state charts and methods and apparatus useful therefor
CN105677448A (en) Online simulation method and system based on webpage programmable controller
US20060277026A1 (en) Universal web-based reprogramming method and system
Michel Khepera simulator version 2.0 user manual
AU2008336269A1 (en) Application specific virtual real-time operating system compiler
WO2020039900A1 (en) Information processing apparatus and program
CN107562422B (en) Programming method of controller human-machine interface and server for providing the programming tool
JP4476223B2 (en) Screen data creation device, screen data editing method, and screen data editing program
Ryssel et al. Generation of function block based designs using semantic web technologies
CN107561950B (en) Programming method of controller in building and server for providing programming tool of controller
Kulkarni Arduino: A Begineer's Guide
CN116088822A (en) Information processing method, device and storage medium
Hobin Editing reality made easy
Iqbal et al. Packet Tracer and IoT

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Area 114-125, 1 / F, block D, Optical Valley Exhibition Center expansion project, No.1, Software Park East Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430000

Patentee after: FILLER SMART IOT TECHNOLOGY Co.,Ltd.

Address before: 430223 room 108-116, room 1, 1 / F, block D, Optical Valley Exhibition Center expansion project, No.1 Software Park East Road, Donghu Technology Development Zone, Wuhan City, Hubei Province

Patentee before: WUHAN EASYLINKIN TECHNOLOGY CO.,LTD