IP Library Granted Patent US 10,732,608
Granted Patent B2
US 10,732,608 · App. 15/727,357 · Granted Aug 4, 2020

Translation module, processing module and control system

Inventors: Dirk Janssen (Verl, DE); Klaus Bernzen (Gütersloh, DE); Ralph Dreesen (Gütersloh, DE)
Assignee: Beckhoff Automation GmbH
G05B19/408G06F8/427G06F8/436G06F9/5016G05B2219/36031G05B2219/36186
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,732,608
App. No.
15/727,357
Granted
Aug 4, 2020
Kind
B2
Abstract

A transmission module for a machine control is designed to process an input program code of a control program, and based thereon, to generate a uniform intermediate code having work instructions for execution by the machine control. The input program code comprises a first program code component and a second program code component, where the first program code component is written in a first programming language and the second program code component is written in a second programming language. The work instructions of the intermediate code comprise a first work instruction and a second work instruction, where the first work instruction is generated on the basis of the first program code component and the second work instruction is generated on the basis of the second program code component.

Claims (76)

1. A method for operating a translation module for a machine control,

wherein the translation module processes an input program code of a control program and produces therefrom a uniform intermediate representation having work instructions for execution by the machine control,

wherein the input program code comprises a first program code component and a second program code component,

wherein the first program code component is written in a first programming language and the second program code component is written in a second programming language,

wherein the work instructions of the intermediate representation comprise a first work instruction and a second work instruction,

wherein the first work instruction is produced on the basis of the first program code component and the second work instruction is produced on the basis of the second program code component, and

wherein the first and second program code components are combined in the uniform intermediate representation as work instructions to be executed sequentially.

2. The method of claim 1 ,

wherein the translation module comprises a resolution module,

wherein the resolution module reads in the first program code component and the second program code component from the input program code and to converts them into basic symbols,

wherein the resolution module adopts a first state and a second state,

wherein the resolution module in the first state converts the first program code component into basic symbols of the first programming language, and

wherein the resolution module in the second state converts the second program code component into basic symbols of the second programming language.

3. The method of claim 2 , wherein the resolution module executes a state transition from the first state to the second state when a first control sequence is read in from the input program code and executes a state transition from the second state to the first state when a second control sequence is read in from the input program code.

4. The method of claim 1 ,

wherein the translation module comprises a parser module that creates a uniform structure tree of the control program from the basic symbols,

wherein the parser module executes a syntactic check on the input program code on the basis of a combined grammar,

wherein the combined grammar comprises rules of a first grammar of the first programming language and rules of a second grammar of the second programming language, and

wherein the combined grammar comprises an embedding rule, which describes a manner in which basic symbols or nonterminal symbols of the first programming language and basic symbols or nonterminal symbols of the second programming language can be combined with one another.

5. The method of claim 4 , wherein the embedding rule describes a derivation of a symbol of the second programming language, in which a symbol of the first programming language is used.

6. The method of claim 5 ,

wherein the first programming language is G code and the second programming language is structured text,

wherein the embedding rule stipulates that a nonterminal symbol “instruction” of the second grammar can be replaced by a nonterminal symbol “G code sentence” formed according to the rules of the first grammar.

7. The method of claim 4 , wherein the embedding rule describes a derivation of a symbol of the first programming language, in which a symbol of the second programming language is used.

8. The method of claim 7 ,

wherein the first programming language is G code and the second programming language is structured text, and

wherein the embedding rule stipulates that a derivation of the nonterminal symbol “G code word” consists of a basic symbol “address letter” and a nonterminal symbol “ST expression” associated with the second programming language.

9. The method of claim 1 ,

wherein the first programming language is G code and the second programming language is structured text,

wherein the input program code comprises a G code word having an address letter and a value,

wherein the first program code component comprises the address letter and the value, and

wherein the value comprises an ST variable.

10. The method of claim 1 ,

wherein the translation module comprises an analysis module,

wherein the analysis module executes a semantic check on the input program code on the basis of a combined semantic system, and

wherein the combined semantic system comprises stipulations of a first semantic system of the first programming language and stipulations of a second semantic system of the second programming language.

11. The method of claim 1 ,

wherein the translation module comprises a memory allocation module, and

wherein the memory allocation module allocates a memory address of a memory of a control system comprising the machine control to a variable included in the input program code.

12. The method of claim 1 ,

wherein the processing module processes the intermediate representation having the work instructions and takes the work instructions as a basis for producing a control command for controlling a machine connected to the machine control,

wherein the processing module comprises an execution module and a numerical control processor,

wherein the execution module takes the work instructions of the intermediate representation as a basis for producing a numerical control instruction and to transfer the latter to the numerical control processor, and

wherein the numerical control processor takes the numerical control instruction as a basis for producing the control command.

13. The method of claim 12 , wherein the execution module produces a further control command for controlling the machine.

14. The method of claim 13 ,

wherein the processing module comprises a sorting module that receives the control command and the further control command,

wherein the sorting module outputs the control command and the further control command as control commands organized in an order of actuation.

15. The method of claim 12 , wherein the execution module receives a piece of status information about a status of the numerical control processor from the numerical control processor.

16. The method of claim 12 , wherein the execution module is configured as a stack machine.

17. A method for operating a translation module for a machine control,

wherein the translation module processes an input program code of a control program and produces therefrom a uniform intermediate representation having work instructions for execution by the machine control,

wherein the input program code comprises a first program code component and a second program code component,

wherein the first program code component is written in a first programming language and the second program code component is written in a second programming language,

wherein the work instructions of the intermediate representation comprise a first work instruction and a second work instruction, and

wherein the first work instruction is produced on the basis of the first program code component and the second work instruction is produced on the basis of the second program code component,

wherein the translation module comprises a resolution module,

wherein the resolution module reads in the first program code component and the second program code component from the input program code and converts them into basic symbols,

wherein the resolution module adopts a first state and a second state,

wherein the resolution module in the first state converts the first program code component into basic symbols of the first programming language,

wherein the resolution module in the second state converts the second program code component into basic symbols of the second programming language,

wherein the resolution module executes a state transition from the first state to the second state when a first control sequence is read in from the input program code and executes a state transition from the second state to the first state when a second control sequence is read in from the input program code,

wherein the translation module comprises a parser module that creates a uniform structure tree of the control program from the basic symbols,

wherein the parser module executes a syntactic check on the input program code on the basis of a combined grammar,

wherein the combined grammar comprises rules of a first grammar of the first programming language and rules of a second grammar of the second programming language, and

wherein the combined grammar comprises an embedding rule, which describes a manner in which basic symbols or nonterminal symbols of the first programming language and basic symbols or nonterminal symbols of the second programming language are combined with one another.

18. The method according to claim 17 ,

wherein the first programming language is G code and the second programming language is structured text, and

wherein the embedding rule stipulates that a non-terminal symbol “instruction” of the second grammar can be replaced by a nonterminal symbol “G code sentence” that is formed according to the rules of the first grammar.

19. The method according to claim 17 ,

wherein the first programming language is G code and the second programming language is structured text, and

wherein the embedding rule stipulates that a derivation of the nonterminal symbol “G code word” consists of a basic symbol “address letter” of the first programming language and of a nonterminal symbol “ST expression” that is associated with the second programming language.

20. The method according to claim 17 , wherein the first programming language is G code and the second programming language is structured text,

wherein the input program code comprises a G code word having an address letter and a value,

wherein the first program code component comprises the address letter and the value, and

wherein the value comprises an ST variable.

Assignments (2)
CHANGE OF ASSIGNEE ADDRESS Recorded Nov 19, 2019
From: BECKHOFF AUTOMATION GMBH
To: BECKHOFF AUTOMATION GMBH
Reel/Frame 051057/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: JANSSEN, DIRK; BERNZEN, KLAUS; DREESEN, RALF
To: BECKHOFF AUTOMATION GMBH
Reel/Frame 044497/0668 →
Priority Claims (1)
DE 10 2015 105 436 · Apr 9, 2015 · national
Continuity (2)
Continuation PCTEP2016057747 · Apr 8, 2016
Related Publication 20180032055A1 · Feb 1, 2018
Cited By (1)
US 12,646,026