常用指令详解_第1页
常用指令详解_第2页
常用指令详解_第3页
常用指令详解_第4页
常用指令详解_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、常用指令详解一位逻辑指令二比较指令三转换指令四整数、浮点数计算指令五传送指令六计数器指令七定时器指令八表指令九移位、循环指令一程序控制指令一一诊断/看门狗复位/时钟指令位逻辑指令标准触点常开触点指令与常闭触点指令从存储器或者过程映象寄存器中得到参考值。标准触点指令从存储器中得到参考值。(如果数据类型是I或Q,则也可从过程映象寄存器中得到参考值。)立即触点立即触点并不依赖于S7-200的扫描周期刷新,它会立即刷新。常开立即触点指令和常闭立即触点指令在指令执行时得到物理输入值,但过程映像寄存器并不刷新。取反指令(NOT)改变能流输入的状态(也就是说,它将栈顶值由0变为1,由1变为0)。正跳变触点指

2、令(EU)检测到每一次正跳变(由0到1),让能流接通一个扫描周期。负跳变触点指令(ED)检测到每一次负跳变(由1到0),让能流接通一个扫描周期。对于正跳变指令,一旦发现有正跳变发生(由0到1),该栈顶值被置为1,否则置0。对于负跳变指令,一旦发现有负跳变发生(由1到0),该栈顶值被置为1,否则置0。位逻辑指令将新值写入输出点的过程映象寄存器。立即输出当指令执行时,立即输出指令(=I)将新值同时写到物理输出点和相应的过程映象寄存器中。置位和复位置位(S)和复位(R)指令将从指定地址开始的N个点置位或者复位。您可以一次置位或者复位1-255个点。如果复位指令指定的是一个定时器位(T)或计数器位(C

3、),指令不但复位定时器或计数器位,而且清除定时器或计数器的当前值。立即置位和立即复位指令将从指定地址开始的N个点立即置位或者立即复位。您可以一次置位或复位1到128个点。“ I”表示立即,当指令执行时,新值会同时被写到物理输出和相应的过程映象寄存器。这一点不同于非立即指令,只把新值写入过程映像寄存器。位逻辑指令 RS触发器指令置位优先触发器是一个置位优先的锁存器。当置位信号(S1)和复位信号(R)都为真时,输出为真。S1=0,R=0,则Out=之前状态;S1=0,R=1,则Out=0S1=1,R=0,则Out=1S1=1,R=1,则Out=1复位优先触发器是一个复位优先的锁存器。当置位信号(S

4、)和复位信号(R1)都为真时,输出为假。S1=0,R=0,则Out=之前状态;S1=0,R=1,则Out=0S1=1,R=0,则Out=1S1=1,R=1,则Out=0Bit参数用于指定被置位或者复位的布尔参数。可选的输出反映Bit参数的信号状态。比较指令字节比较整数比较双字比较实数比较梯形图中表示方法:满足条件时导通。等于=B=I=D=R不等于BIDR大于等于=B=I=D=R小于等于=B=I=DBIDR小于BIDR数值比较:字符串比较:字符串比较指令比较两个字符串的ASCII码字符:IN1=IN2 IN1IN2当比较结果为真时,比较指令使触点闭合。转换指令 标准转换指令:字节:B=Byte;

5、单整:I=INT ;双整DI=Double INT;实数R=Real;注意转换后的精度损失;四舍五入指令将一个实数转为一个双整数值,并将四舍五入的结果存入OUT指定的变量中。取整指令将一个实数转为一个双整数值,并将实数的整数部分作为结果存入OUT指定的变量转换指令 标准转换指令:要点亮七段码显示器中的段,可以使用段码指令。段码指令将IN中指定的字符(字节)转换生成一个点阵并存入OUT指定的变量中。转换指令ASC转换指令:1. ASCII码转十六进制数指令(ATH)将一个长度为LEN从IN开始的ASCII码字符串转换成从OUT开始的十六进制数。十六进制数转ASCII码指令(HTA)将从输入字节I

6、N开始的十六进制数,转换成从OUT开始的ASCII码字符串。被转换的十六进制数的位数由长度LEN给出。2. 能够被转换的ASCII码字符串或者十六进制数的最大数量为255。3. 有效的ASCII码输入字符是0到9的十六进制数代码值30到39,和大写字符A到F的十六进制数代码值41到46这些字母数字字符转换指令整数转ASCII码:将一个整数字IN转换成一个ASCII码字符串。格式FMT:0000cnnn(二进制),c=0(逗号),c=1(点号);nnn表示小数点右边的位数。nnn的合理范围是0到5。转换结果存储在从OUT开始的连续8个字节中。双整数转ASCII码:将一个双字IN转换成一个ASCI

7、I码字符串。格式FMT:同上转换结果存储在从OUT开始的连续12个字节中。实数转ASCII码:将一个实数值IN转为ASCII码字符串。格式FMT:sssscnnn(二进制),c=0(逗号),c=1(点号);nnn表示小数点右边的位数。nnn的合理范围是0到5。ssss表示输出缓冲区的大小。 0、 1或者2个字节的大小是无效的。 ASC转换指令:转换指令字符串转换指令:整数转换字符串:将一个整数字IN转换为8个字符长的ASCII码字符串。FMT:0000cnnn,nnn表示输出缓冲区中小数点右侧的数字位数。 nnn的合理范围为0到5。C=0逗号,c=1点号。结果字符串被写入从OUT开始的9个连续

8、字节中。双整转换字符串:将一个双整数IN转换为一个长度为12个字符的ASCII码字符串。FMT:0000cnnn,nnn表示输出缓冲区中小数点右侧的数字位数。 nnn的合理范围为0到5。C=0逗号,c=1点号。结果字符串被写入从OUT开始的13个连续字节中。实数转字符串:将一个实数值IN转换为一个ASCII码字符串。FMT:sssscnnn,c=0(逗号),c=1(点号);nnn表示小数点右边的位数。nnn的合理范围是0到5。ssss表示输出缓冲区的大小。 转换结果放在从OUT开始的一个字符串中。结果字符串的长度由格式操作数给出,它可以是3到15个字符。转换指令字符串转换指令:子字符串转整数(

9、STI)、子字符串转双整数(STD)和子字符串转实数(STR)指令,将从偏移量INDX开始的字符串值IN转换成整数/双整数或实数值OUT。子字符串转整数和子字符串转双整数指令将字符串转换为以下格式: 空格+或-数字0 - 9。子字符串转实数指令将字符串转换为以下格式:空格+或-数字0 - 9. 或, 数字0 - 9。整数、浮点数计算指令 标准计算指令ADD_IADD_DIADD_RMUL_IMUL_DIMUL_DI输入输出数据格式是保持一致的,整数除法命令除不尽时,直接舍去小数部分。SUB_ISUB_DISUB_RDIV_IDIV_DIDIV_RMUL整数乘法产生双整数指令(MUL),将两个1

10、6位整数相乘,得到32位结果。DIV带余数的整数除法指令(DIV),将两个16位整数相除,得到32位结果。其中16位为余数(高16位字中),另外16位为商(低16位字中)。INC_BINC_WINC_DWDEC_BDEC_WDEC_DW自加1和自减1:B类型操作是无符号,另外两个是有符号。必须用上升沿触发,否则每个扫描周期都会自加减。SINCOSTAN输入、输出都是实数类型,三角函数输入为弧度值(/180)整数、浮点数计算指令 其他计算指令传送指令 传送指令:MOV_BMOV_WMOV_DW字节立即读(BIR)指令读物理输入(IN),并将结果存入内存地址(OUT),但过程映像寄存器并不刷新。字

11、节立即写指令(BIW)从内存地址(IN)中读取数据,写入物理输出(OUT),同时刷新相应的过程映像区。MOV_BIRMOV_BIWBLKMOV_B字节块传送(BMB)、字块传送(BMW)和双字块传送(BMD)指令传送指定数量的数据到一个新的存储区,数据的起始地址IN,数据长度为N个字节、字或者双字,新块的起始地址为(OUT)。N的范围为1到255BLKMOV_WBLKMOV_D字节交换指令用来交换输入字IN的高字节和低字节。输入只能是字类型。计数器指令 计数器指令:0255个计数器(保持)增计数指令(CTU)从当前计数值开始,在每一个(CU)输入状态从低到高时递增计数。当CXX的当前值大于等于

12、预置值PV时,计数器位CXX置位。当复位端(R)接通或者执行复位指令后,计数器被复位。当它达到最大值(32, 767)后,计数器停止计数。减计数指令(CTD)从当前计数值开始,在每一个(CD)输入状态的低到高时递减计数。当CXX的当前值等于0时,计数器位CXX置位。当装载输入端(LD)接通时,计数器位被复位,并将计数器的当前值设为预置值PV。当计数值到0时,计数器停止计数,计数器位CXX接通。增/减计数指令(CTUD),(CU)低到高时增计数,(CD)低到高时减计数。预置值PV与当前值作比较。当达到最大值(32767)时,在增计数输入处的下一个上升沿导致当前计数值变为最小值(-32768)。当

13、达到最小值(-32768)时,在减计数输入端的下一个上升沿导致当前计数值变为最大值(32767)。当前值大于等于预置值PV时,计数器位置位。R接通即复位,当达到预置值PV时, CTUD停止计数。定时器指令 定时器指令:定时器类型定时器类型分辨率(分辨率(ms) 最长定时(最长定时(s)定时器号定时器号TONR132.767T0,T6410327.67T1-T4,T65-T681003276.7T5-T31,T69-T95TONTOF132.767T32,T9610327.67T33-T36,T97-T1001003276.7T37-T63,T101-T255表指令 表指令:填表指令:VW500

14、:表格最大长度;VW502:表格实际条目数。每次向表格中增加新数据后, 条目计数加 1。新数据被增加至表格中的最后一个条目之后,即无法再向表格中添加数据。表格最 多可包含 100 个条目,不包括VW500和VW502FIFO 先进先出指令:从表(VW500)中移走第一个数据,并将此数输出到 DATA 中( VW300)。 剩余数据依次上移一个位置。每执行一条本指令,表中的实际条目数减 1。LIFO 后入先出指令:将表格( VW500)中的最新(或最后)一个条目移至输出内存地址( VW300), 方法是移除表格( TBL)中的最后一个条目,并将数值移至 DATA 指定的位置。每次执行指令时,表

15、格中的条目数减 1。内存填充指令:用包含在地址 IN 中的字值( 0) 写入 N 个( 10 个) 连续字,从地址 OUT( VW500) 开始。 N 的范围是 1 至 255。 通常用作对某个存储区进行大范围的赋值,比如清零。表指令 表指令:TBL:指定表格PIN:要查找的数据INDX:指定开始的条目数CMD:1(=)、2()、3()注意:注意:所有的表格读取和表格写入指令必须用边缘所有的表格读取和表格写入指令必须用边缘触发器指令激活。触发器指令激活。移位、循环指令 移位、循环移位指令:SHL_BSHL_WSHL_DWIN:输入值;N移动位数;OUT:输出。左移右补零,右移左补零;如果N大于

16、或等于最大允许值(对于字节操作为8,对于字操作为16,对于双字操作为32),N为最大允许值。如果移位次数大于0,溢出标志位(SM1.1)上就是最近移出的位值。如果移位操作的结果为0,零存储器位(SM1.0)置位。字节操作是无符号的。对于字和双字操作,当使用有符号数据类型时,符号位也被移动。SHR_BSHR_WSHE_DWROL_BROL_WROL_DWIN:输入值;N移动位数;OUT:输出。如果位数N大于或者等于最大允许值(对于字节操作为8,对于字操作为16,对于双字操作为32), S7-200在执行循环移位之前,会执行取模操作,得到一个有效的移位次数。例如N=90,90 mod 8=2;90

17、 mod 16=10;90 mod 32=26 。移位次数为0,指令不执行。如果指令执行,SM1.1=最后移出的值;当要被循环移位的值是零时,零标志位(SM1.0)被置位。ROR_BROR_WROR_DW程序控制指令 FOR循环、跳转循环执行FOR和(NEXT)之间的程序,可嵌套8层。INDX:当前循环次数计数(INT)INIT:循环初始值;FINAL:循环终止值;如果允许FOR/NEXT循环,除非在循环内部修改了终值,循环体就一直循环执行直到循环结束。当FOR/NEXT循环执行的过程中可以修改这些值。当循环再次允许时,它把初始值拷贝到INDX中(当前循环次数)。跳转到标号指令(JMP)执行程

18、序内标号N指定的程序分支。标号指令标记跳转目的地的位置N。主程序、子程序、中断之间不能互跳可以在SCR程序段中使用跳转指令,但相应的标号指令必须也在同一个SCR段中。程序控制指令 顺控继电器指令:顺控指令开始处:装载顺控指令SCR传输指令(SCRT)将程序控制权从一个激活的SCR段传递到另一个SCR段。执行SCRT指令可以使当前激活的程序段的S位复位,同时使下一个将要执行的程序段的S位置位。在SCRT指令指行时,复位当前激活的程序段的S位并不会影响S堆栈。 SCR段会一直保持能流直到退出。退出当前的顺控程序指针(&)间接寻址是指用指针来访问存储区数据。指针以双字的形式存储其它存储区的地址。只能用V存储器、 L存储器或者累加器寄存器(AC1、 AC2、 AC3)作为指针。要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中。指针也可以作为参数传递到子程序中。S7-200允许指针访问以下存储区: I、 Q、 V、 M、 S、 AI、 AQ、 SMT(仅限于当前值)和C(仅限于当前值)。您无法用间接寻址的方式访问单独的位,也不能访问HC或者L存储区。要使用间接寻址,您应该用“ &am

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论