《过程控制仪表与计算机控制装置》课件第07章-3 S7_第1页
《过程控制仪表与计算机控制装置》课件第07章-3 S7_第2页
《过程控制仪表与计算机控制装置》课件第07章-3 S7_第3页
《过程控制仪表与计算机控制装置》课件第07章-3 S7_第4页
《过程控制仪表与计算机控制装置》课件第07章-3 S7_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.3.1S7-300PLC的系统组成S7-300PLC的硬件构成: CPU模块 接口模块(IM)

I/O模块(SM) 功能模块(FM) 电源模块(PS) 导轨(RACK)等总线连接器电源模块CPU模块通信模块I/O模块DIN导轨模块DIN导轨7.3.1.1CPU单元SIMATICS7-300有多种性能级别的CPU:⒈各种CPU均封装在一个紧凑的塑料壳体内⒉CPU上集成有MPI多点接口,MPI接口可以使PLC与其它PLC站点、操作站(OS)、编程器(PG)、操作员面板(OP)等建立通信联系,用MPI接口可以建立由多个站点组成的简单网络。⒊CPU31x–2还集成了PROFIBUS-DP接口,适用于大范围分布式自动化结构。⒋PLC的执行速率、存储器容量、可扩展的I/O点数等都随着CPU序号的递增而增加。

CPU单元—1CPUCPU312IFMCPU313CPU314CPU315-2DP工作存储器6KB12KB24KB64KB内部装载存储器20KBRAM20KBEEPROM20KBRAM40KBRAM96KBRAM扩展装载存储器——4MFEPROM4MFEPROM4MFEPROMDI(最大)256+10(集成)25610241024(8192)DO(最大)256+6(集成)25610241024(8192)AI(最大)6464256256(512)AO(最大)3232128128(512)最大机架数(模块数)1(8)1(8)4(32)4(32)CPU集成DP接口——————1CPU集成MPI接口√√√√7.3.1.2模拟量输入模块(SM331)模拟量值的表示方法

SM331的输入测量范围很宽,可直接输入电压、电流、电阻、mV等信号单极性电压、电流输入的数字化表示:

量程1~5V4~20mA150Ω十进制结果范围5……120……4150……027648……0标称范围模拟量值的表示方法LPIW400 //从端口地址400读入十进制转换结果T#Dec_in //存入临时变量Dec_inCALL"SCALE" //直接调用系统提供的转换函数,以下是输入输出参数

IN:=#Dec_in //入口参数:十进制转换结果

HI_LIM:=2.000000e+002 //入口参数:工程量上限200,单位kPaLO_LIM:=0.000000e+000 //入口参数:工程量下限0BIPOLAR:=FALSE //入口参数:TRUE为双极性,FALSE为单极性

RET_VAL:=#ret //出口参数:返回值

OUT:=#In_result //出口参数:工程量转换结果4~20mA1~5VDC0~10mA0~20mA……数字量0~27648-27648~27648AI模块转换程序工程量,如:0~200kPaOUT=[(IN-K1)/(K2-K1)*(HI_LIM-LO_HIM)]+LO_LIM上式中当BIPOLAR=TRUE时,K1=-27648,K=27648;BIPOLAR=FALSE时,K1=0,K=27648。

SM331模块的硬件设置目前有2种规格型号:8通道×12位SM331模块、2通道×12位SM331模块。※

模拟量模块装有量程块,调整量程块的方位可改变模块内部的硬件结构※SM331每两个相邻输入通道共用一个量程块,构成一个通道组。※

量程块是一个正方体的短接块,在上方有“A”,“B”,“C”,“D”四个标记※

不同的量程块位置,适用于不同的测量方法和测量范围。ch0、1ch2、3量程块上的标记模块上的标记SM331模块的硬件设置SM331量程块设置对应关系:设置标记对应的测量方式及范围缺省设置A电压:

1000mV电阻:150Ω、300Ω、600Ω、Pt100、Ni100热电偶:N、E、J、K等各型热电偶电压:

1000mVB电压:

10V电压:

10VC电流:

20mA(4线制变送器输出)电流:4~20mA(4线制)D电流:4~20mA(2线制变送器输出)电流:4~20mA(2线制)SM331模块的软件设置通道组诊断断线检查信号类型信号范围积分时间设置上下限设置诊断中断允许限幅中断允许通道组SM331模块的信号连接电压信号电流信号二线制电流四线制电流毫伏信号电阻信号输入信号类型:电压信号连接L+MM-M+M+M-ADC光隔MANA背板总线电流信号连接L+MM-M+M+M-ADC光隔MANA背板总线4线制变送器4线制变送器L+ML+M图7-22四线制电流信号输入的连接L+MM-M+M+M-ADC光隔MANA背板总线2线制变送器2线制变送器图7-23二线制电流信号输入的连接区别??毫伏信号连接一般什么仪表输出mV信号?该仪表在使用时需要注意什么?热电偶冷端温度补偿L+MM-M+M+M-ADC光隔背板总线补偿盒COMP+COMP-/MANAL+M补偿导线参考点图7-24外部补偿热电偶信号输入的连接接L+MM-M+M+M-ADC光隔背板总线COMP+COMP-/MANA补偿导线图7-25内部补偿热电偶信号输入的连接电阻信号连接一般什么仪表输出Ω信号?该仪表在使用时需要注意什么?热电阻如何克服引线电阻L+MM-M+IC+IC-ADC光隔背板总线MANAIrefRt+-Vi图7-26电阻信号输入的连接7.3.1.3模拟量输出模块(SM332)模拟量值的表示方法

单极性输出双极性输出输出信号标称范围十进制结果输出信号标称范围十进制结果0~20mA4~20mA0~10V1~5V±10V±20mA20.000……020.000……4.00010.000……05.0000……1.000027648……010.0000……-10.000020.000……-20.00027648……-27648SM332模块可以输出电压和电流两种类型的信号,从表7.8中可以看出,一个模拟量信号的输出,需要把浮点数转换成0~27648或者-27648~27648范围的十进制结果,然后再根据端口地址把十进制结果送到输出缓冲区。

模拟量值的表示方法CALL"UNSCALE" //直接调用系统提供的转换函数,以下是输入输出参数

IN:=#Out_val //入口参数:阀位值0~100%浮点数

HI_LIM:=1.000000e+002 //入口参数:阀位上限100LO_LIM:=0.000000e+000 //入口参数:阀位下限0BIPOLAR:=FALSE //入口参数:TRUE为双极性输出,FALSE单极性输出

RET_VAL:=#ret //出口参数:返回值

OUT:=#Out_result //出口参数:十进制转换结果存入临时变量

L#Out_resultTPQW416 //十进制转换结果输出到过程输出缓冲区AO模块4~20mA0~10VDC0~20mA……单:0~27648双:-27648~27648转换程序阀位如:0~100%OUT=[(IN-LI_MIL)/(HI_LIM-LO_MIL)*(K2-K1)]+K1其中,当BIPOLAR=TRUE时,K1=-27648、K=27648BIPOLAR=FALSE时,K1=0、K=27648SM332模块的软件设置SM332有2×12位、4×12位二种AO模块,其特性、参数、工作原理等完全相同。通道诊断信号类型I、V信号范围0~20mA4~20mACPU停止时输出保持诊断中断允许CPU停止时输出为0电压输出范围SM332模块的信号连接电压信号电流信号输出信号类型:信号输出的连接示意图光耦隔离DACQI0MANAQV0MANAS0+S0-电流电压电流信号的输出负载I0DAC光隔电压信号的输出负载-V0+DAC光隔负载-V0+DAC光隔区别??7.3.1.4开关量输入模块(SM321)开关量输入模块SM321主要有直流信号输入和交流信号输入二大类SM321开关量输入模块16×24VDC32×24VDC16×120VAC8×120/230VAC输入点数1632168输入电压“1”15~30VDC15~30VDC79~132VAC79~264VAC“0”-3~5VDC-3~5VDC0~20VAC0~40VAC与背板总线的隔离光耦光耦光耦光耦“1”信号典型输入电流7mA7.5mA6mA6.5mA/11mA典型输入延迟时间1.2~4.8ms1.2~4.8ms25ms25ms诊断中断某些型号具备——————绝缘耐压测试500VDC500VDC1500VAC1500VAC7.3.1.5开关量输出模块(SM322)SM322模块有晶体管、可控硅和继电器3种输出类型SM322开关量输出模块晶体管输出可控硅输出继电器输出输出点数81632816816额定电压24VDC120/230VAC120VAC230VAC/24VDC“1”信号最大输出电流2A0.5A0.5A1A0.5A——“0”信号最大输出电流0.5mA2mA1mA——与背板总线的隔离光耦光耦光耦触点容量————2A阻性负载100Hz10Hz2Hz触点开关频率感性负载0.5Hz0.5Hz0.5Hz灯负载100Hz1Hz2Hz诊断——LED指示——绝缘耐压测试500VDC1500VAC1500VAC7.3.2系统配置※S7系列PLC采用的是模块化的结构形式,根据系统规模用户可选择不同型号和不同数量的模块,并把这些模块安装在一个或多个机架上。※除了CPU模块、电源模块、通信接口模块之外,它规定每一个机架最多可以安装8个I/O信号模块。※一个PLC系统的最大配置能力(包括I/O点数、机架数等)与CPU的型号直接相关总线连接器电源模块CPU模块通信模块I/O模块DIN导轨模块DIN导轨7.3.2系统配置某系统需要输入48路4~20mA4路PT100信号需要输出32路1~5V要求配置S7PLC的I/O模块并选择合适的CPU单元每路4~20mA占用1个A/D通道→需48个A/D通道每路电阻输入信号占2个A/D通道→需8个A/D通道需7块8通道SM331每路1~5V占用1个D/A通道→需32个D/A通道需8块4通道SM332该系统需要15个SM模块,必须安装到2的机架,根据表7.1中的性能参数,该系统可以选用CPU315或CPU315以上的型号。7.3.2.1硬件结构配置

※PLC模块的安装是有顺序要求的,每个机架从左到右划分为11个逻辑槽号※电源模块安装在最左边的1#槽,2#槽安装CPU模块,3#槽安装通信接口模块,4~11#槽可自由分配I/O信号模块、功能模块或扩展通信模块。※需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。电源模块CPU模块通信模块I/O模块1234567891011逻辑槽号机架的连接(一)如果:机架数量≤4and各机架安装在控制室

and机架之间的距离≤10米方式一:信号、功能模块信号、功能模块1345678910111345678910112扩展机架(ER)中央机架(CR)接口模块:IM360(IM365)CPU槽位号接口模块:IM361(IM365)机架的连接(二)如果:机架数量>4or有机架要安装在现场

or机架之间的距离>10米要求:CPU上集成DP口或在CR上扩展DP口(Profibus-DP)方式二:信号、功能模块1345678910112CR:安装在控制室接口模块:IM153信号、功能模块134567891011ER:可以安装在现场Profibus总线(最大扩展能力与CPU的型号有关)……连接到DP口7.3.2.2硬件地址配置

系统的I/O模块分为:模拟量和数字量二种类型,每个模块包含若干个通道。模块上任何通道均配置独立的地址,应用程序则根据地址实现对他们的操作。每个通道的地址占用一位(bit),数字量模块最大为32通道,模块地址占4字节§数字量I/O模块每个模拟量地址为一个字地址(2byte),模拟量模块最大为8通道,模拟地址占16byte§模拟量I/O模块I/O地址的生成I/O地址的生成在硬件配置时,系统提供缺省地址(推荐使用)手动更改(部分CPU提供这种功能)DI/DO模块缺省地址配置IM3600.0~3.74.0~7.78.0~11.712.0~15.716.0~19.720.0~23.724.0~27.728.0~31.7CRIM36132.0~35.736.0~39.7…………60.0~63.7IM36164.0~67.7…………92.0~95.7IM36196.0~99.7…………124.0~127.7ER3ER2EI/AO模块缺省地址配置

IM360256~271272~287288~303304~319320~335336~351352~367368~383CRIM361384~399400~415…………496~511IM361512~527…………624~639IM361640~655…………752~767ER3ER2E省地址配置示例IM360SM32132CHSM3318CHCRIM361SM32216CHSM3324CHER1SM321缺省地址:SM331缺省地址:SM322缺省地址:SM332缺省地址:0.0~3.7272~28732.0~33.7(34.0~35.7空)400~407(408~415空)PLC系统开发的基本流程根据工艺要求,确定I/O参数数量依据工艺流程图硬件选型:CPU、IO、通信接口、电源……确定硬件结构1.进入Step72-1.硬件配置2-2.地址配置:网络地址

IO端口地址3.软件编程(针对工艺要求)控制柜设计(机架分配、布置)硬件安装PLC系统及端子的布置与接线(成套)现场仪表的连接(现场实施的开始)OfflineOffline模拟测试联机调试、投运STEP7示例7.3.2.3内部寄存器

S7CPU的寄存器有(7个):累加器32位累加器1(A1)主累加器2(A2)辅2个32位累加器***地址寄存器32位地址寄存器1(AR1)地址寄存器2(AR2)2个32位地址寄存器**数据块地址寄存器32位共享数据块背景数据块2个32位数据块地址寄存器状态字寄存器16位状态位1个16位状态字寄存器*

7.3.2.4存储区

S7-300CPU有三个基本存储区:外设I/O存储区P输出(映像区)Q输入(映像区)I位存储区M定时器T计数器C系统存储区――存放操作数据(I/O、位存储、定时器等)物理上是CPU的部分RAM,存储区的大小因CPU型号而异。临时本地数据存储区(L堆栈)可执行用户程序:·逻辑块(OB、FB、FC)·数据块(DB)工作存储区――①存放CPU运行时,所执行的用户程序单元逻辑块(OB、FB、FC)、数据块(DB)的复制件;②存放临时本地数据,这部分存储区称L堆栈(主要是存放用户程序的临时变量)物理上是CPU模块的部分RAM可选装载存储区:存放用户程序动态装载存储区:存放用户程序装载存储区――存放用户程序物理上是CPU的部分RAM、EEPROM、外置FEPROM等★★★★★存储区

CPU能访问的存储区:P、Q、I、M、T、C、DB块、L堆栈

名称存储区存储区功能输入(I)过程输入映像表每个扫描周期开始,读取过程输入值,记录输入映像表过程输入映像表是外设输入存储区的前128字节映像访问方式:位、字节、字、双字输出(O)过程输出映像表扫描周期结束(或新扫描周期开始)表内容

输出端口输出映像表是外设输出存储区的前128字节映像访问方式:位、字节、字、双字外设输入(PI)外设输出(PO)外设输入/输出外设存储区允许直接访问现场设备访问方式:字节、字、双字(不能访问位)位存储区(M)存放程序运行的中间结果,访问方式:位、字节、字、双字定时器(T)定时器计时时钟访问该存储区中的计时单元定时器指令可以访问该存储区和计时单元计数器(C)计数器计数器指令可以访问该存储区临时本地数据存储区(L)L堆栈在FB、FC、OB块运行时,在块变量声明表中暂时变量存放在该存储区。数据块(DB)数据块DB块存放数据信息,可被所有逻辑块访问(共享数据块)或被FB块特定占用(背景数据块)外设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口输出,输入映像

结合缺省地址配置示例物理模块配置地址外设输入存储区输入映像区用户程序32CHDICR0SOLT40I0I0装载输入映像区0字节IB0I0.51I1I12I、3I……28CHAICR0SLOT50272I127I……273I……1274I272I127装载外设输入存储区0字节PIB0275I273I2276I274I277I275I3278I276I279I277I装载外设输入存储区PIW2724280I278I281I279I5282I280I283I281I6284I282I装载外设输入存储区PIB280PIB281285I283I7286I……287I64K输出映像结合缺省地址配置示例物理模块配置地址外设输出存储区输出映像区用户程序16CHDOER1SOLT432Q…………装载输出映像区32byteQB32Q32.233Q32Q32……334CHAOER1SLOT50400Q127Q……401Q…………1402Q400Q127装载外设输出存储区32字节PQB32403Q401Q2404Q402Q405Q403Q3406Q404Q407Q405Q装载外设输出存储区PQW400406Q407Q…………………………64K7.3.3指令系统简介SIMATICS7系列PLC用户程序的开发软件包:STEP7S7系列PLC的编程语言:LAD(梯形图)、STL(语句表)*、

SCL(标准控制语言)、GRAPH(顺序控制)、

HiGraPh(状态图)、CFC(连续功能图)、

CforS7(C语言)等,用户可以选择一种语言编程,也可混合使用几种语言编程。常用的编程语言:LAD(梯形图)、STL(语句表)*适用于模拟量的解算7.3.3.1

STL指令及其结构语句指令:操作码操作数AI0.1//对输入继电器I0.1

进行与操作LMW10//将字MW10装入累加器1定义要执行的功能执行该操作所需要的信息

有些语句指令不带操作数,它们操作的对象是唯一的。

NOT//对逻辑操作结果(RLO)取反。(1)语句指令的组成操作数操作数:标识符

标识参数AI0.1

LMW10表示操作数在该存储区域内的具体位置主标识符:表示操作数所在的存储区主要有:I(输入映像区),Q(输出映像区),M(位存储区),PI(外部输入),PQ(外部输出),T(定时器),C(计数器),DB(数据块),L(本地数据)等辅助标识符进一步说明操作数的位数长度包括有:X(位),B(字节),

W(字——2字节),

D(双字——4字节)

表示操作数存放区域及操作数位数(位、字节、字等)7654321010.710.610.510.410.310.210.110.0MB10MB11MB12MB13MB14M10.3MW10MD10位存储区的操作数表示方式

存储区及其操作数表示方法存储区域位字节字双字输入映像区(I)√I√IB√IW√ID输出映像区(Q)√Q√QB√QW√QD位存储区(M)√M√MB√MW√MD外部输入存储区(PI)√PIB√PIW√PID外部输出存储区(PQ)√PQB√PQW√PQD数据块(用“OPNDB”打开)√DBX√DBB√DBW√DBD数据块(用“OPNDI”打开)√DIX√DIB√DIW√DID临时堆栈(L)√L√LB√LW√LD存储区最大寻址范围存储区域位字节字双字输入/输出映像区65535.7655356553465532位存储区(M)255.7255254252外部输入/输出存储区655356553465532数据块(DB、DI)65535.7655356553465532临时堆栈65535.7655356553465532定时器(T)255计数器(C)2557.3.3.2寻址方式操作数——指令的操作或运算对象寻址方式——指令得到操作数的方式。表示方式┳━━绝对寻址┗━━符号寻址(用一个符号指定一个特定的绝对地址)寻址方式┳━━立即寻址┣━━存储器直接寻址┣━━存储器间接寻址┗━━寄存器间接寻址

立即寻址

SET //把RLO(ResultofLogicOperation)置“1”L27 //把整数27装人累加器1LC#0100 //把BCD码常数0100装入累加器1立即寻址:对常数或常量的寻址方式,操作数本身包含在指令中

直接寻址AI0.0 //对输入位I0.0进行“与”逻辑操作

SL20.0 //把本地数据位L20.0置1=M115.4 //将RLO的内容传给位存储区中的位M115.4LDB1.DBD12 //把数据块DB1双字DBD12中的内容传送给累加器1 //双字表示32位,如浮点数为32为双字直接寻址:在指令中直接给出操作数的存储单元地址

存储器间接寻址存储器间接寻址:标识参数由一个存储器给出,存储器的内容对应该标识参数的值(该值又称为地址指针)

这种寻址方式能动态改变操作数存储器的地址,常用于程序循环过程中的寻址。

AI[MD2] //对由MD2指出的输入位进行“与”逻辑操作,如:MD2值为

//2#00000000000000000000000001010110表示I10.6LIB[DID4] //将由双字DID4指出的输入字节装入累加器1,如:DID4值为

//2#00000000000000000000000001010000表示对IB10操作OPNDB[MW2]//打开由字MW2指出的数据块,如MW2为3,则打开DB3地址表述——标识参数:1.2——标识参数:3——标识参数:12AI1.2LMB3LMD12直接寻址——DB1.DBD0=1.2——MD16=3——MW20=12字地址指针的描述:MW2015870XXXXXXXXXXXXXXXX表示0~65535存储器间接寻址AI[DB1.DBD0]LMB[MD16]LMD[MW20]地址表述双字地址指针的描述:MD16、DB1.DBD03124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0000000000000bbbbbbbbbbbbbbbbxxx

字节编号位编号00000000000000000000000000001010—1.20000000000000000000000000000101000000000000000000000000001100000—1200000000000000000000000001100000可描述范围:0.0~65535.7用双字格式访问字节、字、双字存储器,必须保证位编号为0。实例L+5 //将整数+5装入累加器1TMW0 //将累加器1的内容传送给存储字MW0,此时MW0内容为5OPNDB[MW0] //打开由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)A I[MD2] //对输入位I8.7进行“与”逻辑操作,结果存放在RLO中= Q[MD6] //将RLO赋值给输出位Q12.7

寄存器间接寻址寄存器间接寻址:在S7中有两个地址寄存器(AR1和AR2) 地址寄存器的内容+偏移量=地址指针L P#8.6 //将P#8.6装入A1LAR1 //将累加器1的内容传送至地址寄存器1L P#10.0 //将P#10.0装入A1LAR2 //将累加器1的内容传送至地址寄存器2A I[AR1,P#1.0] //AR1+偏移量(9.6)= Q[AR2,P#4.1] //AR2+偏移量(14.1)这是区域内寄存器间接寻址——指令中给出存储区域标识L P#I8.6 //将指向I8.6的地址指针装入A1LAR1 //将累加器1的内容传送至地址寄存器1L P#Q10.0 //将指向Q8.6的地址指针装入A1LAR2 //将累加器1的内容传送至地址寄存器2A [AR1,P#1.0] //AR1+偏移量(9.6)= [AR1,P#4.1] //AR1+偏移量(14.1)这是区域间寄存器间接寻址——指令中部需要给出存储区域标识存储区域的信息包含在地址指针中存储器地址指针的描述3124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz0000rrr00000bbbbbbbbbbbbbbbbxxx

字节编号位编号0:区域内寄存器间接寻址1:区域间寄存器间接寻址存储区域标识符P.255存储器地址指针的描述3124231615870XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz0000rrr00000bbbbbbbbbbbbbbbbxxx

字节编号位编号00000000000000000000000001000110—P#8.610000001000000000000000001000110—P#I8.610000010000000000000000001000110—P#Q8.6实例1 L P#0.0 LAR1 L P#10.0 LAR2 L 64n1: T#loopjsq OPNDB1 CLR AI[AR1,P#0.0] =DBX[AR2,P#0.0] LP#0.1 +AR1 +AR2 L#loopjsq LOOPn1作用:把地址为0.0开始的64个开关量输入信号采用循环方式逐个转存到DB1,存放位置由DB1.DBX10.0开始的64个位。实例2 L P#256.0 LAR1 L P#200.0 LAR2 L 32n1: T#loopjsq OPNDB2 CLR LPIW[AR1,P#0.0] T#Tmp_In CALL"SCALE" IN:=#Dec_in HI_LIM:=2.000000e+002 LO_LIM:=0.000000e+000 BIPOLAR:=FALSE RET_VAL:=#ret OUT:=#In_result L #In_result T DBD[AR2,P#0.0] L P#2.0 +AR1 L P#4.0 +AR2 L#loopjsq LOOPn1作用:把地址为256.0开始的32个模拟量输入信号采用循环方式逐个转存到DB2,存放位置由DB2.DBD200开始的32个浮点数。7.3.3.3状态·····BRCC1CC0OSOVORSTARLOFC首次检测位

*逻辑操作结果*

状态位

或位

溢出位

溢出状态保持位

条件码0

条件码1

二进制结果位状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。

首次检测位(FC)位置:状态字位“0”作用:首次检测位FC决定了对其接点信号的存放位置。

在逻辑串指令执行过程中:若FC=0,表明一个梯形逻辑网络的开始(或为首条逻辑串指令),CPU对操作数的检测结果(首次检测结果)直接保存在状态字的RLO位中,FC位置1;若FC=1,检测结果与RLO相运算,并把运算结果存于RLO清除:执行输出指令(S、R、=)或与逻辑运算有关的转移指令时FC被清0(表示逻辑串结束)

逻辑操作结果(RLO)

ResultofLogicOperation,

RLO位置:状态字位“1”作用:存储位逻辑指令或算术比较指令的结果。FC/RLO的变化示例语句表实际状态检测结果RLOFC说明0FC=0:下一条指令开始新逻辑串AI0.01111首次检测结果存放RLO,FC置1ANI0.10111检测结果与RLO运算,结果存RLO=Q1.010RLO赋值给Q1.0,FC清0RLO、FC的变化示例

I0.0I0.1Q1.07.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”(继电器触点接通)

()I0.0I1.0M2.1Q4.0“1”“1”“0”“1”A、AN指令语句表实际状态检测结果RLOFC说明0下一条指令表示一新逻辑串的开始AI0.01111首次检测结果

RLO,FC置1AI1.01111检测结果与RLO“与”运算

RLOANM2.10111检测结果与RLO“与”运算

RLO=Q4.010RLO

Q4.0,FC清0·对信号状态进行“1”扫描,并做“与”运算,用助记符“A”来标识,当操作数的信号状态是“1”时,其扫描结果是“l”。·对信号状态进行“0”扫描,并做“与”运算,用助记符“AN”来标识取反的“与”逻辑操作当操作数的信号状态是“0”时,其扫描结果是“1”。()I0.0I1.0M2.1Q4.0“1”“1”“0”“1”⑵并联逻辑·在PLC梯形图中的并联触点是用逻辑“或”和“或非”表示·在触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就“通电”。·图中如果有一个触点闭合(I0.0为“1”或Q1.0为“1”或M2.1为“0”)则Q1.2为“l”;·如果有三个触点全部是打开的,则输出Q1.2为“0”(继电器触点打开)。()I0.0Q4.0I1.0M2.1O、ON指令语句表实际状态检测结果RLOFC说明0以下是新逻辑串的开始OI0.00001首次检测结果存放RLO,FC置1OI1.01111检测结果与RLO运算,结果存RLOONM2.11011检测结果与RLO运算,结果存RLO=Q4.010RLO赋值给Q4.0,FC清0·对进行“l”扫描,并做“或”运算,用助记符“O”来标识·对进行“0”扫描,并做“或”运算,用助记符“ON”来标识取反的“或”逻辑操作(或非)()I0.0Q4.0I1.0M2.1⑶串并联的复合达式和先“与”后“或”

当逻辑串是串并联的复合组合时,CPU的扫描顺序是先“与”后“或”。

A( AI0.0 AI0.1 O ANI0.0 ANI0.1 )AI0.2=Q1.2()I0.0Q1.2I0.1I0.1I0.0I0.2

A( OI0.0 ONI0.0 )A( OI0.1 ONI0.1 )AI0.2=Q1.2()I0.0Q1.2I0.1I0.1I0.0I0.2⑷输出指令(=)·该操作把状态字中RLO的值赋给指定的操作数(位地址)·把首次检测位(FC位)置0,来结束一个逻辑串·一个RLO可以驱动多个输出元件·若RLO为“l”,则操作数被置位,否则操作数被复位。

AI0.0=Q1.2=Q1.3()I0.0Q1.2()Q1.3⑸置位/复位指令·置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。·若RLO的值为1,被寻址位的信号状态被置l或清0;·若RLO是0,则被寻址位的信号保持原状态不变,·这一特性又被称为静态的置位/复位赋值输出(=)被称为动态赋值输出。

指令格式指令示例说明S<位地址>SQ0.2RLO为1,则被寻址信号状态置1,即使RLO又变为0,输出仍保持为1;FC清0。R<位地址>RM1.2RLO为1,则被寻址信号状态置0,即使RLO又变为0,输出仍保持为0;FC清0。实例1SETR"fb6_db_09p50".startR"fb6_db_21p50".startR"fb6_db_21p01".startS"fb6_db_42p50".startS"fb6_db_43p50".startS"fb6_db_44p50".startA"SZ_DATA".precoat_overJCNn1 //RLO=0跳转

R"SZ_DATA".fil_precoating1R"SZ_DATA".fil_precoating2S"SZ_DATA".fil_precoating3S"SZ_DATA".fil_precoating4……n1:……7.3.3.5数字操作运算指令⑴装入和传送指令⑵比较指令

⑶算术运算指令

⑷字逻辑运算指令

⑸移位和循环移位指令⑹其它操作指令

数字指令:按字节、字、双字对存储区访问并对其进行运算的指令7.3.4程序结构

STEP7有二种编程方法:线性编程、结构化编程

线性编程——将整个用户程序指令逐条编写在一个连续的指令块中, CPU线性地扫描每条指令(适用于简单的控制任务)AI0.0AM1.0……BEU结构化编程**——适合编制并组织复杂的控制程序。

主程序函数(过程)1函数(过程)n……

结构化编程的“块”STEP7C语言main()中断函数OB1块其它OB块组织块OB程序代码功能块DB块全局变量数据数据块SFB、SFC库函数系统函数FC块用户定义函数FB块类似于子程序/过程7.3.4.1数据块

PLC可定义的数据类型:bool、byte、int、dint、real、date、time等基本数据类型,还可定义数组、结构等复式数据类型数据块定义的原则:

·

先定义后访问

·S7CPU允许在存储器中建立不同大小的多个数据块

·

不同的CPU对允许定义的数据块数量及数据总量有限制 例如:CPU314允许定义用作数据块的存储器最多8KByte, 用户定义的数据总量不能超过8K,否则将造成系统错误。

⑴数据块定义

①用STEP7开发软件包定义,使用前作为用户程序的一部分下载到CPU②允许用户程序运行过程中动态定义数据块(调用系统函数)注意:如果定义的数据块数量或数据总量超过限制,则动态定义过程失败,可能导致系统崩溃,应慎重使用动态定义数据块。有2种定义方式:

⑵数据块访问

·直接访问,指令中写明数据块号、类型、位置

LDB1.DBD2//块号——1,双字,数据块中2~5字节

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的存储器中是没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。原则上,数据块都可以当作共享数据块或背景数据块使用。7.3.4.2逻辑功能块

S7PLC程序在采用结构化编程中,一个程序由许多逻辑功能块(子程序)组成,这些逻辑功能块允许相互调用。调用块可以是任何逻辑块(OB、FB、FC),被调用块只能是功能块(除OB外的逻辑块FB、FC、SFB、SFC)。

用户调用指令程序调用块(OB、FB、FC)FBFCSFBSFC被调用块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个块。7.3.4.3组织块及中断优先级

S7提供了各种不同的组织块(OB),这些组织块允许用户创建在特定时间或对特定事件响应的程序,这些OB可分为四种:主循环块OB1(任何时候都需要)硬件中断块(响应一个来自I/O模块的信号)同步响应块(响应一个来自程序中指令的错误)异步响应块(响应CPU操作或模块状态异常)1.CPU中的这些组织块分有优先级2.OB1是主循环块,任何S7PLC系统都需要OB1,所以OB1被分配为最低优先级

OB块说明优先级OB1主循环r★★

基本组织块,循环扫描1(最低)OB10时间中断根据设置的日期、时间定时启动2OB20延时中断受SFC22控制启动后延时特定时间允许3OB35循环中断★★

根据特定的时间间隔允许12OB40硬件中断检测到外部模块的中断请求时允许16OB80~0B87异步错误中断★

检测到模块诊断错误或超时错误时启动26OB100启动★

当CPU从STOP状态到RUN状态时启动27部分OB块的优先级:⑴中断过程

CPU只有有限的L堆找空间供程序使用,如:CPU314的L堆栈为1536Byte,供程序中的所有优先级划分使用。对于CPU314,允许每个优先级使用256Byte,所以在嵌套调用中所有激活块的临时变量所占空间总数不能超过256Byte。由于操作系统已为每个OB声明了20Byte的L堆栈,该优先级下其它被调用块的所有临时变量必须小于236Byte。当调用一个新块,新块的临时变量在L堆栈中生成,在多层嵌套调用时,若临时变量定义不当,L堆栈会溢出,导致CPU有RUN模式变为STOP模式。OB35使用20字节L堆栈功能块或系统功能块L堆栈≤256字节L堆栈≤256字节总共1536字节OB1使用20字节L堆栈背景数据块优先级26功能块或系统功能块功能块或系统功能块背景数据块⑵两个常用组织块(a)主循环块(OB1)※OB1是最重要的组织块,当PLC从STOP状态切换到RUN状态后,CPU首先调用OB100一次,OB100调用结束后,操作系统开始周而复始地调用OB1,这称为扫描循环。※调用OB1的时间间隔称为扫描周期,扫描周期的长短,主要由OBI中的程序执行所需时间决定。※为防止程序陷入死循环,S7设有看门狗定时器(WDT),WDT的定时间隔(可以设置)确定了主循环的最长时间。正常情况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系统调用OB80(循环时间超时),若OB80中未编写程序,CPU将转入停止(STOP)状态。OB100OB1OB80STOP_S7-300PLC允许设计一个以固定间隔运行的定时中断组织块OB35,定时时间间隔可以在lms~lmin的范围内设置,当允许循环中断时,OB35以固定的间隔循环运行,但要求确保设置的定时时间间隔大于OB35的执行时间,否则将造成系统异常,操作系统将调用异步错误OB80。(b)循环中断(OB35)

7.3.4.4逻辑块的调用关系

操作系统

OB1FB、SFB共享DB背景DBFC、SFC共享DB共享DBFC、SFCOB35、OB10、OB20……7.3.5S7PLC的网络通信

现代计算机控制系统已不再是自动化的“孤岛”,而是集过程控制、生产管理、网络通信、IT技术等为一体的综合自动化系统,系统最主要的结构特征表现为一个多层次的网络体系。S7PLC的网络功能很强,它可以适应不同控制需要的网络体系,也为各个网络层次提供互联模块或接口装置,通过通信子网把PLC、PG、PC、OP及其它控制设备互联起来。S7PLC可以提供:MPI——MultipointInterface PROFIBUS-DP IndustrialEthernet这3种通信方式都有各自的技术特点和不同的适应面。对象1RIOURIOU对象nRIOURIOUPLCCRProfibus-DP总线

通信子网特征

MPIPROFIBUSIndustrialEthernet工业以太网

标准

SIEMENSEN50170Vol.2IEEE802.3介质访问技术

令牌环令令牌环+主从式

CSMA/CD传输速率

187.5Kbps9.6Kbps~12Mbps10Mbps/100Mbps常用传输介质

屏蔽2芯电缆塑料光纤玻璃光纤

屏蔽2芯电缆塑料光纤玻璃光纤

屏蔽双绞线屏蔽同轴电缆玻璃光纤最大站点数

32127>1000拓扑结构

总线型、树型、星型、环型通信服务

S7函数、GDS7函数、DP、FDL等

S7函数、TCP/IP等

适用范围

现场设备层、控制单元层

控制层、管理层

PLC与上位机(操作站)之间的通信MPI通信※MPI子网的物理层符合RS485标准,它具有多点通信的性质,是一种低成本的网络系统,用于连接多个不同的CPU或设备。※多数SIMATIC产品都集成有MPI接口,它们可以直接组网,实现网上各PLC间的数据共享。

※采用专用的通信处理器模块或通信接口板可以把S5PLC、PC以及其它没有MPI接口的外设连接到MPI网上。

图7.45MPI子网示意图OS*S7300S7400PGOPMPIMPI通信接入到MPI网的设备称为一个站点或节点,一个MPI网最多允许连接32个网络站点,它的传输速率是187.5Kbps,因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。

对于MPI网络,节点间的连接距离是有限制的,从第一个节点到最后一个节点最长距离仅为50m。对于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论