[go: up one dir, main page]

WO2009036464A2 - Interface homme-machine (hmi) et son procédé d'utilisation - Google Patents

Interface homme-machine (hmi) et son procédé d'utilisation Download PDF

Info

Publication number
WO2009036464A2
WO2009036464A2 PCT/US2008/076461 US2008076461W WO2009036464A2 WO 2009036464 A2 WO2009036464 A2 WO 2009036464A2 US 2008076461 W US2008076461 W US 2008076461W WO 2009036464 A2 WO2009036464 A2 WO 2009036464A2
Authority
WO
WIPO (PCT)
Prior art keywords
command line
hmi
cnc
check
user
Prior art date
Application number
PCT/US2008/076461
Other languages
English (en)
Other versions
WO2009036464A3 (fr
Inventor
Jairam Manjunathaiah
Karim Zekkani
Original Assignee
Infimatic, Llc
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 Infimatic, Llc filed Critical Infimatic, Llc
Publication of WO2009036464A2 publication Critical patent/WO2009036464A2/fr
Publication of WO2009036464A3 publication Critical patent/WO2009036464A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting

Definitions

  • the present invention relates generally to a human-machine interface (HMI) and, more particularly, to an HMI that may be used with a control unit for a computer numerical control (CNC) system.
  • HMI human-machine interface
  • CNC computer numerical control
  • HMIs human-machine interfaces
  • HMI human-machine interface
  • HMIs broadly refers to any user interface that enables a human to interact with a machine through the exchange of information, whether it be input, output or both. Examples of HMIs are commonly found in industrial installations and other equipment, and may enable a user to provide the machinery with instructions and/or enable the machinery to provide the user with feedback, to cite a few possibilities.
  • a method of operating a human- machine interface (HMI) for use with a computer numerical control (CNC) system may comprise the steps of: (a) receiving one or more command line(s) of a CNC program; (b) performing a syntax check on the command line(s); and (c) performing a semantics check on the command line(s).
  • a method of operating a human- machine interface (HMI) for use with a computer numerical control (CNC) system may comprise the steps of: (a) receiving one or more command line(s) of a CNC program; (b) performing a syntax check on the command line(s); and (c) performing a semantics check on the command line(s).
  • a method of operating a human- machine interface (HMI) for use with a computer numerical control (CNC) system may comprise the steps of: (a) receiving one or more command line(s) of a CNC program; (b) performing a syntax check on the command line(s); and (c) performing a semantics check on the command line(
  • the method may comprise the steps of: (a) receiving one or more command line(s) of a CNC program; (b) while the HMI is in an edit mode, performing at least one of a syntax check or a semantics check on the command line(s); and (c) while the HMI is still in the edit mode, providing output to a user that is representative of the results of at least one of the two checks.
  • FIG. 1 is a schematic view of an exemplary CNC system having, among other components, an exemplary control unit;
  • FIG. 2 is an enlarged view of the control unit of FIG. 1;
  • FIGS. 3A-B are screenshots illustrating certain aspects of an exemplary HMI that may be used with the control unit of FIG. 1 ;
  • FIG. 4 is a flowchart illustrating an exemplary method for operating an HMI that may be used with the control unit of FIG. 1.
  • the HMI and method described herein generally relate to an interface that may be used with a CNC system.
  • the HMI may include one or more editing tools, such as a text editor.
  • CNC systems can be used to drive and control various types of machine tools used in a wide range of industries. Some of these industries include, but are certainly not limited to, the automotive, aerospace, robotics, farm and construction equipment, food and beverage, semiconductor, wood working, metal fabrication, pharmaceutical, chemical, packaging, plastics, printing and paper, and textile industries.
  • One of the more common applications of CNC systems is to drive a machine tool, typically an electrically, pneumatically and/or hydraulically powered machine, in order to fabricate a desired component out of metal.
  • CNC numerical control
  • CNC system 10 that includes a main cabinet 14, a pneumatics input/output (I/O) 16, a head I/O 18, a tool changer I/O 20, a chiller I/O 22, and a control unit 24 that is capable of utilizing the present method.
  • I/O pneumatics input/output
  • head I/O 18 a tool changer I/O
  • chiller I/O 22 a chiller I/O 22
  • control unit 24 that is capable of utilizing the present method.
  • These and other components of CNC system 10 can be electronically coupled to one another via any suitable wired and/or wireless communication links, including an Ethernet link 30.
  • the various components of CNC system 10 may have a variety of electrical needs, thus one or more electrical sources 32 (24 VDC), 34 (480 VDC) may be provided at different voltage and/or amperage levels.
  • a distributed backplane 36 which is generally a circuit board containing sockets into which other circuit boards and electrical components can be plugged, is preferably coupled to main cabinet 14, pneumatics input/output (I/O) air valves 16, and head component 18. It should be pointed out that the structure and operation of a suitable main cabinet 14, pneumatics input/output (I/O) 16, head I/O 18, tool changer I/O 20, and chiller I/O 22 are generally known in the art, thus a detailed description of these devices has been omitted. Because an exemplary embodiment of the present method is described in the context of control unit 24 and its accompanying HMI, the description now turns to that device.
  • Control unit 24 is preferably an electronic device that provides the user with interactive means, such as an HMI or graphical user interface (GUI), for communicating with CNC system 10.
  • control unit 24 is a pendant-type unit that is both mechanically and electronically coupled to main cabinet 14, however, other configurations are also possible.
  • FIG. 2 there is shown an enlarged view of an exemplary control unit 24 that is capable of utilizing the HMI and method described below.
  • the control unit generally includes a screen 40 for enabling the HMI, a row of select buttons 42 for choosing options currently on the screen, a row of modal buttons 44 for changing the mode of operation, several rows of one -touch buttons 46 that perform specific often-used tasks, a standard keyboard 48, a mouse or other pointing device 50, an emergency stop button 52 for halting operation of the machine, a start button 54, a communications port 56, and a variety of other buttons, knobs, controls, etc. for controlling different aspects of CNC system 10.
  • control unit 24 may also include one or more central processing units (CPUs), memory storage devices, programmable logic controllers (PLCs), additional communications ports (RS 232, Ethernet, USB, etc.), and any other suitable components known and used in the art.
  • the present method is primarily directed to an HMI having a text editor, thus, an in-depth description of the other buttons, knobs, controls, etc. has been omitted. It should be recognized that while the HMI and present method are described below in the context of control unit 24 and the text editor shown in the drawings, they could just as easily be used with any one of a variety of other control units, text editors, interfaces, etc. and are not limited to the specific, exemplary embodiment shown here.
  • control unit 24 provides the operator with an HMI that includes one or more executable programs, including an executable program that has a collection of one or more individual modules.
  • One of those modules may be a text editor that enables a user to review, add, delete or change information in a CNC program (examples of screen shots from a suitable text editor are provided in FIGS. 3A-B and are described below).
  • Another executable program that can reside at control unit 24 is a CAD or CAD/CAM program which enables a user to create precision drawings or generate numerical information for a particular part, product, system, etc. It should be appreciated that the control unit described herein is only exemplary and that the present method and HMI could be used with one of a number of different control units and other devices and is not limited to this specific example.
  • FIGS. 3A-B and 4 there are shown exemplary screen shots from screen 40 and a flowchart illustrating some of the steps of an embodiment 100 of the present method.
  • the exemplary HMI described herein provides a user with several different manual methods or techniques for entering information, including a pointer- based method where the user can use mouse 50 to make selections on screen 40, a button- based method where the user can engage one or more of buttons 42-46 to make their selections, and a command-based method where the user textually enters commands via keyboard 48 on a command line similar to a DOS prompt.
  • the present method is generally utilized in connection with this third method; the command-based method.
  • the HMI receives one or more command line(s) from one of a number of sources.
  • a command line may include any combination of command line elements or tokens 148 — for example, line numbers 150, G-codes 152, programming comments 154, M-codes 156, parameters 160, etc. — where the elements are arranged in a very specific format.
  • each command line can enable CNC system 10 to execute a certain machine motion, to perform a certain input/output function, or to perform some other suitable function known in the art.
  • the command line is manually received from a user that types it into the HMI via keyboard 48 or by some other means, and registers the command line by hitting an 'enter' or other button.
  • the command line is automatically received or extracted from an existing CNC program that was already written by a CNC operator, a computer-aided manufacturing (CAM) application, or some other source.
  • opening an existing file with a text editor or other tool of an HMI can be the catalyst for automatically receiving the command line.
  • step 104 the HMI determines whether or not the command line has valid syntax; i.e. — whether or not the command line conforms with syntactical and other requirements of the language in which it is written.
  • suitable electronic processing devices include microcontrollers, microprocessors, CPUs, and application specific integrated circuits (ASICs), to name but a few.
  • step 104 utilizes a parser or parsing program to break the command line into its constituent parts or elements and then evaluates those elements with an interpreter against a set of syntactical rules. If the command line is invalid for some reason, such as for missing punctuation, a misspelled element or an unrecognized G-code, then step 106 can output an error message and provide the user with an opportunity to make appropriate changes to the command line.
  • step 104 uses a tokenizer to change the command line from a textual format to a numerical format and, during the process, checks the command line for syntactical errors. For instance, consider the example where the command line "Xl G90" is received in step 102.
  • Steps 104 and/or 106 may be performed while the HMI is still in an 'edit mode' so that it does not have to actually execute or run the CNC program.
  • the HMI can perform these steps without control unit 24 being in an automatic mode where it physically cycles or moves the CNC machine, and without the control unit being in a simulation mode where the entire CNC program is executed. As soon as a command line is deemed invalid it may be flagged without having to perform an extensive dry-run or simulated execution of the CNC program. Skilled artisans will appreciate that this is different than most HMIs, where an entire CNC program must be loaded into a control unit for live or simulated execution.
  • step 104 addresses command lines may depend on the manner in which the CNC program was provided to control unit 24.
  • an entire CNC program is created by a CAD program (either external or internal to control unit 24) and then saved in the control unit memory, then automatic syntactical review of the program can occur.
  • a user can open the CNC program file of interest with a text editor and, in response to opening this file, the HMI may automatically perform a syntax and/or semantics evaluation with or without instructions from the user. It should be recognized that this evaluation is being performed without the HMI being in an automatic or execution mode. It is also possible for the user to simply run or execute the CNC program without opening it in an edit mode.
  • control unit 24 may perform a syntax and/or semantics test of the CNC program as soon as it is transferred to the control unit, even if it is not opened by a text editor.
  • step 104 provides an operator with the ability to evaluate and correct a syntactical error as soon as one is detected. For example, if a syntax error was detected in the command line that is shown in FIG. 3A and is numbered N4, then the operator may be given an opportunity to correct that error before method 100 continues on to command line N5.
  • method 100 could run through the entire CNC program and then provide an output at the end that identifies all of the errors found in the CNC program; again, this could be performed without control unit 24 being in an automatic or execution mode.
  • step 104 detects an error
  • the method could prompt the operator with the HMI and ask them if they would like to address the error now or wait until a later time.
  • a syntactically correct command line is received by the present method, it can be checked to make sure that it includes valid semantics, as indicated in step 110.
  • the term "semantics" broadly pertains to all of the parameters, values, inter-relationships, etc. that make up the logic of the command line.
  • the command line may be checked for acceptable semantics by utilizing a parser to divide the command line into individual elements and then to examine them against a collection of rules and relationships. For instance, in FIG. 3A there is shown an exemplary text editor that can be part of the HMI.
  • Line N13 is labeled "illegal G-Code" and can be displayed in red font because step 110 has detected an incompatible relationship between G-code G52 and G92 which require common resources and therefore cannot be executed concurrently.
  • the parser has identified an illegal or unacceptable relationship between two G-codes in the same command line; invalid semantics.
  • step 110 may detect a semantical error because rotational velocities cannot be expressed as negative numbers.
  • Large collections of rules and relationships can be used with the parser or other tools in order to enable the present method to check for a variety of semantics. These rule and relationship collections may be stored in one of a variety of data structures located at control unit 24, at main cabinet 14, or at some other location that is accessible to the HMI.
  • step 104 may look for errors in the form of the command line, while the semantics check in step 110 may look for errors in the substance of the command line. If the command line is invalid, step 106 can output an error message and provide the user with an opportunity to make the appropriate changes to the command line. The operator can make changes at that time or at a later time, as explained above. Of course, the error message would be different from when the command line fails the syntax check. It should be appreciated that steps 110 and/or 106 may be performed without the HMI being in an automatic or execution mode, as explained above.
  • step 110 uses a parser to process a command line that was tokenized in a preceding step.
  • the parser may evaluate each token individually or as a block of tokens, and runs each token through a set of predefined rules to make sure that all are satisfied. For example, the parser could examine each token and identify any other tokens that must accompany the present token, that cannot accompany the present token, and that may accompany the present token. The parser could also check for duplicate tokens, the text value of the tokens, etc. Skilled artisans will appreciate that there are other tasks and comparisons that the parser could be perform, as the preceding examples are only some of the possibilities.
  • the method can move to the next command line in the program, step 112.
  • the present method is not limited to that particular sequence and could perform semantics checking first and syntax checking second.
  • the syntax and semantics checks could be combined so that they are generally performed at the same time or within the same module, for example.
  • the parser may reassemble the command line in its textual form and present it to the user.
  • the command line presentation may use any combination of text editing features, such as presenting different command line elements in different colors, different fonts, with different margins and indentations, etc.
  • FIG. 3A shows an exemplary text editor where a CNC program may include a variety of font colors; line numbers 150 and G-codes 152 could be in blue font; programming comments 154 could be in green font; M-codes 156 could be in purple font; parameters 158 could be in black font, etc. Color distinctions could provide a programmer or other operator with easy and immediate feedback as to the validity of the CNC program and enable them to seamlessly continue entering and/or editing the CNC program without breaking from their task and initiating an online help session or the like; although, such help sessions could also be used.
  • red font that could be used to clearly and distinctly identify errors 170 in the program; the exemplary error shown here relates to incompatible G-codes, as previously explained. Different colors, types of fonts, size fonts, margins, comments, etc. can also be used to identify errors and/or those changes to the CNC program that have already been saved and those that have not, as shown at 180 in FIG. 3B.
  • Another optional text editor enhancement pertains to the re-ordering of the elements or tokens 148 in the command line.
  • the elements of a command line may be executed by the CNC machine in a particular order, regardless of the order that they appear in the command line.
  • some G-codes 152 may execute movements on an x-axis before movements on a y-axis, even if the y-axis elements are listed first in the command line.
  • An interpreter may re-order these elements and then present the re-ordered command line to the user via the HMI.
  • the re- ordered command line could also be identified with some type of indicia (e.g., bold, italicized, colored, indented font, etc.) so that the operator is alerted of the modification before it is actually executed by the CNC machine.
  • a message line could be provided at the top of the HMI so that when an error in the syntax and/or semantics is discovered, a corresponding message can be displayed to the operator.
  • the contents of the message could be such that they try and help operator resolve the error, they provide a template for a proper command line format, they offer one or more suggestions to the operator for correcting the error, etc.
  • an indication such as a highlighted bar or similar indicia, that identifies those command lines that have been modified since the last save, version, etc.
  • the present method could also be used in conjunction with one or more of the systems, devices, components, features, methods, techniques, etc. disclosed in provisional patent application 60/972,744 filed September 14, 2007, the entire contents of which (including the appendices) are incorporated herein by reference. Furthermore, it is possible for the operator to deactivate or disengage any combination of the features described above so that a custom HMI is provided that only offers those features desired by the operator.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Cette invention a pour objet une interface homme-machine (HMI) et un procédé d'utilisation de cette dernière avec un système de commande numérique par ordinateur (CNC) et équivalent. Dans un mode de réalisation, le procédé reçoit une ligne de commande en provenance d'un programme CNC, effectue un contrôle de syntaxe sur la ligne de commande, et effectue un contrôle sémantique sur la ligne de commande, et ce alors que la HMI est en mode d'édition. Toute erreur détectée au cours de ces contrôles peut être signalée visuellement à l'utilisateur au moyen d'une technique parmi diverses techniques, par exemple par l'identification des erreurs grâce à différents types de police, couleurs, etc. La HMI peut ainsi identifier toute erreur de syntaxe et/ou sémantique sans avoir à réellement exécuter un programme CNC ou lancer un processus habituel de simulation.
PCT/US2008/076461 2007-09-14 2008-09-15 Interface homme-machine (hmi) et son procédé d'utilisation WO2009036464A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97274407P 2007-09-14 2007-09-14
US60/972,744 2007-09-14

Publications (2)

Publication Number Publication Date
WO2009036464A2 true WO2009036464A2 (fr) 2009-03-19
WO2009036464A3 WO2009036464A3 (fr) 2009-05-28

Family

ID=40452896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/076461 WO2009036464A2 (fr) 2007-09-14 2008-09-15 Interface homme-machine (hmi) et son procédé d'utilisation

Country Status (1)

Country Link
WO (1) WO2009036464A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017177695A1 (fr) * 2016-04-15 2017-10-19 华中科技大学 Procédé et système pour le développement et l'intégration d'une application dans un système de commande numérique
US10399171B2 (en) 2015-01-29 2019-09-03 Messer Cutting Systems Inc. Systems and methods for cutting a plow bolt hole with a cutting torch

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
US7024666B1 (en) * 2002-01-28 2006-04-04 Roy-G-Biv Corporation Motion control systems and methods

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10399171B2 (en) 2015-01-29 2019-09-03 Messer Cutting Systems Inc. Systems and methods for cutting a plow bolt hole with a cutting torch
WO2017177695A1 (fr) * 2016-04-15 2017-10-19 华中科技大学 Procédé et système pour le développement et l'intégration d'une application dans un système de commande numérique

Also Published As

Publication number Publication date
WO2009036464A3 (fr) 2009-05-28

Similar Documents

Publication Publication Date Title
Tiegelkamp et al. IEC 61131-3: Programming industrial automation systems
EP2541351B1 (fr) Système d'affichage de séquences d'exécutions de bloc
JP4885435B2 (ja) ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック
US8910131B2 (en) Method and apparatus for generating an application program for a safety-related control unit
US10452362B2 (en) Tool compiler
CN102292681B (zh) 用于控制带有多个设备硬件部件的自动化设备的安全控制装置和方法
US20230153486A1 (en) Method and device for simulation
CN101206467A (zh) 通用数控代码解析方法
WO2002098616A2 (fr) Cellule robotisee integree
CN108572610A (zh) 评价系统、安全控制器、可读取记录媒体及评价方法
US7386359B2 (en) Device and method for testing machine tools and production machines
CN103885374A (zh) 基于安全可编程逻辑控制器的焊装线控制系统
CN114200885A (zh) 一种应用于可编程逻辑控制器的编程方法及装置
WO2009036464A2 (fr) Interface homme-machine (hmi) et son procédé d'utilisation
US20090241093A1 (en) Method for debugging programmable logic controller
US20090013308A1 (en) Programming interface for computer programming
Klein et al. Controller design for an FMS using signal interpreted Petri nets and SFC: Validation of both descriptions via model-checking
Schöpp et al. Requirements-based code model checking
Runde et al. EDDL and semantic web—From field device integration (FDI) to Future Device Management (FDM)
Pacheco et al. Application of the step-NC standard in a computer numerical controlled machining device
CA2504284A1 (fr) Langage formel synchrone de programmation des machines deterministiques d'etats finis
Holt et al. Experiences with precise state modeling in an industrial safety critical system
JPS6217805A (ja) Nc装置におけるプログラムエラ−の表示方法
Scott Learning RSLogix 5000 Programming: Build Robust PLC Solutions with ControlLogix, CompactLogix, and Studio 5000/RSLogix 5000
JP7699729B1 (ja) 情報処理システムおよび情報処理プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08799559

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08799559

Country of ref document: EP

Kind code of ref document: A2