Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:software:qview:qview_6:qcl_library [2017/01/27 17:37] qem103en:software:qview:qview_6:qcl_library [2024/03/06 15:11] (current) – [Table] qem214
Line 1: Line 1:
 +====== QCL Libraries ======
 +
 +[[.:qcl_library:Rules of using a function]]
 +
 +
 +**FUNCTIONS FOR OPERATIONS ON DIGITAL INPUTS**
 +
 +|[[.:qcl_library:IR10EdgeInp]]|Rising edge and descent detection of an input or a flag|
 +|[[.:qcl_library:IR10Edge]]|Rising edge detection of a digital signal with verification time|
 +|[[.:qcl_library:IR10EdgTmInp]]|Rising edge and descent detection of an input o a flag with time reset capture flags fronts|
 +|[[.:qcl_library:VC10ChronVar]]|Measurement timing of activation of an input or variable|
 +
 +
 +**FUNCTIONS FOR OPERATIONS ON DIGITAL OUTPUTS**
 +
 +|[[.:qcl_library:OA10BlinkOut]]|Blink management of an output or a flag|
 +|[[.:qcl_library:OA10SetTmOut]]|Activation management of an output for a settable time|
 +|[[.:qcl_library:OT11PidReg]]|Digital output modulation to check a temperature control process through P.I.D. system|
 +|[[.:qcl_library:OT21PidReg]]|Modulation of two digital outputs for a generic process control through PID + FF adjustment|
 +|[[.:qcl_library:OT30PidReg]]|Generic PID + FF controller|
 +
 +
 +**FUNCTIONS FOR OPERATIONS ON VARIABLES**
 +
 +| [[.:qcl_library:VC10CollVal]]     | Comparison of a value towards to other two                                                                                   |
 +| [[.:qcl_library:VC10Copy]]        | Copy a value from A to B or from B to A                                                                                         |
 +| [[.:qcl_library:VC10HistVar]]     | A variable hysteresis towards other two values                                                                            |
 +| [[.:qcl_library:VC10ChronVar]]    | Measuring switching time of a variable or input                                                                  |
 +| [[.:qcl_library:VC10Calendar]]    | Calculating the day of the week (monday-etc) starting from a date                                                             |
 +| [[.:qcl_library:VC12FndXPnt]]     | Calculating the x-coordinate of a point on a line                                                                                     |
 +| [[.:qcl_library:VC12FndYPnt]]     | Calculation of the ordinate of a point on a line                                                                                    |
 +| [[.:qcl_library:VT10OnChVar]]     | Report of the variation of a variable                                                                                    |
 +| [[.:qcl_library:VT10OnChTVar]]    | Report of the variation of a variable with reset flag time of exchange value                                        |
 +| [[.:qcl_library:VC10DivRound]]    | Smoothing a variable to a number of decimal places can be set                                                         |
 +| [[.:qcl_library:VC10LPFilter]]    | First-order low-pass digital filter (RC filter) for dimension data WORD                                              |
 +| [[.:qcl_library:VC21LPFilter]]    | First-order low-pass digital filter (RC filter) for maximum size data +/- 999999 with preload option  |
 +| [[.:qcl_library:VC10MkTime]]      | Gives the number of elapsed seconds from 00:00 of 1 January 1970 until the introduced date.                                 |
 +| [[.:qcl_library:VC20MkTime]]      | Gives the number of elapsed seconds from 00:00 of 1 January 1970 until the introduced date.                                 |
 +| [[.:qcl_library:VC11Hdr]]         | Viewing the location of a device with Hdr system <wrap em>OBSOLETE</wrap>                                             |
 +| [[.:qcl_library:VC12Hdr]]         | Viewing the location of a device with Hdr system                                                                      |
 +| [[.:qcl_library:VC11HdrJoint]]    | Viewing the location of Joint a device with Hdr system                                                                |
 +| [[.:qcl_library:VC10Granularity]] | Displaying a value with granularity and threshold filter                                                                   |
 +| [[.:qcl_library:VR10WrdtoLng]]    | Conversion: Converts two Word variables in a Long variables                                                                              |
 +| [[.:qcl_library:VR10LngtoWrd]]    | Conversion: Turns a Long variable in two Word variables                                                                             |
 +| [[.:qcl_library:VR10UbyToBin]]    | Conversion: Unsigned Byte -> Binary                                                                                             |
 +| [[.:qcl_library:VR10SByToBin]]    | Conversion: Signed Byte -> Binary                                                                                               |
 +| [[.:qcl_library:VR10UwrToBin]]    | Conversion: Unsigned Word -> Binary                                                                                             |
 +| [[.:qcl_library:VR10SwrToBin]]    | Conversion: Signed Word -> Binary                                                                                               |
 +| [[.:qcl_library:VR10SLnToBin]]    | Conversion: Signed Long -> Binary                                                                                               |
 +| [[.:qcl_library:VR10BinToUBy]]    | Conversion: Binary -> Unsigned Byte                                                                                             |
 +| [[.:qcl_library:VR10BinToSBy]]    | Conversion: Binary -> Signed Byte                                                                                               |
 +| [[.:qcl_library:VR10BinToUWr]]    | Conversion: Binary -> Unsigned Word                                                                                             |
 +| [[.:qcl_library:VR10BinToSWr]]    | Conversion: Binary -> Signed Word                                                                                               |
 +| [[.:qcl_library:VR10BinToSLn]]    | Conversion: Binary -> Signed Long                                                                                               |
 +| [[.:qcl_library:VR10UbyToAsc]]    | Conversion: Unsigned Byte -> Ascii                                                                                               |
 +| [[.:qcl_library:VR10SbyToAsc]]    | Conversion: Signed Byte -> Ascii                                                                                                 |
 +| [[.:qcl_library:VR10UwrToAsc]]    | Conversion: Unsigned word -> Ascii                                                                                               |
 +| [[.:qcl_library:VR10SwrToAsc]]    | Conversion: Signed Word -> Ascii                                                                                                 |
 +| [[.:qcl_library:VR10SlnToAsc]]    | Conversion: Signed Long -> Ascii                                                                                                 |
 +| [[.:qcl_library:VR10AscToUBy]]    | Conversion: Ascii -> Unsigned Byte                                                                                               |
 +| [[.:qcl_library:VR10AscToSBy]]    | Conversion: Ascii -> Signed Byte                                                                                                 |
 +| [[.:qcl_library:VR10AscToUWr]]    | Conversion: Ascii -> Unsigned Word                                                                                               |
 +| [[.:qcl_library:VR10AscToSWr]]    | Conversion: Ascii -> Signed Word                                                                                                 |
 +| [[.:qcl_library:VR10AscToSLn]]    | Conversion: Ascii -> Signed Long                                                                                                 |
 +| [[.:qcl_library:VR10ToSingle]]    | Copy a long integer encoded IEEE754 value in a single variable.                                                           |
 +
 +
 +
 +**ENCODER CONTROL FUNCTIONS **
 +
 +|[[.:qcl_library:DT11BreakEnc]]|Encoder breakage control ANALOG axes|
 +|[[.:qcl_library:DT21BreakEnc]]|Encoder breakage control ON/OFF axes|
 +
 +
 +**GENERAL FUNCTIONS FOR POSITIONERS**
 +
 +|[[.:qcl_library:DA11Ramp]]|Generic ramp generator|
 +|[[.:qcl_library:DA10AnOopos]]|Analog output management for ON/OFF axis with ramps|
 +
 +
 +**CIRCULAR BUFFER MANAGEMENT FUNCTIONS**
 +
 +| [[.:qcl_library:BC10InitBuf]]   | Init of a circular buffer (with internal buffer management variables to the array)                           |
 +| [[.:qcl_library:BC10PushBuf]]   | Inserting of a value (push) in a circular buffer (with internal buffer management variables to the array)    |
 +| [[.:qcl_library:BC10PopBuf]]    | Extracting of a value (pop) from a circular buffer (with internal buffer management variables to the array)  |
 +| [[.:qcl_library:BC21InitBuf]]   | Init of a buffer FIFO type (circular)                                                                        |
 +| [[.:qcl_library:BC21PushBuf]]   | Inserting of a value (push) in a buffer FIFO type                                                            |
 +| [[.:qcl_library:BC21PopBuf]]    | Extracting of a value (pop) from a buffer FIFO type                                                          |
 +| [[.:qcl_library:BC21Inspect]]   | Acquisition of a value into the buffer                                                                       |
 +| [[.:qcl_library:BC21Elements]]  | Acquisition of the number of elements in the buffer                                                          |
 +| [[.:qcl_library:BC22Inspect]]   | Acquisition of a value into the buffer FIXME                                                                 |
 +
 +
 +**FUNCTIONS WITH GENERAL OPERATIONS ON ARRAYS**
 +
 +| [[.:qcl_library:AC10AvergArr]]  | Calculating the arithmetic mean of the elements of an array  |
 +| [[.:qcl_library:AC10CtrlArr]]   | Analysis of the elements in an array                         |
 +| [[.:qcl_library:AC10SortUpAr]]  | Sorting in ascending on the elements of an array             |
 +| [[.:qcl_library:AC10SortDwAr]]  | Sorting in descending order of the elements of an array      |
 +| [[.:qcl_library:AC10FdMaxArr]]  | Extracting the maximum value in an array                     |
 +| [[.:qcl_library:AC10FdMinArr]]  | Extracting the minimum value in an array                     |
 +| [[.:qcl_library:AC11ResetArr]]  | Full reset of an array                                       |
 +| [[.:qcl_library:BC10ArrFifo]]   | Managing a FIFO buffer (first input-first output)            |
 +
 +
 +**FUNCTIONS FOR MODBUS PROTOCOL**
 +
 +|[[.:qcl_library:DW13Modbus]]|Modbus SLAVE protocol: managing data exchange with MODBUS devices|
 +|[[.:qcl_library:DW11SerModMa]]|Modbus MASTER simulated protocol through SERCOM device|
 +|[[.:qcl_library:DW14SerModSl]]|Modbus SLAVE simulated protocol through SERCOM device|
 +|[[.:qcl_library:DU10MbRetry]]|Implementation of the SEND command of MODBUS devices with check and manage any programmed attempts|
 +
 +
 +**FUNCTIONS FOR VECTOR IMAGE (QPAINT)**
 +
 +|[[.:qcl_library:VI10InitBuffer]]|Buffer Initialize|
 +|[[.:qcl_library:VI10BeginDrawBuffer]]|Prepares the Buffer to add the drawing operations and returns the previous error code|
 +|[[.:qcl_library:VI10DrawBuffer]]|Draws the contents of the Buffer|
 +|[[.:qcl_library:VI10WaitBufferReadyUsingEND]]|Waits for the buffer is ready for new operations coming out of the special task with END|
 +|[[.:qcl_library:VI10WaitBufferReadyUsingWAIT]]\\ [[.:qcl_library:VI11WaitBufferReadyUsingWAIT]]|Waits for the buffer is ready for new operations coming out of the special task with WAIT|
 +|[[.:qcl_library:VI10GetErrorCode]]|Returns the current error code|
 +|[[.:qcl_library:VI10ClrErrorCode]]|Clears the current error code|
 +|[[.:qcl_library:VI10GetUnusedBufferSize]]|Retrieves the Buffer size used|
 +|[[.:qcl_library:VI10AddNop]]|Adds to the NOP command at the Buffer (no operation)|
 +|[[.:qcl_library:VI10AddCls]]|Adds to the CLS command at the Buffer (clear the Vector Image area)|
 +|[[.:qcl_library:VI10SetLayer]]|Adds to the SET_LAYER command at the Buffer (sets the active layer)|
 +|[[.:qcl_library:VI10AddPen]]|Adds to the PEN command at the Buffer (sets the color drawing)|
 +|[[.:qcl_library:VI10AddSet]]|Adds to the SET command at the Buffer (sets the current coordinates)|
 +|[[.:qcl_library:VI10AddPoint]]|Adds to the POINT command at the Buffer (draws a point)|
 +|[[.:qcl_library:VI10AddLine]]|Adds to the LINE command at the Buffer (draws a line)|
 +|[[.:qcl_library:VI10AddRect]]|Adds to the RECT command at the Buffer (draw a rectangle)|
 +|[[.:qcl_library:VI10AddCircle]]|Adds to the CIRCLE command at the Buffer (draw a circle)|
 +|[[.:qcl_library:VI10AddArc1]]|Adds to the ARC1 command at the Buffer (draws an arc of type 1)|
 +|[[.:qcl_library:VI10AddArc2]]|Adds to the ARC2 command at the Buffer (draws an arc of type 2)|
 +|[[.:qcl_library:VI10AddArc3]]|Adds to the ARC3 command at the Buffer (draws an arc of type 3)|
 +|[[.:qcl_library:VI10AddArcBetweenAngles]]|Added at the buffer the command for the draw of an arc from one corner A to corner B|
 +|[[.:qcl_library:VI10SetBackground]]|Adds to the background command at the Buffer (sets the background color)|
 +|[[.:qcl_library:VI10AddMoveArea]]|Adds to the MOVEAREA command at the Buffer (move the contents of the Vector Image)|
 +|[[.:qcl_library:VI10UnsetLayer]]|Adds to the UNSET_LAYER command at the Buffer (disable the layer indicated)|
 +|[[.:qcl_library:VI10LoadImage]]|Adds to the LOAD_IMAGE command at the Buffer (load the image attached to an //Image// object)|
 +|[[.:qcl_library:VI10GetDimension]]|Adds to the GET_DIMENSION command at the Buffer (reads the VectorImage object size)|
 +|[[.:qcl_library:VI10ExtractDimension]]|Extracts the dimensions of the VectorImage from the Buffer after the execution of the command [[.:qcl_library:VI10GetDimension]] |
 +
 +
 +**FUNCTIONS FOR MANAGING THERMOCOUPLES**
 +
 +|[[.:qcl_library:IR10CJRead]]|Cold-junction reading|
 +|[[.:qcl_library:IR10HJRead]]|Warm-junction reading|
 +|[[.:qcl_library:VC10TCoupleB]]|Temperature calculation for thermocouple type B|
 +|[[.:qcl_library:VC10TCoupleJ]]|Temperature calculation for thermocouple type J|
 +|[[.:qcl_library:VC10TCoupleK]]|Temperature calculation for thermocouple type K|
 +|[[.:qcl_library:VC10TCoupleN]]|Temperature calculation for thermocouple type N|
 +|[[.:qcl_library:VC10TCoupleT]]|Temperature calculation for thermocouple type T|
 +|[[.:qcl_library:IR11PTCRead]]|Reading the PT100 resistance from the 3 points board|
 +|[[.:qcl_library:IR20PTCRead]]|Reading the PT100 resistance from the 3 points board with the differential reading mode|
 +|[[.:qcl_library:VC10PTC100]]|Calculation of temperature for PT100|
 +
 +
 +**FUNCTIONS FOR MANAGING PROGRAMMABLE OUTPUTS**
 +
 +|[[.:qcl_library:OP10Init]]|Programmable outputs, initializing|
 +|[[.:qcl_library:OP10isOutOn]]|Programmable outputs, tests whether active output status|
 +|[[.:qcl_library:OP10isParOk]]|Programmable outputs, check correct value|
 +|[[.:qcl_library:OP10Manage]]|Programmable outputs, data processing|
 +|[[.:qcl_library:OP10ResOut]]|Programmable outputs, reset output status|
 +|[[.:qcl_library:OP10ResRet]]|Programmable outputs, Reset output restraint|
 +|[[.:qcl_library:OP10SetOut]]|Programmable outputs, set output status|
 +
 +
 +**FUNCTIONS FOR CALCULATING CHECKSUM**
 +
 +|[[.:qcl_library:VC10Cr32Init]]|Calculation CRC, initialization|
 +|[[.:qcl_library:VC10Cr32Beg]]|Calculation CRC, Beginning of the calculation|
 +|[[.:qcl_library:VC10Cr32Calc]]|Calculation CRC, Conclusion of the calculation|
 +|[[.:qcl_library:VC10Cr32Udt]]|Calculation CRC, Update calculation|
 +
 +
 +//**FUNCTIONS FOR SYNCROMOVE**//
 +
 +
 +**GENERAL FUNCTIONS FOR WORKING WITH CAMMING**
 +
 +|[[.:qcl_library:DW22WrCam]]|Writing to sectors cam (40 sectors) (CAMMING2,CAMMING3,CAMMING4)|
 +|[[.:qcl_library:DW31WrCam]]|Writing to sectors cam (128 sectors) (CAMMING3,CAMMING4)|
 +|[[.:qcl_library:DC11SpaceCam]]|Calculations for research space master set with minimum slave space|
 +|[[.:qcl_library:DC10VelCam]]|Calculations for construction of the sectors of acceleration, constant speed and deceleration of a electronic cam, setting the Master and Slave and their speed|
 +
 +
 +**GEARING FUNCTIONS**
 +
 +|[[.:qcl_library:DC10ElGear]]|Calculations for managing the Master/Slave gearing|
 +|[[.:qcl_library:DC10ChGear]]|Exchange sync ratio calculations "on the fly" in a Master/Slave gearing (without ramps)|
 +|[[.:qcl_library:DC10ChVelRat]]|Calculation to set and/or change the Slave/Master speed ratio of a gearing dynamically with flights of softening when changing speed |
 +
 +
 +**FUNCTIONS FOR FLY CUT**
 +
 +|[[.:qcl_library:DC21FlyCut]]|Calculations for linear fly cut with machine productivity optimization|
 +|[[.:qcl_library:DC30FlyCut]]|Calculations for linear fly cut with fixed Slave space|
 +|[[.:qcl_library:DW22WrCam]]|Writing to sectors cam (40 sectors) (CAMMING2,CAMMING3,CAMMING4)|
 +|[[.:qcl_library:DW31WrCam]]|Writing to sectors cam (128 sectors) (CAMMING3,CAMMING4)|
 +|[[.:qcl_library:DW10ChLenght]]|Writing to sectors cam to change the linear length fly cut (CAM01)|
 +|[[.:qcl_library:DW22ChLenght]]|Writing to sectors cam to change the linear length fly cut (CAMMING, CAMMING2, CAMMING3)|
 +|[[.:qcl_library:DC10DoubFlyC]]|Calculation for taking a sample piece during the fly cut execution|
 +|[[.:qcl_library:DC10DinHFlyC]]|Calculation for length change on the fly of the workpiece during the linear fly cut execution (typically cut defect on material)|
 +
 +
 +**FUNCTIONS FOR WIRE-GUIDES**
 +
 +|[[.:qcl_library:DC10Winding]]|Calculation for the cam building for the wire-guides management|
 +
 +
 +
 +**FUNCTIONS FOR CIRCULAR FLY CUT**
 +
 +|[[.:qcl_library:DC12RotCut]]|Managing of a circular fly cut with single or multi-blade cutting cylinder (from 1 to 6 blades)|
 +|[[.:qcl_library:DC22RotCut]]|Managing of a circular fly cut with single or multi-blade cutting cylinder (from 1 to 6 blades) stopping to Home of the Slave and manual cutting no-synchronized command|
 +
 +
 +**SYSTEM FUNCTIONS**
 +
 +|[[.:qcl_library:SY10InitializeCriticalSection]]|Managing critical section initialization|
 +|[[.:qcl_library:SY10EnterCriticalSection]]|Entering critical section management|
 +|[[.:qcl_library:SY10LeaveCriticalSection]]|Exit critical section management|
 +
 +**STRING FUNCTIONS**
 +
 +|[[.:qcl_library:ST10StrStr]]|String search in substring|
 +|[[.:qcl_library:ST10StrCpy]]|String copy|
 +|[[.:qcl_library:ST10StrLen]]|String length|
 +|[[.:qcl_library:ST10StrNCpy]]|Copy characters from string|
 +|[[.:qcl_library:ST10atoi]]|Convert string to integer|
 +|[[.:qcl_library:ST10StrCat]]|Concatenate strings|
 +
 +
 +
 +
 +
 +
 +
 +
 +