TIA博途S7-1200学习笔记——指令集

1 位逻辑运算操作

1.1 常开触点

  • —| |—

1.2 常闭触点

  • —| / |—

1.3 取反触点

  • —|NOT|—

输入为0,输出为1,输入为1输出为0;

1.4 线圈

  • —( )—

1.5 赋值取反

  • —( / )—

将逻辑运算的结果进行取反,然后将其赋值给这个线圈的操作数。

1.6 复位输出

  • —( R )—

1.7 置位输出

  • —( S )—

1.8 置位位域

  • —( SET_BF )—

1.9 复位位域

  • —( RESET_BF )—

2.10 SR置位/复位触发器

在这里插入图片描述

参数 说明
S 使能置位
RI 使能复位,复位优先
SR 待使能操作数
Q 操作数信号状态

信号真值表

S RI SR
1 0 置位
0 1 复位
1 1 复位
0 0 保持

1.11 RS复位/置位触发器

在这里插入图片描述

参数 说明
R 使能复位
SI 使能置位,置位优先
SR 待使能操作数
Q 操作数信号状态

信号真值表

S RI SR
1 0 复位
0 1 置位
1 1 置位
0 0 保持

1.12 扫描操作数的信号上升沿

  • —| P |—

检测到信号上升沿时,操作数 1 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0”。

参数 说明
操作数1 要扫描的信号
操作数2 保存上一次查询的信号状态的边沿存储位

1.13 扫描操作数的信号下降沿

  • —| N |—

检测到信号下降沿时,操作数 1 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0

参数 说明
操作数1 要扫描的信号
操作数2 保存上一次查询的信号状态的边沿存储位

1.14 在信号上升沿置位操作数

  • —( P )—

当输入查询到上升沿时,操作数置位为1一个程序周期,然后其它时间全为0;

参数 说明
操作数1 上升沿置位的操作数
操作数2 边沿存储位

1.15 在信号下降沿置位操作数

  • —( N )—

当输入查询到下降沿时,操作数置位为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

P_TRIG

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 移位和循环

版权声明:本文为CSDN博主「驽马zb」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37424623/article/details/116518832

生成海报
点赞 0

驽马zb

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

ESP8266 ds18b20温度传感器

先到GitHub上下载库OneWire和DallasTemperature 下载好的例程,此程序是arduino上的例程,可以修改引脚为ESP8266的引脚 // Include the libraries we

OV7670摄像头模块资料

OV7670摄像头模块资料 一、实物图和原理图 二、模块简介 OV7670 是 OV( OmniVision)公司生产的 CMOS VGA 图像传感器。该传感器体积小、工作电压低,提供单片 VGA

汇编实现LED点亮

汇编点亮一个LED MCS-51单片机 也许C语言人人都会,但使用汇编语言就不一定了。 使用汇编语言点亮一个LED灯 程序: ORG 0000H MAIN:CLR P2.0 LJMP MAINEND 注释如下&#