当前位置:文档之家› 自动化基础教材之应用指令

自动化基础教材之应用指令


入MEND指令,而是由软件自动加在主程序结
尾。指令格式:END
(无操作数)
•第5章 应用指令
2.时,该 指令使主机CPU的工作方式由RUN切换 到STOP方式,从而立即终止用户程序的 执行。
STOP指令在梯形图中以线圈形式编程。 指令不含操作数。指令的执行不考虑对特 殊标志寄存器位和能流的影响。
•第5章 应用指令
5.1.1 空操作
NOP,空操作指令。使能输入有效时,执行空操作指 令。空操作指令不影响用户程序的执行,操作数N是标 号,是一个0~255的常数。 指令格式: NOP N 例: NOP 30 程序如下图5.1所示。
LD
I0.0
NOP 30
//使能输入 //空操作指令 //标号为 30
返回本节
•第5章 应用指令
5.1.2 结束及暂停
1. 结束指令
结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效时,终 止用户主程序。
MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令。
用Micro/Win32编程时,编程人员不需手工输
I0.0 SBR_0
//使能输入 //调用子程序 0 //本梯级为二级 //循环体的功能段
NEXT
//循环结束指令
LD INCW
SM0.0 VW100
//使能输入 //字增指令 //每执行一次一级 //循环体,VW100 //的值增 1
NEXT
//循环结束指令
•图5.6 程序循环(2)
返回本节
•第5章 应用指令
5.1.7 顺序控制继电器
//用触点重新触发 //看门狗定时器
//
•图5.2 停止、结束、看门狗指令
返回本节
•第5章 应用指令
5.1.4 跳转
1. 跳转指令 与跳转相关的指令有下面两条: (1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到 同一程序中的指定标号n处执行。执行跳转指令时,逻 辑堆栈的栈顶值总是1。 (2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳 转到的目的位置。操作数n为0~255的字型数据。
•第5章 应用指令
程序实例: 如右图5.3所示。用增减计数器进行计数, 如果当前值小于500,则程序按原顺序执 行,若当前值超过500,则跳转到从标号 10开始的程序执行。
返回本节
•第5章 应用指令
LD LD LD CTUD
I0.0
//增计数输入端
I0.1
//减计数输入端
I0.2
//复位输入端
C30, VW100 //增减计数
指令格式:STOP
(无操作数)
返回本节
•第5章 应用指令
5.1.3 看门狗
WDR,看门狗复位指令。当使能输入有效时, 执行WDR指令,每执行一次,看门狗定时器就 被复位一次。用本指令可用以延长扫描周期, 从而可以有效避免看门狗超时错误。
指令格式:WDR
(无操作数)
程序实例:指令STOP、END、WDR的应用如 图5.2所示。
•第5章 应用指令
LD O O STOP
SM5.0 SM4.3 I0.3
LD
I0.5
END
//检查 I/O 错误 //运行时刻检查编程 //外部切换开关 //条件满足,由 RUN // 切换到 STOP 方式 // // //外部停止控制 //停止程序执行 // //
LD WDR
A
M0.4
I0.2
•第5章 应用指令
LD
M0.0 // 使能输入
FOR
VW10, +1, +20 //循环开始
//与第 2 个 NEXT
//之间为一级循环体
LD
M0.1
//使能输入
FOR
VW20, +1, +5
//循环开始
//与第 1 个 NEXT
//之间为二级循环体
•图5.6 程序循环(1)
•第5章 应用指令
LD CALL
•第5章 应用指令
第5章 应用指令
5.1 程序控制类指令 5.2 特殊指令
•第5章 应用指令
5.1 程序控制类指令
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指令
返回本章首页
•第5章 应用指令
5.1.5 子程序指令
1. 建立子程序 2. 2. 子程序调用 3. 带参数的子程序调用
•第5章 应用指令
1. 建立子程序
可用编程软件Edit菜单中的Insert选项,选择 Subroutine,以建立或插入一个新的子程序, 同时在指令树窗口可以看到新建的子程序图标 ,默认的程序名是SBR_n,编号n从0开始按递 增顺序生成,可以在图标上直接更改子程序的 程序名。在指令树窗口双击子程序的图标就可 对它进行编辑。
//使能输入 //调用子程序 //SBR_1
•图5.4 子程序调用举例
•第5章 应用指令
3. 带参数的子程序调用
(1)子程序参数 ➢变量名 ➢变量类型 ➢数据类型 (2)参数子程序调用的规则 (3)变量表使用 (4)程序实例
•第5章 应用指令
以上面指令为例,局部变量表分配如表5.1所示 ,程序段如图5.5所示。
//设定脉冲数
//存于 VW100
•图5.3 程序跳转实例
LDI>= JMP LBL
C30, +500 //判断计数器
//当前值是否
//大于 500
10
//条件满足,跳转
//到标号 10 开始
//的程序段
10
//标志程序段
LD
I0.3
//
S
Q1.0 , 3 //把从 Q1.0 开始的
//3 个输出点置 1
•第5章 应用指令
2. 子程序调用
(1)子程序调用和返回指令 ➢ 子程序调用 ➢子程序条件返回
(2)注意事项 (3)应用实例
•第5章 应用指令
图5.4所示的程序实现用外部控制条件分别调用 两个子程序。
LD
I0.0
CALL S2
//使能输入 //调用子程序 S2 //
LD CALL
I0.0 SBR_1
•表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. 程序实例
相关主题