资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,S7-200,SMART,的功能指令,4.1,功能指令概述,4.1.1,怎样学习功能指令,功能指令分为较常用的指令、与数据的基本操作有关的指令、与,PLC,的高级应用有关的指令和用得较少的指令。,初学功能指令时,首先可以按指令的分类浏览所有的指令。初学者没有必要花大量的时间去熟悉功能指令使用中的细节,应重点了解指令的基本功能和有关的基本概念。应通过读程序、编程序和调试程序来学习功能指令。,4.1.2 S7-200,的指令规约,1,使能输入与使能输出,使能输入端,EN,有能流,流入方框指令,时,指令才能被执行。,EN,输入端有能流且,指令,执行时无错误,则使能输出,ENO,将能流传递给下一个,方框指令或线圈。,语句表用,AENO,指令来产生与方框指令的,ENO,相同的效果。删除,AENO,指令后,方框指令将由串联变为并联。,2梯形图图中的指指令,条件输入入指令必必须通过过触点电电路连接到左左侧母线线上。不需要条条件的指指令必须须直接连接接在左侧侧母线上上。键入语句句表指令令时,必必须使用用英文的的标点符符号。,3能流指指示器,双箭头是是开路能能流指示示器,必须解决决开路问问题,程序段才能成功功编译。可将其其他梯形形图元件件附加到到ENO端的可选选能流指指示器。没有在在该位置置添加元元件,程程序段也也能成功功编译。,4.2数据处理理指令,4.2.1比较指令令与数据据传送指指令,1字节、整数、双整数数和实数数比较指指令,比较触点点中间的的B、I、D、R、S分别表示示无符号号字节、有符号号整数、有符号号双整数数、有符符号实数数和字符符串比较较。满足足比较关关系式给给出的条条件时,比较指指令对应应的触点点接通。字符串串比较指指令的比比较条件件“x”只有=和。,整数和双双整数比比较指令令比较两两个有符符号数。IN1在触点的的上面,IN2在触点下下面。,【例4-1】用接接通延时时定时器器和比较较指令组组成占空空比可调调的脉冲冲发生器器。,T37的常闭触触点控制制它的IN输入端,使T37的当前值值按锯齿齿波变化化。比较较指令用用来产生生方波,Q0.0为OFF的时间取取决于比比较指令令第2个操作数数的值。,2字符串串比较指指令,字符串比比较指令令比较ASCII码字符串串相等或或不相等等。常数数字符串串应是比较触触点上面面的参数数,或比比较指令令中的第第一个参参数。,3字节、字、双双字和实实数的传传送,传送指令令助记符符中最后后的B、W、DW(或D)和R分别表示示操作数数为字节节、字、双字和和实数。,4字节立立即读写写指令,字节立即即读取指指令MOV_BIR读取IN指定的一一个字节节的物理理输入,但是并并不更新新对应的的过程映映像输入入寄存器器。字节节立即写写入指令令MOV_BIW将一个字字节的数数值写入入OUT指定的物物理输出出,同时时更新对对应的过过程映像像输出字字节。,5字节、字、双双字的块块传送指指令,块传送指指令将起起始地址址为IN的N个连续的的存储单单元中的的数据,传送到从从地址OUT开始的N个存储单单元,字字节变量量N=1255。,6字节交交换指令令,字节交换换指令SWAP用来交换换输入字字IN的高字节节与低字字节。应应采用脉脉冲执行行方式。,4.2.2移位与循循环移位位指令,移位位数数N的数据类类型为BYTE。,1右移位位和左移移位指令令,移位指令令将输入入IN中的数各各位的值值向右或或向左移移动N位后,送送给输出出OUT指定的地地址。移移位指令令对移出出位自动动补0,有符号的的字和双双字的符号位也也被移位位。,如果移位位次数非非0,“溢出出”标志志位SM1.1保存最后后一次被被移出的的位的值值。,2循环右右移位和和循环左左移位指指令,循环移位位指令将将输入IN中各位的的值向右右或向左左循环移移动N位后,送送给输出出OUT指定的地地址。被被移出来来的位将将返回到到另一端端空出来来的位置置。移出出的最后后一位的的数值存存放在溢溢出标志志位SM1.1。,如果移动动的位数数N大于允许许值,执执行循环环移位之之前先对对N进行求模模运算。例如字字循环移移位时,将N除以16后取余数数,得到到的有效移位位次数为015。如果为为0则不移位。符号位位也被移移位。,3移位寄寄存器指指令,下图中的的14位移位寄寄存器由由V30.0V31.5组成,在在I0.3的上升沿沿,I0.4的值从移移位寄存存器的最最低位V30.0移入,寄寄存器中中的各位位左移一一位,最最高位V31.5的值被移移到溢出出标志位位SM1.1。N为14时,I0.4的值从最最高位V31.5移入,寄寄存器中中的各位位右移一位,从最低低位V30.0移到溢出出标志位位SM1.1。,4.2.3数据转换换指令,1标准转转换指令令,除了解码码、编码码指令之之外的10条指令属属于标准准转换指指令。输输入参数数IN指定的数数据转换换后保存存到输出出参数OUT指定的地地址。BCD码与整数数相互转转换的指指令中,整数的有有效范围围为09999。,如果转换后的的数值超超出输出出的允许许范围,溢出标标志位SM1.1被置为ON。,2段码指指令,七段显示示器的D0D6段分别对对应于段码指令令输出字节节的第0位第6位,某段段应亮时时输出字字节中对对应的位位为1,反之为为0。段码指令令很少使使用。,3计算程程序中的的数据转转换,压力变送送器的量量程为010MPa,输出信信号为010V,AI模块的量量程为010V,转换后后的数字字量为027648,设转换换后的数数字为N,压力值值转换公公式为P=(10000N)/27648=0.36169N(kPa),4解码指指令与编编码指令令,解码指令令DECO根据输入入字节IN的最低4位表示的的位号,将输出出字OUT对应的位位置为1,输出字字的其他他位均为为0。16#0008=2#00000000 00001000。,编码指令令ENCO将输入字字IN中的最低低有效位位(为1的位)的位编编号写入入输出字字节OUT的最低4位。16#0210=2#00000010 00010000。,存储器填填充指令令FILL用输入参参数IN指定的字字值填充充从地址址OUT开始的N个连续的的字。,4.2.5实时时钟钟指令,1用编程程软件读读取与设设置实时时时钟的的日期和和时间,单击“PLC”菜单功功能区的的“设置置时钟”按钮,打开“CPU时钟操作作”对话话框。可可以读取取PC、PLC的时钟,修改和和下载日日期时间间。,2读取实实时时钟钟指令READ_RTC,从CPU的实时时时钟读取取当前日日期和时时间,8字节时间间缓冲区区依次存存放年的的低2位、月、日、时时、分、秒、0和星期的的代码,星期日为为1。日期和时时间的数数据类型型为字节节型BCD码。,3设置实实时时钟钟指令SET_RTC将8字节时间间日期值值写入CPU的实时时时钟。,【例4-2】用实时时时钟定时时控制设设备。,LDSM0.0,TODRVB70/小时分钟钟值在VW73,LDW=VW73,VW78/VW78中是起始始时、分分值,AWVW73,VW80/VW80中是结束束时、分分值,=Q0.2/在设置的的时间范范围内,Q0.2为1状态,4.3数学运算算指令,4.3.1四则运算算指令与与递增递递减指令令,1加减乘乘除指令令,梯形图IN1+IN2=OUT,IN1IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT,语句表IN1+OUT=OUT,OUTIN1=OUT,IN1*OUT=OUT,OUT/IN1=OUT,指令影响响SM1.0(零标志志)、SM1.1(溢出标标志)、SM1.2(负数标标志)和和SM1.3(除数为为0)。MUL将两个16位整数相相乘,产产生一个个32位乘积。DIV指令将两两个16位整数相相除,运运算结果果的高16位为余数数,低16位为商。,【例4-3】压力变送送器的压压力计算算公式为为P=10000(N 5530)/22118(kPa),N为整数。MUL指令得到到的乘积积为双整整数。用用右键菜菜单命令令强制AIW16。,2递增与与递减指指令,梯形图中中IN+1=OUT,语句表表中OUT+1=OUT,4.3.2浮点数函函数运算算指令,浮点数函函数运算算指令的的输入参参数IN与输出参参数OUT均为实数数。,1三角函函数指令令,输入值是是以弧度度为单位位的浮点点数,角角度值乘乘以/180转换为弧弧度值。,2自然对对数和自自然指数数指令,3平方根根指令将将正实数数开平方方,4.3.3逻辑运算算指令,1取反指令,取反指令将多位二进制数数逐位取取反,各各位由0变为1,由1变为0。,2逻辑运运算指令令,字节、字字、双字字“与”运算时时,如果两个个操作数数的同一一位均为为1,运算结结果的对应位为为1,否则为为0。“或”运算时时如果两两个操作作数的同同一位均均为0,运算结结果的对对应位为为0,否则为为1。“异或或”(ExclusiveOr)运算时时如果两两个操作作数的同同一位不不同,运运算结果果的对应应位为1,否则为为0。,3逻辑运运算指令令应用举例例,用字节逻逻辑“或或”运算算将QB0的最低3位置为1,其余各各位保持持不变。,QB0的某一位位与1作“或”运算,运算结结果为1,与0作“或”运算,运算结结果不变变。,IW4的低12位用来读取3位拨码开开关的BCD码,IW4的高4位另作他他用。,16#0FFF的最高4位二进制制数为0,低12位为1。与IW4作“与”运算后后,VW12的低12位与IW4的低12位的值相相同,VW12的高4位为0。,4.4程序控制制指令,4.4.1跳转指令令,1跳转与与标号指指令,JMP线圈通电电时,跳跳转条件件满足,跳转指指令使程程序流程程跳转到到对应的的标号处处。JMP与LBL指令的操操作数n为常数0255,只能在同一个个程序块块中跳转。,I0.3的常开触触点断开开时,跳转条条件不满满足,顺顺序执行行下面的的指令。,I0.3的常开触触点接通通时,跳转到到标号LBL2处,不执行第二个程程序段。,2跳转指指令对定定时器的的影响,在各定时时器正在在定时时时跳转,100ms定时器停停止定时时,当前前值保持持不变。10ms和1ms定时器继继续定时时,定时时时间到到时跳转转区外的的触点也也会动作作。停止止跳转时100ms定时器继继续定时时。,3跳转对对功能指指令的影影响,未跳转时时INC_B指令使VW2每秒加1。跳转条条件满足足时VW2的值保持持不变。,【例4-6】用跳跳转指令令实现图图4-28中的流程程图的要要求。,4.4.2循环指令令,1单重循循环,驱动FOR指令的逻逻辑条件件满足时时,反复复执行FOR与NEXT之间的指指令。执执行到NEXT指令时,INDX的值加1,如果INDX的值小于于等于结结束值FINAL,返回去去执行FOR与NEXT之间的指指令。如如果INDX的值大于于结束值值,循环环终止,。,【例4-7】在I0.5的上升沿沿,求VB130VB133这4个字节的的异或值值,用VB134保存。首先将VB134清0,并设置地址址指针AC1的初始值值。,第一次循循环将指指针AC1所指的VB130与VB134异或,然然后将指指针值加加1,指针指指向VB131,为下一一次循环环的异或或运算做做好准备备。,VB130VB133同一位中中1的个数为为奇数时时,VB134对应位的的值为1,反之为为0。,2多重循循环,循环最多多可以嵌嵌套8层。,在I0.6的上升沿沿,执行行10次外层循循环,如如果I0.7为ON,每执行行一次外外层循环环,将执执行8次内层循循环。执执行完后后,VW10的值增加加80。,4.4.3其他指令令,1条件结结束指令令与条件件停止指指令,条件结束束指令END的逻辑条条件满足时终止当前前的扫描描周期。条件停止指令令STOP使CPU从RUN模式切换换到STOP模式。,2GET_ERROR(获取非非致命错错误代码码)指令令很少使使用。,3监控定定时器复复位指令令,T32等组成一一个脉冲冲发生器器,从I0.4的上升沿
展开阅读全文