您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > S7300(STL)指令
S7-300/400语句表指令助记符分类说明+整数算术运算指令加上一个整数常数(16位,32位)=位逻辑指令赋值)位逻辑指令嵌套闭合+AR1累加器指令AR1加累加器1至地址寄存器1+AR2累加器指令AR2加累加器1至地址寄存器2+D整数算术运算指令作为双整数(32位),将累加器1和累加器2中的内容相加–D整数算术运算指令作为双整数(32位),将累加器2中的内容减去累加器1中的内容*D整数算术运算指令作为双整数(32位),将累加器1和累加器2中的内容相乘/D整数算术运算指令作为双整数(32位),将累加器2中的内容除以累加器1中的内容?D比较指令双整数(32位)比较==,,,,=,=+I整数算术运算指令作为整数(16位),将累加器1和累加器2中的内容相加–I整数算术运算指令作为整数(16位),将累加器2中的内容减去累加器1中的内容*I整数算术运算指令作为整数(16位),将累加器1和累加器2中的内容相乘/I整数算术运算指令作为整数(16位),将累加器2中的内容除以累加器1中的内容?I比较指令整数(16位)比较==,,,,=,=+R浮点算术运算指令作为浮点数(32位,IEEE-FP),将累加器1和累加器2中的内容相加–R浮点算术运算指令作为浮点数(32位,IEEE-FP),将累加器2中的内容减去累加器1中的内容*R浮点算术运算指令作为浮点数(32位,IEEE-FP),将累加器1和累加器2中的内容相乘/R浮点算术运算指令作为浮点数(32位,IEEE-FP),将累加器2中的内容除以累加器1中的内容?R比较指令比较两个浮点数(32位)==,,,,=,=A位逻辑指令“与”A(位逻辑指令“与”操作嵌套开始ABS浮点算术运算指令浮点数取绝对值(32位,IEEE-FP)ACOS浮点算术运算指令浮点数反余弦运算(32位)AD字逻辑指令双字“与”(32位)AN位逻辑指令“与非”AN(位逻辑指令“与非”操作嵌套开始ASIN浮点算术运算指令浮点数反正弦运算(32位)ATAN浮点算术运算指令浮点数反正切运算(32位)AW字逻辑指令字“与”(16位)BE程序控制指令块结束BEC程序控制指令条件块结束BEU程序控制指令无条件块结束BLD程序控制指令程序显示指令(空)BTD转换指令BCD转成整数(32位)BTI转换指令BCD转成整数(16位)CAD转换指令ChangeByteSequenceinACCU1(32-bit)CALL程序控制指令块调用CALL程序控制指令调用多背景块CALL程序控制指令从库中调用块CAR装入/传送指令交换地址寄存器1和地址寄存器2的内容CAW转换指令ChangeByteSequenceinACCU1-L(16-bit)CC程序控制指令条件调用CD计数器指令减计数器CDB转换指令交换共享数据块和背景数据块CLR位逻辑指令RLO清零(=0)COS浮点算术运算指令浮点数余弦运算(32位)CU计数器指令加计数器DEC累加器指令减少累加器1低字的低字节DTB转换指令双整数(32位)转成BCDDTR转换指令双整数(32位)转成浮点数(32位,IEEE-FP)ENT累加器指令进入累加器栈EXP浮点算术运算指令浮点数指数运算(32位)FN位逻辑指令脉冲下降沿FP位逻辑指令脉冲上升沿FR计数器指令使能计数器(任意)(任意,FRC0-C255)FR定时器指令使能定时器(任意)INC累加器指令增加累加器1低字的低字节INVD转换指令对双整数求反码(32位)INVI转换指令对整数求反码(16位)ITB转换指令整数(16位)转成BCDITD转换指令整数(16位)转成双整数(32位)JBI跳转指令若BR=1,则跳转JC跳转指令若RLO=1,则跳转JCB跳转指令若RLO=1且BR=1,则跳转JCN跳转指令若RLO=0,则跳转JL跳转指令跳转到标号JM跳转指令若负,则跳转JMZ跳转指令若负或零,则跳转JN跳转指令若非零,则跳转JNB跳转指令若RLO=0且BR=1,则跳转JNBI跳转指令若BR=0,则跳转JO跳转指令若OV=1,则跳转JOS跳转指令若OS=1,则跳转JP跳转指令若正,则跳转JPZ跳转指令若正或零,则跳转JU跳转指令无条件跳转JUO跳转指令若无效数,则跳转JZ跳转指令若零,则跳转L装入/传送指令装入LDBLG装入/传送指令将共享数据块的长度装入累加器1中LDBNO装入/传送指令将共享数据块的块号装入累加器1中LDILG装入/传送指令将背景数据块的长度装入累加器1中LDINO装入/传送指令将背景数据块的块号装入累加器1中LSTW装入/传送指令将状态字装入累加器1L定时器指令将当前定时值作为整数装入累加器1(当前定时值可以是0–255之间的一个数字,例如LT32)L计数器指令将当前计数值装入累加器1(当前计数值可以是0–255之间的一个数字,例如LC15)LAR1装入/传送指令将累加器1中的内容装入地址寄存器1LAR1D装入/传送指令将两个双整数(32位指针)装入地址寄存器1LAR1AR2装入/传送指令将地址寄存器2的内容装入地址寄存器1LAR2装入/传送指令将累加器2中的内容装入地址寄存器1LAR2D装入/传送指令将两个双整数(32位指针)装入地址寄存器2LC计数器指令将当前计数值作为BCD码装入累加器1(当前计数值可以是0–255之间的一个数字,例如LCC15)LC定时器指令将当前定时值作为BCD码装入累加器1(当前定时值可以是0–255之间的一个数字,例如LCT32)LEAVE累加器指令离开累加器栈LN浮点算术运算指令浮点数自然对数运算(32位)LOOP跳转指令循环MCR(程序控制指令将RLO存入MCR堆栈,开始MCR)MCR程序控制指令结束MCRMCRA程序控制指令激活MCR区域MCRD程序控制指令去活MCR区域MOD整数算术运算指令双整数形式的除法,其结果为余数(32位)NEGD转换指令对双整数求补码(32位)NEGI转换指令对整数求补码(16位)NEGR转换指令对浮点数求反(32位,IEEE-FP)NOP0累加器指令空指令NOP1累加器指令空指令NOT位逻辑指令RLO取反O位逻辑指令“或”O(位逻辑指令“或”操作嵌套开始OD字逻辑指令双字“或”(32位)ON位逻辑指令“或非”ON(位逻辑指令“或非”操作嵌套开始OPN数据块调用指令打开数据块OW字逻辑指令字“或”(16位)POP累加器指令POPPOP累加器指令带有两个累加器的CPUPOP累加器指令带有四个累加器的CPUPUSH累加器指令带有两个累加器的CPUPUSH累加器指令带有四个累加器的CPUR位逻辑指令复位R计数器指令复位计数器(当前计数值可以是0–255之间的一个数字,例如RC15)R定时器指令复位定时器(当前定时值可以是0–255之间的一个数字,例如RT32)RLD移位和循环移位指令双字循环左移(32位)RLDA移位和循环移位指令通过CC1累加器1循环左移(32位)RND转换指令取整RND–转换指令向下舍入为双整数RND+转换指令向上舍入为双整数RRD移位和循环移位指令双字循环右移(32位)RRDA移位和循环移位指令通过CC1累加器1循环右移(32位)S位逻辑指令置位S计数器指令置位计数器(当前计数值可以是0–255之间的一个数字,例如SC15)SAVE位逻辑指令把RLO存入BR寄存器SD定时器指令延时接通定时器SE定时器指令延时脉冲定时器SET位逻辑指令置位SF定时器指令延时断开定时器SIN浮点算术运算指令浮点数正弦运算(32位)SLD移位和循环移位指令双字左移(32位)SLW移位和循环移位指令字左移(16位)SP定时器指令脉冲定时器SQR浮点算术运算指令浮点数平方运算(32位)SQRT浮点算术运算指令浮点数平方根运算(32位)SRD移位和循环移位指令双字右移(32位)SRW移位和循环移位指令字右移(16位)SS定时器指令保持型延时接通定时器SSD移位和循环移位指令移位有符号双整数(32位)SSI移位和循环移位指令移位有符号整数(16位)T装入/传送指令传送TSTW装入/传送指令将累加器1中的内容传送到状态字TAK累加器指令累加器1与累加器2进行互换TAN浮点算术运算指令浮点数正切运算(32位)TAR1装入/传送指令将地址寄存器1中的内容传送到累加器1TAR1装入/传送指令将地址寄存器1的内容传送到目的地(32位指针)TAR1装入/传送指令将地址寄存器1的内容传送到地址寄存器2TAR2装入/传送指令将地址寄存器2中的内容传送到累加器1TAR2装入/传送指令将地址寄存器2的内容传送到目的地(32位指针)TRUNC转换指令截尾取整UC程序控制指令无条件调用X位逻辑指令“异或”X(位逻辑指令“异或”操作嵌套开始XN位逻辑指令“异或非”XN(位逻辑指令“异或非”操作嵌套开始XOD字逻辑指令双字“异或”(32位)XOW字逻辑指令字“异或”(16位)有关累加器L的用法这个主要在语句表编程时用梯形图不用理会(ACCU1:指累加器1,ACCU2指累加器2).L10\\把常数10装在到ACCU1中TMW20\\把ACCU1中的10送到MW20这个字存储地址中L20\\把常数20装载到ACCU1中此时ACCU1中先前存入的常数10自动推入ACCU2中,ACCU1中的内容被新的常数20覆盖。TMW22\\把常数20传送到MW22中此时ACCU1中的内容不变还是传送前的20ACCU2还是之前的常数10,。如果再次使用装载命令L30\\讲常数30装载到ACCU1中,此时ACCU1变成了30,刚才的ACCU1中的20自动推入到ACCU2,早先的ACCU2中的10被覆盖(自动清除)。执行完后ACCU1=30,ACCU2=20。累加器(32位)用于处理字节、字或双字的寄存器。S7-300有两个累加器(ACCU1和ACCU2),S7-400有四个累加器(ACCU1--ACCU4)。可以把操作数送入累加器,并在累加器中进行运算和处理,保存在ACCU1中的运算可以传送到存储区。处理8位或16位数据时,数据放在累加器的低端(右对齐)。举例如下:OPNDB1//打开数据块DB1,作为共享数据块LDBW2//将DB1中的数据字DBW2(16位)装入累加器1(ACCU1)TW0//将累加器1低字中的内容传送到存储字MW0TDBW4//将累加器1中低字中的内容传送到DB1的数据字DBW4(16位)又如:LMB10//将位存储区字节MB1O装载到累加器1中;LMB11//将MB11装载到累加器1中,MB10自动进入累加器2中;TDBB100//将累加器1值的值(MB11)传送到DBB100
本文标题:S7300(STL)指令
链接地址:https://www.777doc.com/doc-4901176 .html