西门子S7-300组织块使用说明
- 格式:pdf
- 大小:980.84 KB
- 文档页数:43
S7-300 系列PLC组态简介一、系统构成西门子S7-300系列的常用组件主要有电源模块(1)、CPU模块(1)、开关量模块(2)、开关量输出模块(2)、模拟量输入模块(2)、模拟量输出模块。
说明如下:1.电源模块:PS307—5A;为PLC系统提供稳定的24V直流电源。
2.CPU模块:CPU314;是系统的核心负责程序的运行,数据的存储与处理,与上位机的通讯和数据的传输。
3.开关量输入模块:SM321;可进行32路开关量的检测,输入信号为24V有效,若输入为无源触点,可利用电源模块提供24V驱动信号。
4.开关量输出模块:SM322;可提供8路开关量输出,为继电器输出方式;分为4组每两路公用一个公共端。
5.模拟量输入模块:SM331;为实现对8路模拟量数据采集,输入信号可以是电流信号、电压信号、热电偶输入、热电阻输入,可根据不同的应用场合对模块进行设置。
6.模拟量输出模块:SM332;可提供4路模拟量输出信号,根据应用可将各路输出设置为电压输出或电流输出。
图1、系统模块组成。
二、硬件组态1.基本机架(中心机架)机架即是用于安装固定各个模块的专用槽架。
PLC的各个模块就遵循一定的规则固定在上面。
每个机架中:插槽1为电源模板插槽;插槽2为CPU模板插槽;插槽3留给通讯模板接口模板及扩展模板。
插槽4以后留给应用模板。
每个模块最多可以安装8个应用模块。
模块的底部通过总线连接器与前后的模块想连接,构成一个整体系统。
中心机架至少应装配电源模块和CPU模块,再根据需要配置其他功能模块。
说明:所谓插槽,在这里只是抽象的概念,S7—300系统中的机架物理形态上只是一个槽形轨道,上面没有具体的插槽,模块也只是按一定顺序固定在上面,模块之间也无须保留空间,而是紧密地相邻安装。
插槽的概念只有在对系统进行软件组态时才能具体化。
(软件组态将在后面介绍)2.机架的扩展当基本机架不能满足系统要求时,可通过扩展机架对系统进行扩展,扩展方式有两种:①、用IM365模板:可扩展一个机架,需用两块IM365模板,连接长度最长为一米。
定时中断组织块OB35
西门子S7-300/400有9个定时中断组织块:OB30、OB31、OB32、OB33、OB34、O B35、OB36、OB37、OB38 。
CPU可以定时中断去执行这些模块中的程序,即:每隔一段时间就停止当前的程序,转去执行定时中断组织块中的程序,执行结速后再返回。
相当于单片机的定时中断。
这9个组织块功能相同,你可以选择其中之一使用,区别是它们的中断优先级不同,如果程序中用到了多个定时中断组织块,应设好它们的执行优先级。
S7-300CPU 可用的定时中断组织模块是OB35,在300站点的硬件组态中,打开CPU 属性设置可以看到其它的中断组织块为灰色。
OB35默认的调用时间间隔为100ms 我们可以根据需要更改,定时范围是1-60000毫秒(ms)
设置中断时间间隔如下图所示
注意:设置的时间必须大于OB35中程序执行所花费的时间。
例如:如果中断时间间隔为50ms而OB35中的程序花费的时间是70ms,那么OB35中的程序还没执行完毕就产生第二次中断,程序就会出错,这显然是我们不想看到的结果。
以现在的技术,让你间隔一小时去月球拿一块石头你能做到吗去月球所用的时间大于去月球的时间间隔,你做不到吧
正确设置:中断时间间隔大于OB35中程序执行完毕一次所需的时间。
S7-300功能添加说明2008-6-5 施1、组织块(OB)使用说明1.1 OB功能说明:一般情况下,S7-300的PLC使用的组织块(OB)有OB1、OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB122OB1:启动结束或OB1 执行结束OB35:循环中断5(默认时间间隔:100ms)OB80:时间故障OB81:电源故障OB82:诊断中断OB84:CPU 硬件故障OB85:程序故障OB86:扩展机架、DP 主站系统或分布式OB100:暖启动OB121:编程故障OB122:I/O 访问故障1.2OB组织块建立说明:一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Organization Block”并单击,弹出以下对话框在“Name”里写入需要的组织块(OB),点击“”就可以了,如写入 OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB1222.1 FC功能说明:FC 相当于一个子程序,在里面可以由用户编写自己所需要的程序,最后在OB1中调用所有建立的FC即可,FC不具有断电保持功能,但是需要断电保持的话,可以调用数据块DB,所有的DB快都具有断电保持功能2.2 FC功能建立说明::一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Function”并单击,弹出以下对话框在“Name”里写入需要的功能(FC),如FC1、FC2…………,范围为1……999都可以,在下面的“Symbolic Name”可以写入自己需要的注释。
点击“”就可以了。
3.1 DB数据块说明:DB 相当于数据M区,但在里面可以由用户编写自己所需要长度的数据,最大长度可以有65535个字节,且具有断电保持功能。
s7-300数据块的用法
S7-300数据块是西门子PLC(可编程逻辑控制器)中的一种数据存储结构,用于在PLC程序中存储和管理数据。
每个PLC程序都可以定义多个数据块,每个数据块都有一个唯一的标识符,用于在程序中引用该数据块。
数据块可以用于存储不同类型的数据,包括输入和输出数据、中间结果、计数器、定时器等。
它类似于一个数组或结构体,可以定义数据的类型、名称和长度,并且可以在程序中使用这些数据来进行逻辑运算、数据处理和通信操作。
使用S7-300数据块的步骤如下:
1.在PLC程序中定义一个数据块并为其分配一个唯一的标识符。
2.在数据块中定义所需的数据类型、名称和长度。
3.在程序中引用该数据块,可以读取或写入数据到该数据块中。
4.根据需要在程序中对数据块中的数据进行逻辑运算、数据处理和通信操作。
拓展:
- S7-300数据块通常通过PLC编程软件进行创建和管理,例如西门子的Step 7软件。
-数据块可以用于不同的PLC任务,例如控制、监视、数据采集和通信。
-在PLC程序中,数据块的使用可以帮助实现模块化和可重用的程序结构,提高代码的可读性和维护性。
-数据块还可以通过通信协议与其他设备进行数据交换,实现与外部系统的连接和数据共享。
S7-300/400PLC编程之1 OB块使用指南【工控老鬼】S7-300/400PLC编程之1 OB块使用指南【工控老鬼】S7-300/400PLC编程之2 PLC暖启动和冷启动【工控老鬼】S7-300/400PLC编程之3 模拟量处理【工控老鬼】++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之4 检测导致CPU停机的故障【工控老鬼】S7-300/400PLC编程之4 检测导致CPU停机的故障【工控老鬼】什么是诊断诊断指的是S7-300/400内部集成的识别和记录功能。
记录错误信息的区称为诊断缓冲区。
这个区的大小有赖于CPU型号 (例如:CPU 314 = 100个信息)。
当有错误时如果一个错误或事件发生时,例如:模式转换。
将发生如下事件:将发生什么?•标有时间和日期的信息被保存到诊断缓冲区中。
最近的信息保存到缓冲区的开始。
如果缓冲区满,最旧的信息将覆盖。
•将事件记入系统的状态表中。
•如果必要,将激活一个相关的错误 OB(组织块)。
错误的类型利用CPU的诊断功能,可以识别下面的错误:• CPU或模板中的系统错误• CPU中的程序错误排除故障的手段针对下列故障,应采用不同的手段予以排除:•导致CPU停机的故障,应使用“Module Information”工具。
•逻辑错误,即程序可执行但功能不能实现,应使用“Referece Data”和“Program Status”工具。
•偶尔出现的故障,即只在特定的系统状态下才出现的故障,它可能导致停机或逻辑错误。
可采用“CPU Messages”工具或生成自定义触发点“your own trigger point”。
S7-300/400PLC编程之5 符号使用指南【工控老鬼】S7-300/400PLC编程之5 符号使用指南【工控老鬼】在大家使用step7编程的时候,经常会使用到符号表功能,高效的使用符号表功能可以大大的提高编程的效率,对符号表的使用方法,工控老鬼总结如下!希望对大伙有所帮助!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ S7-300/400PLC编程之6 定时器指令【工控老鬼】在大家使用step7编程的时候,经常会使用定时器指令功能,熟练的掌握定时器指令功能可以帮助我们构造很完善的算法,对定时器指令使用方法,工控老鬼总结如下!希望对大伙有所帮助!之前讲过,可以使用S7-300PLC CPU里自带的标准时钟脉冲来做很多功能,这里我来分享一个例子,如何使用定时器功能来做任意时间间隔的标准时钟脉冲!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之7 工程应用中的信号防抖处理技巧【工控老鬼】S7-300/400PLC编程之7 工程应用中的信号防抖处理技巧【工控老鬼】++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之8 关于OB1的思考【工控老鬼】S7-300/400PLC编程之8 关于OB1的思考【工控老鬼】使用西门子S7-300/400PLC的朋友一定对Step7都不陌生,同时你们也应该对OB1如数家珍,因为你不可能不用到它,它是你的好兄弟!但是我却发现很多的朋友对它的了解还是不够深入,老鬼今天我就简单的给大家分享一下OB1的几个功能!1、信息知多少?打开OB1,在局部数据区域内,是否发现有一些系统自定义的局部变量?没错!有很多,不清楚?那就了解一下吧!2、下表描述了OB1的临时(TEMP)变量。
组织块(Organization Blocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC程序中各组成部分的调用和执行中断。
OB决定了PLC用户程序的结构与块的调用顺序,起到了“管理”用户程序的作用。
S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB块的调用条件被称为“触发事件”,根据“触发事件”的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB 的执行。
如果需要,S7系列PLC除OB1外,还可以使用多个OB块。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
组织块使用说明1、组织块总览(OB)1.1 什么是组织块?组织块是操作系统和用户程序之间的接口。
OB 用于执行具体的程序:• 在CPU 启动时• 在一个循环或时钟执行时• 当发生故障时• 当发生硬件中断时组织块根据其优先级执行。
1.2 可使用哪些组织块?不是所有的CPU 都能处理STEP 7 中所有的组织块。
至于您使用的CPU 中包括哪些OB, 请参见操作列表/72/和/102/。
何处可以找到更多信息?参见在线帮助和以下手册可以得到更多的信息:• /70/:该手册包含有描述不同S7-300 CPU 功能的技术数据。
• /101/:该手册包含有描述不同S7-400 CPU 功能的技术数据。
下列表格中包含每一个OB 的启动事件及对应的优先级。
OB 启动事件 默认的优先级解释OB1 启动结束或OB1 执行结束 1 自由循环OB10 日期时间中断0 2 没有指定缺省时OB11 日期时间中断1 2 间 OB12 日期时间中断2 2OB13 日期时间中断3 2OB14 日期时间中断4 2OB15 日期时间中断5 2OB16 日期时间中断6 2OB17 日期时间中断7 2OB20 延时中断0 3 没有指定缺省时OB21 延时中断1 4 间 OB22 延时中断2 5OB23 延时中断3 6OB 启动事件 默认的优先级解释OB30 循环中断0(缺省时间间隔:5s) 7 循环中断 OB31 循环中断1(缺省时间间隔:2s) 8OB32 循环中断2(默认时间间隔:1s) 9OB33 循环中断3(默认时间间隔:500ms)10 OB34 循环中断4(默认时间间隔:200ms)11 OB35 循环中断5(默认时间间隔:100ms)12 OB36 循环中断6(默认时间间隔:50ms)13 OB37 循环中断7(默认时间间隔:20ms)14 OB38 循环中断8(默认时间间隔:10ms)15OB40 硬件中断0 16 硬件中断 OB41 硬件中断1 17 OB42 硬件中断2 18 OB43 硬件中断3 19 OB44 硬件中断4 20 OB45 硬件中断5 21 OB46 硬件中断6 22 OB47 硬件中断7 23OB55 状态中断 2 DPV1 中断 OB56 刷新中断2 OB57 制造厂商用特殊中断 2OB60 SFC 35“MP_ALM”调用 25 多处理器中断 OB61 周期同步中断1 25 同步循环中断 OB62 周期同步中断2 25 OB63 周期同步中断3 25 OB64 周期同步中断425OB70 I/O 冗余故障(只对于H CPU) 25 冗余故障中断 OB72 CPU 冗余故障(只对于H CPU) 28 OB73 通讯冗余故障(只对于H CPU) 25OB80 时间故障 26,281) 同步故障中断 OB81 电源故障 25,281) OB82 诊断中断25,281) OB83 模板插/拔中断 25,281) OB84 CPU 硬件故障 25,281) OB85 程序故障25,281) OB86 扩展机架、DP 主站系统或分布式I/O 从站故障 25,281) OB87 通讯故障 25,281) OB88 过程中断28OB90暖或冷启动或删除一个正在OB90 中执行的块或装载一个OB90 到CPU 或中止OB90292)背景循环1-2OB 启动事件 默认的优先级解释 OB100 暖启动 271) 启动 OB101 热启动 271)OB102 冷启动 271)OB121 编程故障 引起故障的OB的同步故障中断OB122 I/O 访问故障 优先级引起故障的OB的优先级1)优先级27 和28 在优先级启动模式中是有效的。
2)优先级29 对应于优先级 0.29。
这意味着背景循环比自由循环具有更低的优先级。
2.组织块说明2.1 程序循环组织块(OB1)2.1.1 描述S7 CPU 操作系统周期性地执行组织块OB1 程序。
当OB1 执行完毕,操作系统再次启动它。
CPU 启动后,OB1 循环执行。
您可以在OB1 中调用其它功能块(FB,SFB )或功能(FC,SFC )。
2.1.2 理解OB1 的运行OB1 的优先级最低。
其循环时间被监控。
即除OB90 以外,其它所有OB 均可中断OB1 的执行。
以下事件可导致操作系统调用OB1:• CPU 启动完毕。
• OB1 执行到上一个循环周期结束。
OB1 执行完后,操作系统发送全局数据。
再次启动OB1 之前,操作系统会将输出映像区数据写入输出模板,刷新输入映像区并接收全局数据。
S7 监视最长循环时间,保证最长的响应时间。
最长循环时间缺省设置为150ms。
您可以 设一个新值或通过SFC43“RE_TRIGR”重新启动时间监视功能。
如果您的程序超过了OB1 最长循环时间,操作系统将调用OB80(时间故障OB);如果OB80 不存在,则CPU 停机。
除了监视最长循环时间,还可以保证最短循环时间。
操作系统将延长下一个新循环(将输出映像区数据传送到输出模板)直到最短循环时间到。
参见手册/70/和/101/参数“最长”、“最短”循环时间的范围。
您可以运用STEP 7 软件更改参数设置。
2.1.3 OB1 的局部数据以下表格描述了OB1 的临时变量(TEMP)。
变量名是OB1 的缺省名称。
变量 类型 描述OB1_EV_CLASS BYTE 事件等级和标识码:B#16#11:OB1 激活OB1_SCAN_1 BYTE •B#16#01 :暖启动完成• B#16#02 :热启动完成•B#16#03 :主循环完成•B#16#04 :冷启动完成•B#16#05: 当前一个主站CPU 停机,后备新主站CPU的第一次OB1 循环OB1_PRIORITY BYTE 优先级1OB1_OB_NUMBR BYTE OB 号(01)OB1_RESERVED_1 BYTE 备用OB1_RESERVED_2 BYTE 备用OB1_PREV_CYCLE INT 上一次OB1 的循环时间(ms)OB1_MIN_CYCLE INT 自CPU 启动,最短一次OB1 的循环时间(ms)OB1_MAX_CYCLE INT 自CPU 启动,最长一次OB1 的循环时间(ms)OB1_DATE_TIME DATE_AND_TIME OB 被调用的日期和时间2.2 日期时间中断组织块(OB10 到OB17)2.2.1 描述STEP 7 提供多达8 个OB(OB10 到OB17),它们可以运行一次或周期性地运行。
您可以运用SFC 或STEP 7 给CPU 分配参数,这样OB 将以下列的间隔运行:•一次•每分钟•每小时•每天•每周•每月•每月底2.2.2 理解日期时间中断组织块OB 的运行在启动日期时间中断时,您必须首先设置和激活中断。
以下三种方式可以设置和激活中断:•自动启动日期时间中断。
您可通过STEP 7 设置并激活中断。
下表显示通过STEP 7 激活日期时间中断的基本可能性。
• 您可以在STEP 7 中设置日期时间中断,然后通过程序调用SFC30“ACT-TINT”,激活日期时间中断。
• 您可以通过调用SFC28 “ SET_TINT ” 设置日期时间中断,通过调用SFC30 “ACT_TINT”,激活日期时间中断。
时间间隔 描述没有激活 日期时间中断没有执行,即使已装载到CPU。
可以通过调用SFC30 激活。
只激活一次日期时间中断运行一次后,日期时间中断OB 自动取消。
您可以通过调用SFC28 和SFC30 重新设置和重新激活日期时间中断OB。
周期性地激活当日期时间中断发生后,CPU 根据当前的时间计算下一次的中断启动时间。
如果您设定日期时间中断相应的OB 是执行一次,那么日期时间(DATE_AND_TIME )不能是过去(与CPU 的实时时钟相关)的日期时间。
如果您设定日期时间中断相应的OB 是周期性的执行,日期时间(DATE_AND_TIME )是过去的日期和时间,那么日期时间中断将按下图所示在下次执行。
您可以用SFC39 到SFC42 禁止、延迟和重新使能日期时间中断。
2.2.3 影响日期时间中断OB 的条件因为日期时间中断只在规定的时间间隔发生,某些条件会在程序执行时影响OB 的运行。
下面表格显示了一些影响日期时间中断OB 运行的条件和描述。
条件 结果您编程调用SFC29(CAN_TINT),取消了 操作系统清除日期时间中断的事件日期时间(DATE_日期时间中断。
AND_TIME )。
在此OB 被调用之前,您必须重新设置并激活它。
您编程激活日期时间中断OB,但此OB 在 操作系统调用OB85。
如果OB85 在CPU 中不存在,CPU CPU 中不存在。
将停机。
条件 结果当同步或校正CPU 系统时钟时,您设置的时间超前并跳过了日期时间中断OB 的启动事件。
操作系统调用OB80 并在OB80 中编译日期时间中断OB 号和启动事件信息。
操作系统运行一次日期时间中断OB, 不考虑这个OB应该运行多少次。
OB80 的启动事件信息显示了OB 第一次被跳过的日期和时间(DATE_AND_TIME )。
当同步或校正CPU 系统时钟时,时间被向后设置,于是OB 的启动事件、日期或时间被重复。
如果日期时间OB 在时钟修改之前已激活,那么此OB 不再被调用。
CPU 在暖启动或冷启动期间。
任何由SFC 配置的日期时间OB, 都须遵从STEP7 中组态的设置。
如果您组态了一个启动一次的日期时间中断OB 在STEP7 中,组态的时间是过去(相对于CPU 的实时时钟), 并且已激活,在操作系统暖启动或冷启动后,这个 OB 将被调用一次。
下一个时间间隔启动事件发生时,日期时间OB 仍在执行。
操作系统调用OB80。
如果OB80 不存在,则CPU 停机。
如果OB80 已装载,那么OB80 和日期时间中断OB 都执行第一次,并且第二个中断请求也被执行。
2.2.4 日期时间中断OB 的局部数据下列表格描述了日期时间中断的临时变量(TEMP)。
变量名为OB10 的缺省名称。
变量 类型描述 OB10_EV_CLASS BYTE 事件级和识别码:B#16#11=中断激活 OB10_STRT_INFO BYTEB#16#11:启动请求OB10 (B#16#12:启动请求OB11) : : (B#16#18:启动请求OB17)OB10_PRIORITY BYTE 分配的优先级:默认2 OB10_OB_NUMBR BYTE OB 号(10 到17) OB10_RESERVED_1 BYTE 保留 OB10_RESERVED_2 BYTE 保留OB10_PERIOD_EXE WORDOB 以特殊的间隔运行:W#16#0000:一次W#16#0201:每分钟一次W#16#0401:每小时一次W#16#1001:每天一次W#16#1201:每周一次W#16#1401:每月一次W#16#1801:每年一次W#16#2001:每月底OB10_RESERVED_3 INT 保留 OB10_RESERVED_4 INT 保留 OB10_DATE_TIME DATE_AND_TIME OB 调用时的日期和时间2.3 延时中断组织块(OB20 到OB23) 2.3.1 描述S7 提供多达4 个OB(OB20 到OB23),它们经过一段指定的延时后运行。