西门子模块6ES7331-7KF02-0AB0参数详细
1.PLC程序的结构体系
无论PLC控制系统有多么复杂,归根到底,PLC用户程序都是由大量基本编程指令所组成的集合。
设计者可以根据控制对象各部分的不同要求,通过对要求的分解,运用基本指令编制出相应的程序网络(Network)或由几个网络组成的简单“功能程序段”。在此基础上,只要将这些程序网络或功能程序段,按照控制系统的动作要求,以S7程序规定的格式进行排列与组合,就可以组成完整的PLC程序。
所谓PLC的程序结构,就是组成PLC程序的各种网络(Network)或“功能程序段”在PLC内部的组织、管理形式。
在PLC上,从CPU操作系统对程序执行管理的角度看,PLC程序可以分为“线性化结构”与“分块式结构”两种不同的结构体系,每一体系又可以分若干不同的结构形式。
(1)线性化结构体系
采用线性化结构体系的PLC用户程序不分块,全部指令都集中在同一个程序块中。执行PLC程序时,CPU的每次循环扫描都是按照从上至下的次序,行PLC用户程序的所有指令。
线性化结构体系是一种控制对象相对较简单的小型PLC系统常用的结构体系。
(2)分块式结构体系
分块式结构体系的PLC用户程序由多个不同的“程序块”所组成,执行PLC程序时,需要根据外部输入条件与程序中规定的控制要求,由负责管理的主程序通过对不同程序块的调用与选择,决定每次循环扫描实际需要执行的程序块。
对于控制复杂、程序容量大的大中型PLC系统,出于方便设计、检查、调试等方面的考虑,通常采用分块式结构。
PLC用户程序的两种结构体系各有其特点,实际使用时采用何种程序结构体系,一方面决定于PLC所具备的功能,另一方面取决于程序设计者的选择。
2.线性化结构
按照线性化结构体系设计时,程序常见的形式有“普通线性化结构”与“分时管理线性化结构”两种。
(1)普通线性化结构
普通的线性结构程序为简单,设计者只需要将由基本指令组成的全部网络与功能程序段,进行逐网络、逐段排列即可。
只要程序中没有特定的次序要求(如为了产生边沿脉冲的需要等),组成程序的各网络与功能程序段就可以在PLC程序中任意排列,其位置与程序的执行结果无关。
CPU执行普通的线性结构程序时,总是对全部程序指令按照输入采样、执行程序、输出刷新三个阶段不断循环,全部输入、输出信号的采样与刷新时间统一,每次处理的时间(循环扫描时间)固定。
在S7-200/300/400系列PLC中,如果将全部PLC用户程序都编制在组织块OB1中,即属于此结构。
(2)分时管理线性化结构
在部分PLC中,为了满足控制系统中需要高速处理的信号特殊控制要求,线性结构的程序也可以采用“分时管理线性化结构”的结构形式(见图11-1.1)。
采用“分时管理线性化结构”时,设计者可以根据控制系统的需要,将线性化结构的PLC用户程序划分为“高速扫描循环”与“普通扫描循环”两部分。
程序中的高速扫描部分可以由设计者定义扫描时间间隔,在执行过程中这一时间间隔保持固定不变。即:对于高速扫描程序段,设计者可以人为地规定程序的执行时间,CPU必须在规定的时间内完成高速扫描程序段的输入采样、执行程序、输出刷新循环过程,PLC对“高速扫描循环”程序中输入/输出信号的处理速度,可以远远高于正常PLC循环程序中对输入/输出信号的处理速度。
程序中的其他部分为普通扫描部分,执行正常速度的扫描。在程序的执行过程中,如果普通扫描部分的程序执行时间已经到达高速扫描时时间间隔,CPU立即中断普通扫描,保存执行状态,并转入对高速程序段的扫描:等到高速段程序执行结束后,再继续恢复对普通程序的扫描(见图11-1.1)。这样的过程在整个PLC程序执行中需要进行多次。由于高速扫描的多次中断,普通PLC程序段的扫描时间将比正常执行的情况更长。
采用这种方式的特点是:在线性结构体系的程序可以处理PLC的高速输入/输出信号,以满足特殊的控制要求。当然,根据实际系统的需要,程序中也可以没有高速扫描的程序段,不可以将全部程序都作为高速程序。
3.分块式结构
分块式结构体系的PLC程序由多个程序块组成,由统一的程序“组织块”对各程序块进行组织与调度,“组织块”根据规定的条件与顺序依次调用各程序块。
采用了分块式结构体系的PLC程序,在实际处理过程中可以根据不同的外部输入条件与控制要求,每次循环扫描可以跳过某些程序块,仅对需要处理的程序块进行扫描,从而加快PLC程序的执行速度,缩短扫描时间。
根据PLC的不同,分块式结构体系的PLC程序可以采用主、子程序结构、功能调用式结构与结构化编程等形式实现。
(1)主、子程序结构
采用主、子程序结构的PLC用户程序,一般可以由主程序、子程序、中断程序等不同的程序块所组成,并且按照规定的顺序排列(如在S7-200中,程序块按照主程序、子程序、中断程序的顺序依次排列)。
在主、子程序结构程序中,主程序为PLC每次扫描都必须执行的程序块,必须予以编制;而子程序、中断程序可以根据实际需要进行编写与调用。
主、子程序结构的PLC程序与线性化结构相类似,如果程序中没有编制子程序、中断程序,它便成了线性结构的程序。
(2)功能调用式结构
功能调用式结构的PLC程序执行过程与主、子程序结构类似,但组成程序的各逻辑块按照不同的功能进行编排,无主、子之分。组成功能调用式结构的每一程序块都代表着控制对象的一组相对独立动作,逻辑块由特定的“块”进行统一的管理与调用。
在S7-300/400系列PLC中,以上用于管理与调用的程序块称为组织块(OBl),其余逻辑块分别称程序块(FC)、功能块(FB)、数据块(DB)等。
一般而言,功能调用式PLC程序在CPU的一个扫描周期内,对同一程序块的调用次数不会超过一次;当超过一次时则称为“结构化编程”。
(3)结构化编程
结构化编程的程序结构形式与调用式完全相同,程序同样由多个程序块组成,并通过“组织块”对其进行组织与管理,但它采用了“参数化编程”的方法。
采用结构化编程的程序,在同-PLC扫描周期内可以多次重复调用程序中的同一程序块,对于动作相同或相似的程序,可以通过在PLC程序中编写一个“公用程序块”,利用重复调用来实现。
为了保证“公用程序块”能控制不同的对象,必须将组成程序的各种操作数进行“参数化”,即:
①“公用程序块”中的所有信号的地址必须是可以变化的,即“公用程序块”中一般不能使用“地址”,而应采用“程序变量”(形式参数)进行编程。
②调用“公用程序块”前,为了使得程序中的所有信号有明确的含义,必须对“程序变量”(形式参数)进行赋值,即将“程序变量”定义成有明确含义的地址。CPU必须划分一个专门的存储器区域用于存储这些赋值参数。S7-300/400中的“局部变量堆栈L”与“即时数据块DI”就是为了实现这一目的而专门设定的存储区域。
结构化编程的程序简洁,所占用的内存容量小,但需要涉及程序块、功能块、数据块、局部变量等概念,对编程人员的要求高 PLC主要由CPU模块、输入模块、输出模块和编程器组成(见图1),有的PLC还可以配备特殊功能模块,用来完成某些特殊的任务。
1.CPU模块
CPU模块主要由微处理器(CPU芯片)和存储器组成。在PLC控制系统中厂CPU模块相当于人的大脑,它不断地采集输入信号,执行用户程序,刷新系统的输出;存储器用来储存程序和数据。
2.I/O模块
输入(1nput)模块和输出(Output)模块简称为I/O模块,它们是系统的眼、耳、手、脚,是联系外部现场设备和CPU模块的桥梁。
输入模块用来接收和采集输入信号,开关量输入模块用来接收从按钮;选择开关、数字拨码开关、限位开关、接近开关、光电开关、压力继电器等过来的开关量输入信号;模拟量输入模块用来接收电位器、测速发电机和各种变送器提供的连续变化的模拟量电流、电压信号。
开关量输出模块用来控制接触器、电磁阀、电磁铁、指示灯、数字显示装置和报警装置等输出设备,模拟量输出模块月手来控制调节阀、变频器等执行装置。
图1 PLC控制系统示意图
CPU模块的工作电压一般是5V,而PLC的输入/输出信号电压一般较高,如直流24V和交流220V。从外部引入的尖峰电压和干扰噪声可能损坏CPU模块中的元器件,或使PLC不能正常工作。在I/O模块中,用光耦合器、光电晶闸管、小型继电器等器件来隔离PLC的内部电路和外部的I/O电路,I/O模块除了传递信号外,还有电平转换与隔离的作用。
3.编程器
编程器用来生成用户程序,并用它进行编辑、检查、修改和监视用户程序的执行情况。手持式编程器不能直接输入和编辑梯形图,只能输入和编辑指令表程序,又叫做指令编程器。它的体积小,价格便宜,一般用来给小型PLC编程,或者用于现场调试和维护。
使用编程软件可以在计算机的屏幕上直接生成和编辑梯形图、指令表、功能块图和顺序功能图程序,并可以实现不同编程语言的相互转换。程序被编译后下载到PLC,也可以将PLC中的程序上传到计算机。程序可以存盘或打印,通过网络,还可以实现远程编程和传送。
4.电源
PLC一般使用220V交流电源或24V直流电源。内部的开关电源为各模块提供DC 5V,±12V,24V等直流电源。小型PLC一般都可以为输入电路和外部的电子传感器(如接近开关)提供24V直流电源,驱动PLC负载的直流电源一般由用户提供
1、条件跳转指令CJ CJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。条件跳转指令CJ应用说明如图 2、子程序调用指令CALL与返回指令SRET 子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束 3、中断返回指令IRET、允许中断指令EI与禁止中断指令DI plc一般处在禁止中断状态。指令EI~DI之间的程序段为允许中断区间,而DI~EI之间为禁止中断区间。当程序执行到允许中断区间并且出现中断请求信号时,PLC停止执行主程序,去执行相应的中断子程序,遇到中断返回指令IRET时返回断点处继续执行主程序。
4、主程序结束指令FEND 5、监视定时器刷新指令WDT 6、循环开始指令FOR与循环结束指令NEXT 利用CJ指令可以跳出FOR~NEXT循环体。 |
三菱, 程序
image215.jpg (7.87KB, 下载次数: 1)
image213.jpg (37.47KB, 下载次数: 0)