第六章-S7-200PLC特殊功能指令要点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章S7-200PLC特殊功能指令第一节传送功能指令MOV_DWENINOUTENOMOV_WENINOUTENOMOV_BENINOUTENOMOV_RENINOUTENO传送指令把输入(IN)中的数据传送到输出(OUT)端。例:若I0.1=1,则将VW100的数据传送到AC0MOVWVW100,AC0I0.1MOV-WENINOUTENOVW100AC0VW1001046MSBLSB1046AC0MSBLSBVD10一、传送指令(1)数据传送指令数据块传送指令把从输入(IN)指定地址的N个连续字节、字、双字的内容传送到从输出(OUT)指定地址开始的N个连续字节、字、双字的存储单元中去。BLKMOV-DWENINOUTENONBLKMOV-WENINOUTENONBLKMOV-BENINOUTENON(2)数据块传送指令3034333231VB20VB24VB23VB22VB2130?333231VB100VB104VB103VB102VB101数组1数组2(3)字节立即传送指令MOV-BIRENINOUTENOMOV-BIWENINOUTENO字节立即读(BIR)指令,读取输入端(IN)指定字节地址的物理输入点(IB)的值,并写入输出端(OUT)指定字节地址的存储单元。字节立即写(BIW)指令,将从输入端(IN)指定字节地址的内容写入输出端(OUT)指定字节地址的物理输出点(QB)。I2.1Q1.2I2.3Q1.1III立即指令读取输入点时,立即读取物理输入点的值,不刷新相应映像寄存器。立即指令访问输出点时,直接输出到物理输出点,刷新相应输出映像寄存器。问:I0.0和I1.0同时接通,Q0.0和Q0.1哪个先接通?I0.0和I1.0同时断开,Q0.0和Q0.1哪个先断开?(1)右移位指令SHR_BENENOINOUTSRBOUT,NNSHR_WENENOINOUTSRWOUT,NNSHR_DWENENOINOUTSRDOUT,NN说明:(1)把输入端(IN)指定的数据右移/左移N位,结果存入OUT单元;(2)移位时,移出位进入SM1.1,另一端自动补0。SM1.1始终存放最后一次被移出的位;(3)移位次数最大分别为8、16、32。(4)如果移位结果是0,零存储器位(SM1.0)置位。SHL_BENENOINOUTSLBOUT,NNSHL_WENENOINOUTSLWOUT,NNSHL_DWENENOINOUTSLDOUT,NN(2)左移位指令二、移位和循环移位指令(3)循环右移指令ROR_BENENOINOUTRRBOUT,NNROR_WENENOINOUTRRWOUT,NNROR_DWENENOINOUTRRDOUT,NN(4)循环左移指令ROL_BENENOINOUTRLBOUT,NNROL_WENENOINOUTRLWOUT,NNROL_DWENENOINOUTRLDOUT,NN说明:(1)把输入端(IN)指定的数据循环右移/左移N位,结果存入OUT单元;(2)移位时,SM1.1始终存放最后一次被移出的位。(3)移位次数与移位数据的长度有关,如果移位次数设定值大于移位数据的位数,则执行循环移位之前,系统先对设定值取以数据长度为底的模,用小于数据长度的结果作为实际循环移位的次数。如字左移时,若移位次数设定为36,则先对36取以16为底的模,得到小于16的结果4,故指令实际循环移位4次。例:移位和循环指令编程1010010100011001AC1循环前SM1.11101010110011011VW300移位前SM1.111010010100011001AC1循环后SM1.110101011001101101VW300移位后SM1.1例题:用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮。要求:使用循环移位指令。LDSM0.1//首次扫描时MOVB1,QB0//置8位彩灯初态LDI0.0//T37产生周期为ANT370.5s的移位脉冲TONT37,+5LDT37//每来一个脉冲RLBQB0,1彩灯循环左移1位已知:I0.0接外部开关,Q0.0接指示灯,问下面的梯形图实现什么功能?(5)移位寄存器指令移位寄存器指令可用来进行顺序控制、物流及数据流控制。I0.1正跳变I0.2S_BIT指定移位寄存器的最低位,N指定寄存器的长度;正数表示正向移动(低字节→高字节),N为负数表示反向移动;N为字节型数据类型,最大长度为64位。EN端每个上升沿采样。SM1.1←←1001S_BITVB10移位前100170VB10移位一次后1溢出位I0.2110070VB10移位二次后0溢出位I0.2三、字节交换指令SWAPENENOIN交换字节指令,把输入端(IN)指定字的高字节内容与低字节内容相交换,交换结果仍存在输入端(IN)指定的地址中。无符号整数型(WORD)。C3D6D6C3VW50VW50SWAPADD_IENIN1OUTENOIN2ADD_DIENIN1OUTENOIN2ADD_RENIN1OUTENOIN2加法指令可分为整数、双整数、实数加法指令;执行操作:IN1+IN2=OUT。SUB-IENIN1OUTENOIN2SUB-DIENIN1OUTENOIN2SUB-RENIN1OUTENOIN22、减法指令1、加法指令减法指令可分为整数、双整数、实数减法指令;执行操作:IN1-IN2=OUT加法/减法指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。第二节数学运算指令3.乘法指令MUL-IENIN1OUTENOIN2MUL-DIENIN1OUTENOIN2MUL-RENIN1OUTENOIN2MULENIN1OUTENOIN24.除法指令DIV-IENIN1OUTENOIN2DIV-DIENIN1OUTENOIN2DIV-RENIN1OUTENOIN2DIVENIN1OUTENOIN2完全整除法指令:把输入端(IN)指定的两个16位整数相除,产生一个32位结果,并送到输出端(OUT)指定存储单元中去。高16位是余数,低16位是商。执行操作:IN1/IN2=OUT乘法指令可分为整数、双整数、实数乘法指令和整数完全乘法指令。完整乘法指令:把输入端(IN1、IN2)指定的两个16bit整数相乘产生一个32bit乘积,送到输出端(OUT)指定存储单元。执行操作:IN1*IN2=OUT。影响特殊存储器位:SM1.0(零)、SM1.1(溢出)、SM1.2(负)、SM1.3(除数为0)。完全乘法与完全除法指令求5000加400的和,5000在数据存储器VW200中,结果放入AC0。例:四则运算一、函数指令(1)数学函数指令包括平方根、自然对数、指数、三角函数等几个常用的函数指令。(2)运算输入输出数据都为实数。结果如果大于32位二进制表示的范围,则产生溢出。(3)影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。1、平方根指令:SQRTSQRTENENOINOUTSQRTINOUT执行操作:OUTIN把一个双字长(32位)的实数IN开方,得到32位的实数结果OUT。LNENENOINOUTLNINOUTEXPENENOINOUTEXPINOUTSINENENOINOUTSININOUTCOSENENOINOUTCOSINOUTTANENENOINOUTTANINOUT2、自然对数指令:LN把一个双字长(32位)的实数IN取自然对数,得到32位的实数结果OUT;执行操作:LN(IN)=OUT。3、指数指令:EXP把一个双字长(32位)的实数IN取以e为底的指数,得到32位的实数结果OUT。4、正弦、余弦、正切指令即正弦、余弦、正切指令。将把一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果OUT。程序实例:(求65°的正切值)二、加1和减1操作指令INC_BENENOINOUTINCBOUTDEC_BENENOINOUTDECBOUT说明:加1/减1指令用于字节、字、双字操作。执行操作:IN±1→OUT.影响特殊存储器位:SM1.0(零)、SM1.1(溢出)。三、逻辑运算指令WAND_BENENOIN1OUTANDBIN1,OUTIN2WOR_BENENOIN1OUTORBIN1,OUTIN2WXOR_BENENOIN1OUTXORBIN1,OUTIN2INV_BENENOINOUTINVBOUT说明:(1)逻辑运算指令的操作数均为无符号操作数。(2)按操作数长度可分为字节、字和双字逻辑运算,IN1、IN2、OUT操作数的数据类型为:B、W、DW。(3)逻辑运算指令影响特殊标志位存储器位:SM1.0(零)。指令操作数地址单元长度运算前运算后ANDBIN1VB010011001100110011IN2(OUT)AC011111000000110000ORBIN1VB010011001100110011IN2(OUT)AC110000111100111111XORBIN1VB010011001100110011IN2(OUT)AC211001100110101010INVBIN(OUT)VB111100110000110011逻辑运算指令执行表逻辑运算指令举例第三节转换功能指令(一)字节与整数的转换使能输入有效时,将字节型输入数据IN转换成整数类型,并将结果送到OUT输出。字节型是无符号的,所以没有符号扩展。使能输入有效时,将整数型输入数据IN转换成字节类型,并将结果送到OUT输出。输入数据超出字节范围(0~255)则产生溢出。(二)双字整数与整数的转换使能输入有效时,将双整数型输入数据IN转换成整数类型,并将结果送到OUT输出。被转换的输入值应是有效的双字整数。输入数据超出整数范围则产生溢出。使能输入有效时,将整数型输入数据IN转换成双整数类型(符号进行扩展),并将结果送到OUT输出。(三)双字整数与实数的转换双字整数转为实数(DTR)指令:将输入端(IN)指定的32位有符号整数转换成32位实数。ROUND取整指令,转换时实数的小数部分四舍五入。TRUNC取整指令,实数舍去小数部分后,转换成32位有符号整数。取整指令被转换的输入值应是有效的实数,如果实数值太大,使输出无法表示,那么溢出位(SM1.1)被置位。例:将英寸转换为厘米。1英寸=2.54厘米步骤:将C10中的整数值英寸→双整数英寸→实数英寸→实数厘米→整数厘米(四)BCD码与整数的转换BCD_IENINOUTENOI_BCDENINOUTENO(1)BCD码转为整数(BCDI)指令,将输入端(IN)指定的BCD码转换成整数,并将结果存放到输出端(OUT)指定的存储单元中去。输入数据的范围是0~9999(BCD码)。已知(AC0)=1234,程序运行后:(AC0)=04D2。程序实例:(2)整数转为BCD码(IBCD)指令,将输入端(IN)指定的整数转换成BCD码,并将结果存放到输出端(OUT)指定的存储单元中去。输入数据的范围是0~9999。(3)指令影响的特殊存储器位:SM1.6(非法BCD)第六节时钟指令一、读时钟指令功能:读当前时间和日期,并把它装入一个8字节的缓冲区(起始地址是T)。二、设时钟指令功能:写当前时间和日期,并把8字节缓冲区(起始地址是T)装入时钟。READ_RTCENENOTTODRTSET_RTCENENOTTODWT字节TT+1T+2T+3T+4T+5T+6T+7内容年月日时分秒0星期范围00~9901~1201~3100~2300~5900~59000~07表6-6时钟缓冲区注意事项:(1)CPU224以上的PLC中才有时钟。(2)所有缓冲区内数值必须用BCD码表示。例如16#07表示2007;星期中0表示禁用星期,1表示星期日,2表示星期一,7表示星期六。(3)S7-200CPU不执行核实日期和星期是否符合有效日期,如2月31日

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功