跳到主要内容

扩展指令库

扩展库: 提供了如数字运算、位运算、比较、计算、采样和微积分控制等,多用于工业流程控制的场景

位逻辑运算

BIT_AS_BYTE(位打包为字节)
BIT_AS_DWORD(位打包为双字)
BIT_AS_WORD(位打包为字)
BitCount(位计数)
BitReset(位清零)
BitSet(位置为1)
BitSetTo(位赋值)
BitTest(位测试)
BitToggle(位取反)
BYTE_AS_BIT(字节拆位)
CLEAR_BITS(掩码位清零)
CountBOOLeanEdges(布尔沿计数)
CountFalInDWORD(双字下降沿计数)
CountFalInDWORDStream(流下降沿计数)
CountRisInDWORD(双字上升沿计数)
CountRisInDWORDStream(流上升沿计数)
DWORD_AS_BIT(双字拆位)
EXTRACT_BIT(位串提取位)
GETBIT(获取指定位)
GetBitStates(位状态检测)
INSERT_BIT(位串插入位)
MOVE_BIT(位串位移位)
PACK(位打包字节)
PUTBIT(写入指定位)
REVERSE(位串反转)
ROL_FUN(循环左移)
ROR_FUN(循环右移)
SET_BITS(掩码位置为1)
SETBIT(强制置位)
SetDifference(集合差集)
SetIntersection(集合交集)
SetSymmetricDifference(集合对称差集)
SetUnion(集合并集)
SWITCHBIT(翻转指定位)
TOGGLE_BITS(掩码位翻转)
UNPACK(字节拆位输出)
WORD_AS_BIT(字拆位)

比较运算

BinaryMaskCompare(掩码按位比较)
CompareLReal(长实数比较)
CompareLRealByPrecision(按精度长实数比较)
DifferenceQuotientFB(差商微分)
IsValueInLimits(范围上下限判断)
IsValueInRange(区间判断)
IsValueInTolerance(容差范围判断)
IsValueInToleranceByTime(时窗容差监测)
LIMITALARM(限幅报警)

信号发生器

BLINK(方波闪烁发生器)
FREQ_MEASURE(频率测量)
Frequency(周期脉冲发生器)
GEN(通用信号发生器)
Impulse(定频脉冲发生器)
PERIOD_MEASURE(信号周期测量)
PulseRelay(脉冲继电器)

选择运算

SEL_FUN(二选一选择)

数学功能算法

AverageAndDeviation(均值与偏差)
CalcDistance_2D(二维距离计算)
CalcDistance_3D(三维距离计算)
FloatingAverage(滑动平均)
GetFactorial(阶乘计算)
NthRoot(任意次开方)
ScaleLinear(线性插值缩放)
SimpleSmoothingFB(简单平滑)
SmoothByPolynomFB(多项式平滑)
StoreMinMax(极值存储)

PID控制

PD(PD控制器)
PID_FB(PID控制器)
PID_FIXCYCLE(固定周期PID控制器)

信号转换指令

DeadBand(死区滤波)
Limiter(限幅器)
PT(PT平滑滤波)

计数器

CTUD(加减计数器)
LCTD(64位减计数器)
LCTU(64位加计数器)
LCTUD(64位加减计数器)

类型转换

BCD_TO_BYTE(BCD码转字节)
BCD_TO_DWORD(BCD码转双字)
BCD_TO_INT(BCD码转整数)
BCD_TO_WORD(BCD码转字)
BYTE_TO_BCD(字节转BCD码)
DWORD_TO_BCD(双字转BCD码)
DWORD_TO_GRAY(双字转格雷码)
GRAY_TO_DWORD(格雷码转双字)
GRAY_TO_WORD(格雷码转字)
INT_TO_BCD(整数转BCD码)
ROUND(四舍五入取整)
TRUNC(截断取整)
WORD_TO_BCD(字转BCD码)
WORD_TO_GRAY(字转格雷码)

通信

RCV(数据接收)
SEND(数据发送)

定时器

LTOF(64位断开延时定时器)
LTON(64位接通延时定时器)
LTP(64位脉冲定时器)

函数运算

CHARCURVE(特征曲线插值)
RAMP_INT(整数斜坡发生器)
RAMP_REAL(实数斜坡发生器)

数学运算

Boxplot_DINT(整数箱线图)
Boxplot_LReal(长实数箱线图)
Boxplot_UDINT(无符号双字箱线图)
CAA_Abs(绝对值)
CAA_Acos(反余弦)
CAA_Asin(反正弦)
CAA_Atan(反正切)
CAA_Atan2(双参数反正切)
CAA_Ceil(向上取整)
CAA_Cos(余弦)
CAA_Exp(指数)
CAA_Floor(向下取整)
CAA_Ln(自然对数)
CAA_Log(常用对数)
CAA_Max(取最大值)
CAA_Min(取最小值)
CAA_Mod(取模)
CAA_Pow(幂运算)
CAA_Round(四舍五入)
CAA_Sign(符号函数)
CAA_Sin(正弦)
CAA_Sqrt(平方根)
CAA_Tan(正切)
CAA_Trunc(截断取整)
CalcHesseRepresentation(海塞法线式计算)
CalcRootLin(线性方程求根)
CalcRootParable(抛物线求根)
CeilF(向上取整)
CharCurve_DINT(整数特征曲线)
CharCurve_LREAL(长实数特征曲线)
CrossProductNormed(归一化叉积)
DifferenceQuotientFC(数组差商)
FloorF(向下取整)
GetLRealSpecialVal(获取长实数特殊值)
GetRealSpecialVal(获取实数特殊值)
Histogram_DINT(整数直方图)
Histogram_LReal(长实数直方图)
Histogram_UDINT(无符号双字直方图)
Hysteresis_DINT(整数迟滞比较)
Hysteresis_LREAL(长实数迟滞比较)
INTEGRAL(积分器)
Integral(高精度积分器)
Integration(梯形积分)
IsLRealNaN(长实数非数判断)
IsLRealNegInfinity(长实数负无穷判断)
IsLRealNumber(长实数有效数字判断)
IsLRealPosInfinity(长实数正无穷判断)
IsRealNaN(实数非数判断)
IsRealNegInfinity(实数负无穷判断)
IsRealNumber(实数有效数字判断)
IsRealPosInfinity(实数正无穷判断)
LimitAlarm_DINT(整数限位报警)
LimitAlarm_LREAL(长实数限位报警)
LIN_TRAFO(线性变换)
LinearTrafo(线性变换实数版)
MakeNormed3D(三维向量归一化)
MeasureFrequence(频率测量)
ProjectPointOnLine(点到线投影)
ProjectPointOnPlane(点到平面投影)
RegressionLine(线性回归)
ROTATION_DIFFERENCE(旋转角度差)
ScalProd3DStand(三维标准点积)
ShellSort_DINT(整数希尔排序)
ShellSort_LReal(长实数希尔排序)
ShellSort_UDINT(无符号双字希尔排序)
SimpleSmoothingFC(数组简单平滑)
SmoothByPolynomFC(数组多项式平滑)
Statistics_DINT(整数数组统计)
STATISTICS_INT(整数数组统计)
Statistics_LREAL(长实数数组统计)
STATISTICS_REAL(实数数组统计)
Truncate(截断取整)
TruncateF(截断取整单精)
VARIANCE(方差计算)

系统支持

AtomicAdd(原子加法)
AtomicAnd(原子按位与)
AtomicDec(原子自减)
AtomicExchange(原子交换)
AtomicInc(原子自增)
AtomicOr(原子按位或)
AtomicReadLInt(原子读取64位整数)
AtomicReadLReal(原子读取64位实数)
AtomicReadLTime(原子读取64位时间)
AtomicReadLWord(原子读取64位字)
AtomicReadULInt(原子读取64位无符号整数)
AtomicSub(原子减法)
AtomicWriteLInt(原子写入64位整数)
AtomicWriteLReal(原子写入64位实数)
AtomicWriteLTime(原子写入64位时间)
AtomicWriteLWord(原子写入64位字)
AtomicWriteULInt(原子写入64位无符号整数)
AtomicXor(原子按位异或)
CAS(比较并交换)
DateTimeToSysTime(日期时间转系统时间)
GetDate(获取当前日期)
GetSystemTime(获取系统日期时间)
GetSystemTimeMS(获取系统毫秒时间)
GetTickCount(获取系统滴答数)
GetTimeOfDay(获取当日时间)
GetTimeZone(获取时区偏移)
HashTable(哈希表集合)
List(列表集合)
MemoryBarrier(内存屏障)
MsToTime(毫秒转时间)
Queue(队列集合)
SemCreate(创建信号量)
SemDestroy(销毁信号量)
SemGetCount(获取信号量计数)
SemPost(释放信号量)
SemWait(等待信号量)
SetSystemTime(设置系统日期时间)
Stack(栈集合)
SysSemCreate(创建系统信号量)
SysSemDelete(删除系统信号量)
SysSemEnter(等待系统信号量)
SysSemLeave(释放系统信号量)
SysSemTry(尝试获取信号量)
SysTimeAdd(时间加法)
SysTimeCompare(时间比较)
SysTimeDiff(时间差计算)
SysTimeFromStr(字符串转系统时间)
SysTimeGetLocalTime(获取本地日期时间)
SysTimeGetTime(获取系统时间)
SysTimeSub(时间减法)
SysTimeToDateTime(系统时间转日期时间)
SysTimeToStr(系统时间转字符串)
SysTimeToULINT(系统时间转微秒数)
TimeToMs(时间转毫秒)
ULINTToSysTime(微秒数转系统时间)