1 位逻辑运算操作
1.1 常开触点
1.2 常闭触点
1.3 取反触点
输入为0,输出为1,输入为1输出为0;
1.4 线圈
1.5 赋值取反
将逻辑运算的结果进行取反,然后将其赋值给这个线圈的操作数。
1.6 复位输出
1.7 置位输出
1.8 置位位域
1.9 复位位域
2.10 SR置位/复位触发器
参数 |
说明 |
S |
使能置位 |
RI |
使能复位,复位优先 |
SR |
待使能操作数 |
Q |
操作数信号状态 |
SR置位/复位触发器-信号真值表
S |
RI |
Q |
0 |
0 |
保持 |
0 |
1 |
复位 |
1 |
0 |
置位 |
1 |
1 |
复位 |
1.11 RS复位/置位触发器
参数 |
说明 |
R |
使能复位 |
SI |
使能置位,置位优先 |
SR |
待使能操作数 |
Q |
操作数信号状态 |
RS复位/置位触发器-信号真值表
SI |
R |
Q |
0 |
0 |
保持 |
0 |
1 |
复位 |
1 |
0 |
置位 |
1 |
1 |
置位 |
1.12 扫描操作数的信号上升沿
检测到信号上升沿时,操作数 1 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0”。
|参数|说明|
|–|–|–|
|操作数1|要扫描的信号 |
|操作数2|保存上一次查询的信号状态的边沿存储位|
1.13 扫描操作数的信号下降沿
检测到信号下降沿时,操作数 1 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0
|参数|说明|
|–|–|–|
|操作数1|要扫描的信号 |
|操作数2|保存上一次查询的信号状态的边沿存储位|
1.14 在信号上升沿置位操作数
当输入查询到上升沿时,操作数置位为1一个程序周期,然后其它时间全为0;
|参数|说明|
|–|–|–|
|操作数1|上升沿置位的操作数|
|操作数2|边沿存储位|
1.15 在信号下降沿置位操作数
当输入查询到下降沿时,操作数置位为1一个程序周期,然后其它时间全为0;
|参数|说明|
|–|–|–|
|操作数1|下降沿置位的操作数|
|操作数2|边沿存储位|
1.16 P_TRIG扫描 RLO 的信号上升沿
检测到信号上升沿时,该指令输出 Q 将立即返回程序代码长度的信号状态“1”。在其它任何情况下,该输出返回的信号状态均为“0”。
|参数|说明|
|–|–|–|
|CLK|沿信号输入端,当前RLO|
|操作数|保存上一次查询的信号状态的边沿存储位|
|Q|边沿检测结果|
1.17 N_TRIG扫描 RLO 的信号下降沿
检测到信号下降沿时,该指令输出 Q 将立即返回程序代码长度的信号状态“1”。在其它任何情况下,该输出返回的信号状态均为“0”。
|参数|说明|
|–|–|–|
|CLK|沿信号输入端,当前RLO|
|操作数|保存上一次查询的信号状态的边沿存储位|
|Q|边沿检测结果|
1.18 R_TRIG检查信号上升沿
该指令将输入 CLK 的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指令检测到输入 CLK 的状态从“0”变成了“1”,就会在输出 Q 中生成一个信号上升沿,输出的值将在一个循环周期内为 TRUE 或“1”。
|参数|说明|
|–|–|–|
|EN|使能输入|
|ENO|使能输出|
|CLK|达到信号,将查询该信号的边沿
|Q|边沿检测的结果|
1.19 F_TRIG:检查信号下降沿
该指令将输入 CLK 的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指令检测到输入 CLK 的状态从“1”变成了“0”,就会在输出 Q 中生成一个信号下降沿,输出的值将在一个循环周期内为 TRUE 或“1”。
|参数|说明|
|–|–|–|
|EN|使能输入|
|ENO|使能输出|
|CLK|达到信号,将查询该信号的边沿
|Q|边沿检测的结果|
1.20 四种沿信号的区别
1.20.1
在P触点上面的I0.0的上升沿,该触点接通一个扫描周期。因此P触点用于检测触点上面的地址的上升沿,并且直接输出上升沿脉冲。其他3种指令都是用来检测逻辑运算结果RLO(即流入指令输入端的能流)的上升沿。
1.20.2
在流过P线圈的能流的上升沿,线圈上面的地址Q0.1在一个扫描周期为1状态。因此P线圈用于检测能流的上升沿,并用线圈上面M2.2的触点来输出上升沿脉冲。其他3种指令都是直接输出检测结果。
1.20.3&4
R_TRIG指令与P_TRIG指令都是用于检测流入它们的CLK端的能流的上升沿,并用Q端直接输出检测结果。其区别在于R_TRIG是函数块,用它的背景数据块DB3保存上一次扫描循环CLK端信号的状态,
而P_TRIG指令用边沿存储位M10.3来保存它。P 触点和P线圈分别用边沿存储位M10.0和M10.1来保存它们的输入信号的状态。
对比项目 |
P触点 |
P线圈 |
P_TRIG |
R_TRIG |
沿信号来源 |
靠自己 |
靠别人 |
靠别人 |
靠别人 |
输出脉冲 |
给别人 |
给自己 |
给别人 |
给别人 |
边沿存储 |
自己的位 |
自己的位 |
自己的位 |
背景数据块 |
2 定时器指令
IEC:国际电工委员会缩写,IEC定时器表示国际标准定时器。
2.1 TP 脉冲定时器
当 IN 端收到一个上升沿信号,Q开始输出能流并开始计时,当计时时间达到PT设定时间后,Q不再有能流输出,知道下有一个上升沿信号输入到IN端口。
参数 |
说明 |
IN |
启动输入 |
PT |
脉冲持续时间 |
Q |
脉冲输出 |
ET |
当前时间值 |
2.2 TON 接通延时定时器
【延时接通,瞬时关断】当IN有能流输入时,且保持一直有,则TON 开始计时,当计时时间达到PT设定时间后,Q输出能流,且只要IN有能流输入,Q便一直有能流输出。
参数 |
说明 |
IN |
启动输入 |
PT |
接通延时持续时间 |
Q |
超过时间PT后置位的输出 |
ET |
当前时间值 |
2.3 TOF 关断延时定时器
【瞬时接通,延时关断】当IN有能流输入时,Q输出能流,且只要IN有能流输入,Q便一直有能流输出;当IN从接通改为断开后,则TON 开始计时,此时Q仍有能流输出,当计时时间达到PT设定时间后,Q被复位。
参数 |
说明 |
IN |
启动输入 |
PT |
关断延时的持续时间 |
Q |
超过时间PT后复位的输出 |
ET |
当前时间值 |
2.5 TONR 时间累加器定时器
描述: 当IN端接通时,TNOR开始计时,当IN断开时,TNOR停止计时,但当前计时时间不清零,下次IN再接通时计时时间累加,当累加计时时间达到PT设定值后,Q输出能流,此时无论IN 是否接通都不在影响Q输出能流。
当R收到一个上升沿信号时,TONR累计时间清零,Q被复位。
参数 |
说明 |
IN |
启动输入 |
R |
复位输入 |
PT |
时间记录最长持续时间 |
Q |
超过时间PT后要置位的输出 |
ET |
累计时间值 |
3 计数器指令
3.1 CTU 加计数器
描述: CU端每收到一个上升沿信号,CTU便做加一计数,当计数值累加到PV设定值后,Q有能力输出;当R端接收到一个上升沿信号后,Q输出复位,CTU计数清零。
参数 |
说明 |
CU |
计数输入 |
R |
复位输入 |
PV |
置位输出Q的值 |
Q |
计数器状态 |
CV |
当前计数器的值 |
3.2 CTD 减计数器
描述: 程序刚启动时,当CD和LD都没有产生上升沿信号时,Q有能流输出;当LD收到一个上升沿信号,便将PV设定值装载到CTD计数器中,并且复位Q;每当CD收到一个上升沿信号时,CTD自减一,当减到0时,置位Q输出能流。
参数 |
说明 |
CD |
计数输入 |
LD |
转载输入 |
PV |
装载的计数值 |
Q |
计数器状态 |
CV |
当前计数器的值 |
3.3 CTUD 加减计数器
参数 |
说明 |
CU |
加计数输入 |
CD |
减计数输入 |
R |
复位输入 |
LD |
转载输入 |
PV |
装载的计数值 |
QU |
加计数器状态 |
QD |
减计数器状态 |
CV |
当前计数器的值 |
描述: cu让计数器自加一,CD让计数器自减一,R给计数器计数值清零,LD将PV的设定值装载到计数器;
计数器值对应的输出状态
数值范围 |
QU |
QD |
(+∞,0 ] |
0 |
1 |
(0,PV) |
0 |
0 |
[PV,+∞) |
1 |
0 |
4 比较指令
指令 |
描述 |
CMP== |
等于 |
CMP<> |
不等于 |
CMP>= |
大于等于 |
CMP<= |
小于等于 |
CMP> |
大于 |
CMP< |
小于 |
IN_Range |
值在范围内 |
OUT_Range |
值不在范围内 |
—| OK |— |
检查有效性 |
—| NOT_OK |— |
检查无效性 |
检查有效性指令和检查无效性指令只针对浮点数数据类型进行查验。
5 数学函数
指令 |
描述 |
CALCULATE |
计算函数 |
ADD |
加 |
SUB |
减 |
MUL |
乘 |
DIN |
除法 |
MOD |
取余 |
NEG |
求二进制补码 |
INC |
递增 |
DEC |
递减 |
ABS |
计算的绝对值 |
MIN |
获取最小值 |
MAX |
获取最大值 |
LIMIT |
设置限值 |
SQR |
计算平方 |
SQRT |
计算平方根 |
LN |
计算自然数对数 |
EXP |
计算指数值 |
SIN |
计算正弦值 |
COS |
计算余弦值 |
TAN |
计算正切值 |
ASIN |
计算反正弦值 |
ACOS |
计算反余弦值 |
ATAN |
计算反正切值 |
FRAC |
返回小数 |
EXPT |
取幂 |
6 移动操作
<略>学习中……
7 转换操作
<略>学习中……
8 程序控制指令
<略>学习中……
9 字逻辑运算操作
<略>学习中……
10 移位和循环