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