《四SIMATICS7300PLC及指令系统ppt课件.ppt》由会员分享,可在线阅读,更多相关《四SIMATICS7300PLC及指令系统ppt课件.ppt(110页珍藏版)》请在三一办公上搜索。
1、四、SIMATIC S7-300 PLC及指令系统,4.1系统组成 4.2 系统配置4.3指令系统简介4.4程序结构4.5 S7 PLC的网络通信,4.1 S7-300 PLC的系统组成,S7-300 PLC的硬件构成:CPU模块 接口模块(IM)I/O模块(SM)功能模块(FM)电源模块(PS)导轨(RACK)等,4.1.1 CPU单元,SIMATIC S7-300有多种性能级别的CPU:1.各种CPU均封装在一个紧凑的塑料壳体内2.CPU上集成有MPI多点接口,MPI接口可以使PLC与其它PLC、OS、PG、OP等建立通信联系,可建立由多个站点组成的简单网络。3.CPU31x 2集成Pro
2、fibus-DP接口,适用于大范围分布式自动化结构。4.通过模块扩展,可以实现EtherNet通信5.执行速率、存储器容量、可扩展I/O点数等都随着CPU序号的递增而增加。,CPU单元1,4.1.2 模拟量输入模块(SM331),模拟量值的表示方法,SM331的输入测量范围很宽,可直接输入电压、电流、电阻、mV等信号,单极性电压、电流输入的数字化表示:,双极性是什么意思?,L PIW 400/从端口地址(例如:400)读入十进制转换结果T#Dec_in/存入临时变量Dec_in,表示临时变量CALL SCALE/直接调用系统提供的转换函数,以下是输入输出参数 IN:=#Dec_in/入口参数:
3、十进制转换结果 HI_LIM:=2.000000e+002/入口参数:工程量上限200,kPa(PLC本身没有单位概念)LO_LIM:=0.000000e+000/入口参数:工程量下限0 BIPOLAR:=FALSE/入口参数:TRUE为双极性,FALSE为单极性 RET_VAL:=#ret/出口参数:返回值(准确0,错误其它值)OUT:=#In_result/出口参数:工程量转换结果,420mA15VDC010mA020mA,数字量027648-2764827648,工程量,如:0200kPa,变送器:把(0200kPa)转换为(420mA)模 块:把(420mA)转换为(0,27648)程
4、 序:把(0,27648)转换为(0200kPa)的值(In_result),共程序调用,SM331模块的硬件设置,2种规格型号:8通道、2通道,模拟量模块装有量程块,调整量程块的方位可改变模块内部的硬件结构 每两个相邻输入通道共用一个量程块,构成一个通道组。量程块是一个正方体的短接块,在上方有“A”,“B”,“C”,“D”四个标记 不同的量程块位置,适用于不同的测量方法和测量范围。,SM331量程块设置对应关系:,SM331模块的软件设置,SM331模块的信号连接,电压信号,电流信号,毫伏信号,电阻信号,输入信号类型:,电压信号连接,模块配置成电压输入(B),电流信号连接,两线制仪表与四线制
5、仪表?,模块配置成四线制电流输入(C),只接收420mA电流,四线制仪表,四线制输入,电流信号连接,模块配置成四线制电流输入(C),只接收420mA电流,二线制仪表,四线制输入,电流信号连接,模块配置成二线制电流输入(D),带配电接收420mA电流,二线制仪表,二线制输入,内部原理示意,毫伏信号连接,一般什么仪表输出mV信号?该仪表在使用时需要注意什么?,补偿导线,外部补偿,内部补偿,电阻信号连接,一般什么仪表输出信号?该仪表在使用时需要注意什么?,四线制连接方式,三线制连接方式,二线制连接方式,P,4.1.3 模拟量输出模块(SM332),模拟量值的表示方法,SM332模块可以输出电压和电流
6、两种类型的信号,CALL UNSCALE/直接调用系统提供的转换函数,以下是输入输出参数 IN:=#Out/入口参数:阀位值0100浮点数 HI_LIM:=1.000000e+002/入口参数:阀位上限100 LO_LIM:=0.000000e+000/入口参数:阀位下限0 BIPOLAR:=FALSE/入口参数:TRUE为双极性输出,FALSE单极性输出 RET_VAL:=#Err/出口参数:返回值 OUT:=#Out_result/出口参数:十进制转换结果存入临时变量 L#Out_result T PQW 416/十进制转换结果输出到过程输出缓冲区,如416,程 序:把(0100)转换为(
7、027648)模 块:把(027648)转换为(420mA)执行器:把(420mA)转换为相应的阀位,SM332模块的软件设置(不需要硬件设置),SM332有212、412、812位等AO模块,其特性、参数、工作原理完全相同。,SM332模块的信号连接,电压信号,电流信号,输出信号类型:,每通道有4个端子,电压输出,RL,RL,电压输出(4线)电压输出(2线),电流输出,RL,Io,4.1.4 开关量输入模块(SM321),开关量输入模块SM321主要有直流信号输入和交流信号输入二大类,4.1.5 开关量输出模块(SM322),SM322模块有晶体管、可控硅和继电器3种输出类型,4.2 系统配
8、置,根据自动化系统的实际规模和要求,配置PLC硬件系统。,S7系列PLC采用的是模块化的结构形式,根据系统规模用户可选择不同型号和不同数量的模块,并把这些模块安装在一个或多个机架上。除了CPU模块、电源模块、通信接口模块之外,它规定每一个机架最多可以安装8个I/O信号模块。一个PLC系统的最大配置能力(包括I/O点数、机架数等)与CPU的型号相关,常用的模块:CPU:312、313、314、315-2DP、316-2电源:PS-307(2A、5A、10A)、SITOP(5A、10A、20A、40A)接口模块(连接机架):IM365(CR,最多1)/IM365(ER,最多1)IM360(CR,最
9、多1)/IM361(ER,最多3)IM153(ER,最多127,DP总线)AI:SM331(I、V、mV、;2通道、8通道)SM331 RTD(;2通道、8通道)AO:SM332(I、V;2通道、4通道,8通道)DI:SM321(8/16/32通道)DO:SM322(8/16/32通道),某系统需要,输入:46路420mA信号输入:4路PT100信号输出:32路420mA信号,要求配置S7 PLC的I/O模块并选择合适的CPU单元,每路420mA占1个A/D通道 需46个A/D通道,需7块8通道SM331,每路420mA占1个D/A通道 需32个D/A通道,需4块8通道SM332,示例:,电阻
10、信号可以配置RTD模块 需4个RTD通道,需1块8通道SM331 RTD,(1)IO模块配置一,冗余10个通道,冗余4个RTD通道,过多的冗余是浪费,但适当的冗余还是必要的,总计12块SM模块,需要2个机架,每路420mA占1个A/D通道 需46个A/D通道,每路420mA占1个D/A通道 需32个D/A通道,需4块8通道SM332,示例:,每路电阻信号占2个A/D通道 需8个A/D通道,需7块8通道SM331,(2)IO模块配置二,冗余2个A/D通道,总计11块SM模块,需要2个机架,(3)CPU配置,该系统需要12个SM模块,必须安装到2的机架,如果单纯从I/O配置的角度分析(暂不考虑内存
11、、速度需求),根据表7.1中的性能参数,该系统可以选用CPU314或CPU314以上的型号均可。,有三种选择:,示例:,(3)接口模块,(4)电源模块,模块供电,外部仪表供电(确定合适的电源模块的功率)尽管理论上可以集中供电,即两个机架用同一个电源,但实际系统建议每个机架分别配置电源模块2块,第一种:IM365/IM365,最经济第二种:IM360/IM361,有一定扩展 能力,可以扩到4个机架第三章:IM153,CPU上需要有DP口(或者通过模块扩展DP口),有很大的扩展能力,可方便地和其他系统组网,示例:,(5)其它附设,导轨:安装各种模块(几个机架至少几块)与上位机通信的接口卡:板卡式M
12、PI网卡CP5611 编程电缆(外置,USB或者串口连接)内存卡:新CPU必须,有不同容量,如64KB、128KB、512KB、2MB、4MB总线连接器:DP总线连接、上下位机采用网卡连接时需要,每点1个通信电缆(屏蔽双绞线):DP总线连接、上下位机采用网卡连接时需要下位机开发软件:STEP7 5.x(很贵的啊)上位机组态软件:WINCC(和系统点数有关系,可以自主开发),4.2.1 硬件结构配置,PLC模块的安装是有顺序要求的,每个机架从左到右分为11个逻辑槽号电源模块安装在最左边的1#槽,2#槽安装CPU模块,3#槽安装通信接口模块,411#槽可自由分配I/O信号模块、功能模块或扩展通信模
13、块。需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。,电源模块,CPU模块,通信模块,I/O模块,1 2 3 4 5 6 7 8 9 10 11,逻辑槽号,电源1,CPU2,IO4,IO5,IO6,IO7,IO8,IO9,电源1,接口2,IO4,IO5,IO6,IO7,IO8,IO9,机架的连接(1),如果:机架数量=2 and 机架之间的距离1米,方式一:,机架的连接(2),如果:机架数量4 and 机架之间的距离10米,方式二:,机架的连接(3),如果:机架数量4 or 机架之间的距离10米要求:CPU上集成DP口或在CR上扩展DP口(ProfibusDP),方式三:,CR:安
14、装在控制室,连接到DP接口,IM153,Profibus-DP总线,总结,硬件配置部分【一个机架】8个SM/FM模块 电源 CPU SM/FMSM/FMSM/FM【两个机架,间距 10米/1米】8个SM/FM模块 电源 CPU IM360/365 SM/FMSM/FMSM/FM 8个SM/FM模块 电源 IM361/365 SM/FMSM/FMSM/FM,【34个机架,间距 10米】8个SM/FM模块 电源 CPU IM360 SM/FMSM/FMSM/FM,电源 电源 电源,IM361 SM/FMSM/FMSM/FMIM361 SM/FMSM/FMSM/FMIM361 SM/FMSM/FMS
15、M/FM,【多个机架,间距“不限”】,电源 电源 电源 电源 电源,IM153 SM/FMSM/FMSM/FMIM153 SM/FMSM/FMSM/FMIM153 SM/FMSM/FMSM/FMIM153 SM/FMSM/FMSM/FMIM153 SM/FMSM/FMSM/FM,电源 CPU,SM/FMSM/FMSM/FM,Profibus DP总线,PLC系统开发的基本流程,根据工艺要求,确定I/O参数数量,1.进入Step 72-1.硬件配置2-2.地址配置:网络地址 IO端口地址3.软件编程(针对工艺要求),4.2.2 IO地址配置,系统的I/O模块分为:模拟量和数字量二种类型,每个模块
16、包含若干个通道。模块上任何通道均配置独立的地址应用程序则根据地址实现对它们的操作。,每个通道的地址占用一位(bit)数字量模块最大为 32 通道模块地址最多占 4 字节,数字量I/O模块,每个模拟量地址为一个字地址(2byte)模拟量模块最大为 8 通道模拟地址最多占 16 字节,模拟量I/O模块,I/O地址的生成,I/O地址的配置注意事项:,配置IO模块地址时,可以是系统提供缺省地址(初学者推荐使用),也可以是手工自主配置(部分CPU不支持该功能;不同CPU的最大IO寻址能力是不同的,如CPU3152DP可达2KB;输入、输出的地址是不同的,即CPU3152DP最大输入地址2KB,最大输出地
17、址也是2KB,实际可寻址4KB0127字节留给开关量模块使用,例子:,某8通道SM331模块,配置地址为256271,第07通道的地址分别为:256、258、260、262、264、266、268、270读取第0个通道的模拟量转换结果:L PIW256读取第7个通道的模拟量转换结果:L PIW270,L PIW256就是把十进制转换结果,读入到累加器。如420mA输入信号的转换结果式027648用scale函数可以在PLC内部把027648还原到与变送器量程对于的工程量,某8通道SM332模块,配置地址为272287,把一个输出送到第0个输出通道:T PQW272把一个输出送到第7个输出通道:
18、T PQW286,输出过程:(1)控制策略运算结果,一般为0100的阀位(2)调用unscale函数把0100转换为027648(十进制数)(3)T PQW272/274,例子:,例子:,某32通道SM321模块,配置地址为03,读入第0个通道的二进制值:A I 0.0读入第7个通道的二进制值:A I 0.7读入第8个通道的二进制值:A I 1.0读入第22个通道的二进制值:,A I 2.6,某16通道SM322模块,配置地址为45,输出一个二进制值到第0通道:Q 4.0输出一个二进制值到第7通道:Q 4.7输出一个二进制值到第12通道:,Q 5.4,4.2.3 内部寄存器,S7 CPU的寄存
19、器有(7个):,4.2.4 存储区,CPU能访问的存储区:P、Q、I、M、T、C、DB块、L堆栈,主要关心哪些存储区能够按“位”方位,哪些不能。,外设I/O与存储区的映像,外设IO模块与存储区有二种映射关系:外设输入输出存储区(PI、PQ)输入输出映像区(I、Q),外设输入输出存储区:包括外设输入(PI)和外设输出(PQ)不能逐位访问,其它都可以,输入输出映像表:包括输入过程映像表(I)和输出过程映像表(Q)输入映像表为128Byte,是对PI首128Byte的映像,输出映像表为128Byte,是对PQ的首128Byte的映像这两段地址一般作为开关量输入、输出模块的IO地址能够逐位方式访问,其
20、它也可以,输入映像示例,开关量输入模块缺省地址,模拟量输入模块地址,输出映像示例,4.3 指令系统简介,SIMATIC S7系列PLC用户程序的开发软件包:STEP 7 S7系列PLC的编程语言:LAD(梯形图)、STL(语句表)*、SCL(标准控制语言)、C for S7(C语言)等,用户可以选择一种语言编程,也可混合使用几种语言编程。常用的编程语言:LAD(梯形图)、STL(语句表)*,4.3.1STL指令及其结构,语句指令:操作码 操作数,A I 0.1/对输入继电器 I 0.1 进行与操作,L MW10/将字MW10装入累加器1,定义要执行的功能,执行该操作所需要的信息,有些语句指令不
21、带操作数,它们操作的对象是唯一的。NOT/对逻辑操作结果(RLO)取反。,MB10,MB11,MB12,MB13,MB14,M 10.3,MW10,MD10,位存储区的操作数表示方式,存储区及其操作数表示方法,4.3.2 寻址方式,操 作 数指令的操作或运算对象寻址方式指令得到操作数的方式。寻址方式立即寻址 存储器直接寻址 存储器间接寻址 寄存器间接寻址,寻址方式一:立即寻址,SET/把RLO(Result of Logic Operation)置“1”L 27/把整数27装入累加器1 L C#0100/把 BCD码常数0100装入累加器1,立即寻址:对常数或常量的寻址方式,操作数本身包含在指
22、令中,寻址方式二:直接寻址,A I0.0/对输入位I0.0进行“与”逻辑操作 S L20.0/把本地数据位L20.0置1=M115.4/将RLO的内容传给位存储区中的位M115.4 L DB1.DBD12/把数据块DB1双字DBD12中的内容传送给累加器1/双字表示32位,如浮点数为32为双字,直接寻址:在指令中直接给出操作数的存储单元地址,寻址方式三:存储器间接寻址,(用得不是很多),存储器间接寻址:标识参数由一个存储器给出,存储器的内容对应该标识参数的值(该值又称为地址指针)该寻址方式能动态改变操作数存储器的地址,常用于程序循环,A IMD 2/对由MD 2指出的输入位进行“与”逻辑操作,
23、如:MD 2值为/20000 0000 0000 0000 0000 0000 0101 0110表示I 10.6L IBDBD 4/将由双字DBD 4指出的输入字节装入累加器1,如DBD 4值为/20000 0000 0000 0000 0000 0000 0101 0000表示对IB10操作OPN DBMW 2/打开由字MW2指出的数据块,如MW2为3,则打开DB3,地址的两种表述方式,标识参数:1.2 标识参数:10 标识参数:12,DB1.DBD0=P#1.2 MD16=P#10.0 MW20=12,字地址指针,双字地址指针,字地址指针的描述:MW20,15 8 7 0XXXX XXX
24、X XXXX XXXX,表示065535,双字地址指针的描述:MD16、DB1.DBD0,31 24 23 16 15 8 7 0XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX0000 0000 0000 0bbb bbbb bbbb bbbb bxxx 字节编号 位编号 0000 0000 0000 0000 0000 0000 0000 1010 1.20000 0000 0000 0000 0000 0000 0110 0000 12,用双字格式访问字节、字、双字存储器,必须保证位编号为0。,地址指针的描述,实例,L+5/将整数+5装入累加器1T MW0/
25、将累加器1的内容传送给存储字MW0,此时MW0内容为5OPN DBMW0/打开由MW0指出的数据块,即打开数据块5(DB5)L P#8.7/将地址指针2#0000 0000 0000 0000 0000 0000 0100 0111装入A1T MD2/将累加器1的内容P#8.7传送给位存储区中的MD2L P#4.0/将2#0000 0000 0000 0000 0000 0000 0010 0000装入A1 累加器1原内容P#8.7被装入累加器2+I/将累加器1和累加器2内容整数相加,在累加器1中得到的“和”为 2#0000 0000 0000 0000 0000 0000 0110 0111
26、(P#12.7)T MD6/将累加器1的当前内容传送MD6(12.7)AIMD2/对输入位I8.7进行“与”逻辑操作,结果存放在RLO中=QMD6/将RLO赋值给输出位Q12.7,寻址方式四:寄存器间接寻址,在S7中有两个地址寄存器(AR1和AR2)地址寄存器的内容 偏移量 地址指针,LP#8.6LAR1L P#10.0LAR2A IAR1,P#1.0=QAR2,P#4.1,这是区域内寄存器间接寻址指令中给出存储区域标识,LP#I8.6LAR1L P#Q10.0LAR2A AR1,P#1.0=AR2,P#4.1,这是区域间寄存器间接寻址存储区域的信息包含在地址指针中,/将P#8.6装入A 1/
27、将累加器1的内容传送至地址寄存器1/将P#10.0装入A1/将累加器1的内容传送至地址寄存器2/AR1+偏移量(9.6)/AR2+偏移量(14.1),/将指向I8.6的地址指针装入A 1/将累加器1的内容传送至地址寄存器1/将指向Q8.6的地址指针装入A 1/将累加器1的内容传送至地址寄存器2/AR1+偏移量(9.6)/AR2+偏移量(14.1),等以后熟悉了再用,存储器地址指针的描述,31 24 23 16 15 8 7 0XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXz000 0rrr 0000 0bbb bbbb bbbb bbbb bxxx 字节编号 位
28、编号,0:区域内间接寻址1:区域间间接寻址,存储区域标识符P.255,31 24 23 16 15 8 7 0XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXz000 0rrr 0000 0bbb bbbb bbbb bbbb bxxx 字节编号 位编号 0000 0000 0000 0000 0000 0000 0100 0110 P#8.61000 0001 0000 0000 0000 0000 0100 0110 P#I8.61000 0010 0000 0000 0000 0000 0100 0110 P#Q8.6,实例1,L P#0.0 LAR1 L
29、P#10.0 LAR2 L 64n1:T#loopcounter OPN DB1 CLR A I AR1,P#0.0=DBX AR2,P#0.0 L P#0.1+AR1 L P#0.1+AR2 L#loopcounter LOOP n1,作用:把地址为0.0开始的64个开关量输入信号采用循环方式逐个转存到DB1,存放位置由DB1.DBX10.0开始的64个位。Loopcounter为整形临时变量,累加器A1减1,A1不为0,则循环到n1,实例2,L P#256.0 LAR1 L P#200.0 LAR2 L 32n1:T#loopcounter OPN DB2 L PIW AR1,P#0.0
30、T#Dec _InCALL SCALE IN:=#Dec_in HI_LIM:=2.000000e+002 LO_LIM:=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=#ret OUT:=#In_resultL#In_resultTDBDAR2,P#0.0 L P#2.0+AR1LP#4.0+AR2 L#loopjsq LOOP n1,作用:把地址为256.0开始的32个模拟量输入信号采用循环方式逐个转存到DB2,存放位置由DB2.DBD200开始的32个浮点数。如果不同量程如何处理?,4.3.3 状态字,首次检测位*,逻辑操作结果*,状态位,或位,溢出位,溢出
31、状态保持位,条件码0,条件码1,二进制结果位,状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。,首次检测位(FC),位置:状态字位“0”作用:首次检测位FC 决定了对其接点信号的存放位置。在逻辑串指令执行过程中:若 FC 0,表明一个梯形逻辑网络的开始(或为首条逻辑串指令),CPU对操作数的检测结果(首次检测结果)直接保存在状态字的RLO位中,FC 位置1;若FC 1,检测结果与RLO相运算,并把运算结果存于RLO清除:执行输出指令(S、R、=)或与逻辑运算有关的转移指令时 FC被清0(表示逻辑串结束)OMRON PLC没有
32、这个位,因为,OMRON有 LD 和 LD NOT,逻辑操作结果(RLO),Result of Logic Operation,RLO,位置:状态字位“1”作用:存储位逻辑指令或算术比较指令的结果。,所有的逻辑运算结果均放在此处!,RLO、FC的变化示例,4.3.4 位逻辑运算指令,PLC中的触点包括常开触点(动合触点)和常闭触点(动断触点)两种形式。常开(动合)触点:“1”“动作”“闭合”“0”“不动作”“断开”常闭(动断)触点:“1”“动作”“断开”“0”“不动作”“闭合”,位逻辑运算指令主要包括:与 A与非AN 或 O或非ON异或XOR赋值 置位 S复位 R,串联逻辑A、AN,A I 0
33、.0A I1.0AN M2.1=Q4.0,I0.0为“1”且 I1.0为“1”且 M2.1为“0”Q4.0为“1”,并联逻辑 O、ON,I0.0为“1”或 I1.0为“1”或 M2.1为“0”Q4.0为“1”,O I 0.0O I1.0ON M2.1=Q4.0,串并联的复合达式和先“与”后“或”,当逻辑串是串并联的复合组合时,CPU的扫描顺序是先“与”后“或”。,A(A I0.0A I0.1O AN I0.3AN I0.4)A I0.2=Q1.2,A(O I0.0ON I0.3)A(O I0.1ON I0.4)A I0.2=Q1.2,输出指令(),该操作把状态字中RLO的值赋给指定的操作数(位
34、地址)把首次检测位(FC位)置0,来结束一个逻辑串 一个RLO可以驱动多个输出元件,A I 0.0=Q 1.2=Q 1.3,置位复位指令,置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置l或清0;若RLO是0,则被寻址位的信号保持原状态不变,又被称为静态置位复位【赋值输出()被称为动态赋值输出】,4.4 程序结构,STEP7 有二种编程方法:线性编程、结构化编程,结构化编程的“块”,STEP 7,C语言,main(),中断函数,组织块OB,程序代码,功能块,DB块,全局变量,数据,数据块,SFB、SFC,库函数,系统函数,FC块,用户定
35、义函数,FB块,类似于子程序/过程,4.4.1 数据块,PLC可定义的数据类型:bool、byte、int、dint、real、date、time等基本数据类型,以及数组、结构等复式数据类型,数据块定义的原则:先定义后访问 S7 CPU允许建立不同大小的数据块,以序号区分 不同的CPU对允许定义的数据块数量及数据总量有限制 例如:CPU 314允许定义用作数据块的存储器最多8KByte,用户定义的数据总量不能超过8K,否则将造成系统错误。,数据块定义,用STEP 7开发软件包定义,使用前作为用户程序的一部分下载到CPU,程序运行过程中通过系统函数动态定义数据块(慎用,定义不当易崩溃),有2种定
36、义方式:,数据块访问,直接访问,指令中写明数据块号、类型、位置 L DB1.DBD2/块号1,双字,数据块中25字节 A DB1.DBX2.2/块号1,位,2字节第2位 L“Temp”T0/符号地址,“先打开后访问”OPN DB 1 L DBD 2/访问DB1.DBD2OPN DI2 T DBD 4/访问DI2.DBD4,注:数据块没有专门的关闭指令,在打开一个新块时,先前打开的块自动关闭 因CPU只有DB和DI两个数据块地址寄存器,所以最多可同时打开两个块,背景数据块和共享数据块,背景数据块:附属于某个FB块,数据块与某FB所要求的输入输出数据格式完全相符。背景数据库可以理解为某FB的输入实
37、参体。共享数据块:定义的数据可以被任何块读写访问 数据块在CPU的存储器中是没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。原则上,数据块都可以当作共享数据块使用。数据块可以定义多个,以序号加以区分,4.4.2 逻辑功能块,S7 PLC程序可以放在任何OB、FB、FC中FB、FC可以被OB调用,也可以被其它FB、FC调用。,OB,FB FC SFB SFC,OB块不可以被调用,应用程序,应用程序,其它FB/FC/SFB/SFC,不超过8级,(1)FC块,FC功能块由两个主要部分组成:一是变量声明表;二是应用程序,变量申明表,应用程序,包括:in、out、in_out、
38、temp,FB功能块由两个主要部分组成:一是变量声明表;二是应用程序,变量申明表,应用程序,(2)FB块,包括:in、out、in_out、temp、stat,(3)变量说明,临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。,inoutin_out,实现调用块和被调用块间的数据传递。在调用功能块时给出,实参的数据类型必须与形参一致。,stat,静态变量定义在背景数据块中当被调用块运行时,能读出或修改背景数据块中的静态变量;被调用块运行结束后,静态变量保留在背景数据块中。,temp,(4)FC、FB的调用,CALL FB4,DB33 a1:=a2:=b1:=c1:
39、=,FB块的调用:,DB33中的数据结构应与FB4中的变量申明表结构(除temp变量)完全相同,FC功能块没有背景数据块,调用时赋实参(数据类型相同):,CALL FC1 a1:=DB1.DBD0.0 a2:=DB2.DBW6.0 b1:=DB10.DBX5.6 c1:=MW12,(5)其它,FB、FC可以定义多个,以序号区分。S7CPU中可使用的B堆栈大小是有限制的,对于S7300 CPU可在B堆栈中存储8个块的信息,因此在控制程序中最多可同时激活8个块。,4.4.3 组织块及中断优先级,DB/FB/FC可以根据需要定义,以序号区分同一类的块没有“贵贱”之别,OB块也可以根据需要定义,以序号
40、区分但不同的块功能不同,且有“优先级”之别,1.每一个OB可以对应为一种中断,不同的OB对应有不同的优先级2.OB1是主循环块,任何S7PLC系统都需要OB1,所以优先级最低问题:从过程控制的角度看,除了OB1之外,通常还需要哪些中断?,部分OB块的优先级:,注意事项,一个OB块可以形成一个程序链(OB调用FB/FC,FB/FC调其它FB/FC)所有程序的临时变量存放在L堆栈中,L堆栈是有限的,如:CPU 314的L堆栈为1536Byte,供程序中的所有优先级划分使用。对于CPU 314,允许每个优先级及所有嵌套调用中激活块的自定义临时变量总数不能超过236Byte(有20B被OB自己占用了)
41、,否则L堆栈会溢出,导致CPU有RUN模式变为STOP模式。,问题:如果临时变量不够用怎么办?,3个常用组织块,(1)初始化块(OB100),当PLC从STOP状态切换到RUN状态后,CPU首先调用OB100一次,OB100调用结束后,操作系统开始进入程序运行;如没有OB100,则系统不对任何参数进行初始化。,(2)主循环块(OB1),OB1是最基本的组织块,当OB100调用结束后,操作系统开始周而复始地调用OB1,这称为扫描循环。调用OB1的时间间隔称为扫描周期,扫描周期的长短,主要由 OBI中的程序执行所需时间决定。OB1必须存在,但OB1中不一定需要放置代码。为防止程序陷入死循环,可以设
42、置确定主循环的最长时间。正常情况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系统调用OB80(循环时间超时),若OB 80中未编写程序,CPU将转入停止(STOP)状态。,S7300 PLC允许设计一个以固定间隔运行的定时中断组织块OB35,定时时间间隔可以在lmslmin的范围内设置,当允许循环中断时,OB35以固定的间隔循环运行,但要求确保设置的定时时间间隔大于OB35的执行时间,否则将造成系统异常,操作系统将调用异步错误OB 80。,(3)循环中断(OB 35),4.4.4 逻辑块的调用关系,4.5 S7 PLC的网络通信,现代计算机控制系统已不再是自动化的
43、“孤岛”,而是集过程控制、生产管理、网络通信、IT技术等为一体的综合自动化系统,系统最主要的结构特征表现为一个多层次的网络体系。,S7 PLC的网络功能很强,它可以适应不同控制需要的网络体系,也为各个网络层次提供互联模块或接口装置,通过通信子网把PLC、PG、PC、OP及其它控制设备互联起来。,S7 PLC可以提供:MPIMultipoint Interface PROFIBUSDP Industrial Ethernet这3种通信方式都有各自的技术特点和不同的适应面。,(1)PLC机架的三种通信(集成)方式,IM365/IM365本地集成一IM360/IM361本地集成二IM153分布式IO
44、,控制室,现场,优先考虑,(2)PLC与上位机的三种通信方式,MPI通信,物理层符合RS485标准,是一种低成本的网络系统,用于连接多个不同的CPU或设备。多数SIMATIC产品都集成有MPI接口,一个MPI网最多允许连接32个网络站点,它的传输速率是187.5Kbps,因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。,MPI连接距离有限,从第一个节点到最后一个节点最长距离仅为50m。对于一个要求较大区域的信号传输,采用两个中继器可以将MPI通信电缆最大长度延伸到1100m。,适用于多数中小系统,MPI通信,ProfibusDP通信,说明:1.CPU上需要有DP接口,可以是集成
45、的,也可以式扩展的(如CP3425)2.最大站点数1273.最大通信距离(不加中继器)1200米,与通信波特率有关4.OS需要配置接口卡(如CP5611等)5.OS需要软件支持,Ethernet通信,说明:1.PLC上需要配置以太网扩展接口模块(如CP3431等,P.271)2.OS上可以用普通网卡3.OS需要软件支持(如基于OPC的通信支持软件包),(3)PLC与PLC的三种通信方式,MPI通信,物理层符合RS485标准,是一种低成本的网络系统,用于连接多个不同的CPU或设备。多数SIMATIC产品都集成有MPI接口,MPI通信,GD通信,参见P268,ProfibusDP通信,S7函数通信
46、 CALL AG_RECV“CALL AG_SEND左边发送的数据即是右边接收的数据,发送方和接收方的数据长度要统一,DP coupler通信,定义通信,需要通信的数据只需要在DP coupler上配置,即可实现自动通信发送方和接收方的数据长度要统一,(4)PLC与其它协议的通信,与RS232之间的通信,CP340(6ES7 340-1AH02-0AE0)或CP341(6ES7 341-1AH01-0AE0),与RS422/RS485之间的通信,CP340(6ES7 340-1CH02-0AE0)或CP341(6ES7 341-1CH01-0AE0),作业:阅读以下程序,写出程序功能(文字描述
47、或框图均可),CLR/清除RLO,使RLO0 A#Po_Ne JCN z1/RLO=“0”,跳转至z1 L#in_sp L#in_Vn-R T#en0 JU f1/无条件跳转至f1z1:L#in_Vn L#in_sp-R T#en0f1:L#en1-R L#A1*R T#zc1 L 5.000000e-001 L#A2/R L#en0*R L#A1*R T#zc2 L#A3 L 5.000000e-001/R L#A1*R T#zc3,L 2.000000e+000 L#en1*R T#zc4 L#en0 L#zc4-R L#en2+R L#zc3*R L#zc2+R L#zc1+R T#d_Vout L#Vout+R T#Vout L#Vout L 0.000000e+000 R JCN n3 L 1.000000e+002 T#Voutn3:L#en1 T#en2 L#en0 T#en1 BEU/本段程序结束,6月7日作业,教材P281、P282中7-11、7-12两题,