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操作数信号状态

SR置位/复位触发器-信号真值表

SRIQ
00保持
01复位
10置位
11复位

1.11 RS复位/置位触发器

在这里插入图片描述

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

RS复位/置位触发器-信号真值表

SIRQ
00保持
01复位
10置位
11置位

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_TRIGR_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的设定值装载到计数器;
计数器值对应的输出状态

数值范围QUQD
(+∞,0 ]01
(0,PV)00
[PV,+∞)10

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

  • 140
    点赞
  • 905
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
S7-1200控制器是西门子公司推出的一款工业自动化控制器,其具有强大的功能和灵活性。在S7-1200控制器中,实现高低字节或高低字调换一般可以采用以下四种方案。 1. 使用位移操作:通过使用逻辑运算符和位移操作,可以将高低字节或高低字进行调换。具体步骤如下:首先将原始数据拆分成高低字节或高低字,并定义一个中间变量;然后使用位移操作将高低字节或高低字进行调换;最后再将调换后的字节重新组合成新的数据。 2. 使用位运算:利用位运算的特性,可以将高低字节或高低字进行调换。具体步骤如下:首先将原始数据拆分成高低字节或高低字,并定义一个中间变量;然后通过使用位运算符进行异或操作,将字节进行调换;最后将调换后的字节重新组合成新的数据。 3. 使用中间变量:可以通过定义一个中间变量来实现高低字节或高低字的调换。具体步骤如下:首先将原始数据拆分成高低字节或高低字,并定义一个中间变量;然后将高低字节或高低字赋值给中间变量,实现字节的调换;最后再将调换后的字节重新组合成新的数据。 4. 使用编程语言提供的函数:有些编程语言提供了用于字节调换的函数,可以直接调用这些函数实现高低字节或高低字的调换。具体步骤如下:首先将原始数据拆分成高低字节或高低字节,然后调用编程语言提供的函数进行调换;最后将调换后的字节重新组合成新的数据。 以上四种方案都可以在S7-1200控制器中实现高低字节或高低字的调换,具体选择哪种方案取决于具体的应用场景和编程要求。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驽马同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值