




已阅读5页,还剩145页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SIMATICS7-300PLC及指令系统,1系统组成硬件配置2指令系统3程序结构4S7PLC的网络通信,1.3.1S7-300PLC的系统硬件组成,S7-300PLC的硬件构成:,1.3.1.1CPU单元,SIMATICS7-300有多种性能级别的CPU:各种CPU均封装在一个紧凑的塑料壳体内CPU上集成有MPI多点接口,MPI接口可以使PLC与其它PLC站点、操作站(OS)、编程器(PG)、操作员面板(OP)等建立通信联系,用MPI接口可以建立由多个站点组成的简单网络。CPU31x2还集成了PROFIBUS-DP接口,适用于大范围分布式自动化结构。PLC的执行速率、存储器容量、可扩展的I/O点数等都随着CPU序号的递增而增加。,CPU单元1,S7-300信号模块,AIAODIDO,1.3.1.2模拟量输入模块,模拟量值的表示方法,SM331的输入测量范围很宽,可直接输入电压、电流、电阻、mV等信号,单极性电压、电流输入的数字化表示:,SM331模块的硬件设置(6es7-331-7kf02-0ab0),8通道12位SM331模块,模拟量模块装有量程块,调整量程块的方位可改变模块内部的硬件结构SM331每两个相邻输入通道共用一个量程块,构成一个通道组。量程块是一个正方体的短接块,在上方有“A”,“B”,“C”,“D”四个标记不同的量程块位置,适用于不同的测量方法和测量范围。,SM331模块的硬件设置,SM331量程块设置对应关系:,电流信号连接,SM331模块的软件设置,电压信号连接,L,M,M,M+,M+,M,ADC,光隔,MANA,背板总线,电阻信号连接,一般什么仪表输出信号?该仪表在使用时需要注意什么?,模拟量值的表示方法,LPIW400/从端口地址400读入十进制转换结果T#Dec_in/存入临时变量Dec_inCALLSCALE/直接调用系统提供的转换函数,以下是输入输出参数IN:=#Dec_in/入口参数:十进制转换结果HI_LIM:=2.000000e+002/入口参数:工程量上限200,单位kPaLO_LIM:=0.000000e+000/入口参数:工程量下限0BIPOLAR:=FALSE/入口参数:TRUE为双极性,FALSE为单极性RET_VAL:=#ret/出口参数:返回值OUT:=#In_result/出口参数:工程量转换结果,420mA15VDC010mA020mA,数字量027648,工程量,如:0200kPa,OUT=(IN-K1)/(K2-K1)*(HI_LIM-LO_HIM)+LO_LIM上式中当BIPOLAR=TRUE时,K1=-27648,K=27648;BIPOLAR=FALSE时,K1=0,K=27648。,1.3.1.3模拟量输出模块(SM332),模拟量值的表示方法,SM332模块可以输出电压和电流两种类型的信号,从表7.8中可以看出,一个模拟量信号的输出,需要把浮点数转换成027648或者2764827648范围的十进制结果,然后再根据端口地址把十进制结果送到输出缓冲区。,SM332模块的软件设置,SM332有212位、412位二种AO模块,其特性、参数、工作原理等完全相同。,模拟量值的表示方法,CALLUNSCALE/直接调用系统提供的转换函数,以下是输入输出参数IN:=#Out_val/入口参数:阀位值0100浮点数HI_LIM:=1.000000e+002/入口参数:阀位上限100LO_LIM:=0.000000e+000/入口参数:阀位下限0BIPOLAR:=FALSE/入口参数:TRUE为双极性输出,FALSE单极性输出RET_VAL:=#ret/出口参数:返回值OUT:=#Out_result/出口参数:十进制转换结果存入临时变量L#Out_resultTPQW416/十进制转换结果输出到过程输出缓冲区,OUT=(IN-LI_MIL)/(HI_LIM-LO_MIL)*(K2-K1)+K1其中,当BIPOLAR=TRUE时,K1=-27648、K=27648BIPOLAR=FALSE时,K1=0、K=27648,1.3.1.4开关量输入模块(SM321),开关量输入模块SM321主要有直流信号输入和交流信号输入二大类,1.3.1.5开关量输出模块(SM322),SM322模块有晶体管、可控硅和继电器3种输出类型,1.3.2系统配置,S7系列PLC采用的是模块化的结构形式,根据系统规模用户可选择不同型号和不同数量的模块,并把这些模块安装在一个或多个机架上。除了CPU模块、电源模块、接口模块之外,它规定每一个机架最多可以安装8个I/O信号模块。一个PLC系统的最大配置能力(包括I/O点数、机架数等)与CPU的型号直接相关,1.3.2.1硬件结构配置,PLC模块的安装是有顺序要求的,每个机架从左到右划分为11个逻辑槽号电源模块安装在最左边的1#槽,2#槽安装CPU模块,3#槽安装接口模块,411#槽可自由分配I/O信号模块、功能模块或通信模块。需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。,电源模块,CPU模块,接口模块,I/O模块,1234567891011,逻辑槽号,1.3.2系统配置,该系统需要15个SM模块,必须安装到2的机架,根据表7.1中的性能参数,该系统可以选用CPU315或CPU315以上的型号。,机架的连接(一),如果:机架数量4and各机架安装在控制室and机架之间的距离10米,方式一:,机架的连接(二),如果:机架数量4or有机架要安装在现场or机架之间的距离10米要求:CPU上集成DP口或在CR上扩展DP口(ProfibusDP),方式二:,1.3.2.2硬件地址配置,系统的I/O模块分为:模拟量和数字量二种类型,每个模块包含若干个通道。模块上任何通道均配置独立的地址,应用程序则根据地址实现对他们的操作。,S7-300的开关量地址由地址标识符地址的字节部分和位部分组成.地址标识符I表示输入,Q表示输出,M表示存储器存储器地址.例如I3.2是一个数字量输入地址,3表示字节地址,小数点后2表示字节3中的第二位.开关量的寻址除了按位,还可以按字节,按字及双字寻址,具体数字量地址由在机架及模块的位置有关.数字量的起始地址从0.0开始到127.7,共可占用128个字节,也就是32个模块.,对于模拟量模块,是以通道为单位,一个通道占用一个字地址,也就是两个字,例如模拟量输入通道IW460由IB460和IB461两个字节组成.S7-300为模拟量模块保留了专用的地址区域,字节地址范围为IB256到IB767可以用装载指令和传送指令直接访问模拟量模块.一个模块最多8个通道,每个通道分配两个字节即16位地址.,I/O地址的生成,DI/DO模块缺省地址配置,CR,ER3,ER2,ER1,4567891011,AI/AO模块缺省地址配置,CR,ER3,ER2,ER1,4567891011,其他模块的地址分配,数制,1.二进制数.二进制数的每一位只有1和0两个不同的数值,即两种状态.逢2进1.二进制的常数用2#1001_1100格式表示,2.十六进制数.十六进制数是由09和AF十六个数字组成。每个数字占用二进制数的四位,即逢16进1.十六进制的常数表示方法:B#16#-16进制字节常数,W#16#-16进制字常数,DW#16#-16进制双字常数,如W#16#13AF也可以在数字后面加H表示16进制数,如13AFH,3.BCD码.用4位二进制数表示一位十进制数,形式上是16进制数,但各位之间逢十进1.如十进制的296转换成BCD码为2#0000_0010_1001_0110或W#16#296,S7-300数据类型,STEP7有3种数据类型:(1)基本数据类型;(2)用户通过组合基本数据类型生成的复合数据类型(3)可用来定义传送FB(功能块)和FC(功能)参数的数据类型,基本数据类型1.位(bit)数据位的数据类型为BOOL型.BOOL型变量的值也常用TURE和FALSE来表示.2.字节(BYTE).8个二进制位组成一个字节,其中第0位为最低位,第7位为最高位.3.字(WORD).相邻的两个字节组成一个字,字用来表示无符号数.如MW100由MB100和MB101两个字节组成.MW100中的M为区域标识符,W表示字,100为起始地址为字节MB100.4.双字(DOUBLEWORD).两个字组成一个双字,双字用来表示无符号数.如MD100是由MB100MB103四个字节组成.MB100为高位字节,MB103为低位字节.,5.16位整数(INT)整数为有符号数,整数的最高位是符号位,取值范围位-3276832767.一个整数占两个字节的地址.,6.32位整数(DINT)整数为有符号数,整数的最高位是符号位,取值范围为-21474836482147483647.一个整数占两个字节的地址.,7.32位浮点数(REAL)浮点数第一位为符号位,第30位第23位为指数位,第22位第0位为小数位.-21474836482147483647.一个整数占两个字节的地址.浮点数运算速度较慢.,8.常数的表示方法.16位整数1.002000e+002实数L#2双整数P#M5.0指针常数S5T#20MS时间常数,C#250(BCD码)计数器常数2#1001_0010二进制常数,复合数据类型与参数类型(1)数组(ARRAY)将同一类型的数据组合在一起.(2)结构(STRUCT)将一组不同数据类型的数据组合在一起,形成一个单元.(3)字符串(STRING)最多254个字符组成的一个数组.(4)日期和时间(DATE_AND_TIME)用于存储年月日时分秒和毫秒和星期,占用8个字节用BCD格式保存星期天的代码为1,星期一到星期六代码为27如DT#2004-07-15-12:20:15.200(5)用户定义的数据类型UDT:将基本数据类型和复合数据类型组合在一起,形成一个新的数据类型.可以在DB中和变量声明表中定义符合数据类型.参数类型参数类型是为在逻辑块之间传递参数的形参定义的数据类型(1)TIMER(定时器)和COUNTER(计数器)指定逻辑块时要使用的定时器或计数器指定编号,如T3,C21(2)BLOCK(块)指定一个块用作输入输入或输出,例如FBFCDB等.参数类型为块的绝对地址如FB2或符号名等.(3)POINTER(指针):指针指向一个变量的地址,即用地址做实参.如P#M5.0是指向M5.0的双字地址指针.,ANY:用于实参的数据类型未知或实参可以使用任意数据类型.占用10个字节地址,1.3.2存储区,S7300CPU有三个基本存储区:,存储区,CPU能访问的存储区:P、Q、I、M、T、C、DB块、L堆栈,外设I/O与存储区的映像,外设I/O与存储区有二种映射关系:外设输入输出存储区(PI、PQ)输入输出映像表(I、Q),外设输入输出存储区:包括外设输入(PI)和外设输出(PQ)其最大寻址范围为64KB访问方式有:PIB、PQB、PIW、PQW、PID等。CPU利用外设(P)存储区直接读写总线上的数据,输入输出映像表:包括输入过程映像表(I)和输出过程映像表(Q)输入映像表为128Byte,是对PI首128Byte的映像,在循环扫描中读取输入状态时将外设输入存储区(PI)首128Byte装入输出映像表为128Byte,是对PQ的首128Byte的映像在CPU循环扫描更新输出状态时,将输出映像表的值传送到物理输出,在写输出时可以将数据直接通过PQ输出,也可以将数据传送到Q口输出,,输入映像,结合缺省地址配置示例,输出映像,结合缺省地址配置示例,存储区及其操作数表示方法,MB10,MB11,MB12,MB13,MB14,M10.3,MW10,MD10,位存储区的操作数表示方式,1.3.2.3内部寄存器,S7CPU的寄存器有(7个):,1.3.4程序结构,STEP7有二种编程方法:线性编程、结构化编程,线性编程将整个用户程序指令逐条编写在一个连续的指令块中,CPU线性地扫描每条指令(适用于简单的控制任务),结构化编程*适合编制并组织复杂的控制程序。,结构化编程的“块”,STEP7,C语言,1.3.4.3组织块及中断,S7提供了各种不同的组织块(OB),这些组织块允许用户创建在特定时间或对特定事件响应的程序,这些OB可分为四种:主循环块OB1(任何时候都需要)启动组织块.硬件中断块(响应一个来自I/O模块的信号)同步响应块(响应一个来自程序中指令的错误)异步响应块(响应CPU操作或模块状态异常),组织块,1.OB1块.用于循环处理用户程序中的子程序.操作系统在每一次循环中执行一次组织块OB1.,2.启动组织块.用于系统初始化.系统刚上电或操作模式改为RUN时,根据启动的方式执行启动程序执行.如OB1003.中断组织块.按时间中断的组织块如OB30OB38按事件中断的组织块如OB40OB47,OB121122等,部分OB块的优先级:,逻辑功能块,S7PLC程序在采用结构化编程中,一个程序由许多逻辑功能块(子程序)组成,这些逻辑功能块允许相互调用。调用块可以是任何逻辑块(OB、FB、FC),被调用块只能是功能块(除OB外的逻辑块FB、FC、SFB、SFC)。,OB块不可以被调用,数据块:背景数据块和共享数据块,数据块是用于存放执行用户程序时所需要的变量数据的数据区.1.FB块的背景数据块,2.通用的共享数据块共享数据块中的数据可以被任何FB,FC或OB块进行读写访问背景数据块是FB运行时的工作存储区,调用FB时必须指定一个相关的背景数据块,被调用的背景数据块必须与FB所要求的格式相符,作为规则,只有FB块才能访问存放在背景数据块中的数据。数据块在CPU的存储器中是没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。,1.3.4.1数据块,PLC可定义的数据类型:bool、byte、int、dint、real、date、time等基本数据类型,还可定义数组、结构等复式数据类型,数据块定义的原则:先定义后访问S7CPU允许在存储器中建立不同大小的多个数据块不同的CPU对允许定义的数据块数量及数据总量有限制例如:CPU314允许定义用作数据块的存储器最多8KByte,用户定义的数据总量不能超过8K,否则将造成系统错误。,数据块定义,用STEP7开发软件包定义,使用前作为用户程序的一部分下载到CPU,允许用户程序运行过程中动态定义数据块(调用系统函数)注意:如果定义的数据块数量或数据总量超过限制,则动态定义过程失败,可能导致系统崩溃,应慎重使用动态定义数据块。,有2种定义方式:,数据块访问,直接访问,指令中写明数据块号、类型、位置LDB1.DBD2/块号1,双字,数据块中25字节ADB2.DBX0.2/块号2,位,0字节第2位L“Temp”T0/符号地址,“先打开后访问”OPNDB1LDBD2/访问DB1.DBD2OPNDI2TDBD4/访问DI2.DBD4,注:数据块没有专门的关闭指令,在打开一个块时,先前打开的块自动关闭因CPU只有DB和DI两个数据块地址寄存器,所以最多可同时打开两个块,_,FC功能块没有背景数据块,因此不能使用静态变量,在变量声明表中可以声明包括in、out、in_out和temp4种类型局部数据,CALLFC1a1:=a2:=b1:=c1:=,FC块的调用:,1.操作系统在L堆栈中给FC的临时变量分配存储空间2.FC块的参数表中的各参数在块操作结束前应被使用(或存放到特定位置),否则它们将不会被自动保存。,变量声明表(局部数据),FC块由两个主要部分组成:一是变量声明表;二是指令程序,FC功能,_,FB功能块有一个数据块附属于该功能块,并随功能块的调用而打开,功能块的结束而关闭,该数据块称背景数据块(InstanceDataBlock),1.背景数据块的数据结构与FB块的变量声明表(除临时变量)完全相同2.为变量声明表中声明的in、out、in_out和stat4种类型局部数据分配的存储空间是背景数据块,当FB结束时背景块中的数据继续保存“记忆”3.为临时变量分配存储空间的是L堆栈。,CALLFB4,DB33a1:=a2:=b1:=c1:=,FB块的调用:,临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。,变量声明表中的变量类型,inoutin_out,实现调用块和被调用块间的数据传递。实参在调用功能块时给出,实参的数据类型必须与形参一致。,stat,静态变量定义在背景数据块中,当被调用块运行时,能读出或修改静态变量;被调用块运行结束后,静态变量保留在背景数据块中。,temp,_,FB功能块,_,FB块的变量声明表,FC块的变量声明表,FB块与背景块的关系,1.3.4.4逻辑块的调用关系,操作数,1.3.3指令系统简介,SIMATICS7系列PLC用户程序的开发软件包:STEP7S7系列PLC的编程语言:LAD(梯形图)、STL(语句表)*、SCL(标准控制语言)、GRAPH(顺序控制)、HiGraPh(状态图)、CFC(连续功能图)、CforS7(C语言)等,用户可以选择一种语言编程,也可混合使用几种语言编程。常用的编程语言:LAD(梯形图)、STL(语句表)*,适用于模拟量的解算,1.3.3.1STL指令及其结构,语句指令:操作码操作数,AI0.1/对输入继电器I0.1进行与操作,LMW10/将字MW10装入累加器1,定义要执行的功能,执行该操作所需要的信息,有些语句指令不带操作数,它们操作的对象是唯一的。NOT/对逻辑操作结果(RLO)取反。,(1)语句指令的组成,PLC系统开发的基本流程,根据工艺要求,确定I/O参数数量,1.进入Step72-1.硬件配置2-2.地址配置:网络地址IO端口地址3.软件编程(针对工艺要求),存储区及其操作数表示方法,存储区最大寻址范围,1.3.3.2寻址方式,操作数指令的操作或运算对象寻址方式指令得到操作数的方式。表示方式绝对寻址符号寻址(用一个符号指定一个特定的绝对地址)寻址方式立即寻址存储器直接寻址存储器间接寻址寄存器间接寻址,立即寻址,SET/把RLO(ResultofLogicOperation)置“1”L27/把整数27装人累加器1LC0100/把BCD码常数0100装入累加器1,立即寻址:对常数或常量的寻址方式,操作数本身包含在指令中,2019/12/16,75,可编辑,直接寻址,AI0.0/对输入位I0.0进行“与”逻辑操作SL20.0/把本地数据位L20.0置1=M115.4/将RLO的内容传给位存储区中的位M115.4LDB1.DBD12/把数据块DB1双字DBD12中的内容传送给累加器1/双字表示32位,如浮点数为32为双字,直接寻址:在指令中直接给出操作数的存储单元地址,存储器间接寻址,存储器间接寻址:标识参数由一个存储器给出,存储器的内容对应该标识参数的值(该值又称为地址指针)这种寻址方式能动态改变操作数存储器的地址,常用于程序循环过程中的寻址。,AIMD2/对由MD2指出的输入位进行“与”逻辑操作,如:MD2值为/200000000000000000000000001010110表示I10.6LIBDID4/将由双字DID4指出的输入字节装入累加器1,如:DID4值为/200000000000000000000000001010000表示对IB10操作OPNDBMW2/打开由字MW2指出的数据块,如MW2为3,则打开DB3,地址表述,标识参数:1.2标识参数:3标识参数:12,DB1.DBD0=1.2MD16=3MW20=12,地址表述,双字地址指针的描述:MD16、DB1.DBD0,3124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0000000000000bbbbbbbbbbbbbbbbxxx字节编号位编号000000000000000000000000000010101.200000000000000000000000000001010000000000000000000000000011000001200000000000000000000000001100000,用双字格式访问字节、字、双字存储器,必须保证位编号为0。,实例,L+5/将整数+5装入累加器1TMW0/将累加器1的内容传送给存储字MW0,此时MW0内容为5OPNDBMW0/打开由MW0指出的数据块,即打开数据块5(DB5)LP#8.7/将地址指针2#00000000000000000000000001000111装入A1TMD2/将累加器1的内容P#8.7传送给位存储区中的MD2LP#4.0/将2#00000000000000000000000000100000装入A1累加器1原内容P#8.7被装入累加器2+I/将累加器1和累加器2内容整数相加,在累加器1中得到的“和”为2#00000000000000000000000001100111(P#12.7)TMD6/将累加器1的当前内容传送MD6(12.7)AIMD2/对输入位I8.7进行“与”逻辑操作,结果存放在RLO中=QMD6/将RLO赋值给输出位Q12.7,寄存器间接寻址,寄存器间接寻址:在S7中有两个地址寄存器(AR1和AR2)地址寄存器的内容偏移量地址指针,LP8.6/将P8.6装入A1LAR1/将累加器1的内容传送至地址寄存器1LP10.0/将P10.0装入A1LAR2/将累加器1的内容传送至地址寄存器2AIAR1,P1.0/AR1+偏移量(9.6)=QAR2,P4.1/AR2+偏移量(14.1),这是区域内寄存器间接寻址指令中给出存储区域标识,LPI8.6/将指向I8.6的地址指针装入A1LAR1/将累加器1的内容传送至地址寄存器1LPQ10.0/将指向Q8.6的地址指针装入A1LAR2/将累加器1的内容传送至地址寄存器2AAR1,P1.0/AR1+偏移量(9.6)=AR1,P4.1/AR1+偏移量(14.1),这是区域间寄存器间接寻址指令中部需要给出存储区域标识存储区域的信息包含在地址指针中,存储器地址指针的描述,3124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz0000rrr00000bbbbbbbbbbbbbbbbxxx字节编号位编号,0:区域内寄存器间接寻址1:区域间寄存器间接寻址,存储区域标识符P.255,存储器地址指针的描述,3124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz0000rrr00000bbbbbbbbbbbbbbbbxxx字节编号位编号00000000000000000000000001000110P#8.610000001000000000000000001000110P#I8.610000010000000000000000001000110P#Q8.6,实例1,LP#0.0LAR1LP#10.0LAR2L64n1:T#loopjsqOPNDB1CLRAIAR1,P#0.0=DBXAR2,P#0.0LP#0.1+AR1+AR2L#loopjsqLOOPn1,作用:把地址为0.0开始的64个开关量输入信号采用循环方式逐个转存到DB1,存放位置由DB1.DBX10.0开始的64个位。,实例2,LP#256.0LAR1LP#200.0LAR2L32n1:T#loopjsqOPNDB2CLRLPIWAR1,P#0.0T#Tmp_InCALLSCALEIN:=#Dec_inHI_LIM:=2.000000e+002LO_LIM:=0.000000e+000BIPOLAR:=FALSERET_VAL:=#retOUT:=#In_resultL#In_resultTDBDAR2,P#0.0LP#2.0+AR1LP#4.0+AR2L#loopjsqLOOPn1,作用:把地址为256.0开始的32个模拟量输入信号采用循环方式逐个转存到DB2,存放位置由DB2.DBD200开始的32个浮点数。,1.3.3.3状态字,首次检测位*,逻辑操作结果*,状态位,或位,溢出位,溢出状态保持位,条件码0,条件码1,二进制结果位,状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。,首次检测位(FC),位置:状态字位“0”作用:首次检测位FC决定了对其接点信号的存放位置。在逻辑串指令执行过程中:若FC0,表明一个梯形逻辑网络的开始(或为首条逻辑串指令),CPU对操作数的检测结果(首次检测结果)直接保存在状态字的RLO位中,FC位置1;若FC1,检测结果与RLO相运算,并把运算结果存于RLO清除:执行输出指令(S、R、=)或与逻辑运算有关的转移指令时FC被清0(表示逻辑串结束),逻辑操作结果(RLO),ResultofLogicOperation,RLO,位置:状态字位“1”作用:存储位逻辑指令或算术比较指令的结果。,FC/RLO的变化示例,RLO、FC的变化示例,状态位(STA),状态字的第2位称状态位,执行位逻辑时,STA总是与该位的值一致.,或位(OR),状态字的第3位称为或位,在先”与”后”或”的逻辑运算中,OR位暂时存储”与”的操作结果,以便进行后面的或运算.其他指令将OR位复位。,溢出位(OV),状态字的第4位称为溢出位,如果算术运算或浮点数比较指令执行时出现错误,如溢出,非法操作或不规范的格式溢出位被置1。如果后面的同类指令执行结果正常,该位被清零。,溢出位(OS),状态字的第5位称为溢出保持位,或称溢出储存位。OV被置位后,OS同时被置位,OV被清零后OS位仍然保持,表示前面的指令执行时有错误。只有JOS(OS=1)指令才能复位OS位。,条件码1(CC1)和条件码0(CC0),状态字的第6位和第7位称为条件码1和条件码0.两位综合起来用于表示在累加器1中产生的算术运算的结果与0的大小关系,比较指令的执行结果或移位指令的移出位状态.,先与后或,比较指令(累加器二与累加器一)移位循环指令字逻辑指令,二进制结果位(BR),状态字的第8位称为二进制结果位,执行位逻辑时.它将字处理程序与位处理程序联系起来.在一段既有字处理程序又有位处理操作的程序中,用于表示字操作结果是否正确.将BR位加入程序后,无论字操作的结果如何,都不会造成二进制逻辑链的中断.在梯形图的方框指令中,BR位与ENO位有对应关系,用于表明方框指令是否被正确执行:如果执行出现了错误,BR位为0,ENO也为0,如过执行正确,BR为1,ENO也为1.状态字的第9位至第15位未使用.,7.3.3.4位逻辑运算指令,PLC中的触点包括常开触点(动合触点)和常闭触点(动断触点)两种形式。按照PLC的规定:常开触点(动合触点)用操作数“1”表示触点“动作”,即认为触点“闭合”,操作数“0”表示触点“不动作”,即触点断开;常闭触点(动断触点)的表示方式则相反。,位逻辑运算指令主要包括“与”A、“与非”AN、“或”O、“或非”ON、“异或”XOR、赋值、置位S、复位R指令及其它们的组合,用来描述触点的状态、决定触点的动作或根据逻辑运算结果控制程序的进程。,串联逻辑,在PLC梯形图中的串联逻辑是用逻辑“与”和“与非”表示常开触点(动合触点):若操作数是“1”,则常开触点“动作”,即认为触点“闭合”,若操作数是“0”,则常开触点“不动作”,即触点仍打开;常闭触点(动断触点):若操作数是“1”,则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“不动作”,即触点保持闭合。如果串联回路里的所有触点皆闭合,该回路就通“电”了,图中如果所有触点闭合,即I0.0、I1.0为“1”,M2.1为“0”,则输出Q4.0信号状态就为“l”(继电器触点接通),A、AN指令,对信号状态进行“1”扫描,并做“与”运算,用助记符“A”来标识,当操作数的信号状态是“1”时,其扫描结果是“l”。对信号状态进行“0”扫描,并做“与”运算,用助记符“AN”来标识取反的“与”逻辑操作当操作数的信号状态是“0”时,其扫描结果是“1”。,并联逻辑,在PLC梯形图中的并联触点是用逻辑“或”和“或非”表示在触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就“通电”。图中如果有一个触点闭合(I0.0为“1”或Q1.0为“1”或M2.1为“0”)则Q1.2为“l”;如果有三个触点全部是打开的,则输出Q1.2为“0”(继电器触点打开)。,O、ON指令,对进行“l”扫描,并做“或”运算,用助记符“O”来标识对进行“0”扫描,并做“或”运算,用助记符“ON”来标识取反的“或”逻辑操作(或非),串并联的复合达式和先“与”后“或”,当逻辑串是串并联的复合组合时,CPU的扫描顺序是先“与”后“或”。,A(AI0.0AI0.1OANI0.0ANI0.1)AI0.2=Q1.2,A(OI0.0ONI0.0)A(OI0.1ONI0.1)AI0.2=Q1.2,输出指令(),该操作把状态字中RLO的值赋给指定的操作数(位地址)把首次检测位(FC位)置0,来结束一个逻辑串一个RLO可以驱动多个输出元件若RLO为“l”,则操作数被置位,否则操作数被复位。,AI0.0=Q1.2=Q1.3,置位复位指令,置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置l或清0;若RLO是0,则被寻址位的信号保持原状态不变,这一特性又被称为静态的置位复位赋值输出()被称为动态赋值输出。,实例1,SETRfb6_db_09p50.startRfb6_db_21p50.startRfb6_db_21p01.startSfb6_db_42p50.startSfb6_db_43p50.startSfb6_db_44p50.start,ASZ_DATA.precoat_overJCNn1/RLO=0跳转RSZ_DATA.fil_precoating1RSZ_DATA.fil_precoating2SSZ_DATA.fil_precoating3SSZ_DATA.fil_precoating4n1:,1.3.3.5数字操作运算指令,装入和传送指令比较指令算术运算指令字逻辑运算指令移位和循环移位指令其它操作指令,数字指令:按字节、字、双字对存储区访问并对其进行运算的指令,1.3.4程序结构,STEP7有二种编程方法:线性编程、结构化编程,线性编程将整个用户程序指令逐条编写在一个连续的指令块中,CPU线性地扫描每条指令(适用于简单的控制任务),结构化编程*适合编制并组织复杂的控制程序。,结构化编程的“块”,STEP7,C语言,1.3.4.1数据块,PLC可定义的数据类型:bool、byte、int、dint、real、date、time等基本数据类型,还可定义数组、结构等复式数据类型,数据块定义的原则:先定义后访问S7CPU允许在存储器中建立不同大小的多个数据块不同的CPU对允许定义的数据块数量及数据总量有限制例如:CPU314允许定义用作数据块的存储器最多8KByte,用户定义的数据总量不能超过8K,否则将造成系统错误。,数据块定义,用STEP7开发软件包定义,使用前作为用户程序的一部分下载到CPU,允许用户程序运行过程中动态定义数据块(调用系统函数)注意:如果定义的数据块数量或数据总量超过限制,则动态定义过程失败,可能导致系统崩溃,应慎重使用动态定义数据块。,有2种定义方式:,数据块访问,直接访问,指令中写明数据块号、类型、位置LDB1.DBD2/块号1,双字,数据块中25字节ADB2.DBX0.2/块号2,位,0字节第2位L“Temp”T0/符号地址,“先打开后访问”OPNDB1LDBD2/访问DB1.DBD2OPNDI2TDBD4/访问DI2.DBD4,注:数据块没有专门的关闭指令,在打开一个块时,先前打开的块自动关闭因CPU只有DB和DI两个数据块地址寄存器,所以最多可同时打开两个块,背景数据块和共享数据块,数据块可以是附属与某个FB块的背景数据块,也可以是通用的共享数据块背景数据块是FB运行时的工作存储区,调用FB时必须指定一个相关的背景数据块,被调用的背景数据块必须与FB所要求的格式相符,作为规则,只有FB块才能访问存放在背景数据块中的数据。共享数据块中的数据可以被任何FB,FC或OB块进行读写访问数据块在CPU的存储器中是没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。原则上,数据块都可以当作共享数据块或背景数据块使用。,1.3.4.2逻辑功能块,S7PLC程序在采用结构化编程中,一个程序由许多逻辑功能块(子程序)组成,这些逻辑功能块允许相互调用。调用块可以是任何逻辑块(OB、FB、FC),被调用块只能是功能块(除OB外的逻辑块FB、FC、SFB、SFC)。,OB块不可以被调用,变量声明表(局部数据),功能块由两个主要部分组成:一是变量声明表;二是指令程序,FC功能块,_,FB功能块,_,FB块的变量声明表,FC块的变量声明表,临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。,变量声明表中的变量类型,inoutin_out,实现调用块和被调用块间的数据传递。实参在调用功能块时给出,实参的数据类型必须与形参一致。,stat,静态变量定义在背景数据块中,当被调用块运行时,能读出或修改静态变量;被调用块运行结束后,静态变量保留在背景数据块中。,temp,_,FB功能块有一个数据块附属于该功能块,并随功能块的调用而打开,功能块的结束而关闭,该数据块称背景数据块(InstanceDataBlock),1.背景数据块的数据结构与FB块的变量声明表(除临时变量)完全相同2.为变量声明表中声明的in、out、in_out和stat4种类型局部数据分配的存储空间是背景数据块,当FB结束时背景块中的数据继续保存“记忆”3.为临时变量分配存储空间的是L堆栈。,CALLFB4,DB33a1:=a2:=b1:=c1:=,FB块的调用:,FB块与背景块的关系,_,FC功能块没有背景数据块,因此不能使用静态变量,在变量声明表中可以声明包括in、out、in_out和temp4种类型局部数据,CALLFC1a1:=a2:=b1:=c1:=,FC块的调用:,1.操作系统在L堆栈中给FC的临时变量分配存储空间2.FC块的参数表中的各参数在块操作结束前应被使用(或存放到特定位置),否则它们将不会被自动保存。,功能块调用的内存分配,当发生块调用或更高优先级的中断时,CPU提供块堆栈(B堆栈)来保存被中断块的有关信息:块号,块类型,优先级,被中断块的返回地址,S7CPU中可使用的B堆栈大小是有限制的,对于S7300CPU可在B堆栈中存储8个块的信息,因此在控制程序中最多可同时激活8个块。,1.3.4.3组织块及中断优先级,S7提供了各种不同的组织块(OB),这些组织块允许用户创建在特定时间或对特定事件响应的程序,这些OB可分为四种:主循环块OB1(任何时候都需要)硬件中断块(响应一个来自I/O模块的信号)同步响应块(响应一个来自程序中指令的错误)异步响应块(响应CPU操作或模块状态异常),1.CPU中的这些组织块分有优先级2.OB1是主循环块,任何S7PLC系统都需要OB1,所以OB1被分配为最低优先级,部分OB块的优先级:,中断过程,CPU只有有限的L堆找空间供程序使用,如:CPU314的L堆栈为1536Byte,供程序中的所有优先级划分使用。对于CPU314,允许每个优先级使用256Byte,所以在嵌套调用中所有激活块的临时变量所占空间总数不能超过256Byte。由于操作系统已为每个OB声明了20Byte的L堆栈,该优先级下其它被调用块的所有临时变量必须小于236Byte。当调用一个新块,新块的临时变量在L堆栈中生成,在多层嵌套调用时,若临时变量定义不当,L堆栈会溢出,导致CPU有RUN模式变为STOP模式。,两个常用组织块,(a)主循环块(OB1),OB1是最重要的组织块,当PLC从STOP状态切换到RUN状态后,CPU首先调用OB100一次,OB100调用结束后,操作系统开始周而复始地调用OB1,这称为扫描循环。调用OB1的时间间隔称为扫描周期,扫描周期的长短,主要由OBI中的程序执行所需时间决定。为防止程序陷入死循环,S7设有看门狗定时器(WDT),WDT的定时间隔(可以设置)确定了主循环的最长时间。正常情况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系统调用OB80(循环时间超时),若OB80中未编写程序,CPU将转入停止(STOP)状态。,_,S7300PLC允许设计一个以固定间隔运行的定时中断组织块OB35,定时时间间隔可以在lmslmin的范围内设置,当允许循环中断时,OB35以固定的间隔循环运行,但要求确保设置的定时时间间隔大于OB35的执行时间,否则将造成系统异常,操作系统将调用异步错误OB80。,(b)循环中断(OB35),1.3.4.4逻辑块的调用关系,1.3.5S7PLC的网络通信,现代计算机控制系统已不再是自动化的“孤岛”,而是集过程控制、生产管理、网络通信、IT技术等为一体的综合自动化系统,系统最主要的结构特征表现为一个多层次的网络体系。,S7PLC的网络功能很强,它可以适应不同控制需要的网络体系,也为各个网络层次提供互联模块或接口装置,通过通信子网把PLC、PG、PC、OP及其它控制设备互联起来。,S7PLC可以提供:MPIMultipointInterfacePROFIBUSDPIndustrialEthernet这3种通信方式都有各自的技术特点和不同的适应面。,PLC与上位机(操作站)之间的通信,MPI通信,MPI子网的物理层符合RS485标准,它具有多点通信的性质,是一种低成本的网络系统,用于连接多个不同的CPU或设备。,多数SIMATIC产品都集成有MPI接口,它们可以直接组网,实现网上各PLC间的数据共享。,采用专用的通信处理器模块或通信接口板可以把S5PLC、PC以及其它没有MPI接口的外设连接到MPI网上。,MPI通信,接入到MPI网的设备称为一个站点或节点,一个MPI网最多允许连接32个网络站点,它的传输速率是187.5Kbps,因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。,对于MPI网络,节点间的连接距离是有限制的,从第一个节点到最后一个节点最长距离仅为50m。对于一个要求较大区域的信号传输,采用两个中继器可以将MPI通信电缆最大长度延伸到1100m。,ProfibusDP通信,网络结构,说明:1.PLC上需要有DP接口,可以是CPU上集成的DP口,或者在CR上通过CP3425扩展的DP口2.最大站点数1273.最大通信距离(不加中继器)1200米,与通信波特率有关4.OS需要配置接口卡(如CP5611等,P.268)5.OS需要软件支持,Ethernet通信,网络结构,说明:1.PLC上需要配置以太网扩展接口模块(如CP3431等,P.271)2.OS上可以用普通网卡3.OS需要软件支持(如选购基于OPC的通信支持软件包),PLC与PLC之间的通信,MPI通信,GD通信,参见P268,ProfibusDP通信,S7函数通信CALLAG_RECV“CALLAG_SEND左边发送的数据即是右边接收的数据,发送方和接收方的数据长度要统一,DPcoupler通信,定义通信,需要通信的数据只需要在DPcoupler上配置,即可实现自动通信发送方和接收方的数据长度要统一,1.4可编程控制器的应用示例,1.4.1PLC系统的基本设计内容,关于计算机控制系统的设计原则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目施工现场质量控制技巧考核试卷
- 弹簧在汽车安全带预紧装置中的作用考核试卷
- 石油产品销售数据挖掘与分析考核试卷
- 信息系统的文化传媒与文化创意考核试卷
- 电气机械产品标准化与认证考核试卷
- 橡胶合成过程中的智能监控与优化考核试卷
- 皮鞋制作中的客户需求预测与库存管理考核试卷
- 《公平是社会稳定的天平》我们崇尚公平课件-1
- 可怕的冷知识
- 财务支付业务课件
- 国家粮食和物资储备局招聘考试真题2024
- 部编版六年级语文下册期中考试卷(有答案)
- 生物-华大新高考联盟2025届高三3月教学质量测评试题+答案
- 【初中地理】《日本》课件-2024-2025学年湘教版初中地理七年级下册
- 洛索洛芬钠口服溶液-药品临床应用解读
- 演出经纪人资格证常见试题及答案分析
- 2024年河北建投集团招聘工作人员考试真题
- 18《井冈翠竹》公开课一等奖创新教学设计
- 2025年湖北省八市高三(3月)联考物理试卷(含答案详解)
- 贵州国企招聘2024贵州磷化(集团)有限责任公司招聘89人笔试参考题库附带答案详解
- 《哪吒电影产品的营销问题及完善对策研究10000字》
评论
0/150
提交评论