跳到主要内容

扩展指令库

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

位逻辑运算​

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(微秒数转系统时间)