青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENSSTEP7编程方法青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS程序结构STEP7为设计程序提供三种方法。基于这些方法,可以选择最适合于你的应用的程序设计方法。线性化模块化结构化线性化编程:所有的指令都在一个块(OB1)内。模块化编程:每个设备的控制指令都在各自的块内。OB1按顺序调用每个块。结构化编程:不同的块调用可重复利用的代码。OB1(或其他块)调用这些块并传递相应的参数。OB1OB1OB1配方A配方B混合器排空泵排空青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS线性化编程OB1Network1Network2Network3电机控制信息取得操作的小时数青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS模块化编程电机控制信息取得操作小时数OB1FC1FC2FC3青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS主程序子块程序处理程序处理g调用另一个块的指令块结束OBFC/FB模块化程序的执行青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS结构化编程OB1电机1FC1电机2FC1电机3FC1青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS程序块类型故障FBFBFBFCSFCSFBFB带背景数据块阴影:OB组织块循环定时过程OB=组织块FB=功能块FC=功能SFB=系统功能块SFC=系统功能操作系统青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS块类型特性组织块-操作系统和用户程序的接口(OB)-各层次的优先级(1~26)-局部数据堆栈中的特殊启动信息功能块(FB)-带参数/数据保持-不带参数/数据保持-不带参数/数据不保持功能(FC)-只传递一个返回值(调用时必须分配参数)-数据不保持-可带参数数据块(DB)-结构化,局部存储(背景DB)-结构化,全局数据存储(在整个程序中均有效)用户定义的块青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS用户块包括组织块、功能块、功能和数据块。组织块(OB)组织块是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。各种组织块由不同的事件启动,且具有不同的优先级,而循环执行的主程序则在组织块OB1中。注意:各种块(除组织块外)的数目和代码的长度是与CPU不相关的,而组织块的数目则与CPU的操作系统相关。青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS功能块(FB)功能块是通过数据块参数而调用的。它们有一个放在数据块中的变量存储区,而数据块是与其功能块相关联的,称为背景数据块。特点:每一个功能块可以有不同的数据块。这些数据块虽然具有相同的数据结构,但具体数值可以不同。功能(FC)功能没有指定的数据块,因而不能存储信息。功能常常用于编制重复发生且复杂的自动化过程。数据块(DB)数据块中包含程序所使用的数据。青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS块类型特点系统功能-存储在CPU的操作系统中(SFC)-用户可以调用此功能(不需要存储器)系统功能块-存储在CPU的操作系统中(SFB)-用户可以调用此功能(需要存储器)系统数据块-用于组态数据和参数的数据块(SDB)系统块青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS数据块类型和结构数据字节0数据字节81918位CPU314中块的大小是8K字节数据块提供的最大存储空间依赖于CPU的型号07青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS调用程序块调用程序块被调用的块(OB,FB,FC)(FB,FC,SFB,SFC)程序执行程序执行调用另一个块的指令块结束青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS执行OB1中的程序(循环执行)事件(日期时间中断、硬件中断等)调用其他OB,FB,FC输出模块AI0.1AI0.2=Q8.0块OB1循环监视时间的开始启动块(OB100)上电后执行一次从模块读信号状态,并保存到过程映象区(PII)把过程映象输出表(PIQ)写到输出模块CPU循环输入模块循环程序执行青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS过程映象字节0字节1字节2:::CPU存储器区字节0字节1字节2:::PIIPIQ用户程序CPU存储器区::AI2.0=Q4.3::::11青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENSS7-300模块的编址PSCPUSMSMSMSMSMSMSM模块1245678910槽号地址0.0地址0.7地址1.0地址1.7青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS多层组态中的DI/DO编址机架0槽1234567891011机架396.0to99.7100.0to103.7104.0to107.7108.0to111.7112.0to115.7116.0to119.7120.0to123.7124.0to127.7IM(接受)PS机架264.0to67.768.0to70.772.0to75.776.0to79.780.0to83.784.0to87.788.0to91.792.0to95.7IM(接受)PS机架1IM(接受)32.0to35.736.0to39.744.0to47.748.0to51.752.0to55.756.0to59.760.0to63.740.0to43.7PS0.0to3.720.0to23.724.0to27.728.0to31.712.0to15.716.0to19.74.0to7.78.0to11.7IM(发送)CPUPS青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENSS7-300模拟量模块的寻址IM256to270336to350352to366368to382304to318320to334272to286288to302(发送)槽口号234567891011384to398400to414432to446448to462464to478480to494496to510416to430机架1R0电源模块IM(接收)电源模块CPU512to526528to542544to558560to574576to590592to606608to622624to638机架2IM(接收)电源模块机架3640to654656to670672to686688to702704to718720to734736to750752to766IM(接收)电源模块青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENSSTEP7的可能寻址范围设计的地址区访问区域缩写加在一起的最大区域过程映象I/Q输入/输出位I/Q0.0---65,535.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青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS数据在存储器中存取的方式二进制数的1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态,如触点的断开和接通,线圈的通电和断电等。如果该位为1,则表示梯形图中对应的编程元件的线圈“通电”,其常开触点接通,常闭触点断开,反之相反。位数据的数据类型为BOOL(布尔)型。(1)位、字节、字和双字I5I0I1I2I3I476543210MSBLSB青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENSMB200LSB0MSB7MB200LSB低有效字节0MSB15高有效字节MB201MB200LSB最低有效字节0MSB31最高有效字节MB201MB202MB203两个字节组成1个字(Word),两个字组成1个双字(DoubleWord)。一般用二进制补码表示有符号数,其最高位为符号位,最高位为0时为正数,为1时为负数,最大的16位正数为7FFFH,H表示十六进制数。8位二进制数组成1个字节(Byte),其中的第0位为最低位(LSB)、第7位为最高位(MSB)。MW200MD200MW200MW202青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS字节、字和双字的取值范围见表数据的位数无符号数有符号整数十进制十六进制十进制十六进制B(字节),8位值0~2550~FF-128~12780~7FW(字),16位值0~655350~FFFF-32768~327678000~7FFFFD(双字),32位值0~42949672950~FFFFFFFF2147483648~214748364780000000~7FFFFFFF青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS位存储单元的地址由字节地址和位地址组成,如I3.2,其中的区域标识符“I”表示输入(Input),字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。(2)数据的存取方式输入字节IB3(B是Byte的缩写)由I3.0-I3.7这8位组成。相邻的两个字节组成一个字,MW200表示由MB200和MB201组成的1个字,MW200中的M为区域标识符,W表示字(Word),200为起始字节的地址。MD200表示由MB200~MB203组成的双字,M为区域标示符,D表示存取双字(DoubleWord),200为起始字节的地址。青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS区域区域功能访问区域单位标识符最大地址范围输入过程映像存储区(I)在循环扫描开始时,从过程中读取输入信号至过程映像存储区输入位输入字节输入字输入双字IIBIWID0~65535.70~655350~655340~65532输出过程映像存储区(Q)在循环扫描期间,将过程映像存储区中的输出值传至输出模块输出位输出字节输出字输出双字QQBQWQD0~65535.70~655350~655340~65532位存储区(M)此存储区用于存储控制逻辑的中间状态存储器位存储器字节存储器字存储器双字MMBMWMD0~255.70~2550~2540~252存储区及功能见下表:青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS外部输入(PI)外部输出(PQ)用户可通过此区域直接访问输入和输出模块外部输入字节外部输入字外部输入双字外部输出字节外部输出字外部输出双字PIBPIWPIDPQBPQWPQD0~655350~655340~655320~655350~655340~65532定时器(T)访问此区域可以得到定时剩余时间定时器(T)T0~255计数器(C)访问此区域可以得到当前计数值计数器(C)C0~255青岛大学-西门子先进自动化技术实验室青岛大学自动化工程学院SIEMENS数据块(DB)用“OPENDB”打开数据块,用“OPENDI”打开背景数据块数据位数据字节数据字数据双字DB(I)XDB(I)BDB(I)WDB(I)D0~65535.70~65535