您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > PLC-6-第三章-S7-300PLC-第3节-指令系统
S7-300使用STEP7软件编程,STEP7是S7-300/400PLC的通用编程软件。STEP7标准版配备了梯形图(LAD)、语句表(STL)及功能块图(FBD)三种编程语言,各语言中的部分指令在STEP7中可互相转换。此外,可选编程语言软件还支持顺序功能图(SFC)、结构文本(SCL)、连续功能图(CFC,仅S7-400PLC支持)等。第三节S7-300PLC编程语言及指令系统一、编程语言1)位(bit)BOOL型。其值为0或1。2)字节(Byte)BYTE型,8位二进制数组成1个字节。值为0~255。3)字(Word)WORD型。相邻两个字节组成一个字,表示16位无符号数(含BCD)。值为0~65535。二、基本数据类型及CPU内寄存器1.基本数据类型4)双字(DoubleWord)DWORD型。相邻两个字组成一个双字,表示32位无符号数(含BCD)。其值为0~4294967295。5)字符(Character)CHAR型,表示一个ASCII字符(8位)。6)16位整数(Integer)INT型,表示16位有符号数。其值为-32768~32767。7)32位整数(DoubleInteger)DINT型,表示32位有符号数。其值为-2147483648~2147483647。8)32位浮点数(Real)REAL型。表示32位IEEE745标准格式的浮点数(实数)。其值为±1.175495E-38~±3.402823E+38。9)S5时间(S5Time)S5TIMER型,表示16位S5时间常数。其格式为S5T#aHbMcSdMS。(a、b、c、d对应时、分、秒、毫秒。10)IEC时间(Time)TIME型,表示32位IEC格式时间(有符号)。其值为-T#24D20H31M23S648MS~T#24D20H31M23S648MS。11)IEC日期(Date)DATE型,表示16位IEC格式日期。其值为D#1990-1-1~D#2168-12-31.12)24小时制时间(24hTime_Of_Day)TIME_OF_DATE型,32位24小时制格式时间。其值为TOD#0:0:0.0~TOD#23:59:59.9992.常数表示方法(常用部分)16位10进制整数及32位浮点数常数输入时不需加字头。如123,-123,123.4,-123.4。浮点数将自动转成指数形式,如:1.234000e+002。浮点常数为整数值时,需加小数点。如123.0。符号说明2#2进制常数B#16#W#16#DW#16#16进制字节常数16进制字常数16进制双字常数L#32位整数常数S5T#S5时间常数(16位)C#计数器常数(3位BCD,0~999)1)累加器(ACCU1、ACCU2)两个32位累加器,用于处理字节、字、双字。2)状态字寄存器16位状态字寄存器用于存储CPU执行指令的状态。第0位(FC):首次检测位。为0时表示一个逻辑网络的开始。第1位(RLO):逻辑运算结果位。用于存储执行位逻辑或比较指令的结果。状态为1时表示逻辑运算结果为1或比较结果成立。015781234569OROVOSCC0CC1BR未使用FCRLOSTA3.CPU内寄存器简介第2位(STA):状态位。执行位逻辑指令时,STA总是与该位的值一致。第3位(OR):或位。在先逻辑“与”后逻辑“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果。第4位(OV):溢出位。算术运算或浮点数比较指令执行出错时置1。后续同类指令执行正常时,该位清0。第5位(OS):溢出状态保持位。OV置1时,OS置1,OV清0时,OS仍保持为1。(只能由JOS、块调用、块结束指令复位)第6位和第7位(CC0、CC1):条件码0和条件码1。两位结合用于表示算术运算或逻辑运算的结果与0的大小关系,以及比较指令的执行结果或移位指令的移出状态。第8位(BR):二进制结果位。用于表示字操作的结果是否正确。1—正确,0—错误。3)地址寄存器(AR1和AR2)两个32位地址寄存器用于寄存器间接寻址。4)数据块地址寄存器S7-300PLC中有两个数据块地址寄存器,一个用于共享数据块,一个用于背景数据块,均为32寄存器。寄存器中存有数据块编号及数据块长度。1)“与”和“与非”操作“与”是以常开点开始的串联逻辑行,或者是串联单个常开点。“与非”是以常闭点开始的串联逻辑行,或者是串联单个常闭点。触点可以是I区、Q区、M区、DB块内的BOOL点、定时器T和计数器C的状态点,以及临时状态点。三、指令系统1.位逻辑指令例如:I0.0I0.1I0.0I0.1LAD指令STL指令AI0.0AI0.1AI0.0ANI0.1I0.1I0.0ANI0.0AI0.12)“或”和“或非”操作“或”是以常开点开始的并联逻辑行,或者是并联单个常开点。“或非”是以常闭点开始的并联逻辑行,或者是并联单个常闭点。触点同1)。例如:OI0.0ONI0.1I0.0I0.1LAD指令STL指令OI0.0OI0.1I0.0I0.13)“非”操作RLO取“非”。4)输出操作将逻辑运算结果输出至指定存储位。存储位可以是Q区、M区、DB块内的BOOL点,以及临时状态点。|NOT|LAD指令STL指令NOTLAD指令STL指令()Q0.0=Q0.05)“与”操作嵌套开始及结束由于程序按先“与”后“或”次序执行,当需要先进行“或”操作时,使用该指令。A(开始)结束例如:LADSTL指令I0.0I0.1Q4.1()Q4.1A(OI0.0OQ4.1)ANI0.1=Q4.1A(ONI0.0OI0.2)A(OI0.1ONI0.3)ANC2=Q4.3STL指令I0.0I0.2I0.3I0.1C2()Q4.3LAD6)逻辑行“或”操作(O)由于程序按先“与”后“或”次序执行,当出现逻辑行“或”操作时,使用不带地址的O指令。例如:ANI0.0AI0.1OAI0.2ANI0.3=Q4.2LADSTL指令I0.0I0.2I0.3I0.1()Q4.27)复位(R)、置位(S)操作、对应点的置1或置0。8)上升沿检测(P)和下降沿检测(N)RLO上升沿检测和下降沿检测。RQ1.2STL指令LAD指令SM1.2STL指令LAD指令FPM1.2STL指令LAD指令(P)M1.2FNM1.2STL指令LAD指令(N)M1.2(R)Q1.2(S)M1.29)RLO状态保存至BR(SAVE)10)地址下降沿(NEG)和上升沿检测(POS)SAVESTL指令LAD指令AI0.0BLD100FNM1.0=Q0.0STL指令LAD指令AI0.0BLD100FPM1.0=Q0.0NEGM_BITQI0.0M1.0()Q0.0POSM_BITQI0.0M1.0()Q0.0(SAVE)11)RS触发器、SR触发器置位优先触发器(RS)和复位优先触发器(SR)。AI0.0RM0.1AI0.1SM0.1LADSTL指令AI0.0SM0.2AI0.1RM0.2I0.0I0.1RSRQSM0.1I0.0I0.1SRSQRM0.2这两条是STL指令,无对应的梯形图指令。STL编程及一些梯形图转为STL指令时会用到。1)装入指令(L)装入指令L将源操作数装入累加器1中,累加器1中的原有数据移入累加器2中。如:LMW02)传送指令(T)传送指令T将累加器1中的内容传送至目的存储器中,累加器1的内容不变。如:TMD102.装入指令与传送指令1)定时器接通延时定时器(S_ODT)I0.1I0.2当前值Q4.0S—启动端R—复位端TV—定时时间(1~9990s)Q—输出端BI—16进制当前值BCD—BCD码当前值S5T#3SI0.2I0.1()Q4.0MW10MW12T1S_ODTSQTVBIBCDR3.定时/计数指令(常用部分)定时器指令使用示例:AI0.1LS5T#3SSDT1AI0.2RT1LT1TMW10LCT1TMW12AT1=Q4.0S5T#3SI0.2I0.1()Q4.0MW10MW12T1S_ODTSQTVBIBCDRT1M1.0()AT1=M1.0断开延时定时器(S_OFFDT)I0.1I0.2当前值Q4.0各端说明同前S5T#3SI0.2I0.1()Q4.0MW10MW12T1S_OFFDTSQTVBIBCDR定时器指令简化形式:当不使用强制复位端及不显示当前值时,可使用定时器简化形式指令。例如:AI0.1LS5T#3SSDT1I0.1T1(SD)S5T#3SI0.1T2(SF)S5T#5SAI0.1LS5T#5SSFT2S5T#3SI0.1T1S_ODTSQTVBIBCDRS5T#5SI0.1T2S_OFFDTSQTVBIBCDR2)计数器减计数器(S_CD)工作过程与FP1的计数器类似,设定值为0~999。CD—计数端S—计数设置端PV—计数设定值R—复位端Q—输出端CV—16进制当前值CV_BCD—BCD码当前值。C#3I0.3I0.1()Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC10计数当前值不为零时,计数器状态输出为1(ON),否则为0(OFF)。当计数设置端S为1时,将计数设定值(PV端规定)送如计数器。然后,计数端(CD端)每接通一次,计数值减1。当计数值减为0时,计数器状态输出由1(ON)变为0(OFF)。当复位端(R端)为1(ON)时,计数器复位。减计数器指令应用示例C#3I0.3I0.1()Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC0AI0.1CDC10BLD101AI0.2LC#3SC0AI0.3RC0LC0TMW10LCC0TMW12AC0=Q4.0Q4.2()C0AC0=Q4.2加计数器(S_CU)计数值为0时,状态输出为0,否则为1。计数范围为0~999CD—计数端S—计数设置端PV—计数值R—复位端Q—输出端CV—16进制当前值CV_BCD—BCD码当前值。C#3I0.3I0.1()Q4.0MW10MW12S_CUCUQPVCVCV_BCDRI0.2SC101)延时接通,延时断开I0.0Q4.06s3sI0.0T0(SD)S5T#3SM1.0()T0Q4.1T1Q4.1I0.0T1(SD)S5T#6S4.位逻辑及定时/计数器指令应用2)振荡器(脉冲发生器)S5T#1ST2()Q4.0T1S_OFFDTSQTVBIBCDRS5T#3ST2S_ODTSQTVBIBCDRI0.0I0.0Q4.01s3s3s1s3)定时器T0T1(SD)S5T#10MN2T1T2T2(SD)S5T#1HN4C0T2C#3S_CUCUQPVCVCV_BCDRI0.0SN3I0.0T0(SD)S5T#5SN1()Q4.0N5C0I0.04)一般闪光报警系统S5T#500MST0T1(SD)N2T0Q4.0()N3M0.1I0.2I0.0I0.1M0.1()N4M0.1I0.0I0.0Q4.1()N5M0.1X0为报警信号X1为确认按钮X2为试灯按钮闪烁程序报警灯控制警铃控制确认信号I0.0T0(SD)S5T#500MSN1T1M0.11)梯形图中的跳转指令无条件跳转和条件跳转指令JMP条件跳转为逻辑运算结果RLO=1时跳转。RLO=0跳转指令JMPN(JMP)LABEL(JMP)LABELI0.2条件跳转无条件跳转(JMPN)LABELI0.25.跳转指令标号LABELLABEL为首字符为字母的标识符。2)STL指令中的部分跳转指令无条件跳转:JU根据上一指令语句生成的逻辑运算结果(RLO)来跳转:JC(RLO=1跳转)、JNC(RLO=0跳转)根据计算结果来跳转:JZ(等于0跳转)、JN(不等于0跳转)JP(大于0跳转)、JM(小于0跳转)JPZ(大于等于0跳转)、JMZ(小于等于0跳转)
本文标题:PLC-6-第三章-S7-300PLC-第3节-指令系统
链接地址:https://www.777doc.com/doc-1399050 .html