收藏 分销(赏)

S7-200常用指令.doc

上传人:s4****5z 文档编号:8755960 上传时间:2025-03-01 格式:DOC 页数:9 大小:247KB 下载积分:10 金币
下载 相关 举报
S7-200常用指令.doc_第1页
第1页 / 共9页
S7-200常用指令.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
S7-200常用指令 一、PLC梯形图语言的编程原则 1、梯形图由多个梯级组成,每个线圈可构成一个梯级, 每个梯级有多条支路,每个梯级代表一个逻辑方程; 2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次; 3、梯形图中流过的不是物理电流而是“概念电流”,只 能从左向右流; 4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用; 5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态; 6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。 二、存储器区域 输入映像寄存器(I) 输出映像寄存器(Q) 变量存储器( V ) 定时器存储器( T ) 计数器存储器( C ) 模拟量输入映像寄存器(AI) 模拟量输出映像寄存器(AQ) 累加器(AC) 高速计数器(H C ) 说明: 1) 输入映像寄存器(I)的状态只能由外部输入信号驱动,而不能由程序来改变其状态。即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。 2) 输出映像寄存器(Q)是PLC用来向外部负载发送控制命令的窗口。每一个输出端子与输出映像寄存器( Q )的一个相应位想对应。并有无数对常开和常闭触点供编程时使用。 3) 定时器存储器(T),PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。每个定时器可提供无数对常开和常闭触点供编程使用。其设定时间通常由程序设置。S7-200 PLC提供了三种定时器:TON-通电延时;TONR-有记忆通电延时;TOF-断电延时。S7-200 PLC提供了三种定时精度:1ms、10ms、100ms 4) 计数器(C),计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数。计数器可提供无数对常开和常闭触点供编程使用,其设定值通常由程序赋予。地址格式:C[计数器号]如C5,S7-200 PLC提供了三种计数器:CTU-增计数器、CTD-减计数器、CTUD-增减计数器 5) 变量存储器(V) 变量存储器主要用于存储全局变量,或者存放数据运算的中间运算结果或设置参数。 6) 累加器AC累加器是用来暂存数据的寄存器,它可以用来存放运算数据、中间数据和结果。CPU提供了4个32位的累加器,其地址编号为AC0~AC3。累加器的可用长度为32位,可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位,双字可以存取累加器全部的32 位。 7) 高速计数器HC一般计数器:计数频率受扫描周期的影响,不能太高。高速计数器: 可用来累计比CPU 的扫描速度更快的事件。注: 高速计数器的当前值是一个双字长(32位)的整数,且为只读值。 三、程序分区 用户程序可分为三个程序分区: 主程序、子程序、中断程序 主程序(OB1):用户程序的主体,每一个扫描周期都要执行一次。 子程序:程序的可选部分,只有主程序调用时,才能够执行。 中断程序:程序的可选部分,只有中断事件发生时,才能够执行。 四、基本逻辑指令 1. 逻辑取(装载)LD/LDN 2.输出指令(线圈驱动指令):= 3. 触点串联指令A(And)、AN(And not) 4. 触点并联指令:O(Or)/ON(Or not) 5.置位/复位指令 S/R 6. 正负跳变指令 EU/ED 指令说明: 1) 装入常开指令(逻辑取)LD,常开触点逻辑运算的开始;LDN(load not):常闭触点逻辑运算的开始 (对操作数的状态取反)。装入常闭指令LDN触点代表CPU 对存储器的读操作, 用户程序中,触点可以使用无数次。 2) 输出指令: =(OUT):线圈驱动(赋值指令)。将逻辑运算的结果输出到指定存储器位或输出继电器对应的映像寄存器位,以驱动线圈。线圈:代表CPU对存储器的写操作,用户程序中同一线圈只能使用一次。 3) 触点串联指令A(And),AN(And not),定义A(And):串联连接常开触点。AN(And not)串联连接常闭触点。 4) 触点并联指令:O(OR),ON(OR NOT) O(OR):并联连接常开触点。ON:并联连接常闭触点。 5) 置位/复位指令 S/R , 置位指令S:使能输入有效后从起始位S-bit开始的N 个 位置“1”并保持。 复位指令R:使能输入有效后从起始位S-bit开始的N 个位清“0”并保持。 6) 正负跳变指令EU/ED:正跳变触点每检测到一个正跳变(由OFF变为ON),能让其后的触点或线圈接通一个扫描周期。负跳变触点每检测到一个负跳变(由ON变为OFF ),能让其后的触点或线圈接通一个扫描周期 五、其他指令 1立即触点指令 指令执行时,立即读取物理输入点的值,但不刷新相应的输入映像寄存器中的值。立即输入指令包括:LDI、 LDNI 、 AI 、 ANI、 OI、 ONI 2立即输出指令 令执行时,立即指令访问输出点的同时,刷新相应的输出映像寄存器中的值。 3立即置位指令 立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多128个)物理输出点立即被置位,同时,相应的输出映像寄存器中的内容也被刷新。 4. 立即复位指令 立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多128个)物理输出点立即被复位,同时,相应的输出映像寄存器中的内容也被刷新。 5装载与指令ALD. ALD(And load) :用于串联连接并联触点组成的电路块。 ALD指令使用说明: 1)并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD,LDN指令。并联电路结束后使用ALD指令与前面电路串联。 2)如果有多个并联电路块串联,顺次使用ALD指令与前面支路连接,支路数量没有限制。 3)ALD指令无操作数 6逻辑环节(电路块)的并联指令OLD OLD(OR LOAD) :用于并联连接串联触点组成的电路块。 OLD指令使用说明: 1) 几个串联支路并联连接时,其支路的起点以LD ,LDN开始,以OLD结束。 2) 如需将多个支路并联,从第二条支路开始,在每一条支路后面加OLD指令。 3) OLD指令没有操作数。 7计数器指令 计数器用来累计输入脉冲的次数。计数器编程时:输入它的预设值PV(计数的次数),计数器累计它的脉冲输入端电位上升沿(正跳变)个数,当计数器达到预设值PV时,相应状态发生变化。计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。指令操作数有4方面:编号、预设值、脉冲输入、复位输入。 7.1加计数器指令CTU 梯形图指令符号中:CU为加计数脉冲输入端;R为加计数复位端;PV为预置值。PV预设值最大范围:32767; PV的数据类型:INT;PV操作数为: VW, T, C, IW, QW, MW, SMW, AC, AIW, 常数 7.2减计数器指令CTD 梯形图指令符号中:CD为减计数脉冲输入端;LD为减计数复位端;PV为预置值。 7.3增减计数CTUD 梯形图指令符号中:CU为加计数脉冲输入端;CD为减计数脉冲输入端;R为计数复位端;PV为预置值。 首次扫描,定时器位OFF,当前值为0。CU输入的每个上升沿,计数器当前值增加1个单位, CD输入的每个上升沿,都使计数器当前值减小1个单位, 计数器指令总结: 可以用复位指令对3种计数器复位,复位的结果是使计数器位变为OFF,同时当前值复位。 在一个程序中,同一个计数器编号只能使用一次。脉冲输入和复位输入同时有效时,复位优先。 8字节传送指令 9数据立即传送指令 1传送字节立即读指令:BIR 使能输入有效时,立即读取单字节物理输入区数据IN,并传送到OUT所指的字节存储单元。 指令格式:BIR IN, OUT 2传送字节立即写指令:BIW 指令格式:BIW IN, OUT • 10块传送指令 字节块传送指令:BMB;字块传送指令:BMW; 双字块传送指令:BMD。 使能输入有效时,把从输入字节IN开始的N个字节型数据传送到从OUT开始的N个字节存储单元。指令格式:BMB IN, OUT, N 11移位寄存器指令(Shift Register Bit) 该指令在梯形图中有3个数据输入端:DATA为数值输入,将该位的值移入移位寄存器; S BIT为移位寄存器的最低位端;N指定移位寄存器的长度。每次使能输入有效时,整个移位寄存器移动1位。 移位特点: Ø 移位寄存器长度在指令中指定,没有字节型、字型、双字型之分。可指定的最大长度为64位,可正也可负。 Ø 移位数据存储单元的移出端与SM1.1(溢出)相连,所以最后被移出的位被放到SM1.1位存储单元。 Ø 移位时,移出位进入SM1.1,另一端自动补以DATA移入位的值。 Ø 正向移位时长度N为正值,移位是从最低字节的最低位S BIT移入,从最高字节的最高位MSB.b移出;反向移位时,长度N为负值,移位是从最高字节的最高位移入,从最低字节的最低位S BIT移出。 12比较操作指令 1. 字节比较 字节比较用于比较两个字节型整数值IN1和IN2的大小,字节比较是无符号的。比较式可以是LDB、AB或OB后直接加比较运算符构成。如:LDB=、AB<>、OB>= 等。 2. 整数比较 整数比较用于比较两个一字长整数值IN1和IN2的大小,整数比较是有符号的(整数范围为16#8000和16#7FFF之间)。比较式可以是LDW、AW或OW后直接加比较运算符构成。LDW=、AW<>、OW>= 等。 3. 双字整数比较 双字整数比较用于比较两个双字长整数值IN1和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000和16#7FFFFFFF之间)。比较式可以是LDD、AD或OD后直接加比较运算符构成。LDD=、AD<>、OD>= 4. 实数比较 实数比较用于比较两个双字长实数值IN1和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和+3.402823E+38)。比较式可以是LDR、AR或OR后直接加比较运算符构成。 LDR=、AR<>、OR>= 等。 13数学运算指令 1. 加法运算指令 加法指令是对有符号数进行相加操作。包括:整数加法、双整数加法和实数加法。 加法指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。使能流输出ENO断开的出错条件:0006(间接寻址);SM1.1(溢出);SM4.3(运行时间)。 (1)整数加法指令:+I 使能输入有效时,将两个单字长(16位)的符号整数 IN1和IN2相加,产生一个16位整数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2→OUT在STL中将IN2与OUT公用一个地址单元,执行结果:IN1+OUT→OUT (2)双整数加法指令:+D 使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相加,产生一个32位整数结果OUT。 2. 减法运算指令 减法指令是对有符号数进行相减操作。包括:整数、减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。 整数减法 双整数减法 实数减法 3. 乘法运算指令 乘法运算指令是对有符号数进行相乘运算。包括:整数乘法、完全整数乘法、双整数乘法。 (1)整数乘法指令:*I 使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。 (2)完全整数乘法指令:MUL 使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。 (3)双整数乘法指令:*D 使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位整数结果OUT。 4. 除法运算指令 除法运算指令是对有符号数进行相除操作。包括:整数除法、完全整数除法、双整数除法 整数相除 整数相除得商 双整数相除 在整数除法中,两个16位的整数相除,产生一个16位的整数商,不保留余数。双整数除法也同样过程,只是位数变为32位。在整数完全除法中,两个16位的符号整数相除,产生 一个32位结果,其中,低16位为商,高16位为余数。32位结果的低16位运算前期被兼用存放被除数。 14逻辑运算指令 1. 逻辑与运算指令 Ø ANDB,字节逻辑与指令。使能输入有效时,把两个字节的逻辑数按位求与,得到一个字节长的逻辑输出结果OUT。 Ø ANDW,字逻辑与指令。 Ø ANDD,双字逻辑与指令。 2. 逻辑或运算指令 Ø ORB,字节逻辑或指令。使能输入有效时,把两个字节的逻辑数按位求或,得到一个字节长的逻辑输出结果OUT。 Ø ORW,字逻辑或指令。 Ø ORD,双字逻辑或指令。 3. 逻辑异或运算指令 Ø XORB,字节逻辑异或指令。使能输入有效时,把两个字节的逻辑数按位求异或,得到一个字节长的逻辑输出结果OUT。 Ø XORW,字逻辑异或指令。 Ø XORD,双字逻辑异或指令。 15程序控制指令 1. 有条件结束指令 END,有条件结束指令。指令根据前一个逻辑条件终止主用户程序。条件结束指令用在无条件结束指令(MEND)之前,用户程序必须以无条件结束指令结束主程序。您可以在主程序中使用有条件结束指令,但不能在子例行程序或中断例行程序中使用。STEP7-Micro/WIN32自动在主用户程序中增加无条件结束指令(MEND)。 2. 暂停指令 STOP,暂停指令。通过暂停指令可将S7-200 CPU从RUN(运行)模式转换为STOP(暂停)模式,中止程序执行。如果在中断例行程序中执行STOP(暂停)指令,中断例行程序立即终止,并忽略全部待执行的中断,继续扫描主程序的剩余部分。在当前扫描结束时从RUN(运行)模式转换至STOP(暂停)模式。 3. 监视定时器复位指令 WDR,监视定时器复位指令。指令重新触发S7-200 CPU的系统监视程序定时器(WDT),扩展扫描允许使用的时间,而不会出现监视程序错误。WDR指令重新触发WDT定时器,可以增加一次扫描时间。为了保证系统可靠运行,PLC内部设置了系统监视定时器(WDT),用于监视扫描周期是否超时。每当扫描到WDT定时器时,WDT定时器将复位。WDT定时器有一设定值(100-300ms),系统正常工作时,所需扫描时间小于WDT的设定值,WDT定时器及时复位。系统故障情况下,扫描时间大于WDT设定值,该定时器不能及时复位,则报警并停止CPU运行,同时复位输出。这种故障称为WDT故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。 4. 跳转与标号指令 跳转指令可以使PLC编程的灵活性大大提高,使主机可根据不同条件的判断,选择不同的程序段执行程序。JMP,跳转指令。使能输入有效时,使程序跳转到标号(n)处执行。LBL,标号指令。标号指令跳转的目的地的位置(n)。操作数n为0~244。 跳转指令的使用说明: ①跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中。不能在不同的程序块间互相跳转; ②执行跳转后,被跳过程序段中的各元器件的状态各有不同:Q、M、S、C等元器件的位保持跳转前的状态;计数器C停止计数,当前值存储器保持跳转前的计数值;对定时器来说,因刷新方式不同而工作状态不同。 5. 循环指令 循环指令的引入为解决重复执行相同功能的程序段提供了极大方便,并且优化了程序结构。FOR,循环开始指令。用来标记循环体的开始。NEXT,循环结束指令。用来标记循环体的结束。无操作数。FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值进行比较,如果大于终值,则终止循环。 在使用时必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。 6. 子程序调用及返回指令 (1)建立子程序 建立子程序是通过编程软件来完成的,执行菜单命令“编辑”→“插入”→“子程序”。 (2)子程序调用及返回 CRET(条件返回) 子程序调用 子程序返回 RET(无条件返回) 使用说明: ①子程序结束要加上无条件返回指令RET。CRET指令只能用于子程序中; ②如果在子程序的内部又对另一个程序执行调用指令,则这种调用称为子程序的嵌套。子程序嵌套的深度最多为8级; ③当一个子程序被调用时,系统自动保存当前的逻辑堆栈数据,并把栈顶置1,堆栈中的其它位置设为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权; ④如果子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器的计数器指令。 16特殊指令 1. 中断指令 所谓中断,是当控制系统执行正常程序时,系统中出现了某些急需处理的异常情况或特殊请求,这时系统暂时中断当前程序,转去对随机发生的紧迫事件进行处理(执行中断服务程序),当该事件处理完毕后,系统自动回到原来被中断的程序继续执行。 2. 高速计数器指令 (1) 编码器 高速计数器一般与增量式编码器配合使用,双通道A、B相型编码器提供转速和转轴旋转方向的信息。三通道增量式编码器的Z相零位脉冲用作系统清零信号,或坐标的原点,以减少测量的积累误差。 (2)高速计数器 高速计数器是脱离主机的扫描周期独立计数的,它可以对脉宽小于主机扫描周期的高速脉冲准确计数。每个高速计数器都有地址编号。每种高速计数器都有多种功能不同的工作模式。高速计数器的工作模式与中断事件密切相关。使用高速计数器,首先要定义高速计数器的工作模式。HDEF,高速计数器定义指令。使能输入有效时,为指定的高速计数器分配一种工作模式。 17RS触发器指令 SR:置位优先触发器指令,当置位信号S1和复位信号R都为真时,输出为真。 RS:复位优先触发器指令,当置位信号S和复位信号R1都为真时,输出为真。 使用说明: 1) bit参数用于指定被置位或者复位的布尔参数,可选输出反映bit参数的信号状态。 2)RS触发器指令的输入/输出操作数为I、Q、V、M、SM、S、T、C,bit的操作数为I、Q、V、M、S。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服