OSCAT BASIC
OSCAT BASIC v3.33 - Open source library with 544 basic functions is ported into Mosaic
We ported for you the open source library OSCAT Basic 3.33. The library has 26 chapters with about 544 functions. Documentation is available in english or in german . The library is supported in Mosaic from the 2015.2 version. The library is not inherent part of the Mosaic installation and has to be manually added to the Mosaic directory of libraries. Compiled library in .mlb format including all other relevant files can be downloaded here: OSCAT_BASIC_v3.33.zip
OSCAT is acronym of „Open Source Community for Automation Technology “. This community created Open Source Library based on the standard IEC 61131-3. The aim was to create the library which is not dependent on the functions of the PLC manufacturers and is easy transferable to all PLC, which are compatible with the IEC 61131-3 standard . Description of the portation of OSCAT library for Mosaic is here. The community has its own web site: www.oscat.de.
Name of chapter/function | Page | Description |
---|---|---|
1. Legal | 17 | |
1.1. Disclaimer | 17 | |
1.2. License Terms | 17 | |
1.3. Registered trademarks | 17 | |
1.4. Intended Use | 18 | |
1.5. Other | 18 | |
2. Introduction | 19 | |
2.1. Objectives | 19 | |
2.2. Conventions | 20 | |
2.3. Test environment | 21 | |
2.4. Global constants | 22 | |
2.5. Releases | 23 | |
2.6. Support | 23 | |
3. Data types of the OSCAT Library | 24 | |
3.1. CALENDAR | 24 | |
3.2. COMPLEX | 25 | |
3.3. CONSTANTS_LANGUAGE | 25 | |
3.4. CONSTANTS_LOCATION | 26 | |
3.5. CONSTANTS_MATH | 26 | |
3.6. CONSTANTS_PHYS | 27 | |
3.7. CONSTANTS_SETUP | 27 | |
3.8. ESR_DATA | 28 | |
3.9. FRACTION | 28 | |
3.10. HOLIDAY_DATA | 28 | |
3.11. REAL2 | 31 | |
3.12. SDT | 31 | |
3.13. TIMER_EVENT | 32 | |
3.14. VECTOR_3 | 32 | |
4. Other Functions | 33 | |
4.1. ESR_COLLECT | 33 | ESR_collect collects esr data from up to 8 esr_mon modules and stroes them in an output array. |
4.2. ESR_MON_B8 | 35 | ESR_mon_B8 monitores up to 8 binary inputs and reports changes with time stamd and adress label. |
4.3. ESR_MON_R4 | 35 | ESR_mon_R4 monitores up to 4 Real inputs and reports changes with time stamd and adress label. |
4.4. ESR_MON_X8 | 36 | ESR_MON_X8 is a status and error collector. |
4.5. OSCAT_VERSION | 37 | oscat_version returns the version number in dword format |
4.6. STATUS_TO_ESR | 38 | status_to_esr creates esr data from a status byte. |
5. Mathematics | 39 | |
5.1. ACOSH | 39 | this function calculates the arcus cos hyperbolicus |
5.2. ACOTH | 39 | this function calculates the arcus cotangens hyperbolicus |
5.3. AGDF | 39 | this function calculates the inverse Gudermannian function. |
5.4. ASINH | 40 | this function calculates the arcus sin hyperbolicus |
5.5. ATAN2 | 40 | this function calculates the angle in a coordinate system in rad. |
5.6. ATANH | 41 | this function calculates the arcus tangens hyperbolicus |
5.7. BETA | 41 | this function calculates the beta function for real number > 0. |
5.8. BINOM | 42 | this function calculates the binomialkoefficient (N over k) |
5.9. CAUCHY | 42 | this function calculates the Cauchy distribution function |
5.10. CAUCHYCD | 43 | this function calculates the Cauchy distribution function |
5.11. CEIL1 | 43 | This is a rounding function which returns the smallest possible integer which is greater or equal to X. |
5.12. CEIL2 | 44 | This is a rounding function which returns the smallest possible integer which is greater or equal to X. |
5.13. CMP | 44 | this function checks two inputs x and y if they are identical with the first N digits |
5.14. COSH | 45 | this function calculates the cos hyperbolicus |
5.15. COTH | 45 | this function calculates the cotangens hyperbolicus |
5.16. D_TRUNC | 46 | d_trunc truncates a real to a dint 1.5 will be 1 and -1.5 will be -1 |
5.17. DEC1 | 46 | This is a decrement function which decrements the variable X by 1 and if 0 is reached, it begins with N-1 again. |
5.18. DEG | 46 | this function converts degrees into Radiant |
5.19. DIFFER | 47 | this function checks if in1 differs more then x from in2 |
5.20. ERF | 47 | this function calculates the erf (error) function. |
5.21. ERFC | 48 | this function calculates the inverse erf (error) function. |
5.22. EVEN | 48 | this function chacks an input for even value |
5.23. EXP10 | 49 | this function calculates the exponent to the basis 10 |
5.24. EXPN | 49 | this function calculates X to the power of N (Y = X^N) whilke N is an integer |
5.25. FACT | 49 | this function calculates the factorial of x |
5.26. FIB | 50 | this function calculates the fibonacci sequence |
5.27. FLOOR1 | 50 | This is a rounding function which returns the biggest possible integer which is less or equal to X. |
5.28. Floor2 | 51 | This is a rounding function which returns the biggest possible integer which is less or equal to X. |
5.29. FRACT | 51 | this function returns the fraction of a real number |
5.30. GAMMA | 52 | this function calculates the stirling function which is an approximation for the gamma function |
5.31. GAUSS | 52 | this function calculates the gaussian density function |
5.32. GAUSSCD | 53 | this function calculates the gaussian cumulative distribution function |
5.33. GCD | 53 | this function calculates the gretaest common divisor of two numbers A and B |
5.34. GDF | 54 | this function calculates the Gudermannian function. |
5.35. GOLD | 54 | this function calculates the golden function. |
5.36. HYPOT | 55 | this function calculates the pythagorean function |
5.37. INC | 55 | This is a increment function which increments the input X by the value D and compares the result with M. |
5.38. INC1 | 56 | This is a increment function which increments the variable X by 1 and if N is reached, it begins with 0 instead of N again. |
5.39. INC2 | 56 | This function increments the input X by the value D and compares the result with U. |
5.40. INV | 57 | This function calculates the result of 1 / X |
5.41. LAMBERT_W | 58 | this function calculates the lambert_w function. |
5.42. LANGEVIN | 58 | this function calculates the langevin function |
5.43. MAX3 | 59 | this function returns the highest of 3 real values |
5.44. MID3 | 59 | returns the mid value of 3 real inputs. |
5.45. MIN3 | 60 | this function returns the lowest of 3 real values |
5.46. MODR | 60 | this is a modulo funtion for real numbers |
5.47. MUL_ADD | 61 | this function multiplies an input X with K and adds Offset O to the result. |
5.48. NEGX | 61 | This function returns -X |
5.49. RAD | 61 | this function converts Radiant to degrees |
5.50. RDM | 62 | this function calculates a pseudo random number |
5.51. RDM2 | 62 | this function calculates an integer pseudo random number |
5.52. RDMDW | 63 | this function calculates a DWORD pseudo random number. |
5.53. REAL_TO_FRAC | 64 | this function calculates the closest fraction for a real number |
5.54. RND | 64 | this function rounds a real down to n digits total. |
5.55. ROUND1 | 65 | this function rounds a real down to n digits behind the comma. |
5.56. SGN | 65 | sgn returns 0 when X = 0 , -1 when X < 1 and +1 when X > 1 |
5.57. SIGMOID | 66 | this function calculates the sigmoid function |
5.58. SIGN_I | 66 | this function return true if the integer input is negative |
5.59. SIGN_R | 67 | this function return true if the real input is negative |
5.60. SINC | 67 | this function calculates the sinc function. |
5.61. SINH | 67 | this function calculates the sin hyperbolicus |
5.62. SQRTN | 68 | this function calculates the nth root function of X according to the formula sqrtn = x^(1/n). |
5.63. TANC | 68 | this function calculates the tanc function. |
5.64. TANH | 69 | this function calculates the tangens hyperbolicus |
5.65. WINDOW | 69 | this checks a signal if the signal is between the upper and lower limit |
5.66. WINDOW2 | 69 | this checks a signal if the signal is between the upper and lower limit including the two limits |
6. Arrays | 71 | |
6.1. _ARRAY_ABS | 71 | this function will calculate the absolute value of each element of the array and stroe the result instead of the element. |
6.2. _ARRAY_ADD | 71 | this function will add an offset X to each element of the array and stroe the result instead of the element. |
6.3. _ARRAY_INIT | 72 | this function will initialize a given array with a value init. |
6.4. _ARRAY_MEDIAN | 73 | this function will calculate the median of a given array. |
6.5. _ARRAY_MUL | 73 | this function will multiply each element of the array and stroe the result instead of the element. |
6.6. _ARRAY_SHUFFLE | 74 | this function will randomly shuffle the elements of an array |
6.7. _ARRAY_SORT | 75 | this function will sort a given array. |
6.8. ARRAY_AVG | 76 | this function will calculate the average of a given array. |
6.9. ARRAY_GAV | 76 | this function will calculate the geometric average of a given array. |
6.10. ARRAY_HAV | 77 | this function will calculate the harmonic average of a given array. |
6.11. ARRAY_MAX | 77 | this function will calculate the max value of a given array. |
6.12. ARRAY_MIN | 78 | this function will calculate the min value of a given array. |
6.13. ARRAY_SDV | 79 | this function will calculate the standard deviation of a given array. |
6.14. ARRAY_SPR | 79 | this function will calculate the spread of a given array. |
6.15. ARRAY_SUM | 80 | this function will calculate the sum of a given array. |
6.16. ARRAY_TREND | 81 | this function will calculate the trend of a given array. |
6.17. ARRAY_VAR | 81 | this function will calculate the variance of a given array. |
6.18. IS_SORTED | 82 | this function will return true if the given array is sorted in an ascending order. |
7. Complex Mathematics | 83 | |
7.1. INTRODUCTION | 83 | |
7.2. CABS | 83 | this function the aboslute value of a complex number |
7.3. CACOS | 83 | this function calculates the arcus cosinus function of a complex number |
7.4. CACOSH | 84 | this function calculates the hyperbolic arcus cosinus function of a complex number |
7.5. CADD | 84 | this function add two complex numbers |
7.6. CARG | 84 | this function calculates the phase angle (argument) of a complex number |
7.7. CASIN | 85 | this function calculates the arcus sinus function of a complex number |
7.8. CASINH | 85 | this function calculates the hyperbolic arcus sinus function of a complex number |
7.9. CATAN | 86 | this function calculates the complex arcus tangens |
7.10. CATANH | 86 | this function calculates the complex arcus hyperbolic tangens |
7.11. CCON | 86 | this function calcucates the conjugation of a complex number |
7.12. CCOS | 87 | this function calculates the cosinus function of a complex number |
7.13. CCOSH | 87 | this function calculates the arcus tangens function of a complex number |
7.14. CDIV | 87 | this function divides two complex numbers |
7.15. CEXP | 88 | this function calculates the complex exponent |
7.16. CINV | 88 | this function calculates the inverse of a complex numbers (1 / X) |
7.17. CLOG | 88 | this function calculates the complex natural (base e) logarithm |
7.18. CMUL | 89 | this function multiplies two complex numbers |
7.19. CPOL | 89 | this function creates a complex numbers for the polar form with the inputs L (length) an A for Angle. |
7.20. CPOW | 89 | this function calculates the complex power function x to the power of y |
7.21. CSET | 90 | this function creates a complex number from two real inputs |
7.22. Csin | 90 | this function calculates the sinus function of a complex number |
7.23. CSINH | 90 | this function calculates the sinus function of a complex number |
7.24. CSQRT | 91 | this function calculates the complex sqare root |
7.25. CSUB | 91 | this function subtracts two complex numbers |
7.26. CTAN | 91 | this function calculates the tangens function of a complex number |
7.27. CTANH | 92 | this function calculates the complex hyperbolictangens |
8. Arithmetics with Double Precision | 93 | |
8.1. Introduction | 93 | |
8.2. R2_ABS | 93 | R2_abs returns the absulute value of a double precision real. |
8.3. R2_ADD | 93 | R2_add adds a real to a double real which extends the accuracy of a real to twice as many digits |
8.4. R2_ADD2 | 94 | R2_add2 adds a double precision real to a double precision real which extends the accuracy of a real to twice as many digits |
8.5. R2_MUL | 94 | R2_mul multiplies a real with a double real which extends the accuracy of a real to twice as many digits |
8.6. R2_SET | 95 | R2_set sets a double precision real to a single real value. |
9. Arithmetic Functions | 96 | |
9.1. F_LIN | 96 | this function calculates the linear equation f_lin = a*x + b |
9.2. F_LIN2 | 96 | this function calculates the linear equation f_lin = a*x + b given by two points x1/y1 and x2/y2. |
9.3. F_POLY | 97 | this function calculates the polynom C[0] + C[1]*X^1 + C[2]*X^2 * C[3]*X^3 + C[4]*X^4 + C[5]*X^5 + C[6]*X^6 + C[7]*X^7 |
9.4. F_POWER | 97 | this function calculates the power equation f_power = a*x^n |
9.5. F_QUAD | 97 | this function calculates the quadratic equation f_lin = a*x + b |
9.6. FRMP_B | 98 | this function calculates a ramp and limits the output to 0 .. 255 without overflow problems |
9.7. FT_AVG | 98 | this function calculates the moving average over n samples from a sequential input |
9.8. FT_MIN_MAX | 99 | this function block stores the min and max value of an input signal. |
9.9. FT_RMP | 100 | this ramp function follows an input signal with a linear ramp up or down, the up or down speed can be set with KF and KR. |
9.10. LINEAR_INT | 101 | LINEAR_INT calculates an output based on a linear interpolation of up to 20 coordinates given in an array |
9.11. POLYNOM_INT | 102 | POLYNOM_INT calculates an output based on a Polynom interpolation of up to 5 coordinates given in an array |
10. Geometric Functions | 104 | |
10.1. CIRCLE_A | 104 | circle_A calculates the Area of a circle segement if ax = 360 the whole circle is calculated |
10.2. CIRCLE_C | 104 | circle_C calculates the Circumference of a circle if ax = 360 the whole circle is calculated |
10.3. CIRCLE_SEG | 105 | CIRCLE_SEG calculates the Area of a circle segement enclosed between a sectant line and the circumference. |
10.4. CONE_V | 105 | cone_V calculates the Volume of a cone |
10.5. ELLIPSE_A | 105 | ellipse_A calculates the Area of an ellipe based on the two radians R1 and R2 |
10.6. ELLIPSE_C | 106 | ellipse_C calculates the circumference of an ellipe based on the two radians R1 and R2 |
10.7. SPHERE_V | 106 | sphere_V calculates the Volume of a Sphere |
10.8. TRIANGLE_A | 107 | triangle_A calculates the Area of a triangle. |
11. Vector Mathematics | 108 | |
11.1. Introduction | 108 | |
11.2. V3_ABS | 108 | this function calculates the length of a vectors in a 3 dimensional space |
11.3. V3_ADD | 108 | this function adds two vectors in a 3 dimensional space |
11.4. V3_ANG | 109 | this function calculates the angle between two vectors in a 3 dimensional space |
11.5. V3_DPRO | 109 | this function calculates the dot product of two vectors in 3 dimensional space |
11.6. V3_NORM | 110 | this function generates a vectors with absolute length 1 from a vector A in a 3 dimensional space |
11.7. V3_NUL | 110 | this function checks if a vectors in a null Vector |
11.8. V3_PAR | 110 | this function checks if two vectors in a 3 dimensional space are parallel. |
11.9. V3_REV | 111 | this function reverses a vector in a 3 dimensional space |
11.10. V3_SMUL | 111 | this function multiplies a vectors in a 3 dimensional space with a skalar M |
11.11. V3_SUB | 112 | this function subtracts two vectors in a 3 dimensional space |
11.12. V3_XANG | 112 | this function calculates the angle between the X-axis and a vectors in a 3 dimensional space |
11.13. V3_XPRO | 112 | this function adds two vectors in a 3 dimensional space |
11.14. V3_YANG | 113 | this function calculates the angle between the Y-axis and a vectors in a 3 dimensional space |
11.15. V3_ZANG | 113 | this function calculates the angle between the Z-axis and a vectors in a 3 dimensional space |
12. Time & Date | 114 | |
12.1. Introduction | 114 | |
12.2. CALENDAR_CALC | 114 | calendar_calc liest die weltzeit .UTC aus einer CALENDAR Struktur und berechnet die restlichen Werte der Struktur. |
12.3. DATE_ADD | 115 | date_add adds days, weeks, month or years to a date. |
12.4. DAY_OF_DATE | 116 | DAY_OF_DATE returns the days since 1.1.1970 |
12.5. DAY_OF_MONTH | 116 | returns the day OF month for any DATE |
12.6. DAY_OF_WEEK | 117 | calculates the weekday of a week according to ISO8601 |
12.7. DAY_OF_YEAR | 117 | calculates the day of the year |
12.8. DAY_TO_TIME | 118 | converts an amount of days in real to time |
12.9. DAYS_DELTA | 118 | days_delta calculates the days between two dates. the days are calculated date_2 - date_1. |
12.10. DAYS_IN_MONTH | 119 | returs the total days of the current month. e.g. 31 for january. |
12.11. DAYS_IN_YEAR | 119 | returs the total days of the year. |
12.12. DCF77 | 119 | this is a decoder for a DCF77 signal. |
12.13. DT2_TO_SDT | 121 | converts date and time of day to Structured date time (SDT) |
12.14. DT2_TO_SDT | 121 | converts date and time of day to Structured date time (SDT) |
12.15. DT_TO_SDT | 122 | converts date_time to Structured date time (SDT) |
12.16. EASTER | 122 | easter calculates the day of easter sunday for a given year. |
12.17. EVENTS | 122 | event checks an array with a list of events and displays the event if today is one. |
12.18. HOLIDAY | 123 | holiday calculates if a given day is a holiday and displays the name of the holiday as string as well as a boolean flag to indicate a holiday. |
12.19. HOUR | 124 | extracts the hour of a Time_of_day |
12.20. HOUR_OF_DT | 125 | HOUR_OF_DT returns the current hour (hour of the day) of a DT variable |
12.21. HOUR_TO_TIME | 125 | converts an amount of hours in real to time |
12.22. HOUR_TO_TOD | 125 | converts an amount of hours in real to time of day TOD. |
12.23. JD2000 | 126 | JULIAN calculates the astronomic julian date from 1.1.2000-12:00. |
12.24. LEAP_DAY | 126 | leap_day is true if the tested day is a leap day (29. of february). |
12.25. LEAP_OF_DATE | 127 | leap_of_date is true if current year is a leap year |
12.26. LEAP_YEAR | 127 | leap_year is true if the tested year is a leap year |
12.27. LTIME_TO_UTC | 128 | LTIME_TO_UTC calculates UTC (World Time) from a local time LTIME. utc is calculated |
12.28. MINUTE | 128 | extracts the minutes out of TOD truncating the seconds |
12.29. MINUTE_OF_DT | 128 | MINUTE_OF_DT returns the current minute (minute of the hour) of a DT variable |
12.30. MINUTE_TO_TIME | 129 | converts an amount of minutes in real to time |
12.31. MONTH_BEGIN | 129 | returns the date for the first day of the current month in the current year. |
12.32. MONTH_END | 130 | returns the date for the last day of the current month in the current year. |
12.33. MONTH_OF_DATE | 130 | returns the current month of the year. |
12.34. MUL_TIME | 130 | multiplies a time by a real number and returns a time |
12.35. PERIOD | 131 | PERIOD checks if a given date is between two dates (d1 and d2) d1 is the starting date and d2 the last date for the period. |
12.36. PERIOD2 | 131 | PERIOD2 checks if DX is within one of 4 periods and sets the output true if so. |
12.37. REFRACTION | 132 | REFRACTION calculates the atmospheric refraction in degrees. |
12.38. RTC_2 | 133 | RTC_2 is a real time clock module which runs utc and generates local time from utc. |
12.39. RTC_MS | 134 | RTC_MS is a real time clock module which can be set to SDT when set is TRUE and the outputs XDT and XT present the DateTime and TOD with a resolution of milliseconds. |
12.40. SDT_TO_DATE | 134 | converts Structured date time (SDT) to Date Time |
12.41. SDT_TO_DT | 135 | converts Structured date time (SDT) to Date Time |
12.42. SDT_TO_TOD | 135 | converts Structured date time (SDT) to Date Time |
12.43. SECOND | 135 | returns the seconds and milliseconds as real of TOD |
12.44. SECOND_OF_DT | 136 | SECOND_OF_DT returns the current second (second of minute) of a DT variable |
12.45. SECOND_TO_TIME | 136 | converts an amount of seconds in real to time |
12.46. SET_DATE | 136 | creates a date output from year, month and day of month |
12.47. SET_DT | 137 | creates a date output from year, month and day of month |
12.48. SET_TOD | 138 | creates tod from hour minute and second |
12.49. SUN_MIDDAY | 138 | this FUNCTION calculates the time when the sun stand exactly south of a given location. |
12.50. SUN_POS | 138 | this FUNCTION block calculates the sun position for a given date and time. |
12.51. SUN_TIME | 139 | this FUNCTION block calculates the sun rise, sun set, sun offset at midday sun declination for a given date |
12.52. TIMECHECK | 141 | this function retruns true if the daytime TD is between start and stop and returns true if so. |
12.53. UTC_TO_LTIME | 142 | ltime is a real time clock that uses the system rtc as utc time and calculates and given time zone. |
12.54. WORK_WEEK | 142 | calculates the work week for a given date according to iso8601 |
12.55. YEAR_BEGIN | 143 | returs the date of january 1st for the given year |
12.56. YEAR_END | 143 | returs the date of december 31st for the given year |
12.57. YEAR_OF_DATE | 144 | returs the year of a date |
13. String Functions | 145 | |
13.1. BIN_TO_BYTE | 145 | BINARY_TO_byte converts a binary string into a byte. |
13.2. BIN_TO_DWORD | 145 | BINARY_TO_DWORD converts a binary string into a dword. |
13.3. BYTE_TO_STRB | 145 | BYTE_TO_STRINGB converts a Byte to a String of Bits represented by '0' and '1' s. |
13.4. BYTE_TO_STRH | 146 | BYTE_TO_STRINGH converts a Byte to a String of Hexadecimal represented by '0' .. '9' and 'A' .. 'F'. |
13.5. Capitalize | 146 | capitalize returns str with all first letters after a blank or beginning of the string are converted to uppercase. |
13.6. CHARCODE | 147 | CHARCODE converts a HTML Character NAME INTO ITS code |
13.7. CHARNAME | 147 | CHARNAME converts a Character code into its HTML character name |
13.8. CHR_TO_STRING | 148 | CHR creates a character from a byte input and stuffs it in a one character length string. |
13.9. CLEAN | 149 | Clean deletes all characters from a string except the ones specified in CX. |
13.10. CODE | 149 | code extracts the code of a character at position POS of a string STR. |
13.11. COUNT_CHAR | 150 | COUNT_CHAR counts how often a character CHAR occurs within a string STR. |
13.12. DEC_TO_BYTE | 150 | DEC_TO_byte converts a decimal string into a byte. |
13.13. DEC_TO_DWORD | 150 | DEC_TO_DWORD converts a decimal string into a DWORD. |
13.14. DEC_TO_INT | 151 | DEC_TO_INT converts a decimal string into an Integer. |
13.15. DEL_CHARS | 151 | del_chars deletes all characters from a string which are specified in CX. |
13.16. DT_TO_STRF | 152 | DTI : DT; |
13.17. DWORD_TO_STRB | 153 | DWORD_TO_STRINGB converts a DWORD to a String of Bits represented by '0' and '1' s. |
13.18. DWORD_TO_STRF | 154 | dword_to_strF converts a DWORD, BYTE or Word to a fixed length String. |
13.19. DWORD_TO_STRH | 154 | DWORD_TO_STRINGH converts a DWORD to a String of Hexadecimal represented by '0' .. '9' and 'A' .. 'F'. |
13.20. EXEC | 155 | exec executes a mathematical term and returns the result as a string |
13.21. FILL | 155 | the function fill creates a string at length L of characters C. |
13.22. FIND_CHAR | 156 | find_char searches str and returns the starting position of the first character that is not a control character. |
13.23. FIND_CTRL | 157 | find_ctrl searches str and returns the starting position of a control character |
13.24. FIND_NONUM | 157 | find_noNum searches str and returns the first position which is not a number. |
13.25. FIND_NUM | 157 | find_Num searches str and returns the starting position of a number |
13.26. FINDB | 158 | the function find searches an str1 for the presence of str2 and returns the first position of str1 of the last presence in instring. |
13.27. FINDB_NONUM | 158 | findB_noNum searches str backwards and returns the last position which is not a number. |
13.28. FINDB_NUM | 159 | findB_Num searches str backward and returns the last position of a number |
13.29. FINDP | 159 | the function findP searches a string str for the occurence of src beginning at the position pos. |
13.30. FIX | 160 | the function fix truncates a string at length L |
13.31. FLOAT_TO_REAL | 160 | FLOAT_TO_REAL converts a string to a REAL. |
13.32. FSTRING_TO_BYTE | 161 | FSTRING_TO_BYTE converts a formatted string into a byte. |
13.33. FSTRING_TO_DT | 161 | FSTRING_TO_DT converts Formatted String into a DT value. |
13.34. FSTRING_TO_DWORD | 162 | FSTRING_TO_BYTE converts a formatted string into a byte. |
13.35. FSTRING_TO_MONTH | 162 | FSTRING_TO_MONTH converts a string into a month, the string can be a name for the month or a number. |
13.36. FSTRING_TO_WEEK | 163 | FSTRING_TO_WEEK converts a list of weekdays into a byte where each bit represents a day of the week. |
13.37. FSTRING_TO_WEEKDAY | 164 | FSTRING_TO_WEEKDAY converts a weekday string into an integer 1..7. |
13.38. HEX_TO_BYTE | 164 | HEX_TO_BYTE converts a Hexadecimal string into a byte. |
13.39. HEX_TO_DWORD | 165 | HEX_TO_DWORD converts a Hexadecimal string into a DWORD. |
13.40. IS_ALNUM | 165 | ISC_ALNUM testet ob in einem string nur Zahlen 0..9 vorkommen. |
13.41. IS_ALPHA | 165 | IS_ALPHA testet ob in einem string nur Zeichen a-z oder A - Z vorkommen. |
13.42. IS_CC | 166 | ISC_CC testet ob ein string nur aus Zeichen des Strings CMP besteht. |
13.43. IS_CTRL | 166 | IS_CTRL testet ob in einem string nur Steuerzeichen (Char < 32) vorkommen. |
13.44. IS_HEX | 167 | IS_HEX testet ob in einem string nur Zahlen 0..9 oder A..F oder a..f vorkommen. |
13.45. IS_LOWER | 167 | IS_LOWER testet ob in einem string nur kleinbuchstaben vorkommen. |
13.46. IS_NCC | 168 | IS_NCC testet ob in einem string keine Zeichen des Strings CMP enthalten sind. |
13.47. IS_NUM | 168 | IS_NUM testet ob in einem string nur Zahlen 0..9 vorkommen. |
13.48. IS_UPPER | 169 | IS_UPPER testet ob in einem string keine Kleinbuchstaben vorkommen. |
13.49. ISC_ALPHA | 169 | ISC_ALPHA checks if a character is a..z or A..Z. |
13.50. ISC_CTRL | 170 | ISC_ALPHA checks if a character is a control character. |
13.51. ISC_HEX | 170 | ISC_HEX checks if a character is 0..9, A..F, a..f. |
13.52. ISC_LOWER | 171 | isc_lower checks if a character is lowercase. |
13.53. ISC_NUM | 171 | ISC_NUM checks if a character is 0..9. |
13.54. ISC_UPPER | 172 | ISC_upper checks if a character is uppercase |
13.55. LOWERCASE | 172 | lowercase returns str while all letters A..Z and Ä.Ö,Ü are converted to lowercase. |
13.56. MESSAGE_4R | 173 | this function generates a rotation meassage with up to 4 strings. |
13.57. MESSAGE_8 | 173 | this function generates one out of 4 messages specified by S1 .. S8. |
13.58. MIRROR | 174 | this function reverses an input string. |
13.59. MONTH_TO_STRING | 175 | MONTH_TO_STRING converts an Integer 1..12 into a String with the Names of the corresponding Month. |
13.60. OCT_TO_BYTE | 175 | OCT_TO_BYTE converts a octagonal string into a byte. |
13.61. OCT_TO_DWORD | 176 | OCT_TO_DWORD converts a octagonal string into a dword. |
13.62. REAL_TO_STRF | 176 | Real_to_strf converts a Real to a fixed length String. |
13.63. REPLACE_ALL | 177 | the function replace_all replaces all occurences of src in str and replaces them by rep. |
13.64. REPLACE_CHARS | 177 | REPLACE_CHARS erstezt alle character die im string src aufgeführt sind mit dem an der selben stelle im string rep gelisteten character. |
13.65. REPLACE_UML | 178 | REPLACE_UML replaces all occurences of Ä,Ö,Ü and ä,ö,ü,ß with Ae, ae, Oe, oe, Ue, ue and ss. |
13.66. TICKER | 178 | Ticker sends a substring of text with length N every TD Milliseconds to generate a ticker. |
13.67. TO_LOWER | 179 | to_lower converts a character from uppercase to lowercase |
13.68. TO_UML | 180 | to_uml converts a character above 127 to a two digit character below 127. |
13.69. TO_UPPER | 180 | to_upper converts a character from lowercase to uppercase |
13.70. TRIM | 181 | the function deletes all blanks within a string. |
13.71. TRIM1 | 181 | the function replaces all multiple blanks within a string by only one blank. |
13.72. TRIME | 181 | this function deletes all leading and ending blanks of a string. |
13.73. UPPERCASE | 182 | uppercase returns str while all letters a..z and ä,ö,ü are converted to uppercase |
13.74. WEEKDAY_TO_STRING | 182 | WEEKDAY_TO_STRING converts an Integer 1..7 into a String with the Names of the corresponding weekday. |
14. Memory Modules | 184 | |
14.1. FIFO_16 | 184 | 16 Dword FIFO memory |
14.2. FIFO_32 | 184 | 32 Dword FIFO memory |
14.3. STACK_16 | 185 | 16 Dword STACK memory |
14.4. STACK_32 | 186 | 32 Dword STACK memory |
15. Pulse Generators | 188 | |
15.1. A_TRIG | 188 | this block is similar to the IEC Standard R_trig and F_trig but it monitors a REAL for change. |
15.2. B_TRIG | 188 | this block is similar to R_trig and F_trig but it generates a pulse on rising and falling edge. |
15.3. CLICK_CNT | 189 | this Module decodes a specified number of clicks. |
15.4. CLICK_DEC | 190 | this Module detects a rising edge on In and decodes the amount of falling edges (Pulses) within a specified time TC. |
15.5. CLK_DIV | 190 | this is a clock divider |
15.6. CLK_N | 192 | clk_N uses the internal sps time to generate one pulse every N ms |
15.7. CLK_PRG | 192 | clk_prg uses the internal sps time to generate a clock with programmable period time. |
15.8. CLK_PULSE | 193 | clk_pulse uses the internal sps time to generate a clock with programmable period time. |
15.9. CYCLE_4 | 194 | version 1.0 |
15.10. D_TRIG | 195 | this block is similar to the IEC Standard R_trig and F_trig but it monitors a DWORD, WORD or Byte Variable instead and generated an Output Pulse for one cycle only when the input has changed. |
15.11. GEN_BIT | 196 | gen_bit is 4 bit sequencial pattern generator with 4 DWORD inputs and 4 serial outputs. |
15.12. GEN_SQ | 197 | gen_sq generates square wave signal with programmable period time. |
15.13. SCHEDULER | 198 | SCHEDULER is used to call programs or function blocks at specific intervals. |
15.14. SCHEDULER_2 | 198 | SCHEDULER_2 is used to call programs or function blocks at specific cycles. |
15.15. SEQUENCE_4 | 199 | sequence_4 enables run when a low to high transition is present on start. |
15.16. SEQUENCE_64 | 202 | sequence generates a sequence of states with a programmable length for each state. |
15.17. SEQUENCE_8 | 203 | sequence_8 enables run when a low to high transition is present on start. |
15.18. TMAX | 204 | Q of tmax will follow IN except that it forces a maximum ontime for the output Q. |
15.19. TMIN | 205 | Q of tMIN will follow IN except that it forces a minimum ontime for the output Q. |
15.20. TOF_1 | 205 | TOF_1 will extend a pulse on input in for PT seconds. |
15.21. TONOF | 206 | TONOF generated a TON and TOF Delay for the Input N TON (T1) and TOF (T2) can be configured separately |
15.22. TP_1 | 207 | TP_1 generates a pulse every time it is calles with in := TRUE. |
15.23. TP_1D | 208 | TP_1D generates a pulse every time it is calles with in := TRUE. |
15.24. TP_X | 208 | retriggerable edge triggered pulse similar to TP but with a retrigger function |
16. Logic Modules | 210 | |
16.1. BCDC_TO_INT | 210 | this function converts a two digit bcd number into an integer. |
16.2. BIT_COUNT | 210 | BIT_COUNT counts the amount True of bits in a dword. |
16.3. BIT_LOAD_B | 210 | this function loads a bit into a byte at position pos. |
16.4. BIT_LOAD_B2 | 211 | this function loads N bits of D at pos P in Byte I |
16.5. BIT_LOAD_DW | 211 | this function loads a bit into a DWord at position pos. |
16.6. BIT_LOAD_DW2 | 212 | this function loads N bits of D at pos P in DWORD I |
16.7. BIT_LOAD_W | 212 | this function loads a bit into a Word at position pos. |
16.8. BIT_LOAD_W2 | 213 | this function loads N bits of D at pos P in WORD I |
16.9. BIT_OF_DWORD | 213 | this function extracts a single bit from the nth position from right (right is lowest bit) |
16.10. BIT_TOGGLE_B | 214 | this function toggles a bit of a BYTE at position pos. |
16.11. BIT_TOGGLE_DW | 214 | this function toggles a bit of a WORD at position pos. |
16.12. BIT_TOGGLE_W | 215 | this function toggles a bit of a WORD at position pos. |
16.13. BYTE_OF_BIT | 215 | this function creates a byte from 8 individual bits |
16.14. BYTE_OF_DWORD | 216 | this function extracts a single byte from the nth position from right (right is lowest byte) |
16.15. BYTE_TO_BITS | 216 | this Function Block extracts the 8 Bits from a byte |
16.16. BYTE_TO_GRAY | 217 | this function converts a binary to gray code |
16.17. CHK_REAL | 217 | this function checks a floating point variable of type real (IEEE754-32Bits) for NAN and infinity |
16.18. CHECK_PARITY | 217 | this function checks for an even partity for a dword and partity bit. |
16.19. CRC_CHECK | 218 | #NENÍ_K_DISPOZICI |
16.20. CRC_GEN | 219 | #NENÍ_K_DISPOZICI |
16.21. DEC_2 | 222 | a bit input will be decoded to the two outputs Q0 or Q1 |
16.22. DEC_4 | 222 | a bit input will be decoded to one of the 4 outputs |
16.23. DEC_8 | 223 | a bit input will be decoded to one of the 8 outputs |
16.24. DW_TO_REAL | 225 | this function converts a DWORD to REAL in a bitwise manner. |
16.25. DWORD_OF_BYTE | 225 | this function creates a Dword from 4 individual bytes |
16.26. DWORD_OF_WORD | 226 | this function creates a Dword from 2 individual Words |
16.27. GRAY_TO_BYTE | 226 | this function converts a gray code into binary |
16.28. INT_TO_BCDC | 227 | this function converts an integer into a two digit bcd number. |
16.29. MATRIX | 227 | #NENÍ_K_DISPOZICI |
16.30. MUX_2 | 229 | dual input multiplexer |
16.31. MUX_4 | 229 | quad input multiplexer |
16.32. PARITY | 230 | this function calculates the even parity of an input Dword |
16.33. PIN_CODE | 231 | #NENÍ_K_DISPOZICI |
16.34. REAL_TO_DW | 231 | this function converts a 32 Bit Real to a dword in a bitwise manner. |
16.35. REFLECT | 232 | This function reverses the specified amount of bits from bit 0 to bit n within a dword while L specifies the amount of Bits to be reflected. |
16.36. REVERSE | 232 | This function reverses the bits of a byte so that after execution bit 7 is at bit 0 location and so forth. |
16.37. SHL1 | 233 | SHL1 shifts N bits to the left filling the new bits with 1 |
16.38. SHR1 | 233 | SHR1 shifts N bits to the right filling the new bits with 1 |
16.39. SWAP_BYTE | 234 | This function swaps the high and low byte of the word in. |
16.40. SWAP_BYTE2 | 234 | This function reverses the byte order in the dword. |
16.41. WORD_OF_BYTE | 234 | this function creates a word from 2 individual bytes |
16.42. WORD_OF_DWORD | 235 | this function extracts a single word from the nth position from right (right is lowest byte) |
17. Latches, Flip-Flop and Shift Register | 236 | |
17.1. COUNT_BR | 236 | Count_BR is a byte counter with independen up and dn inputs. the counter counts from 0 to mx and continues at 0 after is has reached mx |
17.2. COUNT_DR | 237 | Count_DR is a DWORD counter with independen up and dn inputs. the counter counts from 0 to mx and continues at 0 after is has reached mx |
17.3. FF_D2E | 238 | dual D-type flip flop with reset and rising clock trigger |
17.4. FF_D4E | 239 | quad D-type flip flop with reset and rising clock trigger |
17.5. FF_DRE | 240 | D-type flip flop with set, reset and rising clock trigger |
17.6. FF_JKE | 241 | JK-type flip flop with set, reset and rising clock trigger |
17.7. FF_RSE | 242 | this is a rising edge triggered rs flip flop |
17.8. LTCH | 242 | Transparent Latch with asynchronous reset |
17.9. LATCH4 | 246 | #NENÍ_K_DISPOZICI |
17.10. SELECT_8 | 247 | select_8 selects one of 8 outputs at any time. the outputscan be selected by up or down keys and an independent anable switches all outouts off if set false |
17.11. SHR_4E | 249 | 4 bit shift register with reset |
17.12. SHR_4UDE | 250 | 4 bit shift register with reset up / down direction input |
17.13. SHR_8PLE | 251 | 8 bit shift register with reset and parallel load |
17.14. SHR_8UDE | 252 | 8 bit shift register with reset |
17.15. STORE_8 | 253 | Store_4 stores up to 4 boolean inputs until a reset is clearing the outputs. |
17.16. TOGGLE | 254 | toggle flip flop the output changes state with every rising edge of clk. |
18. Signal Generators | 255 | |
18.1. _RMP_B | 255 | _RMP_B generates a ramp on an external var of type byte |
18.2. _RMP_NEXT | 255 | _RMP_NEXT will generate a ramp output following the input IN. |
18.3. _RMP_W | 256 | _RMP_B generates a ramp on an external var of type byte |
18.4. GEN_PULSE | 257 | GEN_PULSE uses the internal sps timer to generate a continuous output waveform with programmable high and low time. |
18.5. GEN_PW2 | 258 | GEN_PW2 generates a time TH? followed by a time TL?. |
18.6. GEN_RDM | 258 | this signal generator generates a random output. The signal is defined by period time (PT), |
18.7. GEN_RDT | 259 | GEN_RDT generates a defined pulse with pulse width TP_Q at random times. the random time will be defined with an minimum and maximum time. |
18.8. GEN_RMP | 260 | this signal generator generates a ramp wave output. The ramp wave signal is defined by period time (PT), |
18.9. GEN_SIN | 261 | this signal generator generates a sine wave output. The sine wave signal is defined by period time (PT), |
18.10. GEN_SQR | 262 | this signal generator generates a square wave output. The square wave signal is defined by period time (PT), |
18.11. PWM_DC | 263 | this signal generator generates a square wave signal which is specified by the frequency and the duty cycle |
18.12. PWM_PW | 264 | this signal generator generates a square wave signal which is specified by the frequency and the pulse width. |
18.13. RMP_B | 264 | this ramp generator generates a byte wide ramp with 255 steps |
18.14. RMP_SOFT | 266 | this soft on/off ramp generator generates a soft on and soft off ramp while the max on value is set by the input |
18.15. RMP_W | 267 | this ramp generator generates a Word wide ramp with 65535 steps |
19. Signal processing | 269 | |
19.1. AIN | 269 | Ain converts signals from A/D converters or other digital sources to an internal real value |
19.2. AIN1 | 270 | Ain1 converts signals from A/D converters or other digital sources to an internal real value. |
19.3. AOUT | 271 | this module conditions an internal real value for D/A converter. |
19.4. AOUT1 | 272 | this module conditions an internal real value for a D/A converter. |
19.5. BYTE_TO_RANGE | 273 | Byte_to_Range converts a Byte into a real between low and high. |
19.6. DELAY | 274 | this function block delays input values by each programm cycle |
19.7. DELAY_4 | 275 | this function block delays input values by each programm cycle |
19.8. FADE | 276 | FADE is used to crossfade between the inputs IN1 and IN2. The fade_over time is specified with TF. |
19.9. FILTER_DW | 277 | FILTER_DW is an low pass filter with a programmable time T used for DWORD format. |
19.10. FILTER_I | 278 | FILTER_I is a low pass filter with a programmable time T used for INT format. |
19.11. FILTER_MAV_DW | 278 | FILTER_MAV_DW is a moving average filter with programmable length N for DWORD Data. |
19.12. FILTER_MAV_W | 279 | FILTER_MAV_W is a moving average filter with programmable length N for WORD Data. |
19.13. FILTER_W | 280 | FILTER_W is an low pass filter with a programmable time T used for WORD format. |
19.14. FILTER_WAV | 280 | FILTER_WAV is a moving average filter with programmable length N for DWORD Data. |
19.15. MIX | 281 | MIX is an analog Mixer. The Output is (1-M)*A + M*B. |
19.16. MUX_R2 | 281 | MUX_R2 is an analog Multiplexer. |
19.17. MUX_R4 | 282 | MUX_R4 is an analog Multiplexer. |
19.18. OFFSET | 282 | The Function offset adds offsets to an analog signal depending on digital inputs. |
19.19. OFFSET2 | 285 | The Function offset adds offsets to an analog signal depending on digital inputs. |
19.20. OVERRIDE | 286 | OVERRIDE deliveres the maximum absolute value of the 3 inputs X1, X2 and X3. |
19.21. RANGE_TO_BYTE | 287 | Range_to_byte converts a real value between low and high into a byte |
19.22. RANGE_TO_BYTE | 288 | Range_to_byte converts a real value between low and high into a byte |
19.23. SCALE | 288 | Scale is used to translate an input x to output by the formula Y = X*K + O. |
19.24. SCALE_B | 289 | Scale_B is used to translate and scale a byte input x to a real output. |
19.25. SCALE_B2 | 290 | this function block can scale up to two inputs. |
19.26. SCALE_B4 | 291 | this functiob block can scale up to 4 inputs. |
19.27. SCALE_B8 | 292 | this functiob block can scale up to 8 inputs. |
19.28. SCALE_D | 293 | Scale_D is used to translate and scale a DWORD input x to a real output. |
19.29. SCALE_R | 294 | Scale_R is used to translate and scale a REAL input x to a real output. |
19.30. SCALE_X2 | 295 | this functiob block can scale up to two inputs. |
19.31. SCALE_X4 | 296 | this function can scale up to 4 inputs. |
19.32. SCALE_X8 | 297 | this function can scale up to 4 inputs. |
19.33. SEL2_OF_3 | 298 | SEL2_OF_3 checks if 3 input Signals are within a distance D from each other and calculates the average of the 3 inputs do not offset more than D from each other. |
19.34. SEL2_OF_3B | 299 | SEL2_OF_3B is used to connect 3 binary sensors to one signal. the output Q reflects the state of at least two inputs. |
19.35. SH | 299 | this sample and hold module samples an input at the rising edge of clk an stores it in out. |
19.36. SH_1 | 300 | this sample and hold module samples an input every PT seconds. |
19.37. SH_2 | 301 | this sample and hold module samples an input every PT seconds. |
19.38. SH_T | 303 | this sample and hold module samples an input while en is high. |
19.39. STAIR | 304 | the function stair converts an anlog input signal to a staircase like output. |
19.40. STAIR2 | 304 | the function stair2 converts an anlog input signal to a staircase like output. |
19.41. TREND | 305 | trend analyses the trend of a input signal. |
19.42. TREND_DW | 315 | trend_DW analyses the trend of a input signal. |
19.43. WORD_TO_RANGE | 316 | Word_to_Range converts a Byte into a real between low and high. |
20. Sensors | 317 | |
20.1. MULTI_IN | 317 | multi_in is a signal conditioning function which can be configured in 8 different ways. |
20.2. RES_NI | 318 | this function returs the resistance for a nickel sensor for a temperature range from -60..+180 °C |
20.3. RES_NTC | 319 | this function returs the resistance for a NTC sensor for a given temperature in °C. |
20.4. RES_PT | 322 | this function returs the resistance for a platinum sensor for a temperature range from -200..+850 °C |
20.5. RES_SI | 323 | this function returs the resistance for a silicon sensor for a temperature range from -50..+150 °C |
20.6. SENSOR_INT | 324 | this function calculates the real resistance of a sensor RX given a parasitic resistor in parallel to the sensor and an additional serial resistor. |
20.7. TEMP_NI | 325 | this function returns the temperature for a nickel sensor in a range from -60..+180 °C |
20.8. TEMP_NTC | 326 | this function returs the temperature for a NTC sensor for a range from 0..85 °C. |
20.9. TEMP_PT | 326 | this function returs the temperature for a platinum sensor for a range from -200..+850 °C |
20.10. TEMP_SI | 331 | this function returs the temperature for a silicon sensor for a range from -60..+180 °C |
21. Measuring Modules | 333 | |
21.1. ALARM_2 | 333 | ALARM_2 will check two pairs of limits and signal when the input is above or below a set limit. |
21.2. BAR_GRAPH | 333 | bar graph is a muti window comparator which displays an analog input signal on 8 digital outputs. |
21.3. CALIBRATE | 337 | Calibrate allows for offset and scale calibration of an analog input. |
21.4. CYCLE_TIME | 338 | this function block measures the cycle time and displays the last, min and max cycle time of the current task. |
21.5. DT_SIMU | 338 | DT_SIMU simulates a real time clock and can be adjusted to different speeds |
21.6. FLOW_METER | 339 | Flow meter measures flow according to gated time or pulses. |
21.7. M_D | 341 | m_d measures the time between a rising edge on start to a rising edge on stop and returs the last measured value on the output PT. |
21.8. M_T | 342 | m_t measures the with of a high pulse and returs the last measured pulse width on output PT. |
21.9. M_TX | 342 | this measures the timing of a signal |
21.10. METER | 343 | METER measures usage of power or similar values the output MX is the sum of the inputs over time. |
21.11. METER_STAT | 345 | METER_STAT runs statistics of a metered value, it calculates the current week, day, month and year consumption and stores the corresponding last day, week, month and year value. |
21.12. ONTIME | 346 | ONTIME measures the ontime of a signal in seconds. |
21.13. T_PLC_MS | 348 | T_PLC_MS reads the internal PLC timer and return the time, it has the advantage to be able to set a debug mode |
21.14. T_PLC_US | 351 | T_PLC_US reads the internal PLC timer and return the time, it has the advantage to be able to set a debug mode |
21.15. TC_MS | 352 | TC_MS delivers the time it was last called on the output TC in Milliseconds. |
21.16. TC_S | 353 | TC_S delivers the time it was last called on the output TC in seconds. |
21.17. TC_US | 353 | TC_US delivers the time it was last called on the output TC in Microseconds. |
22. Calculations | 354 | |
22.1. ASTRO | 354 | this function converts different length units |
22.2. BFT_TO_MS | 354 | this function converts wind speed from beaufort to m/s |
22.3. C_TO_F | 356 | this function converts celsius to fahrenheit |
22.4. C_TO_K | 356 | this function converts celsius to kelvin |
22.5. DEG_TO_DIR | 356 | this function converts degrees in compass direction. |
22.6. DIR_TO_DEG | 360 | this function converts compass directions to degrees |
22.7. ENERGY | 361 | this function converts different energy units |
22.8. F_TO_C | 361 | this FUNCTION converts fahrenheit TO celsius |
22.9. F_TO_OM | 362 | this function converts frequency to Omega F |
22.10. F_TO_PT | 362 | this function converts frequency to periode time |
22.11. GEO_TO_DEG | 362 | this function converts degrees, minutes seconds to decimal degrees. |
22.12. K_TO_C | 366 | this function converts kelvin to celsius |
22.13. KMH_TO_MS | 366 | this function converts velocities from Kilometers / hour to Meters / Second |
22.14. LENGTH | 367 | this function converts different length units |
22.15. MS_TO_BFT | 368 | this function converts wind speed from M/s to beaufort |
22.16. MS_TO_KMH | 369 | this function converts velocities from Meters / Second to Kilometers / hour. |
22.17. OM_TO_F | 369 | this function converts Omega F to frequency |
22.18. PRESSURE | 371 | this function converts different pressure units |
22.19. PT_TO_F | 372 | this function converts periode time to frequency |
22.20. SPEED | 372 | this function converts different speed units |
22.21. TEMPERATURE | 374 | this function converts different temperature units |
23. Control Modules | 376 | |
23.1. Introduction | 376 | |
23.2. BAND_B | 377 | BAND_B will limit X to B <= X <= 255-B. while X < B the resulkt will be 0 and while X > 255-B the output will be 255 |
23.3. CONTROL_SET2 | 377 | takahashi calculates controller parameters for P, PI and PID controllers based on the ziegler nichols method. |
23.4. CONTROL_SET2 | 379 | takahashi calculates controller parameters for P, PI and PID controllers based on the ziegler nichols method. |
23.5. CTRL_IN | 380 | version 1.0 2. jun 2008 |
23.6. CTRL_OUT | 381 | version 1.1 5. nov 2008 |
23.7. CTRL_PI | 382 | FT_PI is a PI controller with manual functionality. |
23.8. CTRL_PID | 384 | FT_PI is a PI controller with manual functionality. |
23.9. CTRL_PWM | 386 | version 1.1 21. oct. 2008 |
23.10. DEAD_BAND | 387 | DEAD_BAND ist eine lineare Übertragungsfunktion mit Totzone. Die Funktion verschiebt den positiven Teil der Kurve um +L und den negativen Teil der Kurve um -L. |
23.11. DEAD_BAND_A | 393 | DEAD_BAND ist eine lineare Übertragungsfunktion mit Totzone. Die Funktion verschiebt den positiven Teil der Kurve um -L und den negativen Teil der Kurve um +L. |
23.12. DEAD_ZONE | 394 | dead_zone2 is a linear transfer function which follows a linear function except for x is close to 0. |
23.13. DEAD_ZONE2 | 395 | dead_zone2 is a linear transfer function which follows a linear function except for x is close to 0. |
23.14. FT_DERIV | 396 | FT_deriv calculates the derivate over the signal "in" with Faktor "K". |
23.15. FT_IMP | 399 | FT_IMP is an impulse filter (high pass filter) with the time T and factor K. |
23.16. FT_INT | 400 | FT_int is an integrator with input IN and factor K. |
23.17. FT_INT2 | 402 | FT_int2 is an integrator with input IN and factor K. |
23.18. FT_PD | 403 | FT_PD is a PD controller. |
23.19. FT_PDT1 | 403 | FT_PD is a PD controller. |
23.20. FT_PI | 404 | FT_PI is a PI controller. |
23.21. FT_PID | 406 | FT_PI is a PI controller. |
23.22. FT_PIDW | 407 | FT_PIDW is a PID controller with dynamic wind_up reset. |
23.23. FT_PIDWL | 409 | FT_PIDWL is a PID controller with dynamic wind_up reset. |
23.24. FT_PIW | 411 | FT_PIW is a PI controller. |
23.25. FT_PIWL | 412 | FT_PIWL is a PI controller. |
23.26. FT_PT1 | 414 | FT_PT1 is an low pass filter with a programmable time T and faktor K. |
23.27. FT_PT2 | 415 | FT_PT2 is a 2nd grade filter with programmable times T, D and faktor K. |
23.28. FT_TN16 | 416 | FT_TN16 is delay function, it will delay a signal by a specified time : T and will store 16 values of in before they are put thru to out. |
23.29. FT_TN64 | 419 | FT_TN7 is delay function, it will delay a signal by a specified time : T and will store 64 values of in before they are put thru to out. |
23.30. FT_TN8 | 420 | FT_TN8 is delay function, it will delay a signal by a specified time : T and will store 8 values of in before they are put thru to out. |
23.31. HYST | 421 | This Hystereses function has two modes: |
23.32. HYST_1 | 422 | this hysteresis function switches the output high if the input signal reaches obove high and will switch to low when the input falls back below low value. |
23.33. HYST_2 | 424 | this hysteresis function switches the output high if the input signal reaches obove val + hys/2 and will switch to low when the input falls back below val - hys/2 value. |
23.34. HYST_3 | 425 | this is a double hysteresis function. Out1 follows a hysteresis function defined by val1and hyst, while out 2 follows val2 and hyst. |
23.35. INTEGRATE | 426 | integrate is a plain integrator with I/O for out. |
23.36. AIR_DENSITY | 426 | #NENÍ_K_DISPOZICI |
23.37. AIR_ENTHALPY | 427 | #NENÍ_K_DISPOZICI |
23.38. BOILER | 428 | #NENÍ_K_DISPOZICI |
23.39. BURNER | 430 | #NENÍ_K_DISPOZICI |
23.40. DEW_CON | 434 | #NENÍ_K_DISPOZICI |
23.41. DEW_RH | 435 | #NENÍ_K_DISPOZICI |
23.42. DEW_TEMP | 436 | #NENÍ_K_DISPOZICI |
23.43. HEAT_INDEX | 436 | #NENÍ_K_DISPOZICI |
23.44. HEAT_METER | 436 | #NENÍ_K_DISPOZICI |
23.45. HEAT _TEMP | 441 | #NENÍ_K_DISPOZICI |
23.46. LEGIONELLA | 443 | #NENÍ_K_DISPOZICI |
23.47. SDD | 445 | #NENÍ_K_DISPOZICI |
23.48. SDD_NH3 | 446 | #NENÍ_K_DISPOZICI |
23.49. SDT_NH3 | 446 | #NENÍ_K_DISPOZICI |
23.50. T_AVG24 | 446 | #NENÍ_K_DISPOZICI |
23.51. TANK_VOL1 | 448 | #NENÍ_K_DISPOZICI |
23.52. TANK_VOL2 | 448 | #NENÍ_K_DISPOZICI |
23.53. TEMP_EXT | 449 | #NENÍ_K_DISPOZICI |
23.54. WATER_CP | 452 | #NENÍ_K_DISPOZICI |
23.55. WATER_DENSITY | 452 | #NENÍ_K_DISPOZICI |
23.56. WATER_ENTHALPY | 453 | #NENÍ_K_DISPOZICI |
23.57. WCT | 453 | #NENÍ_K_DISPOZICI |
24. Device Driver | 454 | |
24.1. DRIVER_1 | 454 | driver_1 is a multi purpose driver. |
24.2. DRIVER_4 | 454 | driver_4 is a 4 channel multi purpose driver. |
24.3. DRIVER_4C | 455 | driver_4C is a multi purpose driver. |
24.4. FLOW_CONTROL | 456 | FLOW_CONTROL switches a valves depending on the input in. |
24.5. FT_PROFILE | 457 | FT_Profile generates an output signal which is defined by values over a time scale. |
24.6. INC_DEC | 459 | incremental decoder with quadruple accuracy. |
24.7. INTERLOCK | 461 | INTERLOCK has two inputs I1 and I2 which drive the corresponding outputs Q1 and Q2. |
24.8. INTERLOCK_4 | 462 | INTERLOCK_4 detects one of 4 switches and delivers the number of the switch pressed on the output out |
24.9. MANUAL | 463 | MANUAL is a manual override for digital signals. |
24.10. MANUAL_1 | 464 | MANUAL_1 is a manual override for digital signals. |
24.11. MANUAL_2 | 464 | MANUAL_2 is a manual override for boolean signals. |
24.12. MANUAL_4 | 465 | MANUAL_4 is a manual override for digital signals. |
24.13. Parset | 466 | parset selects on of 4 parameter sets adressed by the inputs A0 and A1. if TC is specified, the change of the outputs |
24.14. PARSET2 | 467 | parset2 selects on of 4 parameter sets depending on the value of X. if TC is specified, the change of the outputs |
24.15. SIGNAL | 468 | this function generates an output signal according to a bit pattern SIG. |
24.16. SIGNAL_4 | 469 | this function generates one out of 4 signals specified by bit patterns S1 .. S4. |
24.17. SRAMP | 470 | RAMPS generates output signal which are slew rate and acceleration controlled. |
24.18. TUNE | 472 | tune generates an output signal which is set by input switches. |
24.19. TUNE2 | 475 | tune2 generates an output signal which is set by input switches. |
25. BUFFER Management | 477 | |
25.1. _BUFFER_CLEAR | 477 | this function will initialize a given array of byte with 0. |
25.2. _BUFFER_INIT | 477 | this function will initialize a given array of byte with init. |
25.3. _BUFFER_INSERT | 478 | this function will insert a string at a given position in a buffer. |
25.4. _BUFFER_UPPERCASE | 479 | this function will convert an array of byte into uppercase |
25.5. _STRING_TO_BUFFER | 479 | this function will copy a string into an array of byte starting at position pos. |
25.6. BUFFER_COMP | 480 | version 1.1 12. nov. 2009 |
25.7. BUFFER_SEARCH | 481 | this function will search for a string STR in an array of byte starting at position pos. |
25.8. BUFFER_TO_STRING | 482 | this function will retrieve a string from an array of byte starting at position start and stop at position stop. |
26. List Processing | 484 | |
26.1. Introduction | 484 | |
26.2. LIST_ADD | 484 | LIST_ADD hängt ein weiteres element ans ende einer liste. |
26.3. LIST_CLEAN | 485 | LIST_CLEAN bereinigt eine liste von leeren Elementen. |
26.4. LIST_GET | 485 | LIST_GET liefert das element an der stelle pos einer liste. |
26.5. LIST_INSERT | 486 | LIST_INSERT setzt ein element an der stelle pos in eine liste ein. |
26.6. LIST_LEN | 487 | LIST_LEN liefert die anzahl der elemente einer liste. |
26.7. LIST_NEXT | 487 | LIST_NEXT retrieves the next element of a list, starting from element 1 after reset or first init. |
26.8. LIST_RETRIEVE | 488 | LIST_RETRIEVE liefert das element an der stelle pos einer liste und löscht das element aus der liste. |
26.9. LIST_RETRIEVE_LAST | 489 | LIST_RETRIEVE_LAST liefert das letzte element einer liste und löscht das element aus der liste. |