S7-300软件基础.doc_第1页
S7-300软件基础.doc_第2页
S7-300软件基础.doc_第3页
S7-300软件基础.doc_第4页
S7-300软件基础.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

S7-300的软件基础8.1 S7-300的数据区1 数据类型S7-300数据类型有位数据字节数据字数据双字数据整数实数等数据,如表8-1所示。表8-1 S7-300数据类型类型格式范围及示例位(BOOL)True 或 False(数值为1 或0)True 或 False (1 或0)字节(BYTE)八位数据:B#16#(B代表字节)B#16#0FF字(WORD)二进制:2#2#01111_1111_1111_1111十六进制:W#16#(W代表字)W#16#0FFFFBCD码:C#C#-999999双字(DWORD)二进制:2#2#01111_1111_1111_1111_1111十六进制:DW#16#(DW代表双字)DW#16#0FFFF_FFFFBCD码:C#C#0999_9999整数(INT)16位数:-3276832767 双整数(DINT)32位数:L#L#-214783648214783647 实数(REAL)32位数:3.402823E+381.1755494 E-38时间SIMATIC时间S5T#S5T#10ms2H46M 30S0msIEC时间T#(时基 1mS)T#024D_20H_31M_23S_648ms字符(CHAR)八位数据:用单引号表示 (ASCII)A日计时(TIME_OF_DAY)TOD#TOD#0:0:023:59:59.999日期(DATE)D#D#1990-1-12163-12-31说明: S5TIME为SIMATIC时间,用16位数表示。该16位数的第011位为用BCD码表示的时间值(TV值),第13和12位表示时间基准。其中,00为10ms,01为100 ms,10为1 s,11为10 s。TIME为IEC时间,时间基准为1ms。TIME-OF-DAY为日计时,时间基准为1ms。DATE为日期计时,时间基准1天。实际时间 = 时间的过程值 时间基准。2. STEP 7 的可能寻址范围STEP 7 的可能寻址范围是指该软件的可能寻址区域,它包含了S7-300/400各种PLC的全部寻址范围,而不表明一个具体的PLC的可能寻址区域。STEP 7 的寻址范围见表8-2。表8-2 STEP 7 的寻址范围区域种类访问区域缩写最大区域范围过程映象 I/Q输入/输出位I/Q0.065535.7输入/输出字节I/QB065535输入/输出字I/QW065534输入/输出双字I/QD065532存储器标志 M存储器位M0.0255.7存储器字节MB0255存储器字MW0254存储器双字MD0252I/Q 外部输入/输出外设I/Q 字节PIB/PQB065535外设I/Q 字,PIW/PQW065534外设I/Q 双字PID/PQD065532定时器定时器 (T)T0255计数器计数器 (C)C0255数据块(DB)065,535用OPN DB打开位DBX0.065535.7字节DBB065535字DBW065534双字DBD065532用OPN DI打开位DIX0.065535.7字节DIB065535字DIW065534双字DID065532说明:DB块包含由任意一个块存取的数据,DB块用“OPN DB”打开。 DI块用于存取FB和SFB块的数据,DI块用“OPN DI”打开。S7同时只能识别一个DB块和一个DI块的数据。打开一个数据块,就意味着关闭当前已打开的另一个同类的数据块。3 S7-300 CPU的寄存器S7-300有两个累加器两个地址寄存器两个数据块寄存器一个状态寄存器和一个诊断缓冲区。1)累加器(ACCU x)32位累加器用于处理字节、字或双字的寄存器。S7-300有两个累加器(ACCU1和ACCU2)。可以把操作数送入累加器,并在累加器中进行运算和处理,保存在ACCU1中的运算结果可以传送到存储区。处理8位或16位数据时,数据放在累加器的低端(右对齐)。在使用语句表指令编程时,累加器的状态是编程者应该掌握的。而使用梯形图或功能图指令时,则可不必太关心累加器的内容。2)地址寄存器S7系列的PLC CPU中有两个地址寄存器,即AR1和AR2,每个地址寄存器为 32位。地址寄存器常用于寄存器间接寻址。在语句表指令中有专门的指令对其进行操作。如果只使用梯形图或功能图指令,也可不必关心地址寄存器的内容。3)数据块寄存器S7系列PLC的CPU中有两个数据块寄存器,每个数据块寄存器的长度为 32位。一个为共享数据块DB的寄存器,另一个为背景数据块DI的寄存器。数据块寄存器包含了被激活的数据块的块号以及数据块的长度。用户在访问数据块时,如果指令中没有指明是哪一个数据块,则CPU将访问数据块寄存器中存储的数据块号。如果指令中指明了数据块号,则CPU将会把该数据块的信息装入数据块寄存器中以备使用。因此,在编程序时,如果明确指令所访问的数据块的块号,则可不必关心数据块寄存器中的内容。4)状态字寄存器状态字是一个16位的寄存器,用于存储CPU执行指令的状态。状态字中的某些位用于决定某些指令是否执行和以什么样的方式执行,执行指令时可能改变状态字中的某些位,用位逻辑指令和字逻辑指令可以访问和检测它们。见表8-3。表8-3 STEP 7的状态字位号15 9876543210状态字BRCC1CC0OVOSORSTARLOFC 首次检测位(FC)状态字的第0位称为首次检测位(FC)若该位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首次检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1称为首次检测结果。该位在逻辑串的开始时总是0,在逻辑串指令执行过程中该位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将该位清0。 逻辑运算结果(RLO)状态字的第1位称为逻辑运算结果位(RLO)。该位用来存储执行位逻辑指令或比较指令的结果。RLO的状态为1,表示有“电流”流到梯形图中运算点处;为0则表示无“电流”流到该点。 状态位(STA)状态字的第2位称为状态位(STA),执行位逻辑指令时,STA总是与该位的值一致。 或位(OR)状态字的第3位称为或位(OR),在先 “与”后“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其他指令可以将OR位复位。 溢出位(OV)状态字的第4位称为溢出位(OV),如果算术运算或浮点数比较指令执行时出现错误(例如溢出、非法操作和不规范的格式),溢出位被置1。如果后面的同类指令执行结果正常,该位被清0。 溢出状态保持位(OS)状态字的第5位称为溢出状态保持位(OS),或称为存储溢出位。OV位被置1时OS位也被置1,OV位被清0时OS仍保持,所以它保存了OV位,用于指明前面的指令执行过程中是否产生过错误。只有J OS(OS=1时跳转)指令、块调用指令和块结束指令才能复位OS位。 条件码1(CCI)和条件码0(CCO)状态字的第7位和第6位称为条件码1和条件码0。 表8-4 STEP 7的条件码状态CC1CC0条件00ACCU2=ACCU101ACCU2ACCU111非法指令这两位综合起来用于表示在累加器1中产生的算术运算或逻辑运算的结果与0的大小关系比较指令的执行结果或移位指令的移出位状态,见表8-4。 二进制结果位(BR)状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方框指令中,BR位与ENO有对应关系,用于表明方框指令是否被正确执行:如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。状态字的915位未使用。4 S7-300的寻址方式STEP 7的寻址方式有三种,立即寻址直接寻址和间接寻址。1)立即寻址立即寻址是指操作数直接在指令中。有些指令的操作数是唯一的,往往不指令中写出,成为无操作数指令,其实也可以看成是一种特殊的立即寻址。下面的例子中,“S5T#10S”是装入T1计时器的时间常数,可以看出该操作数直接在指令中了,叫立即寻址。A I 1.0 /启动电平L S5T#10S /计时器的时间常数SD T 1 /时间常数装入计时器T12)直接寻址直接寻址是指操作数的地址在指令中给出。下面的例子中,“MW100”是装入T1计时器时间常数的地址,可以看出具体的时间常数在指令中没有给出。但是,存放时间常数的地址已经由指令给出,这种寻址方式叫直接寻址。A I 1.0 /启动电平L MW 100 /计时器的时间常数的地址SD T 1 /时间常数装入计时器T13)间接寻址间接寻址是指操作数的地址的地址在指令中给出,S7-300有两种间接寻址。一种是以定时器T计数器C数据块DB功能块FB功能FC字作为地址指针和以MDLDDBDDID双字作为地址指针,其表示形式为“地址指针”。这种寻址方式叫存储器间接寻址。下面是存储器间接寻址的例子。“IB MD 0”是装入QB 0操作数的地址的地址,其MD 0的313位表示被寻址的字节编号,MD 0的20位表示被寻址的位号。当MD 0=W#16#0时, MD 0的313位表示被寻址的字节编号为0,即把IB0的数据传送到QB0, 当MD 0=W#16#8时, MD 0的313位表示被寻址的字节编号为1,即把IB1的数据传送到QB0, 当MD 0=W#16#10时, MD 0的313位表示被寻址的字节编号为2,即把IB2的数据传送到QB0。 L IB MD 0 /把IB由MD 0的313位指定的字节装入累加器1 T QB 0 /把累加器1的低8位传送给QB 0S7-300的另一种间接寻址方式是利用两个地址寄存器AR1和AR2对各存储区进行间接寻址,地址寄存器的内容加上偏移量形成地址指针,其表示形式为“地址寄存器,P#偏移量”。这种寻址方式叫寄存器间接寻址。下面是寄存器间接寻址的例子。A I 0.1 /启动电平 L P#1.0 /将间接寻址的地址指针装入累加器1 LAR1 /将累加器1的内容送到地址寄存器1 A M AR1,P#1.3 /AR1的P#1.0加偏移量P#1.3,实际是对M2.3操作 = Q AR1,P#1.0 /把运算结果赋给Q的AR1的P#1.0加偏移量P#1.0位,即Q2.0 L DBW AR1,P#6.0 /把当前数据快DBW7的数据装入累加器1 T MW 4 /把累加器1的低16位传送给MW 48.2 S7-300的基本指令1 位逻辑指令S7-300的位逻辑指令可以分为与操作或操作取反操作中间输出操作置位操作复位操作RS触发器SR触发器逻辑正边沿检测逻辑负边沿检测信号正边沿检测和信号负边沿检测。具体操作及功能如表8-5所示。表8-5位逻辑指令表操作语句表梯形图功能描述参数说明与操作(A/AN)A I 0.1AN I 0.2= Q 0.1I 0.1和I 0.2的非进行“与”操作,其结果赋予Q 0.1输出。触点与线圈均为位数据。或操作(O/ON)O I 0.2ON I 0.3= Q 0.2I 0.2和I 0.3的非,进行“或”操作,其结果赋予Q 0.2输出。触点与线圈均为位数据。取反操作(NOT)A(O I 0.1ON M 0.0)NOT= Q 0.3I 0.1和M 0.0的非进行“或”操作,其结果“取反”再赋予Q 0.3输出。触点与线圈均为位数据。中间输出操作(#)A( O I 0.1ON I 0.3) = M 0.1A M 0.1A I 0.2= Q 0.4I 0.1和I 0.3的非,进行“或”操作,其中间结果赋予M 0.1输出,同时再和I 0.2进行“与”操作,最终结果赋予Q 0.4输出。触点与线圈均为位数据。置位操作(S)A I 0.1S Q 0.1I 0.1为ON时,对Q 0.1置位。触点与线圈均为位数据。复位操作(R)A I 0.2R Q 0.1I 0.2为ON时,对Q 0.1复位。触点与线圈均为位数据。RS触发器(R/S)A I 0.1R M 0.1A I 0.2S M 0.1A M 0.1= Q 0.1I 0.1为ON时,对M 0.1复位。I 0.2为ON时,对M 0.1置位。M 0.1的状态赋予Q 0.1输出。置位优先。触点与线圈均为位数据。SR触发器(S/R)A I 0.1S M 0.1A I 0.2R M 0.1A M 0.1= Q 0.1I 0.1为ON时,对M 0.1置位。I 0.2为ON时,对M 0.1复位。M 0.1的状态赋予Q 0.1输出。复位优先。触点与线圈均为位数据。逻辑正边沿检测(FP)A I 0.1A I 0.2FP M 0.1= M 1.0I 0.1和I 0.2的“与”结果赋予M 0.1,M 0.1上升沿使M1.0产生一个扫描周期的脉冲输出。触点与线圈均为位数据。逻辑负边沿检测(FN)A I 0.1A I 0.2FN M 0.2= M 1.1I 0.1和I 0.2的“与”的结果赋予M 0.2,M 0.2下降沿使M1.1产生一个扫描周期的脉冲输出。触点与线圈均为位数据。信号正边沿检测(FP)A I 0.1A( A I 1.0FP M 1.1) = M 8.0I 0.1为ON时,I 1.0的状态赋予M1.1,M 1.1的上升沿使M8.0产生一个扫描周期的脉冲输出。触点与线圈均为位数据。信号负边沿检测(FN)A I 0.1A( A I 1.1FN M 1.0) = M 8.1I 0.1为ON时,I 1.1的状态赋予M1.0,M 1.0的下降沿使M8.1产生一个扫描周期的脉冲输出。触点与线圈均为位数据。2 计数器与计时器指令S7-300的计数器指令可以分为加计数器(CU)减计数器(CD)和双向计数器(CDU)。S7-300的计时器可以分为脉冲计时器(SP)扩展脉冲计时器(SE)开通延时计时器(SD)保持型开通延时计时器(SS)和关断延时计时器(SF)。计时器与计数器指令的操作又分为线圈操作和框图操作两种,具体操作及功能如表8-6和表8-7所示。表8-6计数器指令操作语句表梯形图功能描述参数说明计数器线圈置数操作(SC)A I 0.1L C#10S C 1I0.1为置数脉冲。I0.1 =ON时,把设定值PV装入过程值寄存器CV中。计数器的设定值PV可以是常数,也可以是某个数据通道的数值。其值为0999的十进制整数。计数器线圈加计数操作(CU)A I 0.2CU C 1I0.2为加计数脉冲,I0.2使计数CV值加1,当CV=999时,停止加计数。CV=0时,C1=OFF。CV0时,C1=ON。计数器的设定值PV格式同上。计数器线圈减计数操作(CD)A I 0.3CD C 1I0.3为减计数脉冲,I0.3使计数CV值减1,当CV=0时,停止减计数。CV=0时,C1=OFF。CV0时,C1=ON。计数器的设定值PV格式同上。计数器线圈复位操作(R)A I 0.4R C 1I0.4为复位脉冲, I0.4使计数器复位。计数器的过程值CV=0。计数器的设定值PV格式同上。加计数器框图操作(CU)A I 0.2CU C 1A I 0.1L C#10S C 1A I 0.3R C 1A C 1= Q 0.1CU端为加计数脉冲,S端为置数脉冲,PV为设定值,R端为复位脉冲,CV端为计数器当前值十六进制输出。CV_BCD端为计数器当前值十进制输出,Q端为计数器状态输出。I0.1 =ON时,把设定值PV装入过程值寄存器CV中。I0.2脉冲使计数加1,CV=999时,停止加计数。CV=0时,C1=OFF。CV0时,C1=ON。计数器的设定值PV格式同上。减计数器框图操作(CD)A I 1.2CD C 2A I 1.1L C#10S C 2A I 1.3R C 2A C 2= Q 0.2CD端为减计数脉冲,SPVRCVCV_BCD和Q端的功能同上。I1.1 =ON时,把设定值PV装入过程值寄存器CV中。I1.2脉冲使计数减1,CV=0时,停止减计数。CV=0时,C2=OFF。CV0时,C2=ON。计数器的设定值PV格式同上。双向计数器框图操作(CDU)A I 1.1CU C 3A I 1.2CD C 3A I 1.3L C#10S C 3A I 1.4R C 3A C 3= Q 0.2CU端为加计数脉冲,CD端为减计数脉冲,SPVRCVCV_BCD和Q端的功能同上。I1.3 =ON时,把设定值PV装入过程值寄存器CV中。I1.1脉冲使计数加1,CV=999时,停止加计数。I1.2脉冲使计数减1,CV=0时,停止减计数。CV=0时,C3=OFF。CV0时,C3=ON。计数器的设定值PV格式同上。说明: 用数据通道表示计数值的格式:16位数的高4位未用,低12位表示3位BCD码,最大999。表8-7定时器指令操作语句表梯形图功能描述参数说明脉冲计时器线圈操作(SP)A I 1.0L S5T#10SSP T 0I1.0为计时器的置数启动电平。I1.0由OFF变为ON时,计时器的设定值TV装入过程值寄存器,计时器为ON状态。每过一个时基时间过程值减1,过程值=0时,计时器为OFF状态。I1.0提前为OFF时,计时器就停止计时,并提前降为OFF。计时器的设定值TV可以是常数,也可以是某个数据通道的数值。但是应该满足时基和时间常数的格式。脉冲计时器框图操作(SP)A I 1.0L S5T#1M30SSP T 0A T 0= Q 1.0S端为计时器的置数启动电平。TV端为计时器的设定值。R端为计时器的复位输入。BI端为计时器当前值十六进制输出。BCD端为计时器当前值十进制输出。Q端为计时器状态输出。框图操作功能同SP线圈操作。计时器的设定值TV同上。R端可以加上复位信号。扩展脉冲计时器线圈操作(SE)A I 1.0L S5T#2M10SSE T 1I1.0为计时器的启动脉冲,I1.0由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中,计时器为ON状态。每过一个时基时间过程值减1,过程值=0时,计时器为OFF状态。I1.0提前为OFF时,计时器工作照常。计时器的设定值TV同上。扩展脉冲计时器框图操作(SE)A I 1.0L S5T#20SSE T 1A T 1= Q 1.1S端为计时器的置数启动电平。TV端为计时器的设定值。R端为计时器的复位输入。BI端为计时器当前值十六进制输出。BCD端为计时器当前值十进制输出。Q端为计时器状态输出。框图操作功能同SE线圈操作。计时器的设定值TV同上。R端可以加上复位信号。开通延时计时器线圈操作(SD)A I 1.2L S5T#20SSD T 2I1.2为计时器的启动电平,I1.2由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中。计时器为OFF状态。每过一个时基时间过程值减1,过程值=0时,计时器为ON状态。I1.2提前为OFF时,计时器就停止计时。I1.2再由OFF变为ON时,计时器将重新开始计时。计时器的设定值TV同上。开通延时计时器框图操作(SD)A I 1.2L S5T#20SSD T 2A T 2= Q 0.2S端为计时器的置数启动电平。TV端为计时器的设定值。R端为计时器的复位输入。BI端为计时器当前值十六进制输出。BCD端为计时器当前值十进制输出。Q端为计时器状态输出。框图操作功能同SD线圈操作。计时器的设定值TV同上。R端可以加上复位信号。保持型开通延时计时器线圈操作(SS)A I 1.3L S5T#10SSS T 3A I 1.4R T 3I1.3为计时器的启动脉冲,I1.3由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中。计时器为OFF状态。每过一个时基时间过程值减1,过程值=0时,计时器为ON状态。I1.3提前为OFF时,计时器继续工作,直到计时器为ON状态。I1.4为复位信号(需要)。计时器的设定值TV同上,复位信号是需要的。保持型开通延时计时器框图操作(SS)A I 1.3L S5T#10SSS T 3A I 1.4R T 3A T 3= Q 0.3S端为计时器的置数启动电平。TV端为计时器的设定值。R端为计时器的复位输入。BI端为计时器当前值十六进制输出。BCD端为计时器当前值十进制输出。Q端为计时器状态输出。框图操作功能同SS线圈操作。计时器的设定值TV同上。关断延时计时器线圈操作(SF)A I 1.3L S5T#20SSF T 4I1.3为计时器的启动电平。I1.3=ON时,计时器为ON状态。I1.3由ON变为OFF时,计时器的设定值TV装入过程值寄存器。每过一个时基时间过程值减1,过程值=0,计时器由ON变为OFF状态。计时器的设定值TV同上。关断延时计时器框图操作(SF)A I 1.3L S5T#20SSF T 4A T 4= Q 0.3S端为计时器的置数启动电平。TV端为计时器的设定值。R端为计时器的复位输入。BI端为计时器当前值十六进制输出。BCD端为计时器当前值十进制输出。Q端为计时器状态输出。框图操作功能同SF线圈操作。计时器的设定值TV同上。说明:用数据通道表示时间的方法:时间=时间常数时基其中 时间常数用一个字的低十二位的BCD码表示(百位118,十位74,个位30)。时基由第13和第12位表示(11为10S,10为1S,01为0.1S,00为0.01S)。3传送和比较指令S7-300的传送指令可以完成字节字双字的传送功能。S7-300的比较指令可以完成整数双整数实数比较功能。具体操作见表8-8。表8-8传送和比较指令操作语句表梯形图功能描述参数说明传送操作(MOVEL T)A I 1.0L W#16#11T MB 0A I 1.1L W#16#1024T MW 2A I 1.2L ID 0T MD 4EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,将数据IN传送给OUT输出。EN为位数据。IN为源数据,可以是立即直接和间接寻址。数据范围可以是字节字和双字。OUT为目的数据,可以是直接和间接寻址。数据范围可以是字节字和双字。比较操作(CMP)A I 1.3A( L PIW 256L 126=I ) = Q 0.1A I 1.3A( L MD 0L L#123456R ) = Q 0.3I1.3为输入信号。当IN1和IN2满足比较条件时,比较框相当于闭合的触点。输入信号的状态通过比较框从OUT端输出。当IN1和IN2不满足比较条件时,比较框相当于断开的触点。输入信号的状态不能通过比较框输出。两个比较的数据可以是立即直接和间接寻址。数据范围可以单字双字整数和实数,用ID和R表示。比较符为:EQ(=), NE() GT(), LT,(=),LE(=)注:如果希望启动输入端变化一次仅执行一次传送或比较指令,可以在启动信号后面加上微分指令。4数据转换指令S7-300数据转换指令的具体操作见表8-9。表8-9 数据转换指令操作语句表梯形图功能描述参数说明BCD码转换为整数操作(BTI)A I 1.0JNB _001L W#16#255BTI T MW 0_001: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的BCD码转换为整数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。整数转换为BCD码操作(ITB)A I 1.1JNB _002L MW 0ITB T MW 10_002: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的整数转换为BCD码,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。整数转换为双整数操作(ITD)A I 1.2JNB _003L 255ITD T MD 20_003: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的整数转换为双整数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。BCD码转换为双整数操作(BTD)A I 1.3JNB _004L W#16#100BTD T MD 30_004: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的BCD码转换为双整数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。双整数转换为BCD码操作(DTB)A I 1.4JNB _005L L#100DTB T MD 40_005: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的双整数转换为BCD码,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。双整数转换为实数操作(DTR)A I 1.0JNB _006L MD 0DTR T MD 0_006: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的双整数转换为实数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。实数转换为双整数操作1(ROUND)A I 1.1JNB _007L MD 0ROUND T MD 4_007: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的实数四舍五入,转换为双整数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。实数转换为双整数操作2(TRUNC)A I 1.2JNB _008L MD 0TRUNC T MD 8_008: NOP 0EN为启动电平。IN为源数据。OUT为目的数据。当EN=ON时,把IN的实数舍去小数部分,转换为双整数,从OUT端输出。EN为位数据。IN可以是立即直接和间接寻址。数据范围是字。OUT可以是直接和间接寻址。数据范围是字。5算数运算指令S7-300的算数运算可以分为整数运算双整数运算和实数运算。算数运算结果可以分为有效的算数运算结果和无效的算数运算结果。有效的算数运算结果是指运算结果在正常的数值范围,无效的算数运算结果是指运算结果超出了正常的数值范围。两种运算结果对系统状态字的影响是不一样的。见表8-10和表8-11。表8-10有效的算数运算结果对系统状态字的影响运算结果CC1CC0OVOS运算结果=0000-32768=16位运算结果=0 或 -2147483648=32位运算结果=16位运算结果=0 或 2147483647 =32位运算结果=0(正数)100-表8-11无效的算数运算结果对系统状态字的影响运算结果CC1CC0OVOS加法下溢出:16位运算结果=-65536或32位运算结果=-42949672960011乘法下溢出:16位运算结果-32767或32位运算结果32767或32位运算结果2147483647(正数)0111乘除法溢出: 16位运算结果32767或32位运算结果2147483647(正数)1011加减法下溢出16位运算结果-32767或32位运算结果-2147483648(负数)1011双字加法的运算结果=-42949672960011除法指令或MOD指令的除数为01111S7-300算数运算指令的具体操作见表8-12。表8-12算数运算指令操作语句表梯形图功能描述参数说明整数加法操作(+I)A I 0.1JNB _003L 200L MW 0+I T MW 2_003: NOP 0 EN为启动输入端,当EN端信号为ON时,被加数(IN1)和加数(IN2)相加,其和从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为整数。整数减法操作(-I)A I 0.2JNB _007L MW 2L MW 4-I T MW 6_007: NOP 0 EN为启动输入端,当EN端信号为ON时,被减数(IN1)和减数(IN2)相减,其差取整后从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为整数。整数乘法操作(*I)A I 0.2JNB _00bL MW 6L 8*I T MW 10_00b: NOP 0 EN为启动输入端,当EN端信号为ON时,被乘数(IN1)和乘数(IN2)相乘,其积从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为整数。整数除法操作(/I)A I 0.3JNB _00cL MW 10L 8/I T MW 20_00c: NOP 0 EN为启动输入端,当EN端信号为ON时,被除数(IN1)和除数(IN2)相除,其商取整后从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为整数。双整数加法操作(+D)A I 0.1JNB _001L L#23L MD 0+D T MD 4_001: NOP 0 EN为启动输入端,当EN端信号为ON时,被加数(IN1)和加数(IN2)相加,其和从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为双整数。双整数减法操作(-D)A I 0.2JNB _002L MD 4L L#30-D T MD 8_002: NOP 0 EN为启动输入端,当EN端信号为ON时,被减数(IN1)和减数(IN2)相减,其差取整后从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为双整数。双整数乘法操作(*D)A I 0.2JNB _003L L#1111L L#2*D T MD 12_003: NOP 0 EN为启动输入端,当EN端信号为ON时,被乘数(IN1)和乘数(IN2)相乘,其积从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为双整数。双整数除法操作(/D)A I 0.3JNB _009L MD 12L L#2/D T MD 16_009: NOP 0 EN为启动输入端,当EN端信号为ON时,被除数(IN1)和除数(IN2)相除,其商取整后从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为双整数。求余数操作(MOD)A I 0.4JNB _00aL MD 16L L#2MOD T MD 20_00a: NOP 0 EN为启动输入端,当EN端信号为ON时,被除数(IN1)和除数(IN2)相除,其余数取整后从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为双整数。实数加法操作(+R)A I 0.1JNB _001L 2.000000e+002L 1.000000e+002+R T MD 0_001: NOP 0 EN为启动输入端,当EN端信号为ON时,被加数(IN1)和加数(IN2)相加,其和从OUT端输出。IN1和IN2可以是立即寻址直接寻址和间接寻址。OUT可以是直接寻址和间接寻址,所有操作数均为实数。实数减法操作(-R)A I 0.2JNB _002L MD 0L 1.500000e+

温馨提示

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

评论

0/150

提交评论