西门子S7-1200PLC 程序块之组织块介绍
关注“
PLC发烧友 ”,一起涨知识!回复:西门子全套,领西门子全系列电子资料包!
一、S7-1200程序块
S7-1200CPU采用块的概念,将程序分解为独立的,自成体系的各部部件块的功能类似于S7-200系列中的子程序,但类型更多,功能更强大
简而言之就是比如一个项目分成不同的功能(任务)和工艺,每个任务可做成不同的代码块;每个代码块可完成不同的任务或工艺,并且每个代码块是独立的;这些块与S7-200的子程序块更强大,在200系列中如果采用带形式参数的子程序去编写程序的过程中,如果去使用计数器、定时器等没有相应的变量类型的存储区时,在需要被重复调试这带形参的子程序时,计数器、定时器就会出现双线圈;但在1200中的FB/FC块中可以使用计数器、定时器、沿脉冲信号等反复调用不受影响
二、使用块的优点
使用块的概念有以下好处:
(1)便于大规模程序的设计和理解
将不同的任务分成不同的程序块,在大的项目中我们按照,任务、功能的划分不同的任务段,每个任务段编写不同的程序块,完成这个任务块的程序就行,
(2)可设计标准化的程序块,方便进行重复的调用
如一个电机的控制,涉及到电机的启动方式、运行参数如速度的反馈、电压电流的反馈等等;如果设计一个标准的程序块时,不同的工程师不需重新设计,把标准块直接调用即可。
(3)程序结构清晰明了,修改方便,调试简单。
(4)增加PLC的组织透明性,可理解易维护。
三、程序块详解
S7-1200CPU提供了不同类型的程序块,主要分为组织块(OB)、函数(FC)函数块(FB)数据块(DB)
组织块:由操作系统调用,决定程序的结构
函数(功能)块:具有存储器的代码块,可将值存储在背景数据块中,即使在执行完后,这些值存在背景数据块中仍然有效。
函数:不带存储器的代码块,数据存储在局部存储区L里面,函数没有背景数据块,执行完成后,数据不保存
数据块:存储用户数据的区域,类似于200系列的V存储区;它分为全局数据块和背景数据块。可根据不同的任务段,建立不同的数据块来存储任务
组织块OB
组织块的基本功能是调用用户程序,在S7-1200中可以使用的组织块OB有启动组织块、循环组织块、循环中断组织块,定时中断组织块,硬件中断组织块,故障中断组织块等。
启动组织块 (OB100)在添加OB块的时可选择多个启动组织块,根据组织块的编号大小顺序依次执行。启动组织块通常用来做出初始化的程序(在一些需要做初始化的程序可以放到OB100中)
循环组织块 :(OB1)PLC的主程序MAIN CPU会循环的对程序扫描执行,然后有循环组织块调用不同FB/FC,也就是CPU在处于RUN模式时,操作系统每个周期调用循环OB一次,所有的循环OB执行完后,操作系统重新调用循环OB,S7-1200CPU支持多个程序循环OB,执行顺序一样是根据编号大小依次执行;
硬件中断组织块 :在RUN模式下,CPU立即响应硬件中断事件,调用相关的硬件中断OB,中断程序的执行不受主程序的扫描和过程映像更新时间的影响,适合需要快速响应的应用。比如高速计数的当前值等于预设值时,可启用硬件中断
一个硬件中断事件只允许一个硬件中断OB,而一个硬件中断OB可分配给多个硬件中断事件。
中断硬件触发后,操作系统将识别输入通道并确定所分配的OB,在识别和确认的过程中,同一模块上发送了触发硬件中断的另一事件,必须遵循以下规则:
1、如果该通道再次发生相同的中断事件,操作系统不予响应,硬件中断将丢失
2、如果发生不同的中断事件,则在当前正在执行的中断确认后再响应这个新的中断事件
时间中断组织块 :时间中断OB用于在时间可控的应用中定期运行一部分用户程序,可实现在某个预设时间到达只运行一次,或在设定的触发日期到达后,按时、分、秒、天、周、月等周期运行,只有设置并激活了时间中断,且程序中存在相应组织块的情况下,才能运行时间中断,通过以下指令对时间中断进行操作:
“ACT-TINT”激活时间中断
“SET-TONTL”设定时间中断的参数
“CAN-TINT”取消未执行的时间中断
“QRY-TINT”查询时间中断的状态
循环中断组织块 :循环中断OB按设定的时间间隔循环执行,如间隔时间为1000MS,则在程序块执行期间会每隔1000MS调用该该块一次。在添加块的时候可添加一个循环中断组织块,同时可设置该组织块的执行时间间隔
故障中断组织块 :在发生故障时,可启用故障中断
延时中断组织块 :延时中断OB在一段可设置的延时时间后启动,可通过以下指令对延时中断进行操作:
“SRT-DINT”用于启动延时中断,该中断在超过参数指定的时间后调用延时中断OB。延时时间范围在1~60000MS
“CAN-DINT”取消启用的延时中断
“QRY-DINT”查询延时中断的状态
时间错误组织块 :时间错误组织块是操作系统用于处理时间故障的中断组织块,当程序和执行时间超过最大的循环时间或发生时间错误事件,CPU将触发时间错误中断OB80
诊断错误组织块 :诊断错误组织块是操作系统用于响应诊断错误的中断组织块,如激活诊断功能的模块检测到故障状态发生变化时,向CPU发送诊断中断请求,触发诊断错误组织块OB82
拔插中断组织块 :拔插中断组织块OB83是操作系统用于响应对模块移除或插入操作的中断组织块,S7-1200 PLC的本地模块不支持热插拔,拔出或插入中央机架模块将导致CPU进入STOP模式
机架错误中断组织块 :机架错误中断组织块OB86是操作系统用于响应PROFIBUS-DP和PROFINET-IO分布式IO站通信故障的中断组织块
回复:西门子全套,领西门子全系列电子资料包!
如何看懂PLC程序?按照这五个步骤!
1、PLC控制系统梯形图的特点
(1)PLC控制系统的输入信号和输出负载
继电器电路图中的交流接触器和电磁阀等执行机构用PLC的输出继电器来控制,它们的线圈接在PLC的输出端。按钮、控制开关、限位开关、接近开关等用来给PLC提供控制命令和反馈信号,它们的触点接在PLC的输入端。
(2)继电器电路图中的中间继电器和时间继电器的处理
继电器电路图中的中间继电器和时间继电器的功能用PLC内部的辅助继电器和定时器来完成,它们与PLC的输入继电器和输出继电器无关。
(3)设置中间单元
在梯形图中,若多个线圈都受某一触点串/并联电路的控制,为了简化电路,在梯形图中可设置用该电路控制的辅助继电器,辅助继电器类似于继电器电路中的中间继电器。
(4)时间继电器瞬动触点的处理
时间继电器除了延时动作的触点外,还有在线圈得电或失电时立即动作的瞬动触点。对于有瞬动触点的时间继电器,可以在梯形图中对应的定时器的线圈两端并联辅助继电器,后者的触点相当于时间继电器的瞬动触点。
(5)外部联锁电路的设立
为了防止控制正/反转的两个接触器同时动作,造成三相电源短路,除了在梯形图中设置与它们对应的输出继电器的线圈串联的动断触点组成的软互锁电路外,还应在PLC外部设置硬互锁电路。
2、梯形图的结构分析
采用一般编程方法还是采用顺序功能图编程方法;采用顺序功能图的单序列结构还是选择序列结构、并行序列结构,使用启/保/停电路、步进顺控指令进行编程还是用置位/复位指令进行编程。
梯形图的分解由操作主令电路(如按钮)开始,查线追踪到主电路控制电器(如接触器)动作,中间要经过许多编程元件及电路,查找起来比较困难。
无论多么复杂的梯形图,都是由一些基本单元构成的。按主电路的构成情况,利用逆读溯源法,把梯形图和指令语句表分解成与主电路的用电器(如电动机)相对应的几个基本单元,然后一个环节、一个环节地分析,最后再利用顺读跟踪法把各环节串起来。
(1)按钮、行程开关、转换开关的配置情况及作用
在PLC的I/O接线图中有许多行程开关和转换开关,以及压力继电器、温度继电器等,这些电器元件没有吸引线圈,它们的触点的动作是依靠外力或其他因素实现的,因此必须先把引起这些触点动作的外力或因素找到。其中行程开关由机械联动机构来触压或松开,而转换开关一般由手工操作,从而使这些行程开关、转换开关的触点在设备运行过程中便处于不同的工作状态,即触点的闭合、断开情况不同,以满足不同的控制要求,这是看图过程中的一个关键。
这些行程开关、转换开关的触点的不同工作状态单凭看电路图难以搞清楚,必须结合设备说明书、电器元件明细表,明确该行程开关、转换开关的用途,操纵行程开关的机械联动机构,触点在不同的闭合或断开状态下电路的工作状态等。
(2)采用逆读溯源法将多负载(如多电动机电路)分解为单负载(如单电动机)电路
根据主电路中控制负载的控制电器的主触点文字符号,在PLC的I/O接线图中找出控制该负载的接触器线圈的输出继电器,再在梯形图和指令语句表中找出控制该输出继电器的线圈及其相关电路,这就是控制该负载的局部电路。
在梯形图和指令语句表中,很容易找到该输出继电器的线圈电路及其得电、失电条件,但引起该线圈的得电、失电及其相关电路就不容易找到,可采用逆读溯源法去寻找:
在输出继电器线圈电路中串、并联的其他编程元件触点的闭合、断开就是该输出继电器得电、失电的条件。
由这些触点再找出它们的线圈电路及其相关电路,在这些线圈电路中还会有其他接触器、继电器的触点……
如此找下去,直到找到输入继电器(主令电器)为止。值得注意的是:当某编程元件得电吸合或失电释放后,应该把该编程元件的所有触点所带动的前、后级编程元件的作用状态全部找出,不得遗漏。
找出某编程元件在其他电路中的动合触点、动断触点,这些触点为其他编程元件的得电、失电提供条件或者为互锁、联锁提供条件,引起其他电器元件动作,驱动执行电器。
(3)将单负载电路进一步分解
控制单负载的局部电路可能仍然很复杂,还需要进一步分解,直至分解为基本单元电路。
(4)分解电路的注意事项
若电动机主轴接有速度继电器,则该电动机按速度控制原则组成停车制动电路。
若电动机主电路中接有整流器,表明该电动机采用能耗制动停车电路。
(5)集零为整,综合分析
把基本单元电路串起来,采用顺读跟踪法分析整个电路。
相关问答
三菱plc怎样分支?
三菱PLC的分支指的是在程序运行过程中,根据特定的条件来决定程序的执行路径。一般有条件跳转指令和条件分支指令两种方式实现。条件跳转指令可以根据某一条件...
PLC模块有哪几种?
CPU模块,输入模块,输出模块,电源模块,温度检测模块,位置检测模块,PID控制模块,通讯模块等西门子plc:1.简介:西门子PLC,是德国西门子(SIEMENS)公司...S7-30...
plc分支基本指令?
20个基本指令:LD:取指令(常开触点)LDI:取反指令(常闭触点)AND:串指令(常开触点)ANI:串反指令(常闭触点)OR:并指令(常开触点)ORI:并...20个基本指令:L....
PLC主要的编程语言有哪几种–京东商城?
PLC主要的编程语言主要有五种,包括指令列表(IL)、梯形图(LD)、功能块图(FBD)、结构化文本(ST)和连续函数图(SFC)。其中指令列表是一种基于指令的编程...PLC...
plc模块化编程的步骤和方法?
方法/步骤1、第一步:打开GXWorks2软件,新建程序,选择你的PLC型号,然后请选择程序语言为SFC,点击确定,跳出块信息设置。标题不填写,块类型选择梯形图块,...
plc编程接线方法?
1.PLC编程接线方法有多种。2.首先,常见的接线方法是使用继电器进行控制。继电器可以通过接线板或者插座进行连接,然后通过导线将继电器与PLC的输入和输出端...
常见的plc输出模块一般有哪几种输出形式?
1.答案。常见的plc输出模块一般有继电器、晶闸管及晶体管三种输出形式。一般我们在针对一个PLC设计与选型时会考虑到这个问题。厂家的用户手册有非常详细的介...
朋友们,PLC模块选择方法有哪些?知道的请回答
[回答]一个企业,应尽量做到PLC的机型统一。主要考虑以下三个方面的问题:(l)同一机型的PLC,其编程方法相同,有利于技术力量的培训和技术水平的提高。(2)同...
plc控制方式选择?
在选择PLC控制方式时,需要考虑到控制系统的稳定性、可靠性、灵活性和安全性等因素。一般情况下,可以选择基于传统的Ladder逻辑控制方式或者使用高级编程语言...
plc考试流程?
考试流程:考试开始后,首先会发给你阅读试卷,一般前面的选择填空题,都是一些基础的知识,包括对PLC的构造和功能特点的解读。然后编程题就是会给一个命题,然...