5.2 The LPKF ProtoMat 92s Commands 5.2.1 Command structure The SMCU (Signal Processor Control Unit) control unit of the machine interprets the HP-GL commands described below and converts them into set reactions. The syntax: Symbol Meaning {...} The contents can be repeated any number of times. () The command parameters are between these brackets. [] The content of these brackets is optional and does not have to be included. The SMCU expects a separator between the command parameters which is not any of the figures or capitals. A new command can follow a parameter without a separator. The last character in a command file which is sent must be a semicolon or a line feed symbol (0A hex.). Unknown commands are ignored by the control unit, but their parameters can lead to unwanted plot absolute or plot relative commands. 5.2.2 HP-GL standard commands AA (x,y,a{,ß}){;} Arc Absolute Draws an arc around the absolute coordinate (x,y) starting from the current position with the arc angle a=[degree]. With a negative arc angle a, it is drawn clockwise, but otherwise counterclockwise. AR(x,y,a{,ß}){;} Arc Relative Draws an arc around the relative coordinate (x,y) starting from the current position with the arc angle a=[degree]. With a negative arc angle a, it is drawn clockwise, but otherwise counterclockwise. CI (r{,ß}){;} Circle Draws a complete circle around the current position with radius r. Resolution ß is ignored as the maximum resolution is always used when drawing. EA (x,y){;} Edge rectangle absolute Draws a rectangle defined by two corner points lying diagonally to each other. The first corner point is determined by the current position and the second by the absolute coordinate (x,y). ER (x,y){;} Edge rectangle relative Draws a rectangle defined by two corner points lying diagonally to each other. The first corner point is determined by the current position and the second by the relative coordinate (x,y). IN {;} Initialize Changes the control unit to the same status as after switching on. This restores all default settings. IW (x0,y0,x1,y1){;} Input window Restricts the working area on the XY axis to a window with the given corner coordinates. OH {;} Output hard clip limits The control unit automatically determines its maximum travel range within the limit switches and send the coordinates determined in this way as an ASCII string in the form ("W Xmin,Ymin,Zmin,Xmax,Ymax,Zmax") to the PC. OS {;} Output status The control unit sends its status line as ASCII hex ("S xxxx ") to the PC. PA (x1,y1{,...xn,yn}){;} Plot absolute Draws a line from the current position to the absolute coordinates listed one after the other. The commands PU and PD can be given between the pairs of coordinates as parameters. If additional pairs of coordinates are sent, the command word PA is not necessary. All pairs of coordinates without a command word are taken to relate to the last PA or PR commands sent and are carried out accordingly. PD {;} Pen down Lowers the tool. PR (x1,y1{,...xn,yn}){;} Plot relative Draws a line from the current position to the relative coordinates listed one after the other. The commands PU and PD can be given between the pairs of coordinates as parameters. If additional pairs of coordinates are sent, the command word PA is not necessary. All pairs of coordinates without a command word are taken to relate to the last PA or PR commands sent and are carried out accordingly. PU {;} Pen up Lifts the tool. VS (v{,n}){;} Velocity select Defines the track speed in the XY level v=[µm/s] with the tool lowered and allocates this speed to the tool with number n. 5.2.3 Special commands All special commands begin with the symbol "!" and their syntax is otherwise like that for HP-GL standard commands. !AS (a){;} Acceleration Set Defines a new acceleration constant a=mm/s². The valid value value range is 10...50000. !CC {;} Close channel Ends a data transmission introduced with !OC. !CM (n){;} Change mode Switches between the drill (n=0) and mill (n=1) working modes. !CT (n){;} Command counter Switches between echo mode (n=1) and non-echo mode (n=0). In echo mode, the machine acknowledges every correctly completed command with the message "C". !EM (n){;} External motor Switches the mill/drill motor on (n=1) or off (n=0). !ES (n){;} Enable stop Release (n=1) and block (n=0) the external stop function. After switching on, the external stop function is blocked. !FP {;} Full power Switches the motors of the XYZ axis to full power. !HP {;} Half power Switches the motors of the XYZ axis to half power. !OC {;} Open channel Opens a direct data transmission from serial data channel SER1 to serial data channel SER2. All characters received on data channel SER1 are sent to data channel SER2 until the character string !CC is received. !ON (a){;} Output nominal position The control unit sends the nominal position (target position) of the motor axis addressed with parameter a. The following addresses are attributed to the motor axes: 0 = X,Y,Z axis 1 = X axis 2 = Y axis 3 = Z axis !RD (a){;} Read port Effects the reading of the input port with the address a=<0..15>. The data is output via the serial interface from the which the command came, as an ASCII figure. !RS (r){;} Resolution set Gives the control unit the step size (r=µm/step) of the machine. The valid value range is 1...32000. !TA (x,y,z){;} Plot three-D absolute Carries out a physical movement from the current position to the absolute coordinate (x,y,z). !TD (t1,t2,t3,t4){;} Time for drilling Sets new drill times t=[ms]. !TM (t1,t2,t3,t4){;} Time for milling Sets new mill times t=[ms]. !TR (x,y,z){;} Plot three-D relative Carries out a physical movement from the current position to the relative coordinate (x,y,z). !TS (t){;} Time to stabilize Sets a stabilization time t=[ms] between the individual commands. !TW (t){;} Time to wait The following command is only carried out after a wait t=[ms]. !VU (v){;} Velocity if pen up Defines the track speed v=[µm/s] of the movement in XY plane when the tool is raised. !VZ (v){;} Velocity Z axis Defines the speed v=[µm/s] of the movement in the Z axis. !WR (a,d{,m}){;} Write port Effects an output of the data word d on the port address a=<0..15>, whereby a bit mask can be given. !ZA (z){;} Plot Z axis absolute Moves the Z axis from the current position to the absolute coordinate (z). !ZR (z){;} Plot Z axis relative Moves the Z axis from the current position to the relative coordinate (z). 5.2.4 Direct commands Direct commands are special commands which, once they have been interpreted, are carried out via the command buffer. !CB{;} Clear buffer Deletes all commands from the command buffer. !GO{;} Go on Removes the stop command and continues the command implementation. !RC{;} Repeat command Repeats the last command carried out. !ST{;} Stop Interrupts command processing when the current command is completed. The command set implemented is a subset of the HP-GL. If the equipment is to be driven by any CAD system, with HP-GL commands, it must be ensured that the step size is substantially lower than with normal pen plotters. The step size is 7.9375 µm/step (0.0003125 inch/step).