DC11SpaceCam
D = Device(CAMMING2, CAMMING3)
C = Calculation functions
* = Replaces the function DC10SpaceCam
The purpose of the DC10SpaceCam function is to calculate the minimum space Master can to run a space slave with a device type electronic cam. In addition to the calculation of space and to supply output variable, the function calculates the codes and spaces for programming a cam with an area of acceleration, one of constant speed (at full speed Slave), and one of the deceleration. The slope of acceleration and deceleration ramps depends on acceleration and deceleration parameters that you set.
The following graph shows how divided space Slave to cover:
In the event that the maximum speed cannot be reached because the slave space is insufficient, the velocity profile becomes the following:
IMPLEMENTATION
DC10SpaceCam (aslParam,codeG,codeM,codeQm,codeQs,codeQma,codeQsa,SpaceM,sbError)
Parameters:
IN/OUT | VARIABLE TYPE | EXAMPLE NAME | DIM | |
---|---|---|---|---|
IN | ARRSYS | aslParam [1] | L | Space Slave to cover (UM) |
IN | ARRSYS | aslParam [2] | L | Master reference speed (UM/sec) |
IN | ARRSYS | aslParam [3] | L | Maximum speed of the Slave (UM/sec) |
IN | ARRSYS | aslParam [4] | L | Acceleration Slave time to go from zero to max speed (s/100) |
IN | ARRSYS | aslParam [5] | L | Deceleration Slave time to go from max speed to zero (s/100) |
IN | ARRSYS | aslParam [6] | L | Starting speed of the Slave (UM/sec) (opt.) |
IN | ARRSYS | aslParam [7] | L | “Measure” parameter of the used device |
IN | ARRSYS | aslParam [8] | L | “Pulse” parameter of the used device |
OUT | ARRSYS | CodeG | L | Array containing calculated G Code (OUT) |
OUT | ARRSYS | CodeM | L | Array containing calculated M Code (OUT) |
OUT | ARRSYS | CodeQm | L | Array containing calculated CodeQm (OUT) |
OUT | ARRSYS | CodeQs | L | Array containing calculated CodeQs (OUT) |
OUT | ARRSYS | CodeQma | L | Array containing CodeQma (auxiliary code) (OUT) |
OUT | ARRSYS | CodeQsa | L | Array containing CodeQsa (auxiliary code) (OUT) |
OUT | SYSTEM | SpaceM | L | Var that contains the calculated Master space (OUT) |
OUT | SYSTEM | Error | B | Error var on the writing cam (OUT) |
Error
Once called the function the variable takes certain values, the meaning of these values is summarized below:
0: calculation execute without errors
1: Slave max speed less than or equal to 0
2: Master speed less than or equal to 0
3: Slave Space equal to 0
Example
MAIN: IF gfCalcSpazio gfCalcSpazio = 0 aslParam[1] = 3000 ;Slave space aslParam[2] = 1500 ;Master speed aslParam[3] = 4000 ;Maximum Slave speed aslParam[4] = 50 ;Acceleration time aslParam[5] = 50 ;Deceleration time aslParam[6] = 0 ;Starting speed Slave aslParam[7] = 1000 ;Device "measure" parameter aslParam[8] = 4000 ;Device "pulse" parameter DC10SpaceCam (aslParam,codeG,codeM,codeQm,codeQs,codeQma,codeQsa,SpaceM,sbError) IF NOT Error SettIniz = 1 NumSet = 3 DW20WrCam(cmCamma,CodeG,CodeM,CodeQm,CodeQs,CodeQma,CodeQsa,SettIniz,SettFine,NumSet,Error) ENDIF ENDIF
Operation notes
-
The constant speed of the Slave is the speed that the Slave has the time to take the space set. This speed can be set to zero or less than zero.
-
Space Slave to set can also be negative, in this case, the calculation will be executed in order to turn back the Slave to the space set
-
The number of sectors used is always 3
-
In case the space to make the Slave is less than what the Slave would do at a constant speed, the resulting velocity profile is represented in the chart below (the same is true for negative speed).
N.B.:In the graph represented the speed could become negative (and then push back the Slave) if the case the Slave space set is less accomplished for the acceleration and deceleration ramps.