S7-300 PLC课件- 03 STEP 7编程方法.ppt
STEP7编程方法,程序结构,STEP7为设计程序提供三种方法。基于这些方法,可以选择最适合于你的应用的程序设计方法。,,,,线性化,模块化,结构化,,,,,,,,,,,,,,,,,,线性化编程所有的指令都在一个块(OB1)内。,模块化编程每个设备的控制指令都在各自的块内。OB1按顺序调用每个块。,结构化编程不同的块调用可重复利用的代码。OB1或其他块调用这些块并传递相应的参数。,OB1,OB1,OB1,配方A,配方B,混合器,排空,泵,排空,线性化编程,,OB1,,,Network1,Network2,Network3,电机控制,信息,取得操作的小时数,模块化编程,,,,,,,,,,,主程序,子块,程序处理,程序处理g,调用另一个块的指令,块结束,OB,FC/FB,,,,,,,模块化程序的执行,结构化编程,,OB1,程序块类型,故障,循环,定时,过程,OB组织块FB功能块FC功能SFB系统功能块SFC系统功能,,,,,,,,,,操作系统,,,,用户定义的块,用户块包括组织块、功能块、功能和数据块。,,组织块(OB),组织块是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。各种组织块由不同的事件启动,且具有不同的优先级,而循环执行的主程序则在组织块OB1中。,注意各种块(除组织块外)的数目和代码的长度是与CPU不相关的,而组织块的数目则与CPU的操作系统相关。,,功能块(FB),功能块是通过数据块参数而调用的。它们有一个放在数据块中的变量存储区,而数据块是与其功能块相关联的,称为背景数据块。特点每一个功能块可以有不同的数据块。这些数据块虽然具有相同的数据结构,但具体数值可以不同。,,功能(FC),功能没有指定的数据块,因而不能存储信息。功能常常用于编制重复发生且复杂的自动化过程。,,数据块(DB),数据块中包含程序所使用的数据。,,,,,,块类型特点系统功能-存储在CPU的操作系统中SFC-用户可以调用此功能(不需要存储器)系统功能块-存储在CPU的操作系统中SFB-用户可以调用此功能(需要存储器)系统数据块-用于组态数据和参数的数据块SDB,,,,,,,,,系统块,数据块类型和结构,,CPU314中块的大小是8K字节数据块提供的最大存储空间依赖于CPU的型号,0,7,调用程序块,,,,,,,,,,,调用程序块,被调用的块,OB,FB,FC,FB,FC,SFB,SFC,程序执行,程序执行,调用另一个块的指令,块结束,,,,,,,执行OB1中的程序循环执行事件日期时间中断、硬件中断等调用其他OB,FB,FC,循环监视时间的开始,,,启动块OB100上电后执行一次,从模块读信号状态,并保存到过程映象区PII,把过程映象输出表PIQ写到输出模块,,,,,,,,,循环程序执行,过程映象,字节0字节1字节2,PII,PIQ,,,,CPU存储器区,AI2.0,Q4.3,1,,1,S7-300模块的编址,地址0.0地址0.7地址1.0地址1.7,,,,,多层组态中的DI/DO编址,槽1234567891011,,S7-300模拟量模块的寻址,IM,256to270,336to350,352to366,368to382,304to318,320to334,272to286,288to302,发送,槽口号234567891011,,电源模块,CPU,STEP7的可能寻址范围,设计的地址区,访问区域,缩写,加在一起的最大区域,过程映象I/Q,输入/输出位,I/Q,0.0---65,535.7,输入/输出字节,I/QB,0---65,535,输入/输出字,IW/QW,0---65,534,输入/输出双字,ID/QD,0---65,532,存储器标志,存储器位,M,0.0---255.7,存储器字节,MB,0---255,存储器字,MW,0---254,存储器双字,MD,0---252,I/Q外部输入/输出,I/Q字节,外设,PIB/PQB,0---65,535,I/Q字,外设,PIW/PQW,0---65,534,I/Q双字,外设,PID/PQD,0---65,532,定时器,定时器T,T,0---255,计数器,计数器C,C,0---255,数据块,数据块DB,DB,1,---,65,532,数据块,用OPNDB打开,位,字节,字,双字,DBX,DBB,DBW,DBD,0,---,65,532,用OPNDI打开,位,字节,字,双字,DIX,DIB,DIW,DID,0,---,65,532,数据在存储器中存取的方式,二进制数的1位bit只有0和1两种不同的取值,可用来表示开关量或称数字量的两种不同的状态,如触点的断开和接通,线圈的通电和断电等。如果该位为1,则表示梯形图中对应的编程元件的线圈“通电”,其常开触点接通,常闭触点断开,反之相反。位数据的数据类型为BOOL布尔型。,1位、字节、字和双字,两个字节组成1个字Word,两个字组成1个双字DoubleWord。一般用二进制补码表示有符号数,其最高位为符号位,最高位为0时为正数,为1时为负数,最大的16位正数为7FFFH,H表示十六进制数。,8位二进制数组成1个字节Byte,其中的第0位为最低位LSB、第7位为最高位MSB。,MW200,MD200,MW200,MW202,字节、字和双字的取值范围见表,,位存储单元的地址由字节地址和位地址组成,如I3.2,其中的区域标识符“I”表示输入,字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。,(2)数据的存取方式,输入字节IB3B是Byte的缩写由I3.0-I3.7这8位组成。相邻的两个字节组成一个字,MW200表示由MB200和MB201组成的1个字,MW200中的M为区域标识符,W表示字Word,200为起始字节的地址。MD200表示由MB200MB203组成的双字,M为区域标示符,D表示存取双字DoubleWord,200为起始字节的地址。,存储区及功能见下表,输入采样阶段依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。,一个扫描周期中与用户有关的三阶段,用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序。在扫描每一条梯形图时,并按先左后右、先上后下的顺序进行逻辑运算,逻辑运算的结果存于映象区。上面的逻辑运算其运算结果会对下面的逻辑运算起作用;相反,下面的逻辑运算其运算结果只能到下一个扫描周期才能对上面的逻辑运算起作用。,输出刷新阶段,当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照存在I/O映象区的运算结果,刷新所有对应的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。,PLC的工作特点,所有输入信号在程序处理前统一读入,并在程序处理过程中不再变化。而程序处理的结果也是在扫描周期的最后时段统一输出。其工作特点是将一个连续的过程分解成若干静止的状态,极类似放映电影的原理。便于面向对象的思维。PLC仅在扫描周期的起始时段读取外部输入状态,该时段相对较短,抗输入信号串入的干扰极为有利。这种方式对于高速变化的过程可能漏掉变化的信号,也会带来系统响应的滞后。为克服上述问题,可利用立即输入输出、脉冲捕获、高速计数器或中断技术。,扫描工作方式对程序执行的影响,I0.0代表外部的按纽,当按纽动作后,左面的程序只需要一个扫描周期就可完成对M0.4的刷新,而右面的程序要经过四个扫描周期才能完成对M0.4的刷新。在扫描周期极为短的情况下(100ms),无时序配合要求,感觉不到这两段程序执行的的差异。在有时序配合的情况下,这种差异要引起注意。,