程实例总览
实际应用
本手册中描述的每个梯形图指令都会触发一个特定操作。将这些指令组合到一个程序中时,便可完成多种自动化任务。本章提供梯形图指令实际应用的以下实例:
· 使用位逻辑指令控制传送带
· 使用为逻辑指令检测传送带上的移动方向
· 使用定时器指令生成一个时钟脉冲
· 使用计数器和比较指令跟踪存储空间
· 使用整数数学指令解决问题
· 设置加热烘炉的时间长度
使用的指令
助记符
程序元素目录
描述
wand_w
字逻辑指令
(字)与字
wor_w
字逻辑指令
(字)或字
---( cd )
计数器
降值计数器线圈
---( cu )
计数器
升值计数器线圈
---( r )
位逻辑指令
重置线圈
---( s )
位逻辑指令
置位线圈
---( p )
位逻辑指令
正 rlo 边沿检测
add_i
浮点指令
加上整数
div_i
浮点指令
除以整数
mul_i
浮点指令
乘以整数
cmp <=i, cmp >=i
比较
比较整数
---| |---
位逻辑指令
常开触点
---| / |---
位逻辑指令
常闭触点
– – ( )
位逻辑指令
输出线圈
---(jmpn)
跳转
若非则跳转
---(ret)
程序控制
返回
move
移动
赋值
---( se )
定时器
扩展脉冲定时器线圈
实例:位逻辑指令
实例 1:控制传送带
下图显示可用电动方式激活的传送带。在传送带的开始位置有两个按钮开关:用于启动的 s1 和用于停止的 s2。在传送带末端也有两个按钮开关:用于启动的 s3 和用于停止的 s4。可从任何一端启动或停止传送带。此外,当传送带上的部件到达终点时,传感器 s5 将停止传送带。
绝对地址和符号编程
您可编写程序使用绝对地址或代表传送带系统各种组件的符号来控制传送带。
需要制定一个符号表,以建立所选择的符号与绝对地址的联系(参见 step 7 在线帮助)。
系统组件
绝对地址
符号
符号表
按钮启动开关
i 1.1
s1
i 1.1 s1
按钮停止开关
i 1.2
s2
i 1.2 s2
按钮启动开关
i 1.3
s3
i 1.3 s3
按钮停止开关
i 1.4
s4
i 1.4 s4
传感器
i 1.5
s5
i 1.5 s5
马达
q 4.0
motor_on
q 4.0 motor_on
控制传送带的梯形图程序
程序段 1:按下任意一个启动开关,启动电机。
程序段 2:按下任一停止开关或打开传送带尾部的常闭触点以关闭电机。
实例 2:检测传送带方向
下图显示配备有两个光电屏障(peb1 和 peb2)的传送带,这两个光电屏障用于检测包裹在传送带上的移动方向。每个光电屏障的功能类似常开触点。
绝对地址和符号编程
您可编写程序以使用绝对地址或代表传送带系统各种组件的符号来激活传送带系统的方向显示。需要制定一个符号表,以建立所选择的符号与绝对地址的联系(参见 step 7 在线帮助)。
系统组件
绝对地址
符号
符号表
光电屏障 1
i 0.0
peb1
i 0.0 peb1
光电屏障 2
i 0.1
peb2
i 0.1 peb2
显示向右移动
q 4.0
right
q 4.0 right
显示向左移动
q 4.1
left
q 4.1 left
脉冲存储器位 1
m 0.0
pmb1
m 0.0 pmb1
脉冲存储器位 2
m 0.1
pmb2
m 0.1 pmb2
用于检测传送带方向的梯形图程序
程序段 1:如果输入 i 0.0 的信号状态从 0 跳变为 1 (上升沿),同时,输入 i 0.1 的信号状态为 0,则传送带上的包裹正在向左移动。
程序段 2:如果输入 i 0.1 的信号状态从 0 跳变为 1 (上升沿),同时,输入 i 0.0 的信号状态为 0,则传送带上的包裹正在向右移动。如果光电屏障之一被中断,则表明屏障之间有包裹。
程序段 3:如果两个光电屏障都未中断,则表明屏障之间没有包裹。方向指针关闭。
实例:定时器指令
时钟脉冲发生器
当需要生成定期重复的信号时,可使用时钟脉冲发生器或闪烁继电器。时钟脉冲发生器在控制指示灯闪烁的信号系统中很常见。
当使用 s7-300 时,您可用特殊组织块中的时间处理功能来执行时钟脉冲发生器功能。但下列梯形图程序中显示的实例说明的是使用定时器功能产生时钟脉冲。实例程序显示如何通过使用定时器实现任意的时钟脉冲发生器。
产生时钟脉冲(脉冲占空比 1:1)的梯形图程序
程序段 1:如果定时器 t1 的信号状态为 0,则将时间值 250 ms 加载到 t1 中,并启动 t1 作为延时脉冲定时器。
程序段 5:move 指令允许在输出 q12.0 到 q13.7 上输出不同的时钟频率。
信号检测
定时器 t1 的信号检查为 opener m0.2 生成以下逻辑运算(rlo)结果。
一旦定时时间到,就会重新启动定时器。因此,由 ---| / |--- m0.2 进行的信号检查只简单产生信号状态1。
rlo 取反(反向):
每隔 250 ms,rlo 位变为 0。跳转被忽略,存储器字 mw100 中的内容加 1。
获得指定频率
从存储器字节 mb101 和 mb100 的各个位中,可以获得下列频率:
mb101/mb100 的位
频率(赫兹)
持续时间
m 101.0
2.0
0.5 s (250ms 开/ 250ms 关)
m 101.1
1.0
1 s (0.5s 开/0.5s 关)
m 101.2
0.5
2 s (1s 开/1s 关)
m 101.3
0.25
4 s (2s 开/2s 关)
m 101.4
0.125
8 s (4s 开/4s 关)
m 101.5
0.0625
16 s (8s 开/8s 关)
m 101.6
0.03125
32 s (16s 开/16s 关)
m 101.7
0.015625
64 s (32s 开/32s 关)
m 100.0
0.0078125
128 s (64s 开/64s 关)
m 100.1
0.0039062
256 s (128s 开/128s 关)
m 100.2
0.0019531
512 s (256s 开/256s 关)
m 100.3
0.0009765
1024 s (512s 开/512s 关)
m 100.4
0.0004882
2048 s (1024s 开/1024s 关)
m 100.5
0.0002441
4096 s (2048s 开/2048s 关)
m 100.6
0.000122
8192 s (4096s 开/4096s 关)
m 100.7
0.000061
16384 s (8192s 开/8192s 关)
存储器 mb 101 的位信号状态
扫描
周期
第 7 位
第 6 位
第 5 位
第 4 位
第 3 位
第 2 位
第 1 位
第 0 位
时间值
(单位:毫秒)
0
0
0
0
0
0
0
0
0
250
1
0
0
0
0
0
0
0
1
250
2
0
0
0
0
0
0
1
0
250
3
0
0
0
0
0
0
1
1
250
4
0
0
0
0
0
1
0
0
250
5
0
0
0
0
0
1
0
1
250
6
0
0
0
0
0
1
1
0
250
7
0
0
0
0
0
1
1
1
250
8
0
0
0
0
1
0
0
0
250
9
0
0
0
0
1
0
0
1
250
10
0
0
0
0
1
0
1
0
250
11
0
0
0
0
1
0
1
1
250
12
0
0
0
0
1
1
0
0
250
mb 101 (m 101.1)第 1 位的信号状态
频率 = 1/t = 1/1 s = 1 赫兹
4 实例:计数器和比较指令
带计数器和比较器的存储区域
下图显示了具有两个传送带且在传送带之间有临时存储区域的系统。传送带 1 将包裹传送到存储区域。
存储区域附近的传送带 1 末端的光电屏障确定向存储区域传送的包裹数量。传送带 2 会将包裹从临时
存储区域传输到装载码头,而卡车在此将包裹发送给客户。存储区域附近的传送带 2 末端的光电屏障确定离开存储区域而转向装载码头的包裹数量。带五个指示灯的显示面板将指示临时存储区域的填充量。
激活显示面板上的指示灯的梯形图程序
程序段 1:计数器 c1 对输入 cu 处每次从0到1的信号改变都进行正计数,而对输入 cd 处每次从0到1的信号改变都进行倒计数。对于输入 s 处从0到1的信号改变,计数器值被设置为值 pv。输入 r 处从0到1的信号改变将计数器值复位为0。mw200 包含 c1 的当前计数值。q12.1 指示
存储区域非空。
程序段 2:q12.0 表明存储区域为空。
程序段 3:如果 50 小于等于计数器值(换句话说,如果当前计数器值大于等于 50),则表示存储区域
50%满的指示灯变亮。
程序段 4:如果计数器值大于或等于 90,则表示存储区域 90%满的指示灯变亮。
程序段 5:如果计数器值大于或等于 100,则表示存储区域满的指示灯变亮。
实例:整型数学运算指令
解决数学问题
实例程序显示了如何使用三个整数数学运算指令来产生与下列方程式相同的结果:
mw4 = ((iw0 + dbw3) x 15) / mw0
梯形图程序
程序段 1:打开数据块 db1。
程序段 2:输入字 iw0 被加到共享数据字 dbw3 (必须先定义并打开数据块),和被加载到存储器字 mw100 中。然后,将 mw100 乘以 15,结果保存在存储器字 mw102 中。再将 mw102 除以
mw0,结果保存在 mw4 中。
实例:字逻辑指令
加热烘炉
烘炉操作员通过按启动按钮来启动烘炉加热。操作员可用图中所示的码盘开关来设置加热的时间。操 作员设置的值以二进制编码的十进制(bcd)格式显示,单位为秒。
系统组件
绝对地址
启动按钮
i 0.7
个位码盘
i 1.0 到 i 1.3
十位码盘
i 1.4 到 i 1.7
百位码盘
i 0.0 到 i 0.3
加热启动
q 4.0
梯形图程序
程序段 1:如果定时器正在运行,则启动加热器。
程序段 2:如果定时器正在运行,则 return 指令结束此处的处理。
程序段 3:屏蔽输入位 i 0.4 到 i 0.7 (即将其复位为 0)。码盘输入的这些位不使用。码盘输入的 16 个位,根据(字)与字指令,与 w#16#0fff 相组合。结果装载在存储器字 mw12 中。为了设置秒数的时间基准,预设值将根据(字)或字指令,与 w#16#2000 相组合,将位 13 设为 1,将位 12 复位为 0。
程序段 4:如果按下启动按钮,则将定时器 t1 作为扩展脉冲定时器启动,并作为预设值存储器字 mw2装载(来自于上述逻辑)。