文档库 最新最全的文档下载
当前位置:文档库 › S7300_组织块详解

S7300_组织块详解

S7300_组织块详解
S7300_组织块详解

组织块是操作系统与用户程序的接口,可以从下面几个方面来理解:

1. 组织块不是用户程序调用的,而是由操作系统调用的。其变量声明表中只有临时变量。

2.组织块分为三类:

启动组织块用于系统初始化;

主程序OB1是循环执行的;

出现中断事件时,操作系统将会停止执行当前的任务,调用一个分配给该事件的组织块。

3.除了自动生成的OB1,其他组织块需要用户生成,组织块中的程序是用户编写的。

4.每个组织块都有20个字节的局部变量,其中包含OB的启动信息。这些信息在OB启动时由操作系统提供,包括启动事件、启动日期与时间,错误及诊断事件。

5. 中断的优先级也就是组织块的优先级,如果在执行中断程序(组织块)时,又检测到一个中断请求,CPU 将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的OB的优先级高,将中止当前正在处理的OB,改为执行较高优先级的OB。

下面是优先级的顺序(后面的比前面的优先):背景循环、主程序扫描循环、时间中断、时间延时中断、循环中断、硬件中断、多处理器中断、I/O冗余错误、异步故障(OB80~87)、启动和CPU冗余,背景循环的优先级最低。可以用STEP 7修改S7-400 CPU某些组织块的优先级。

6. 时间中断和延时中断有专用的允许处理中断(或称激活、使能中断)和禁止中断的系统功能。

其他组织块可以用SFC 39“DIS_INT”来禁止处理某些中断,用SFC 40“EN_INT”来激活(使能)被禁止的中断。

SFC 41“DIS_AIRT”用来延迟处理比当前优先级更高的中断,直到用SFC 42“EN_ AIRT”来允许立即处理被SFC 41暂时禁止的中断。

每种类型的OB块的分析及其使用方法:

1、自由循环组织块OB1

S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。

2、日期中断组织块OB10~OB17

在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU 运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。

3、时间延迟中断组织块OB20~OB23

时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。

4、循环中断组织块OB30~OB38

循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms 调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设

定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。

5、硬件中断组织块OB40~OB47

硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列PLC CPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB 中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。

如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲(没有模块其他通道的中断请求)时触发。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能硬件中断的调用。

6、DPV1中断组织块OB55~OB57

CPU响应PROFIBUS-DP V1从站触发的中断信息。

7、多处理器中断组织块OB60

用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。

8、时钟同步中断组织块OB61~OB64

用于处理PROFIBUS-DP V1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、PROFIBUS-DP总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、PROFIBUS-DP总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换)7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLC CPU(具有DP V2 功能)。

9、工艺同步处理中断组织块OB65

用于T-CPU(具有运动控制功能的CPU)工艺块与开始程序的同步处理。

10、冗余故障中断组织块OB70、OB72

用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。

11、异步故障中断组织块OB80~OB87

异步故障中断用于处理各种故障事件。

OB80:处理时间故障、CIR(Configuration In Run)后的重新运行等功能,例如OB1或OB35运行超时,CPU自动调用OB80报错,如果程序中没有创建OB80,CPU进入停止模式。

OB81:处理与电源相关的各种信息(S7-400系列PLC CPU只有电池故障时调用),出现故障,CPU自动调用OB81报错,如果程序中没有创建OB81,CPU不会进入停止模式。

OB82:诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、传感器电源丢失),出现故障时调用OB82,如果程序中没有创建OB82,CPU进入停止模式。诊断中断还对CPU所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。

OB83:用于模块插拔事件的中断处理,事件出现,CPU自动调用OB83报警,如果程序中没有创建OB83,

CPU进入停止模式。

OB84:用于处理存储器、冗余系统中两个CPU的冗余连接性能降低等事件。

OB85:用于处理操作系统访问模块故障、更新过程映像区时I/O访问故障、事件触发但相应的OB没有下载到CPU等事件,事件出现,CPU自动调用OB85报错,如果程序中没创建OB85,CPU进入停止模式。OB86:用于处理扩展机架(不适用于S7-300系列)、PROFIBUS-DP主站、PROFIBUS-DP或PROFINET I/O分布I/O系统中站点故障等事件,事件出现,CPU自动调用OB86报错,如果程序中没有创建,CPU 进入停止模式。

OB87:用于处理MPI GD 通信及时钟同步故障,事件出现,CPU自动调用OB87报错,如果程序中没有创建,CPU不会进入停止模式。

12、处理中断组织块OB88

用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU 进入停止模式。

13、背景循环中断组织块OB90

优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLC CPU。

14、启动中断组织块OB100~OB102

用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101(不适合S7-300系列PLC 和S7-400H),冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。15、同步错误中断组织块OB121、OB122

OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。

注意:不是所有的OB都可以在S7 CPU中使用,例如S7-300系列PLC PU中只有暖启动OB100,操作系统不能调用OB101、OB102,CPU中可以使用的OB请参考CPU选型手册。

S7-300系列PLC中组织块的优先级是固定的,不能修改,在S7-400系列PLC中下列组织块的优先级可以进行修改:

OB10~OB47:优先级修改范围2~23。

OB70~OB72:优先级修改范围2~38。

OB81~OB87:优先级修改范围2~26,优先级24~26确保异步故障中断不被其他的事件中断。

几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过12个相同优先级的OB同进触发,中断可能丢失。

我的理解是OB快分为三种:

第一种用于执行用户所需程序(如:OB1,OB35,OB100等),它们都是用户为满足控制需要所必须执行的程序。

第二种是用于诊断(如OB82),它们可以使用户在系统出现故障时确定故障点。

第三种是用于保持CPU运行(如OB122),它们可以使系统即使出现故障也不至于停机。

Siemens S7-300程序诊断

FB125程序诊断 使用FB125 程序来判断系统中的错误,FB125 可以诊断总线上站点的各种故障信息。FB125 是一个中断驱动功能块,它可以检测到从站的组态,掉站等故障,并且给出详细的报错信息。使用FB125 来诊断故障必须在OB1, OB82 和OB86 中调用 FB125。 组态软件和硬件:所用软件:STEP7 V5.2 所用硬件: 1.PROFIBUS-DP 主站S7-400 CPU414-3 2. PROFIBUS-DP 从站IM 153-2 (redundant) 、ET 200S / CPU、Diagnostic Repeater。 3. MPI 网卡CP5611 4.PROFIBUS 电缆及接头配置完毕的系统组态图如下: 下面通过FB125 来诊断系统中的各种故障 首先,插入功能块OB82、OB86。在Step 7 界面下选中Blocks,在右侧空白区域点击鼠标右键,在下拉菜单中选择Insert New Object-〉Organization Block,插 入所需的OB82 和OB86 组织块,如下图所示。

由于在程序中要使用DB125 存储故障信息,所以按照添加OB 块的步骤添加OB125。 分别打开OB1,OB82 和OB86,在其中调用FB125 和DB125,输入程 序,例子程序如下: 程序为诊断信息分配了存储空间,下面对每条语句的诊断功能做进一步的说明。 ------------------------------------------------------------ 以下参数从1-8 均为输入量 ------------------------------------------------------------- 1. DP_MASTERSYSTEM (INT) 表示配置的DP 主站系统的个数,在本例中为1。 2.EXTERNAL_DP_INTERFACE(BOOL) =0,CPU 主站的集成DP 接口; =1,外部接口,如CP/IM。 3. MANUAL_MODE (BOOL)

s7-300PLC编程语句手册汇总(打印版)

S7-300编程语言与指令 孟令生整理 STEP 7编程语言介绍 (2) 数据类型 (3) 参数数据类型 (4) PLC用户存储区的分类及功能 (5) 指令操作数 (5) 寻址方式 (6) 状态字 (8) 基本逻辑指令 (9) 置位和复位指令 (11) RS和SR触发器 (12) 跳变沿检测指令 (12) 定时器与计数器指令 (15) 计数器指令 (20) 访问CPU的时钟存储器 (22) 数字指令 (23) 装入和传送指令 (23) 转换指令 (25) 比较指令 (28) 算数运算指令 (29) 移位指令 (31) 控制指令 (32)

STEP 7编程语言介绍 STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP 7中可以相互转换。专业版附加对GRAPH(顺序功能图)、SCL(结构化控制语言)、HiGraph(图形编程语言)、CFC(连续功能图)等编程语言的支持。不同的编程语言可供 不同知识背景的人员采用。 STL(语句表) STL(语句表)是一种类似于计算机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表可供习惯汇编语言的用户使用,在运行时间和要求的存储空间方面最优。在设计通信、数学运算等高级应用程序时建议使用语句表。 FBD(功能块图) FBD(功能块图)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD比较适合于有数字电路基础的编程人员使用。 GRAPH(顺序控制) GRAPH类似于解决问题的流程图,适用于顺序控制的编程。利用S7-GRAPH编程语言,可以清楚快速地组织和编写S7 PLC系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。

S7 300 程序下载

一、修改部分程序块后,进行部分程序下载的步骤 1、首先,暂停PLC的工作运行,即PLC的硬件开关由RUN为设置成STOP位。 然后打开项目程序,点击在线连接(显示可访问节点)。 2、打开可访问节点中块的内容,可以看到现在所连接的PLC内部多的所有程序块。 3、选择所需下载的程序块,右键删除。(点击右上角第二行的X关闭在线连接,可以回到离线的项 目程序中)。

4、打开离线的项目程序块,选中所要下载的程序块(例如OB1,FC212,FC219,FC223等),然 后点击下载按钮下载程序,完成所修改程序的下载工作,将PLC的硬件开关由STOP恢复RUN 位。 二、如需进行全部程序及系统数据的下载(即清楚系统内全部数据及程序块,需要重新置数的操作)。 <方法一>: 1、首先将PLC硬件开关由STOP置为RUN,然后进行在线连接,打开可访问节点。选择全部的在线程序块的内容(鼠标圈选或者CTRL+A选在全部在线程序块删除)。 2、打开离线的项目文件,选中左侧的SIMANTIC 300站点,点击程序下载按钮进行全部程序的的下

载。最后将PLC的硬件开关由STOP置为RUN位。 <方法二>: 1、首先将PLC设置为STOP,然后按图示意,选择“编译和下载对象”。(如图) 2、在“编译和下载对象”的编辑界面,可以编译和下载全部的程序块+硬件组态+系统数据。(如图)按照1/2/3/4步骤完成设置和下载。最后将PLC的硬件开关由STOP设置为RUN。

三、其他下载方法(有待试验) ·将用户程序复制到MMC卡 等等 注意: 1、如果没有在“编译和下载对象”界面,这只下载前停止CPU这种方法以外,其他的下载程序方 法一定要首先井PLC由RUN设置成STOP,然后再进行程序下载。 2、MMC卡的插拔一定要断电后在进行。

(SIEMENS)西门子 S7-300400 PLC编程软件

中文名: (SIEMENS)西门子 S7-300/400 PLC编程软件英文名: STEP 7 V5.4+SP3.1 Chinese 资源格式: 压缩包 发行时间: 2007年 地区: 德国 语言: 简体中文,英文 简介:

软件类型:S7-300/400 编程软件 软件性质:破解版软件 应用平台:Windows XP/MS Windows Vista 32 Business和Ultimate 版权声明:软件版权归原作者及原软件公司所有,如果你喜欢,请购买正版软件,所提供之软件只供学习用,由此产生的任何法律问题和经济损失盖不负责。 共享条件:网通ADSL 2M 共享时间:全天不定时间做种 [通过安全测试] 杀毒软件:卡巴斯基全功能安全软件 2010 版本:9.0.0.463 病毒库:2010-2-16 7:39:00 共享服务器:一般在DonkeyServer No1-2

[通过检测系统]Windows XP SP3 安装方法:安装路径全英文。双击文件夹\STEP 7 V5.4 中文版 SP3\CD_1中的Setup.exe,开始安装STEP 7。 STEP 7 基本版是 SIMATIC S7, SIMATIC C7 and SIMATIC WinAC 自动化系统的标准组态和编程工具。标准软件在自动化任务创建过程的所有阶段都将给予支持,如: 1、创建和管理项目 2、为硬件和通讯组态并分配参数 3、管理符号 4、创建程序,例如,用于S7可编程控制器 5、将程序下载到可编程控制器 6、测试自动化系统 7、诊断设备故障 STEP 7标准软件包中包含有一系列应用程序(工具): SIMATIC管理器 ?有两种用于显示日期和时间的格式。可选择以STEP 7国家语言或ISO 8601 标准格式进行显示。为进行该设置,转到SIMATIC管理器,打开"自定义"对话框,然后选择"日期和时间"标签。

S7-300许多程序实例

产品部门:AS 所属行业:金属加工机械制造业 来源:SIEMENS Automation Expert Meeting 2006 Xi’An 作者刘少全(西门子数控南京有限公司南京) 作者周红卫(江苏新瑞机械有限公司常州) 摘要:本文介绍了用S7-300控制高档压铸机的方案。系统完成对机器顺序动作的控制,运用软件斜率调节比例阀的输出,使机器动作平滑;在压射过程中采集大量数据并以曲线的形式显示在HMI上;根据曲线可以对制品成型过程进行分析比较,可通过脉宽调制控制步进电机,调节压射过程中3个不同阶段的速度。 关键词:压铸机,脉宽调制,比例阀,软件斜率,自动调模,硬件中断,曲线 Abstract This paper introduces a solution of control system for die casting machine with S7-300 PLC. The controller will realize the control of machine sequence, use software ramp to adjust the output of the proportional valve and make the make move very smoothly; Large number of data will be sampled during die casting phase and all of the sampled data will be display in HMI with TREND curve; Analysis and comparison can be done according to the curve which is sampled during die casting phase, then the speed during die casting phase can be adjusted by stepper motor which is controlled by PWM. Key Words: Die casting machine, Pulse Width Modulation, Proportional Valve, Software Ramp, Auto Mold Adjustment, Process alarm, Curve 正文:

西门子S7-300400系列PLC程序块FC的功能

程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。 FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC 的“绝对地址”或“符号地址”进行编程,但根据需要,可以定义部分程序变量。 与S7-200 -样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用“数据块DB”。 在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的逻辑块,称为系统程序块(System Function,简称SFC)。系统程序块SFC 属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城https://www.wendangku.net/doc/2b1123443.html,/

S7-300编程手册

一、S7-300硬件说明 S7-300主要支持的硬件有: (1)电源(PS) 电源模块提供了机架和CPU内部的供电电源,置于1号机架的位置。 (2)中央处理器(CPU) CPU存储并处理用户程序,为模块分配参数,通过嵌入的MPI总线处理编程设备和PC、模块、其它站点之间的通讯,并可以为进行DP主站或从站操作装配一个集成的DP接口。置于2号机架。 (3)接口模块(IM) 接口模块将各个机架连接在一起。不同型号的接口模块可支持机架扩展或PROFIBUS DP连接。置于3号机架,没有接口模块时,机架位置为空。 (4)信号模块(SM) 通常称为I/O(输入/输出)模块。测量输入信号并控制输出设备。信号模块可用于数字信号和模拟信号,还可用于进行连接,如传感器和启动器的连接。 (5)功能模块(FM) 用于进行复杂的、重要的但独立于CPU的过程,如:计算、位置控制和闭环控制。 (6)通讯处理器(CP) 模块化的通讯处理器通过连接各个SIMATIC站点,如:工业以太网,PROFIBUS或串行的点对点连接等。 后三个模块在机架上可以任意放置,系统可以自动分配模块的地址。 需要说明的是,每个机架最多只能安装8个信号模块、功能模块或通讯模块。如果系统任务超过了8个,则可以扩展机架(每个带CPU的中央机架可以扩展3个机架)。 各个模块的性能具体如下: (1)电源模块(PS) 电源模块用于将SIMATIC S7-300 连接到120/230V AC电源。 (2)接口模块 接口模块用于多机架配置时连接主机架(CR)和扩展机架 (ER)。S7-300通过分布式的主机架(CR)和3个扩展机架(ER),可以操作多达32个模块。运行时无需风扇。

PLCS7-300一些简单编程题

编程题解答 第四章: 1.第1次按按钮指示灯亮,第2次按按钮指示灯闪亮,第3次按下按钮指示灯灭,如此循环,试编写其PLC控制的LAD程序。 分析:通过计数器和比较器实现题目中的要求: 按第1次,计数器为1,通过比较器,使灯Q0.0亮; 按第2次,计数器为2,通过比较器,使灯Q0.0闪; 按第3次,计数器为3,通过比较器,清零计数器,并使灯Q0.0灭。 程序如下: 按一次开关,记一次数; 第一次按,灯Q0.0亮;第二次按,灯Q0.0闪;

与程序段2一起实现灯Q0.0的闪烁; 按第三次时,用Q0.1来清空计数器。实验仿真: 第1次按时,计数器为1,Q0.0亮;

第2次按时,计数器为2,Q0.0闪;既有亮,又有灭; 第三次按时,计数器清零,Q0.0灭 2.用一个按钮控制2盏灯,第1次按下时第1盏灯亮,第2盏灯灭;第2次按下时第1盏灯灭,第2盏灯亮;第3次按下时2盏灯都灭。 分析:使用计数器和互锁来实现题目所给的要求; 计数器用来记录按键的次数; 互锁电路来实现灯Q0.0亮的时候,灯Q0.1灭;灯Q0.1亮的时候,Q0.0灭; 程序如下:

用计数器记录按下的次数; 利用互锁电路来实现Q0.0亮的时候,灯Q0.1灭;灯Q0.1亮的时候,Q0.0灭; 第三次按下时,利用Q0.2来清零计数器,同时也使得Q0.0与Q0.1都灭; 实验仿真: 第一次按下: 计数器为1,灯Q0.0亮;灯Q0.1灭; 第二次按下:

计数器为2,灯Q0.0灭;灯Q0.1亮; 第三次按下: 计数器清零,两盏灯都灭。 3.编写PLC控制程序,使Q4.0输出周期为5s,占空比为20%的连续脉冲信号。 分析:采用两个定时器以及常开常闭开关来实现某个通路的循环通断,同时设置相应地定时器的定时时间,就能够满足题目要求。 程序如下: 当I0.0没有按下时,定时器处于复位状态,按下I0.0后,从Q4.0先灭4s,再亮1s,这样就是先了题目的要求 实验仿真:

西门子plc_s7-300编程规则

一、程序结构 1、程序结构统一 OB1:主程序; OB100:初始化程序(无需主程序调用); OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块; OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程); FC1:系统模式; FC2:输入处理; FC3:输出处理; FC4:运行处理; FC5:停止处理; FC6:手自动切换; FC7: 。。。 。。。 FC100:之后用来建立一些可以循环调用的子程序; FC105:系统自带,模拟量输入子程序(可以循环调用); FC106:系统自带,模拟量输出子程序(可以循环调用); modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK; 通讯CP340:FB2:P_RCV,FB3:P_SND; 一般PID:用FB41; 温、湿度PID:用FB58; 如果程序块与系统块重复,请避让。 2、数据块 DB1:AI数据,类型:REAL,与上位机接口; DB2:AO数据,类型:REAL,与上位机接口; DB3:DI数据,类型:BOOL,与上位机接口;

DB4:DO数据,类型:BOOL,与上位机接口; DB5:设备运行时间及流量累计,类型:REAL,与上位机接口; DB6:报警消息,类型:BOOL,与上位机接口; DB7:类型:REAL,中间寄存器; DB8:类型:INT,中间寄存器; DB9:类型:WORD,中间寄存器; DB10:类型:BOOL,中间寄存器; DB11:之后用作与设备通讯用,例如:MODBUS通讯等; DB100:之后用作调用FB块时的背景数据块; M区:也作为中间变量。 3、DP从站故障诊断 DP从站必须做故障诊断,故障报警,用FB125即可。 二、控制模式 1、系统设置远程/本地/手动按钮 、远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停; 、本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停; 、手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。 2、单台设备控制 单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。 3、单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定; 三、编程技巧 1、程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中; 2、如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读; 3、对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;

相关文档