S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章

上传人:E**** 文档编号:89184205 上传时间:2019-05-20 格式:PPT 页数:18 大小:163KB
返回 下载 相关 举报
S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章_第1页
第1页 / 共18页
S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章_第2页
第2页 / 共18页
S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章_第3页
第3页 / 共18页
S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章_第4页
第4页 / 共18页
S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章》由会员分享,可在线阅读,更多相关《S7-300 400 PLC应用教程 第2版 教学课件 ppt 作者 廖常初 第4章(18页珍藏版)》请在金锄头文库上搜索。

1、第4章 S7-300/400的用户程序结构 4.1 用户程序的基本结构 4.1.1 用户程序中的块,1组织块(OB) 1)OB1用于循环处理,是用户程序中的主程序。 2)初始化程序OB100OB102。 3)事件或故障出现时CPU自动调用的中断程序,用户生成和编写。 4)中断的优先级,高优先级的OB可以中断低优先级的OB。 2临时局部(Local)数据只能在生成它们的逻辑块内使用。 7 程序库,4.1.2 用户程序使用的堆栈 堆栈采用“先入后出”的规则存入和取出数据。最上面的存储单元称为栈顶。 1局部数据堆栈(L) 局部数据可以按位、字节、字和双字来存取,例如L 0.0、LB9、LW4和LD5

2、2。 2块堆栈(B堆栈) 存储被中断的块的类型、编号和返回地址; 3中断堆栈(I堆栈) 保存当前的累加器、地址寄存器、数据块寄存器、局部数据的指针、状态字、MCR(主控继电器)寄存器和B堆栈的指针。因故障中断进入STOP模式后,可以在CPU模块信息对话框中查看各堆栈。,4.2 共享数据块与复杂数据类型 4.2.1 共享数据块与数据类型 数据块的分类 生成共享数据块 基本数据类型:包括位(Bool),字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。 2复杂数据类型 日期和时间用8个字节的BCD码来存储。 字符串(

3、STRING)由最多254个字符和2字节的头部组成。 数组(ARRAY)由同一类型的数据组合而成。ARRAY12,13是一个二维数组,共有6个整数元素。最多为6维。 数组元素”TANK”.PRESS2,1:TANK是数据块的符号名,PRESS是数组的名称。 数据视图方式的数组元素及初值,用数组定义数据块的大小。 结构(STRUCT)是不同类型的数据的组合。可以用基本数据类型、复杂数据类型作结构中的元素,可以嵌套8层。,4.2.2 复杂数据类型的生成与应用 生成数组 给数组元素赋初值 访问数组中的数据 用数组定义数据块的大小 结构的生成与应用 访问结构中的元素,4.3 功能块与功能的生成与调用

4、4.3.1 功能块 发动机控制系统中的功能块和功能,局部变量 1)IN(输入参数):用于将数据从调用块传送到被调用块 。 2)OUT(输出参数):用于将块的执行结果从被调用块返回给调用它的块 。 3)IN_OUT(输入_输出参数):初值由调用它的块提供,块执行后用同一个参数将执行结果返回给调用它的块。 4)TEMP (临时变量):暂时保存在局部数据区中的变量。 5)STAT(静态变量):用功能块的背景数据块保存。关闭功能块后,其静态数据保持不变。功能(FC)没有静态变量。 FB和FC的共性: 均为用户编写的子程序,局部数据变量均有IN、OUT、IN_OUT和TEMP。FC的RET_VAL属于O

5、UT变量。临时变量TEMP存储在局部数据堆栈中。 FB和FC的区别: FB比FC多了静态变量STAT和背景数据块DI,后者用来保存TEMP之外的变量。 不能给功能的局部变量设置初始值 。 调用FB或SFB时,必须指定背景数据块。在编译FB或SFB时自动生成背景数据块中的数据。每次调用功能块都需要指定一个背景数据块,用于特定的被控对象。 4.3.2 功能 4.3.3 块调用与块结束指令 4.3.4 功能与功能块的调用,4.4 寄存器间接寻址与参数类型 4.4.1 寄存器间接寻址 地址寄存器AR1和AR2的内容加上偏移量形成地址指针,指向数值所在的存储单元。 地址指针的第02位(xxx)为被寻址地

6、址中位的编号(07),第318位为被寻址地址的字节的编号。第2426位(rrr)为被寻址地址的区域标识号,第31位x = 0为区域内间接寻址,第31位x = 1为区域间的间接寻址。 (1)存储区内部间接寻址 存储区的类型在指令中给出,第2426位(rrr)和第31位为0。 指针常数P5.0对应的二进制数为20000 0000 0000 0000 0000 0000 0010 1000。 L P#5.0 LAR1 A MAR1, P#2.3 /AR1中的P#5.0加偏移量P#2.3,对M7.3操作 = QAR1, P#0.2 /逻辑运算的结果送Q5.2 L DBWAR1, P#19.0 /将DB

7、W24装入累加器1 T MW 8,(2)区域间寄存器间接寻址 地址指针中的第2426位为存储区域标识符rrr,第31位为1。 访问字节、字或双字时,指针中的位地址编号应为0。 L P#M6.0 LAR1 L WAR1, P#20.0 /将MW26的值装入累加器1 T WAR1, P#30.0 /将累加器1的内容传送到MW36 P#M6.0对应的二进制数为2#1000 0011 0000 0000 0000 0000 0011 0000。 参数类型包括TIMER与COUNTER,Block_FC等,Pointer,Any 4.4.2 参数类型Pointer的应用 前两个字节是DB编号或0,后4个

8、字节与区域间间接寻址的地址指针相同。 1)指针形式:例如P#M50.0和P#DB2.DBX50.0。 2)地址形式:例如M50.0和DB2.DBX50.0。STEP 7将自动地转换为指针格式。 4.4.3 参数类型Any的应用 Any的后6个字节与Pointer相同,例如P#DB1.DBX 0.0 WORD 3。 ANY指针也可以用地址作实参,例如DB2.DBW30和Q12.5,但是只能指向一个变量。 4.4.4 时间标记冲突与一致性检查,4.5 多重背景 1)首先生成FB1。 2)生成FB10,激活功能块属性对话框中的 “多情景标题”(即多重背景)选项。 3)在FB10的变量声明表(图6-1

9、7)中声明名为“Petrol_Engine(汽油机)”和“Diesel_Engine(柴油机)”的静态变量,其数据类型为FB1。调用指令列表的“多重实例”文件夹中的“Petrol_Engine”和“Diesel_Engine” 。 4) 在OB1中调用多重背景功能块FB10。 4.6 组织块与中断处理 组织块是操作系统与用户程序之间的接口。组织块用于中断和错误处理。 4.6.1 中断的基本概念 1中断过程 中断处理用来实现对特殊内/外部事件的快速响应。CPU检测到中断请求时,立即响应中断,调用中断源对应的中断程序(OB)。执行完中断程序后,返回被中断的程序。操作系统对现场进行保护。被中断的OB

10、的局部数据压入L堆栈、I堆栈(中断堆栈)、B堆栈(块堆栈)。,2组织块的分类 组织块只能由操作系统起动,它由变量声明表和用户编写的控制程序组成。 1)起动组织块OB100OB102 2)循环执行的组织块OB1 3)定期执行的组织块:日期时间中断组织块OB10OB17,循环中断组织块OB30OB38。 4)事件驱动的组织块 延时中断(OB2023),硬件中断OB40OB47; 异步错误中断OB80OB87,同步错误中断OB121和OB122。 3中断的优先级(后面的比前面的优先):背景循环、主程序扫描循环、日期时间中断、时间延时中断、循环中断、硬件中断、多处理器中断、I/O冗余错误、异步故障(O

11、B8087)、启动和CPU冗余,背景循环的优先级最低。,4对中断的控制 日期时间中断和延时中断有专用的允许、禁止中断的系统功能(SFC)。 SFC 39“DIS_INT”用来禁止所有的中断、或某些优先级范围的中断、或指定的某个中断。 SFC 40“EN_INT”用来激活(使能)新的中断和异步错误处理。 SFC 41“DIS_AIRT”延迟处理比当前优先级高的中断和异步错误。 SFC 42“EN_ AIRT”允许立即处理被SFC 41暂时禁止的中断和异步错误。 5组织块的变量声明表 OB没有背景数据块和静态变量,有20个字节自动生成的包含OB的起动信息的变量声明表(临时变量)。,4.6.2 启动

12、组织块与 循环中断组织块 可用STEP 7选择S7-400上电后启动的方式。 (1)暖启动时调用OB100 暖启动时I、Q以及非保持的M、T、C被复位。具有保持功能的M、T、C和所有DB将保留原数值。可以在OB100中将初始步置位。 手动暖启动:模式选择开关由STOP到RUN位置。 (2)热启动仅用于S7-400,调用OB101 在RUN状态时如果电源突然丢失,然后又重新上电,从上次RUN模式结束时程序被中断之处继续执行,不对计数器等复位。 (3)冷启动(仅S7-318和S7-400)时调用OB102 模式开关扳到MRES位置时,I、Q、M、T、C、DB等被复位为零,包括有保持功能的数据。 循

13、环中断组织块 相位偏移量(默认值为0)用于错开S7-400不同时间间隔的几个循环中断OB,使它们不会被同时执行,以减少连续执行多个循环中断OB的时间。 OB35的默认时间间隔为100ms,在硬件组态工具中设置OB35的时间间隔,编译后下载。 由STOP进入RUN后,OB35开始运行,在OB35中使MW2加1。 在I0.0和I0.1的上升沿分别调用SFC40和SFC39,允许和禁止OB35对应的循环中断。在PLCSIM中监控IB0和MW2。,4.6.3 时间中断组织块(OB10OB17) S7-300只能使用OB10。 可以设置在指定的日期和时间执行一次,也可以从设定的日期时间开始,周期性地重复

14、执行OB。 1在硬件组态工具中设置和激活时间中断,时间到时调用OB10。 2 用SFC控制时间中断 用SFC 28“SET_TINT”和SFC 30“ACT_TINT”设置和激活(允许)时间中断。 调用SFC 31“QRY_TINT”查询时间中断 可用SFC 29“CAN_TINT”取消(禁止)时间中断, 用SFC 28“SET_TINT”重新设置被禁止的时间中断, 用SFC 30“ACT_TINT”重新激活时间中断。 例程中设置的时间在当前时间之前,周期为1分钟。 下载OB10后M9.4为1。用I0.0上升沿起动中断,M9.2被置位(中断被激活),在OB10中每分钟MW2加1。 在PLCSI

15、M中监控IB0和MB9、MW2。,4.6.4 硬件中断组织块 硬件中断组织块(OB40OB47)用于快速响应信号模块(SM,即输入/输出模块)、通信处理器(CP)和功能模块(FM)的信号变化。 硬件中断被模块触发后,操作系统将自动识别是哪一个槽的模块和模块中哪一个通道产生的硬件中断。 如果正在处理某一中断事件,又出现了同一模块同一通道产生的完全相同的中断事件,新的中断事件将丢失。如果正在处理某一中断信号时同一模块中其他通道或其它模块产生了中断事件,当前已激活的硬件中断执行完后,再处理暂存的中断。 首先在硬件组态工具中组态硬件中断。 在OB40中用比较指令判别是哪一个模块的哪一个输入点产生的中断

16、。 用PLCSIM的菜单命令模拟硬件中断。 调用SFC 40和SFC39,在I0.2和I0.3的上升沿分别激活或禁止硬件中断。,4.6.5 延时中断组织块 使用延时中断可以获得精度较高的延时。CPU 300只能用OB20。在OB40中用SFC 32“SRT_DINT”起动延时,经过设定的时间触发中断,调用OB20。 OB1中用SFC 34“QRY_DINT”查询延时中断的状态字MW8。 下载OB20后M9.4为1。在PLCSIM中监控IB0和MB9、QB4。 用I0.0上升沿起动延时中断,M9.2变为1,延时10s。 10s后自动调用OB20,将Q4.0置位并立即输出,同时M9.2被自动复位。 用变量表监视调用OB40和调用OB20的时间,观察延时的精度。 在延时期间用I0.1的上升沿调用SFC 33“CAN_DINT”,将M9.2复位,禁止延时中断。,4.6.6 异步错误组织块 1错误处理概述 S7-300/400有很强的错误(或称故障)检测和处理能力。检测

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号