CFP - Academy CFP - Academy SFA Macro / Gcode Class OSAI Version Date Description of revision Drawn up by 01.00 3/09/2015 Document draft 1 Jack Faas Checked by TABLE OF CONTENTS Contents COMMON SUB PROGRAMS USED AND DESCRIPTION............................................................................... 4 COMMON PLC / PLUS VARIABLES.............................................................................................................. 5 COMMON GCODE OR CONDITIONAL COMMANDS IN CMS MACROS ....................................................... 6 COMMON SUB PROGRAMS USED AND DESCRIPTION CMS over the years has used a number of program names and folder locations. They have tried to give them names that mean something, so it’s a little easier to find what you are looking for. The folder CAMBIO is where typically all the programs are placed that are used by the machine or the post. This is a folder that should not be used for production and files in this directory should not be deleted unless it is clear a program should not be in there. We will not cover all of the programs because it varies so much from machine type, to machine type as well as age. Common Sub Programs Almost All Machines G300 Tool Change G351 Dynamic Motion Change Rough G352 Dynamic Motion Change G353 Dynamic Motion Change G354 Dynamic Motion Change G355 Axis Reset ( Axis Registry Clear ) G356 Dynamic Motion Change Default Smooth Any program file you see listed as a G### is functionally a subprogram, called as G###. Just like calling (CLS,G###) QUOTE Used by many sub programs usually managing a XYZ distance QUOTECU Tool Change Locations Typically with CMS anything that says Quote has values that are used for setting up the machine, tool change positions, Offset between heads, Hand tool change locations, undercut saw locations, the list goes on. MESSAGGI Program used to define non-PLC based messages There are many other subprograms, In new machines Italy has also made use of a folder called CMS_PRG, however these programs are not intended to be changed. COMMON PLC / PLUS VARIABLES These variables are used to interface with the PLC, or are set directly by the PLC. Many reactions that happen inside of the sub programs are dependent on these. Boolean variables or either 0 or 1 Short is an integer number Double is a decimal or real number Knowing this can give you a good idea of where to look, if you are looking for a Sensor type Variable. It’s probably a Boolean. If you are looking for a Tool number it’s probably a Short. If you are looking for a dimension type variable then it is probably a Double. All the variable we can see from the Utility Pull Down, then Variables. E variables are always real decimal numbers. SN are like E variables except the machine will remember them from a power down. SC variables are used for ascii characters. COMMON GCODE OR CONDITIONAL COMMANDS IN CMS MACROS Conditional Go To Command (GTO,ERRORI,@T_CALL<0) This will go to the label “ERRORI” if the value of @T_CALL is less then 0 Wait On Signal (WOS,@POSMAGOK=1) The program will wait on this line till the plus variable @POSMAGOK equal 1 Go To Command (GTO,FINE) The program jumps over everything and finds the label “FINE” Re-Defining Software Over Travel Limits (SOL,Y,E360,E361) Sets plus and minis values for the Y axis IF and Else Conditions (IF,@ASSE_C=1) G0 G79 XE207 YE208 C0 (ELSE) G0 G79 XE207 YE208 (ENDIF) If @ASSE_C is equal to 1, the machine will run the code with the C axis command, if it is not 1 then it will run the command without. All IF statements must have an (ENDIF). Sub Program Calls (CLT,QUOTE) CLT or CLS, Stands for Call Subprogram, in this case QUOTE Halt Read Ahead # On newer machines you may see a lot of these in the Sub programs, this is an additional way to make sure the control sees a given line of code. Display Statment (DIS,"Taglio bassa pressione ",E284,E281) Display the text Taglio bassa pressione with the value of the variables E284, and E281 Input Windows (INP,"INSERIRE NUMERO CODE=",45,@PASSWORD) Creates an input window with a field that says INSERIRE NUMERO CODE= the open field the operator manually enters will be written to @Password Commands Manipulating Tool Measurement Commands Manipulating Origins