en:software:qview:qview_6:qcl_library:dc10elgear

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:software:qview:qview_6:qcl_library:dc10elgear [2017/03/28 14:58] – created qem103en:software:qview:qview_6:qcl_library:dc10elgear [2019/08/29 17:01] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== DC10ElGear ======
 +
 +**D = **//Device(CAMMING2, CAMMING3)//
 +
 +**C = **//Calculation functions//
 +
 +Lo scopo della DC10ElGear funzione is to __calculate the areas of electronic cam for managing a slave of a Gearing__.\\
 +The gearing is a system that links a Slave axis an axis Master by a ratio of timing adjustable.\\
 +Below is a chart showing the progress of the Slave respect to Master. The zero point on the graph represents the time when given the command to STARTCAM the Slave. The ratio set in the sample chart is 1:2 (aslParam[1] = 500)\\
 +N.B.: The stretch marked as "tacc" there may be no if you set the acceleration time to zero. With zero acceleration time Slave's departure is to "step", reached in 'zero time' the speed of the Master.
 +
 +{{.:dc10elgear:dc10elgear.png?nolink650|}}
 +
 +===== IMPLEMENTATION =====
 +
 +**DC10ElGear (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa,Error)**
 +
 +Parameters:
 +
 +^IN/OUT^VARIABLE TYPE^EXAMPLE NAME^DIM^^
 +|  IN  |  ARRSYS  |  aslParam [1]  |  L  |Synchronous Slave/Master relationship (1000=1:1) (possibility of minimum variation of 1‰)|
 +|  IN  |  ARRSYS  |  aslParam [2]  |  L  |Maximum speed Slave (UM/sec) [1÷999999]|
 +|  IN  |  ARRSYS  |  aslParam [3]  |  L  |Acceleration time Slave to go from zero to max speed. Setting 0 the start is to "step". (s/100) [1÷999999]|
 +|  IN  |  ARRSYS  |  aslParam [4]  |  L  |Master reference speed, used to calculate the accelerations (UM/sec) [1÷999999]|
 +|  IN  |  ARRSYS  |  aslParam [5]  |  L  |"Measure" parameter of used device [1÷999999]|
 +|  IN  |  ARRSYS  |  aslParam [6]  |  L  |"Pulse" parameter of used device [1÷999999]|
 +|  OUT  |  ARRSYS  |  CodeG  |  L  |Array containing calculated G Code (40 elements)  (OUT)|
 +|  OUT  |  ARRSYS  |  CodeM  |  L  |Array containing claculated M Code (40 elements) (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQm  |  L  |Array containing calculated CodeQm (40 elements) (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQs  |  L  |Array containing calculated CodeQs (40 elements) (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQma  |  L  |Array containing CodeQma (40 elements) (OUT)|
 +|  OUT  |  ARRSYS  |  CodeQsa  |  L  |Array containing CodeQsa (40 elements) (OUT)|
 +|  OUT  |  SYSTEM  |  Error  |  B  |Var of occurred error (OUT)|
 +
 +==== Error ====
 +
 +After calling the function, the error variable takes certain values, the meaning of these values is summarized below:\\
 +0: calculation executed without errors\\
 +1: Sync ratio equal to 0\\
 +2: Slave max speed less than or equal to 0\\
 +3: Master speed less than or equal to 0\\
 +4: "Measure" parameter less than or equal to 0\\
 +5: Calculated Slave speed greater than the maximum Slave speed
 +
 +=== Example ===
 +
 +In our example, we want to calculate the cam shaft when the gfCalcElGear flag goes to 1. Writing on the cam is done by the DW20WrCam function.
 +
 +<code QCL>
 +MAIN:                  
 +     IF gfCalcElGear
 +             gfCalcElGear = 0
 +
 +             aslParam[1] = 2000 ;Slave/Master relationship (2:1)
 +             aslParam[2] = 4000 ;Maximum Slave speed
 +             aslParam[3] = 0 ;Acceleration Slave time (0=disabled:starting without ramps)
 +             aslParam[4] = 1500 ;Master reference speed
 +             aslParam[5] = 1000 ;"Measure" parameter of device
 +             aslParam[6] = 4000 ;"Pulse" parameter of device
 +
 +             DC10ElGear (aslParam, codeG, codeM, codeQm, codeQs, codeQma, codeQsa,Error)
 +             IF NOT Error
 +                  SettIniz = 1
 +                  NumSet = 4
 +
 +             DW20WrCam(cmCamma,CodeG,CodeM,CodeQm,CodeQs,CodeQma,CodeQsa,SettIniz,SettFine,NumSet,Error)
 +             ENDIF
 +     ENDIF
 +</code>
 +
 +=== Operation notes ===
 +
 +  *The sync relationship (aslParam[1]) can also be set to negative, in that case the Slave follows the relationship of timing set but going in the back direction.
 +  *The acceleration time set is used to decide the ramp by which the Slave, at the time of the command lock cam (STARTCAM), must engage in synchronism with the Master. If the time is set to zero the Slave makes a step to reach immediately the Master speed
 +  *The sectors number used is always 4
 +  *If you want to change "on the fly" the sync relationship, this you can only do this by using the **DC10ChGear** function