用于S7−300和S7−400的语句表(STL),编程实例
编程实例概述
实际应用
每个语句表指令触发一项指定操作。将这些指令组合到一个程序中时,便可完成多种自动化任务。本章提供了语句表指令实际应用的下列实例:
控制传送带 - 使用位逻辑指令
检测传送带的移动方向 - 使用位逻辑指令
生成时钟脉冲 - 使用定时器指令
跟踪存储空间 - 使用计数器和比较指令
使用整数数学运算指令解决问题
设置加热烘炉的时间长度
使用的指令
AW 字逻辑指令 单字与运算 CD,CU 计数器 向下计数,向上计数 NOT 位逻辑指令 取反 RLO +I 浮点指令 将累加器 1 和 2 作为整数相加 *I 浮点指令 将累加器 1 和 2 作为整数相乘 A,AN 位逻辑指令 与运算,与非运算 O ON BE,BEC 程序控制 块结束和块条件结束 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 控制传送带的语句表 STL 注解 O I 1.1 //按任一启动开关可接通电机。 O I 1.3 S Q 4.0 O I 1.2 // O I 1.4 ON I 1.5 R Q 4.0 实例2:检测传送带方向 下图显示配备有两个光电屏障(PEB1和PEB2)的传送带,这两个光电屏障用于检测包裹在传送带上的移动方向。每个光电屏障的功能类似常开触点。 绝对地址和符号编程 您可编写程序以使用绝对地址或代表传送带系统各种组件的符号来激活传送带系统的方向显示。 需要制定一个符号表,以建立所选择的符号与绝对地址的联系(参见STEP 7在线帮助)。 语句表实例:定时器指令
时钟脉冲发生器
当需要生成定期重复的信号时,可使用时钟脉冲发生器或闪烁继电器。时钟脉冲发生器在控制指示灯闪烁的信号系统中很常见。
当使用S7-300时,您可用特殊组织块中的时间处理功能来执行时钟脉冲发生器功能。而下列语句表中显示的实例说明了使用定时器函数生成时钟脉冲的相关内容。实例程序显示如何通过使用定时器实现任意的时钟脉冲发生器。
生成时钟脉冲的语句表(脉冲占空比1:1)
信号检测
检测定时器T1的信号,逻辑运算结果(RLO)如下。
一旦定时时间到,就会重新启动定时器。因此,信号检测使语句AN T1只会瞬间产生信号状态1。
RLO取反(反向):
每隔250毫秒RLO位为0。因而BEC语句不会结束块处理。相反,会将存储器字节MB100的内容加1。
存储器字节MB100的内容每250毫秒会以如下方式发生改变:0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ...
获得指定频率
可从存储器字节MB100的各个位中获得下列频率:
语句表
存储器MB 101的位信号状态
MB 101 (M 101.1)第1位的信号状态
频率 = 1/T = 1/1 s = 1赫兹
实例:计数器和比较指令
带计数器和比较器的存储区域
下图显示了具有两个传送带且在传送带之间有临时存储区域的系统。传送带1将包裹传送到存储区域。存储区域附近的传送带1末端的光电屏障确定向存储区域传送的包裹数量。传送带2会将包裹从临时存储区域传输到装载码头,而卡车在此将包裹发送给客户。存储区域附近的传送带2末端的光电屏障确定离开存储区域而转向装载码头的包裹数量。带五个指示灯的显示面板将指示临时存储区域的填充量。
激活显示面板上指示灯的语句表
STL 注解
实例:整型数学运算指令
解决数学问题
实例程序显示了如何使用三个整数数学运算指令来产生与下列方程式相同的结果:MD4 = ((IW0 + DBW3) x 15) / MW2
语句表
实例:字逻辑指令
加热烘炉
烘炉操作员通过按启动按钮来启动烘炉加热。操作员可用图中所示的码盘开关来设置加热的时间。操作员设置的值以二进制编码的十进制(BCD)格式显示,单位为秒。