【文档说明】西门子PLC-编程基础课件.ppt,共(43)页,532.500 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45662.html
以下为本文档部分文字说明:
--PLC编程基础--3.1PLC的基本结构从结构形式上PLC可分为整体式和模块式两大类。不论哪种类型的PLC,其基本结构都是相同的。CPU输入接口输出接口存储器电源外围接口编程设备--1.CPU2.
存储器3.输入输出电路4.编程装置5.电源6.外围接口--3.2PLC工作原理PLC采用循环执行用户程序的方式,称为循环扫描工作方式。一个循环扫描过程周期可分为输入采样、程序执行、输出刷新三个阶段。--启动组织
块上电后执行一次循环监视时间开始读取输入信号状态,并存储在输入映像区执行OB1程序包括中断程序将输出映像区状态写到实际输出设备一个循环扫描周期--执行OB1中的程序(循环执行)事件(日期时间中断、硬件中断等)调用其他
OB,FB,FC输出模块AI0.1AI0.2=Q8.0块OB1循环监视时间的开始启动块(OB100)上电后执行一次从模块读信号状态,并保存到过程映象区(PII)把过程映象输出表(PIQ)写到输出模块CPU循环输入模块循环程序执行--过程
映象字节0字节1字节2:::CPU存储器区字节0字节1字节2:::PIIPIQ用户程序CPU存储器区::AI2.0=Q4.3::::11--输入采样阶段依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应单元内。输入采样结束后
,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。一个扫描周期中与用户
有关的三阶段--用户程序执行阶段PLC总是按由上而下的顺序依次地扫描用户程序。在扫描每一条梯形图时,并按先左后右、先上后下的顺序进行逻辑运算,逻辑运算的结果存于映象区。上面的逻辑运算其运算结果会对下面的逻辑运算起作用;相反,下面的逻辑运算其运算结果只能到下一个扫描周期才能对上面的逻辑运算起作用
。--输出刷新阶段当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照存在I/O映象区的运算结果,刷新所有对应的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。--PLC的工作特点所有输入信号在程序处理前统一读入,并在程序处理过程中不再变化
。而程序处理的结果也是在扫描周期的最后时段统一输出。其工作特点是将一个连续的过程分解成若干静止的状态,极类似放映电影的原理。便于面向对象的思维。PLC仅在扫描周期的起始时段读取外部输入状态,该时段相对较短,抗输入信号串入的干扰极为有利。这种方式对于高速变化的过程可能漏掉变化的信号,也会带来
系统响应的滞后。为克服上述问题,可利用立即输入输出、脉冲捕获、高速计数器或中断技术。--扫描工作方式对程序执行的影响I0.0代表外部的按纽,当按纽动作后,左面的程序只需要一个扫描周期就可完成对M0.4的刷新,而右
面的程序要经过四个扫描周期才能完成对M0.4的刷新。在扫描周期极为短的情况下(100ms),无时序配合要求,感觉不到这两段程序执行的的差异。在有时序配合的情况下,这种差异要引起注意。--3.3存储器及其寻址S7CPU的存储
区包括三个基本区域,即装载存储器,工作存储器RAM和系统存储器RAM。装载存储器动态装载存储器RAM可保持装载存储器EEPROM工作存储器RAM用户程序,如逻辑块、数据块系统存储器RAM过程映像I/O表位存储器、定时器、计数器局域数据堆
栈、块堆栈中断堆栈、中断缓冲区--系统存储区的地址区地址区说明输入过程映像I输入映像区每一位对应一个数字量输入点,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入映像寄存器中。CPU在接下来的本周期各阶段不再改变输入过程映像寄存器中的值,直到下一个扫描周期的
输入处理阶段进行更新输出过程映像Q输出映像区的每一位对应一个数字量输出点,在扫描周期的末尾,CPU将输出映像寄存器的数据传送给输出模块,再由后者驱动外部负载位存储区M用来保存控制继电器的中间操作状态或其他控制信息定时器T定时
器相当于继电器系统中的时间继电器,用定时器地址(T和定时器号,如T5)来存取当前值和定时器状态位,带位操作数的指令存取定时器状态位,带字操作的指令存取当前值计数器C用计数器地址(C和计数器号,如C20)来存取当
前值和计数器状态位,带位操作数的指令存取计数器状态位,带字操作的指令存取当前值局部数据L可以作为暂时存储器或给子程序传递参数,局部变量只在本单元有效数据块DB在程序执行的过程中存放中间结果,或用来保存与工序或任务有关的其它数据--CPU中的寄存器(1)累加器(ACCUx)32位累加
器是用于处理字节、字或双字的寄存器。S7-300有两个累加器ACCU1和ACCU2,S7-400有4个累加器ACCU1~ACCU4。(2)地址寄存器2个地址寄存器作为指针用于寄存器间接寻址。(3)数据
块寄存器DB和DI寄存器分别用来保存打开的共享数据块和背景数据块的编号。(4)诊断缓冲区(5)状态字寄存器状态字是一个16位的寄存器,用于存储CPU执行指令的状态--STEP7的可能寻址范围设计的地址区访问区域缩写加在一起的最大区域过程映象I/Q输入/输出位I/Q0.0---65,5
35.7输入/输出字节I/QB0---65,535输入/输出字IW/QW0---65,534输入/输出双字ID/QD0---65,532存储器标志存储器位M0.0---255.7存储器字节MB0---255存储器字MW0---254存储器双字MD0---252I/Q外部
输入/输出I/Q字节,外设PIB/PQB0---65,535I/Q字,外设PIW/PQW0---65,534I/Q双字,外设PID/PQD0---65,532定时器定时器(T)T0---255计数器计数器(C)C0---255数据块数据块(DB)DB1---65,532数据块用OPNDB打开
位,字节,字,双字DBX,DBBDBW,DBD0---65,532用OPNDI打开位,字节,字,双字DIX,DIBDIW,DID0---65,532--数据在存储器中存取的方式二进制数的1位(bit)只有0和1
两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态,如触点的断开和接通,线圈的通电和断电等。如果该位为1,则表示梯形图中对应的编程元件的线圈“通电”,其常开触点接通,常闭触点断开,反之相反。位数据的数据类型为BOOL(布尔)型。(1)位、字节、字和双字I5I0I1I2I3I476543
210MSBLSB--MB200LSB0MSB7MB200LSB低有效字节0MSB15高有效字节MB201MB200LSB最低有效字节0MSB31最高有效字节MB201MB202MB203两个字节组成1个字(Word),两个字组成1个双字(Double
Word)。一般用二进制补码表示有符号数,其最高位为符号位,最高位为0时为正数,为1时为负数,最大的16位正数为7FFFH,H表示十六进制数。8位二进制数组成1个字节(Byte),其中的第0位为最低位(LSB)、第7位为最高位(MSB)。MW200MD200M
W200MW202--字节、字和双字的取值范围见表数据的位数无符号数有符号整数十进制十六进制十进制十六进制B(字节),8位值0~2550~FF-128~12780~7FW(字),16位值0~655350~FFFF-32
768~327678000~7FFFFD(双字),32位值0~42949672950~FFFFFFFF2147483648~214748364780000000~7FFFFFFF--位存储单元的地址由字节地址和位地址组成,如I3.2,其中的区域标识符“I
”表示输入(Input),字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。(2)数据的存取方式输入字节IB3(B是Byte的缩写)由I3.0-I3.7这8位组成。相邻的两个字节组成一个字,MW200表示由MB200和MB201组成的1个字,MW20
0中的M为区域标识符,W表示字(Word),200为起始字节的地址。MD200表示由MB200~MB203组成的双字,M为区域标示符,D表示存取双字(DoubleWord),200为起始字节的地址。--区域区域功能访问区域单位标识符最大地址范围输入过程映像存储区(I)在循环
扫描开始时,从过程中读取输入信号至过程映像存储区输入位输入字节输入字输入双字IIBIWID0~65535.70~655350~655340~65532输出过程映像存储区(Q)在循环扫描期间,将过程映像存储区中的输
出值传至输出模块输出位输出字节输出字输出双字QQBQWQD0~65535.70~655350~655340~65532位存储区(M)此存储区用于存储控制逻辑的中间状态存储器位存储器字节存储器字存储器双字MMBMWMD0~255.
70~2550~2540~252存储区及功能见下表:--外部输入(PI)外部输出(PQ)用户可通过此区域直接访问输入和输出模块外部输入字节外部输入字外部输入双字外部输出字节外部输出字外部输出双字PIBPIWPIDPQBPQWPQD
0~655350~655340~655320~655350~655340~65532定时器(T)访问此区域可以得到定时剩余时间定时器(T)T0~255计数器(C)访问此区域可以得到当前计数值计数器(C)C0~255--数据块(DB)用“OPENDB”打开数据块,用“OPENDI”打开背景数据块
数据位数据字节数据字数据双字DB(I)XDB(I)BDB(I)WDB(I)D0~65535.70~655350~655340~65532本地数据(L)此区域存放逻辑块中的临时数据,当逻辑块结束时,数据丢失临时本地数据位临时本地数据字节临时本地数据字临时本
地数据双字LLBLWLD0~65535.70~655350~655340~65532--3.4数据格式与数据类型数制二进制数十六进制数BCD码--STEP7数据类型概述基本数据类型(到32位)复杂数据类型(长于32位)用户定义数据类型(长于32位)•位数据类型(BOOL,BYTE
,WORD,DWORD,CHAR)•数学数据类型(INT,DINT,REAL)•定时器类型(S5TIME,TIME,DATE,TIME_OF_DAY)•时间(DATE_AND_TIME)•矩阵(ARRAY)•结构(STRUCT)•字符串(STRING)数据类型
UDT(用户定义数据类型)--STEP7基本数据类型BOOL1True或False(1或0)BYTE8B#16#A9WORD16W#16#12AFDWORD32DW#16#ADAC1EF5CHAR8'w'S5TIME16S5T#5s_200
msINT16123DINT32L#65539REAL321.2或34.5E-12关键字长度(位)该类型的常数举例--复杂数据类型关键字长度(位)举例DATE_AND_TIME64DT#97-09-24-12:14:55.0STRING8*(
字符个数+2)´Thisisastring´(最多254个字符的字符串)´SIEMENS´ARRAY用户定义测量值:ARRAY[1..20](相同数据类型的元素组)INTSTRUCT用户定义Motor:STRUCT(不同数据类型的元素组)Speed:INTCurren
t:REALEND_STRUCTUDTUDTasblockUDTasarrayelement(用户定义数据类型=用户定义基本或复杂数据类型组成的STRUCTDrive:ARRAY[1..4]模板)Speed:INTUDT1Current:REALEND
_STRUCT--程序块类型故障FBFBFBFCSFCSFBFB带背景数据块阴影:OB组织块循环定时过程OB=组织块FB=功能块FC=功能SFB=系统功能块SFC=系统功能操作系统3.5程序结构--块类型特性组织块-
操作系统和用户程序的接口(OB)-各层次的优先级(1~26)-局部数据堆栈中的特殊启动信息功能块(FB)-带参数/数据保持-不带参数/数据保持-不带参数/数据不保持功能(FC)-只传递一个返回值(调用时必须分配参数)-数
据不保持-可带参数数据块(DB)-结构化,局部存储(背景DB)-结构化,全局数据存储(在整个程序中均有效)用户定义的块--用户块包括组织块、功能块、功能和数据块。组织块(OB)组织块是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。各种组织块由不同的事件启动,
且具有不同的优先级,而循环执行的主程序则在组织块OB1中。注意:各种块(除组织块外)的数目和代码的长度是与CPU不相关的,而组织块的数目则与CPU的操作系统相关。--功能块(FB)功能块是通过数据块参数而调用的。它们有一个放在数据块中的变量存储区,而数据块是
与其功能块相关联的,称为背景数据块。特点:每一个功能块可以有不同的数据块。这些数据块虽然具有相同的数据结构,但具体数值可以不同。功能(FC)功能没有指定的数据块,因而不能存储信息。功能常常用于编制重复发生且复杂的自动化过程。数据块(DB)数据块中包含程序所使
用的数据。--块类型特点系统功能-存储在CPU的操作系统中(SFC)-用户可以调用此功能(不需要存储器)系统功能块-存储在CPU的操作系统中(SFB)-用户可以调用此功能(需要存储器)系统数据块-用于组态数据和参数的数
据块(SDB)系统块--数据块类型和结构数据字节0数据字节81918位CPU314中块的大小是8K字节数据块提供的最大存储空间依赖于CPU的型号07--调用程序块调用程序块被调用的块(OB,FB,FC)(FB,FC,SFB,SFC)程序执行程序执行调用另
一个块的指令块结束--STEP7为设计程序提供三种方法。基于这些方法,可以选择最适合于你的应用的程序设计方法。线性化模块化结构化线性化编程:所有的指令都在一个块(OB1)内。模块化编程:每个设备的控制指令都在各自的块内。OB1按顺序调用每个块。结构
化编程:不同的块调用可重复利用的代码。OB1(或其他块)调用这些块并传递相应的参数。OB1OB1OB1配方A配方B混合器排空泵排空3.6编程方法--线性化编程OB1Network1Network2Networ
k3电机控制信息取得操作的小时数--模块化编程电机控制信息取得操作小时数OB1FC1FC2FC3--主程序子块程序处理程序处理g调用另一个块的指令块结束OBFC/FB模块化程序的执行--结构化编程OB1电机1FC1电机2FC1电机3FC
1--3.7编程语言IEC(国际电工委员会)5种编程语言的表达方式,即顺序功能图(SFC,SequentialFunctionchart),梯形图(LAD,LadderDiagram),功能块图(FBD,FunctionBlockD
iagram),指令表(InstructionList)和结构文本(ST,StructuredText)。--STEP7标准软件包配置了梯形图LAD、语句表(即IEC1131-3中的指令表)STL和功能块图FBD三种基本编程语言,STEP7还有多种编程语言作为可选软件包,如CFC,
SCL(西门子中的结构文本),S7-Graph和S7-HiGraph。这些编程语言中,LAD、FBD和S7-Graph为图形语言,STL、SCL和S7-HiGraph为文字语言,CFC则是一种结构块控制程序流程图。--PLC的编程应该遵
循以下基本原则。(1)外部输入、输出、内部继电器(位存储器)、定时器、计数器等器件的触点可多次重复使用。(2)梯形图每一行都是从左侧母线开始,线圈接在最右边,触点不能放在线圈的右边。(3)线圈不能直接与左侧母线相连。(4)同一编号的线圈在一个程序中使用两次及以上(称为双线圈输出)容易引起
误操作,应尽量避免双线圈输出。3.8PLC的编程原则--(5)梯形图程序必须符合顺序执行的原则,从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程。(6)在梯形图中串联触点、并联触点的使用次数没有限制,可无限
次地使用。