西门子PLC指令教程 应用指令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令格式:STOP
(无操作数)
返回本节
•第5章 应用指令
5.1.3 看门狗
WDR,看门狗复位指令。当使能输入有效时, 执行WDR指令,每执行一次,看门狗定时器就 被复位一次。用本指令可用以延长扫描周期, 从而可以有效避免看门狗超时错误。
指令格式:WDR
(无操作数)
程序实例:指令STOP、END、WDR的应用如 图5.2所示。
NEXT
//循 环 结 束 指 令
•图5.6 程序循环(2)
返回本节
•第5章 应用指令
5.1.7 顺序控制继电器
1. 顺序继电器指令 (1)定义顺序段(2)段开始 (3)段结束 (4)段转移 2. 注意事项 3. 顺序结构 4. 程序实例
•第5章 应用指令
本例是用顺序 继电器实现的 顺序控制中的 一个步的程序 段,这一步实 现的功能是使 两个电机M1和 M2起动运行20 秒后停止,切 换到下一步。
10
//标 志 程 序 段
LD
I0.3
//
S
Q 1.0 , 3 //把 从 Q 1.0 开 始 的
//3 个 输 出 点 置 1
• 5.3
图 程 序 跳 转 实 例
•第5章 应用指令
5.1.5 子程序指令
1. 建立子程序 2. 2. 子程序调用 3. 带参数的子程序调用
•第5章 应用指令
1. 建立子程序
程序如图5.7所 示。
L S C R S 0.5
//由 S0.5 控 制 的 //顺 序 步 的 开 始 //
LD
S M 0.0
S
Q 1.2, 2
TON T50, +200
//装 入 常 开 触 点 //将 Q 1.2 和 Q 1.3 //置 1 //通 电 延 时 //本 步 的 持 续 时 间 //为 20s
//使能输入 //调用子程序 //SBR_1
•图5.4 子程序调用举例
•第5章 应用指令
3. 带参数的子程序调用
(1)子程序参数 ➢变量名 ➢变量类型 ➢数据类型 (2)参数子程序调用的规则 (3)变量表使用 (4)程序实例
•第5章 应用指令
以上面指令为例,局部变量表分配如表5.1所示, 程序段如图5.5所示。
(1)中断调用指令 (2)注意事项 (3)程序实例
•第5章 应用指令
(3)程序实例
控制要求:
程序实现的功能是调 用 I0.1输 入点 的 上 升 沿中断,若发现I/O错 误,则禁止本中断, 用外部条件可以禁止 全局中断。
程序实现:本程序如 图5.10所示。
LD
I0.4
//使 能 输 入
ATC H ENI
返回本节
•第5章 应用指令
5.1.2 结束及暂停
1. 结束指令
结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效时,终 止用户主程序。
MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令。
用Micro/Win32编程时,编程人员不需手工输
•第5章 应用指令
LD FOR
M0.0 // 使能输入 VW10, +1, +20 //循环开始
//与第 2 个 NEXT //之间为一级循环体
LD FOR
M0.1 //使能输入
VW20, +1, +5
//循环开始
//与第 1 个 NEXT
//之间为二级循环体
•图5.6 程序循环(1)
•第5章 应用指令
指令格式:AENO(无操作数)
•第5章 应用指令
•AENO指令只能在语句表中使用,将栈顶值和 ENO位的逻辑与运算,运算结果保存到栈顶。程 序如图5.8所示。
LD +I AENO ATCH
I0.0 VW200, VW204
INT_0, 10
//使能输入 //整数加法指令,VW200+VW204=VW204 //与ENO指令,判断整数加法指令执行是否出错 //如果加法指令执行正确,则调用中断程序INT_0 //中断事件号为10
LD WDR
A
M 0.4
I0.2
//用 触 点 重 新 触 发 //看 门 狗 定 时 器
//
•图5.2 停止、结束、看门狗指令
返回本节
•第5章 应用指令
5.1.4 跳转
1. 跳转指令 与跳转相关的指令有下面两条: (1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到 同一程序中的指定标号n处执行。执行跳转指令时,逻 辑堆栈的栈顶值总是1。 (2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳 转到的目的位置。操作数n为0~255的字型数据。
•第5章 应用指令
(2)中断优先级 中断优先级由高到低依次是:通信中断、输入 输出中断、时基中断。每种中断中的不同中断 事件又有不同的优先权。 主机中的所有中断事件及优先级如表5.4所示。
•第5章 应用指令
•表5.4 中断事件及优先级
•第5章 应用指令
•第5章 应用指令
2. 中断调用 即调用中断程序,使系统对特殊的内部或外部 事件作出响应。系统响应中断时自动保存逻辑 堆栈、累加器和某些特殊标志存储器位,即保 护现场。中断处理完成时,又自动恢复这些单 元原来的状态,即恢复现场。
•第5章 应用指令
2. 子程序调用
(1)子程序调用和返回指令 ➢ 子程序调用 ➢子程序条件返回
(2)注意事项 (3)应用实例
•第5章 应用指令
图5.4所示的程序实现用外部控制条件分别调用 两个子程序。
LD
I0.0
CALL S2
//使能输入 //调用子程序S2 //
LD CALL
I0.0 SBR_1
可 用 编 程 软 件 Edit 菜 单 中 的 Insert 选 项 , 选 择 Subroutine,以建立或插入一个新的子程序, 同时在指令树窗口可以看到新建的子程序图标, 默认的程序名是SBR_n,编号n从0开始按递增 顺序生成,可以在图标上直接更改子程序的程 序名。在指令树窗口双击子程序的图标就可对 它进行编辑。
LD
T50
S C RT S 0.6
SCRE
//延 时 时 间 到 //作 为 切 换 条 件 //步 转 移 //切 换 到 下 一 步 //同 时 关 本 步 // //本 步 结 束 标 志
返回本节
•第5章 应用指令
5.1.8 与ENO指令
AENO,与ENO指令。ENO是梯形图和功能框 图编程时指令盒的布尔能流输出端。如果指令 盒的能流输入有效,同时执行没有错误,ENO 就置位,将能流向下传递。当用梯形图编程时, 且指令盒后串联一个指令盒或线圈,语句表语 言中用AENO指令描述。
•第5章 应用指令
5.2.4 高速计数
1. 高速计数器介绍 2. 高速计数指令 3. 高速计数器的使用方法 4. 应用实例
2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。 当使能输入有效时,系统将包含当前时间和日 期,一个8字节的缓冲区将装入时钟。
•第5章 应用指令
时钟缓冲区的格式如表5.2所示。
•表5.2 时钟缓冲区
•第5章 应用指令
程序实例 控制要求: 编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时 钟缓冲区从VB100开始。 程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100 开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读 写时钟程序如图5.9所示。
IN T_1, 2
//中 断 调 用 //中 断 程 序 //为 IN T_1 //事 件 号 为 2 //全 局 开 中 断 //
LD DTCH
SM 5.0 2
//检 查 I/O 错 //若 I/O 有 错 //断 开 本 中 //断 连 接
LD
I0.5
D ISI
//外 部 条 件 //全 局 中 断
//禁 止
•图5.10 中断调用程序
•第5章 应用指令
3. 中断程序 (1)构成 中断程序必须由三部分构成:中断程序标号、 中断程序指令和无条件返回指令。 (2)要求 (3)编制方法 (4)注意事项
返回本节
•第5章 应用指令
5.2.3 通信
通信指令包括: XMT,自由口发送指令 RCV,自由口接收指令 NETR,网络读指令 NETW,网络写指令 GPA,获取口地址指令
入MEND指令,而是由软件自动加在主程序结
尾。指令格式:END
(无操作数)
•第5章 应用指令
2. 暂停指令
STOP,暂停指令。使能输入有效时,该 指令使主机CPU的工作方式由RUN切换 到STOP方式,从而立即终止用户程序的 执行。
STOP指令在梯形图中以线圈形式编程。 指令不含操作数。指令的执行不考虑对特 殊标志寄存器位和能流的影响。
•第5章 应用指令
LD EU CALL
LD TODR
MOVB
I0.4
//装入触点
//上跳沿触发
SBR_0
//调用子程序 //子程序 SBR_0
//作用为写时钟
SM0.0 VB100
//运行有效 // 从 VB100
//读时钟值
//
//
VB104, QB0 //传送指令 //将分钟值 //从 QB0 输出
•第5章 应用指令
第5章 应用指令知识
5.1 程序控制类指令 5.2 特殊指令
•第5章 应用指令
5.1 程序Leabharlann Baidu制类指令
5.1.1 空操作 5.1.2 结束及暂停 5.1.3 看门狗 5.1.4 跳转 5.1.5 子程序指令 5.1.6 程序循环 5.1.7 顺序控制继电器 5.1.8 与ENO指令
//复 位 输 入 端
C 30, V W 100 //增 减 计 数
//设 定 脉 冲 数
//存 于 V W 100
LD I>= JM P LBL
C 30, +500 //判 断 计 数 器
//当 前 值 是 否
//大 于 500
10
//条 件 满 足 , 跳 转
//到 标 号 10 开 始
//的 程 序 段
•图5.8 与ENO指令
返回本节
•第5章 应用指令
5.2 特殊指令
5.2.1 时钟指令 5.2.2 中断 5.2.3 通信 5.2.4 高速计数 5.2.5 高速脉冲输出 5.2.6 PID回路指令
返回本章首页
•第5章 应用指令
5.2.1 时钟指令
1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时, 系统读当前时间和日期,并把它装入一个8字节 的缓冲区。
•表5.1 局部变量表例
•第5章 应用指令
LD CALL
I0.0
//装入常开触点
SBR_0,I0.2,VB20,VD30// //调用子程序SBR_0
//含有3个参数:
//分别为布尔、字节
//和双字型
•图5.5 带参数的子程序调用
返回本节
•第5章 应用指令
5.1.6 程序循环
1. 循环开始 2. 循环结束 3. 3. 程序实例
•第5章 应用指令
程序实例: 如右图5.3所示。用增减计数器进行计数, 如果当前值小于500,则程序按原顺序执 行,若当前值超过500,则跳转到从标号 10开始的程序执行。
返回本节
•第5章 应用指令
LD LD LD CTUD
I0.0
//增 计 数 输 入 端
I0.1
//减 计 数 输 入 端
I0.2
返回本章首页
•第5章 应用指令
5.1.1 空操作
NOP,空操作指令。使能输入有效时,执行空操作指 令。空操作指令不影响用户程序的执行,操作数N是标 号,是一个0~255的常数。 指令格式: NOP N 例: NOP 30 程序如下图5.1所示。
L D I0 .0 N O P 3 0
//使 能 输 入 //空 操 作 指 令 //标 号 为 3 0
•第5章 应用指令
LD O O STOP
SM 5.0 SM 4.3 I0.3
LD
I0.5
END
//检 查 I/O 错 误 //运 行 时 刻 检 查 编 程 //外 部 切 换 开 关 //条 件 满 足 , 由 RUN // 切 换 到 STOP 方 式 // // //外 部 停 止 控 制 //停 止 程 序 执 行 // //
LD CALL
I0.0 SBR_0
//使 能 输 入 //调 用 子 程 序 0 //本 梯 级 为 二 级 //循 环 体 的 功 能 段
NEXT
//循 环 结 束 指 令
LD IN C W
SM 0.0 VW 100
//使 能 输 入 //字 增 指 令 //每 执 行 一 次 一 级 //循 环 体 , V W 100 //的 值 增 1
•图5.9 读写时钟
返回本节
•第5章 应用指令
5.2.2 中断
1. 中断源 (1)中断源及种类 中断源,即中断事件发出中断请求的来源。S7200可编程序控制器具有最多可达34个中断源, 每个中断源都分配一个编号用以识别,称为中 断事件号。这些中断源大致分为三大类:通信 中断、输入输出中断和时基中断。