TIA博途S7-1200学习笔记——指令集
目录
- 1 位逻辑运算操作
- 1.1 常开触点
- 1.2 常闭触点
- 1.3 取反触点
- 1.4 线圈
- 1.5 赋值取反
- 1.6 复位输出
- 1.7 置位输出
- 1.8 置位位域
- 1.9 复位位域
- 2.10 SR置位/复位触发器
- 1.11 RS复位/置位触发器
- 1.12 扫描操作数的信号上升沿
- 1.13 扫描操作数的信号下降沿
- 1.14 在信号上升沿置位操作数
- 1.15 在信号下降沿置位操作数
- 1.16 P_TRIG扫描 RLO 的信号上升沿
- 1.17 N_TRIG扫描 RLO 的信号下降沿
- 1.18 R_TRIG检查信号上升沿
- 1.19 F_TRIG:检查信号下降沿
- 1.20 四种沿信号的区别
- 1.20.1
- 1.20.2
- 1.20.3&4
- 2 定时器指令
- 2.1 TP 脉冲定时器
- 2.2 TON 接通延时定时器
- 2.3 TOF 关断延时定时器
- 2.5 TONR 时间累加器定时器
- 3 计数器指令
- 3.1 CTU 加计数器
- 3.2 CTD 减计数器
- 3.3 CTUD 加减计数器
- 4 比较指令
- 5 数学函数
- 6 移动操作
- 7 转换操作
- 8 程序控制指令
- 9 字逻辑运算操作
- 10 移位和循环
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
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 移位和循环
TIA博途S7-1200学习笔记——指令集相关推荐
- TIA博途SCL入门学习(二)常用基本控制语句用法和举例
TIA博途SCL入门学习(二)常用基本控制语句用法和举例 FOR循环语句 FOR循环可以指定循环的次数,在使用这种循环的时候需要先定义一个INT型变量,并指定计数范围,即循环次数,直到循环次数到达设定 ...
- TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式
TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式 TIA博途中创建SCL程序有2种方式,具体可参考以下内容: 在LAD程序段或FBD程序段种可以插入SCL程序段,实现两种语言混合 ...
- TIA博途SCL编程学习21_4个数字中的3个数字的排列组合
从四个数字中选出三个,一共有多少组合?不重复的 排列组合问题.从四个数字中选出三个,一共有C(4,3)=4*3*2/3*2*1=4种组合. 排列组合问题联系实际且生动有趣,但题型多样,思路灵活,因此解 ...
- TIA博途SCL编程学习17_选择法排序
选择排序算法包括升序和降序两种方式,其基本思路如下: 如果是升序排列,则第一轮从数据源中找到最小值排在第一位,第二轮从剩下的数据中寻找最小值排在第二位,第三轮在再从剩下的数据中寻找最小值排在第三位.依 ...
- TIA博途SCL编程学习22_奖金计算
目: 现在越来越多的PLC工程师,电气工程师,系统集成工程师,工资不再是固定的,而是按项目提成发放,这样来激烈PLC工程师,上班不再摸鱼.作为博途工控人,把奖金算法写出来. 企业发放的奖金根据利润提成 ...
- TIA博途SCL编程学习2_sin(x)
计算sin(x),x为弧度.用来练习REPEAT语句. 1. 计算公式.如下图: 2. 创建一个FB块,建立变量.如下图: 3. 编写程序.如下图: 4. 调用监控.如下图: 公众号: 巨控电子 ...
- TIA博途SCL编程学习4_选择法排序
1. 用数组定义20个元素,给定20个实数,按从大到小排列. 2. 添加FB块,建立变量.如下图: 3. 编写程序.如下图: 4. 调用并监控.如下图: 公众号: 巨控电子 TIA Portal博途 ...
- TIA博途SCL编程学习9_百鸡百钱
1. 题目: 我国古代数学家张丘建在<算经>一书中曾提出过著名的"百钱买百鸡"问题,该问题叙述如下:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一:百钱买百鸡,则翁.母 ...
- TIA博途SCL编程学习13_电机正反转加点动
1. 题目: 每次授课总会有学员问电机正反转启停(带点动)用SCL语言应该怎样写的问题,当然对于学习PLC来说控制一台电机也是最直观.最易学的. 有很多种方法,下面的例子是我比较喜欢使用的一种. 以下 ...
- TIA博途SCL编程学习16_歌德巴赫猜想验证
即任一大于2的偶数都可写成两个素数之和,亦称为"强哥德巴赫猜想"或"关于偶数的哥德巴赫猜想". 1966年陈景润证明了"1+2"成立,即&q ...
最新文章
- html复选框位置,html – 对齐复选框和标签
- 2014-04-03研究笔记整理
- Vue js 的生命周期(看了就懂)
- python 第三方库
- asp.net core 系列之Startup
- react 消息订阅-发布机制(解决兄弟组件通信问题)
- python的moviepy库 打包 报错: ‘moviepy.audio.fx.all‘ has no attribute ‘audio_fade 的解决办法
- dj电商-模型类设计-商品模块数据表
- 锤子濒危、金立倒闭,华米 OV 们如何艰难求生?
- [转] Hibernate一级缓存、二级缓存
- Azkaban时区问题导致调度差1天
- 多人操作sqlite3数据库冲突问题解决方法
- 三菱q系列plc 和电脑socket_三菱Q系列串口和台达变频器RTU通信
- 破防了,原来这才是机房运维的正确方法
- pillow图像格式转化和缩放操作
- 文件截取\裁剪工具软件
- Jungle Scout中国市场首发亚马逊FBA卖家百万美金案例中文版详解
- 使用Curl对Kubernetes进行调试!
- Mongo第三个参数的用法
- 如何在大屏幕上滚动播放视频、图片和文字