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

2023-11-05

目录

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置位/复位触发器-信号真值表

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 扫描操作数的信号上升沿

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TIA博途S7-1200学习笔记——指令集 的相关文章

  • Webdriver 和 Chrome:DevToolsActivePort 文件不存在

    我正在尝试安装 配置 Selenium 以在队友不在办公室时进行一些 UI 测试 我已经安装了 Selenium Webdriver 和 Eclipse 以及 Chrome Firefox 和 Edge 浏览器驱动程序 我有一些非常简单的脚
  • 如何按出现顺序创建 Java 文档?

    我有一个非常大的 java 类文件 其中有很多成员 如何为此创建 HTML 文档 以便它按出现顺序显示成员 而不按成员类型排序 方法 常量和变量 例如 如果我的 Java 代码是 private int typeOfAction 1 not
  • JTextPane 的样式是否具有类似控制台的格式?

    有没有办法使 JTextPane 中的文本看起来与控制台输出的文本相似 我的意思是 基本上 每个字符如何具有相同的宽度 以便 ASCII 艺术或间距缩进之类的东西可以正常工作 例如 目前 如果我输入 First 然后输入 5 个空格 然后在
  • Java用逗号或点和两个小数值验证价格[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 验证必须用点或逗号表示价格值且最多具有两位小数值的字符串的最佳方法和解决方案是什么 RegExp java text DecimalFor
  • 同步 Set 线程的构造函数副本安全吗?

    获取同步版本的最简单方法java util Set将使用Collections synchronizedSet 像这样 Set mySyncSet Collections synchronizedSet new HashSet The Ja
  • java中使用多个分隔符分割字符串

    我正在研究一种数据挖掘算法 我需要使用多个单词来标记字符串 我有一个单独的文件 其中包含所有停用词 我需要做的是通过任何作为分隔符的单词 停用词 来标记输入字符串 例如 如果文件包含停用词 a is and of that 输入字符串变为
  • 为什么 java.util.concurrent.FutureTask 不可序列化

    我目前正在使用 Apache Wicket 我有一些 REST 调用 每个调用需要几秒钟 Wicket 只允许同步调用 ajax 所以我尝试使用 Future 和 Callable 这是我的课程的一部分 public abstract cl
  • 如何从号码选择器中跳过某些号码?

    选号器 np NumberPicker findViewById R id numberPicker1 np setMaxValue 200 np setMinValue 1 Button b Button findViewById R i
  • 在 Java 中,对复杂模型使用接口是否会带来性能提升?

    标题很难理解 但我不知道如何以另一种方式总结 欢迎任何澄清的编辑 我被告知并建议使用接口来提高性能 即使在并不特别需要常规 接口 角色的情况下也是如此 在这种情况下 对象是大模型 MVC 意义上的 具有许多方法和字段 向我推荐的 好用处 是
  • JUnit 集成测试的“IT.java”文件名后缀(而不是“Test.java”)是否是一种约定? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我习惯于用一个名称来命名我的 JUnit 集成测试 Test java最后例如DatabaseConnectionTest java并将它们放在
  • Android O - 通知通道和NotificationCompat

    我无法改变这种感觉 Android 开发人员再次提出了一些新东西 却让每个人都对他们如何看待该功能的使用一无所知 我说的是 Android O 中的通知通道 多年来 我一直使用兼容性支持库来避免处理特定平台的细节 即 Notificatio
  • 有人让动物嗅探器插件工作吗?

    maven animal sniffer 插件承诺告诉我我的代码是否有任何对 Java 1 6 或更高版本 API 的引用 这对于我们这些在 MacOSX Snow Leopard 只有官方 1 6 上开发但需要交付到 1 5 环境的人来说
  • 从多个文本文件读取数据[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是Java编程新手 我正在尝试打印
  • 使用可变参数绘制星形

    我的任务是编写程序 允许用户绘制星星 星星的大小和手臂数量可能不同 当我处理基本星时 我使用 GeneralPath 和点表进行处理 int xPoints 55 67 109 73 83 55 27 37 1 43 int yPoints
  • 为数组生成随机索引

    我知道对于普通整数来说这是这样 但是有索引这样的东西吗 Random dice new Random int n dice nextInt 6 System out println n 你是什 么意思 数组索引是普通数字 所以你可以轻松地做
  • ACTION_MEDIA_BUTTON 的广播接收器不起作用

    我正在为 Android 操作系统版本 4 0 3 ICS 编写 Android 应用程序 问题是我没有从 BroadcastReceiver 的 onReceive 方法中的 Log d 获得输出 这意味着我的应用程序没有正确处理广播 我
  • 在 Android 中创建硬链接和符号链接

    我正在创建一个应用程序 我想在其中使用 Android 外部内存文件系统中的硬链接和符号链接 我尝试过使用命令 Os link oldpath newpath Os link oldpath newpath 但是 当我尝试这样做时 我收到此
  • Selenium WebDriver (java) 可以与浏览器的检查工具元素选择器交互吗?

    通过使用 selenium 我可以访问位于检查选项卡中的浏览器元素选择器 在浏览器中按 Ctrl Shift C 吗 我想使用该选择器 指向 一个元素 并使其在浏览器中突出显示 例如 简单的事情如下 WebElement elem driv
  • a.equals(a) 什么时候返回 false?

    我想知道在哪些情况下java中的变量不能相等 使用equals 方法 自身 我这里说的不是对象而是变量本身 只要代码编译并在调用 equals 时返回 false 到目前为止 我发现的唯一情况是 public class A public
  • Spring Boot 应用程序崩溃

    请告诉我哪里有问题 我尝试启动我的第一个在 Spring Boot 上开发的应用程序 我已经在 SpringMVC 上有了简单的 Web 项目 现在我喜欢在 BOOT 上构建它 这是错误输出 org springframework bean

随机推荐

  • Javaweb实现员工信息管理系统

    员工信息管理系统 一 项目介绍 1 项目用到的技术栈 开发工具 idea 语言 java js html ajax 数据库 MySQL 服务器 Tomcat 框架 mybatis jQuery layui 2 项目实现功能 管理员 部门负责
  • go 进阶 三方库之 go-redis

    目录 一 基础 初始化连接 使用示例 1 常用操作与string 2 操作hash类型 3 操作list 4 操作set 5 操作zset 6 发布与订阅 7 事物操作 8 执行Lua脚本 二 基于redis实现分布式锁 封装锁结构体 lu
  • 机器学习——生成分类数据的坐标系边界需要用到的技术方法

    0 前言 如果遇到一种应用场景需要将x轴数据和y轴数据所有点映射到坐标系中 需要得到坐标系中x和y映射的坐标点 就要用到meshgrid把x和y映射到坐标系中 然后把得到的结果用ravel把结果转成一维的 用np c 把x数据和y数据堆叠在
  • HTML01

    若有 double p x 10 int i 5 使指针变量 p指向元素 x 5 的语句为 正确答案 A 你的答案 A 正确 p x i p x p x i p x i 设函数fun和实参数组的说明形式为 void fun char ch
  • 解决Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“报错

    Microsoft Visual C 14 0 or greater is required Get it with Microsoft C Build Tools 具体报错如下 Building wheel for cyac pyproj
  • 老猿学5G:融合计费基于流计费的触发器Triggers

    前往老猿Python博文目录 一 概述 每个触发条件都是一个可计费事件 SMF中的功能体CTF在用户上网时达到一定条件就会向CHF上报流量 而CTF什么时候触发流量上报是由CTF中的触发器来控制的 当用户UE发起上网行为时 SMF中的CTF
  • 汇编逆向-Qt

    Qt源码解析 索引 汇编逆向 授权破解示例分析 问题模拟 运行环境 x64dbg Windows 10 Qt5 12 3 示例代码 使用Qt显示当前时间 模拟一般授权软件的时间判断逻辑 当时间超过授权日期后就提示授权过期 没有Qt经验的同学
  • Java中方法定义和调用的学习

    方法其实就是若干语句的功能集合 参数 原料 就是进入方法的数据 返回值 原产物 就是从方法中出来的数据 定义方法的完整格式 修饰符 返回值类型 方法名称 参数类型 参数名称 方法体 return 返回值 修饰符 现阶段的固定写法 publi
  • VSCode 之 设置 settings.json 配置文件

    这篇文章主要介绍了 VSCode settings json 配置 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 VSCode 从插件库里安装 eslint 和 prettier 两个 插件 也 实现自动格式化
  • 微信小程序怎么和后台服务器交互

    要实现微信小程序和后台服务器之间的交互 可以使用以下方式 1 小程序发起HTTP请求 后台服务器接收和处理请求 返回相应结果 这是最常用的方式 可以使用小程序提供的wx request API来发送HTTP请求 后台服务器可以使用任何语言和
  • 获取动画状态机中动画片段的时间长度

    获取动画状态机中动画片段的长度 非常简单的代码 public float GetClipLength Animator animator string clipName if null animator string IsNullOrEmp
  • wps保存后怎么恢复

    单击窗口左上角的 WPS文字 或WPS表格 在出现的菜单中单击 备份管理 也可以通过任务窗格 文件菜单等 好多入口 单击右下角的 查看其他备份 按钮 找一下有没有你要的历史文档
  • jenkins学习笔记第十六篇 Jenkins·配置 Publish Over SSH 插件——访问远程服务器

    一般而言 Jenkins 不单单需要做到将远程仓库里的代码进行编译或者打包 还需要将编译后的代码上传到远程服务器 并且执行一些其他的命令 即 Github代码 编译得到war包 上传远程服务器 执行远程命令 Jenkins 是通过 SSH
  • STM32笔记15--串口通信基本原理

    15 1 串行通信接口背景知识 15 2 STM32F1串口框图讲解 参考资料 STM32开发指南 库函数 5 3 usart串口文件夹 第九章 串口实验 1 串行通信接口背景知识 首先 处理器与外部通信有两种常见方式 并行通信和串行通信
  • 架构的概念与介绍

    1 什么是架构和架构本质 在软件行业 对于什么是架构 都有很多的争论 每个人都有自己的理解 此君说的架构和彼君理解的架构未必是一回事 LInux有架构 MySQL有架构 JVM也有架构 使用Java开发 MySQL存储 跑在Linux上的业
  • r语言聚类分析_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...

    在上一讲中 我们讲述了针对样本进行聚类的分析方法 Q型聚类 今天我们将详细讲解针对变量数据进行的聚类分析 系统聚类之R型聚类 我们要将数据变量进行聚类 但不知道要分成几类 或者没有明确的分类指标的时候 就需要用到R型聚类 R型聚类分析不但可
  • 根据Sql生成ER图

    原文 https blog csdn net qq 17010367 article details 79212850 commentsedit 1 根据SQL文件生成ER图 首先准备好SQL文件 然后在PowerDesigner 里 点击
  • 字符串表达式校验&求值(C#实现) - 附代码

    一 参考文献 严蔚敏 数据结构 C语言版 二 功能演示 1 测试例子 2 测试结果 三 对表达式进行校验 怎么对输入的字符串表达式进行校验呢 1 对表达式按操作符进行拆分 返回一个字符串数组 代码 private static string
  • Oracle数据库删除重复数据

    Oracle数据库中如何删除重复数据 第一种情况 部分字段重复数据的删除 先查询出那些数据是重复的 select 字段1 字段2 count from 表名 group by 字段1 字段2 having count gt 1 将上面的大于
  • 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复位 置位