当前位置:文档之家› 常用指令详解

常用指令详解


位逻辑指令
将新值写入输出点的过程映象寄存器。
立即输出 当指令执行时,立即输出指令(=I)将新值同时写到物理输出 点和相应的过程映象寄存器中。 置位和复位 置位(S)和复位(R)指令将从指定地址开始的N个点置位或 者复位。您可以一次置位或者复位1--255个点。 如果复位指令指定的是一个定时器位(T)或计数器位(C),指令不但 复位定时器或计数器位,而 且清除定时器或计数器的当前值。 立即置位和立即复位指令将从指定地址开始的N个点立即置位或者立即 复位。您可以一次置位或复位1到128个点。 “ I”表示立即,当指令执行时,新值会同时被写到物理输出和相应的 过程映象寄存器。这一点不同于非立即指令,只把新值写入过程映像寄 存器。
转换指令
ASCⅡ转换指令:
整数转ASCII码:将一个整数字IN转换成一个ASCII码字符串。 格式FMT:0000cnnn(二进制),c=0(逗号),c=1(点号);nnn表 示小数点右边的位数。nnn的合理范围是0到5。 转换结果存储在从OUT开始的连续8个字节中。 双整数转ASCII码:将一个双字IN转换成一个ASCII码字符串。 格式FMT:同上 转换结果存储在从OUT开始的连续12个字节中。
SHR_B SHR_W SHE_DW
ROL_B ROL_W ROL_DW
ROR_B ROR_W ROR_DW
立即触点 立即触点并不依赖于S7--200的扫描周期刷新,它会立即刷新。常开立即 触点指令和常闭立即触点指令在指令执行时得到物理输入值,但过程映 像寄存器并不刷新。
取反指令(NOT)改变能流输入的状态(也就是说,它将栈顶 值由0变为1,由1变为0)。 正跳变触点指令(EU)检测到每一次正跳变(由0到1),让能流接通一 个扫描周期。负跳变触点指令(ED)检测到每一次负跳变(由1到0), 让能流接通一个扫描周期。对于正跳变指令,一旦发现有正跳变发生 (由0到1),该栈顶值被置为1,否则置0。对于负跳变指令,一旦发现 有负跳变发生(由1到0),该栈顶值被置为1,否则置0。
表指令
• 表指令:
TBL:指定表格 PIN:要查找的数据 INDX:指定开始的条目数 CMD:1(=)、2(<>)、3(<)、4(>)
注意:
所有的表格读取和表格写入指令必须用边缘 触发器指令激活。
移位、循环指令
• 移位、循环移位指令:
SHL_B SHL_W SHL_DW
IN:输入值;N移动位数;OUT:输出。 左移右补零,右移左补零;如果N大于或等于最大 允许值(对于字节操作为8,对于字操作为16,对 于双字操作为32),N为最大允许值。 如果移位次数大于0,溢出标志位(SM1.1)上就是 最近移出的位值。如果移位操作的结果为0,零存 储器位(SM1.0)置位。字节操作是无符号的。 对于字和双字操作,当使用有符号数据类型时,符 号位也被移动。
字符串比较: 字符串比较指令比较两个字符串的ASCII码字符: IN1=IN2 IN1<>IN2 当比较结果为真时,比较指令使触点闭合。
转换指令
• 标准转换指令:
字节:B=Byte;单整:I=INT ;双整DI=Double INT;实数R=Real; 注意转换后的精度损失; 四舍五入指令将一 个实数转为一个双 整数值,并将四舍 五入的结果存入 OUT指定的变量中。 取整指令将一个实 数转为一个双整数 值,并将实数的整 数部分作为结果存 入OUT指定的变量
TON TOF
1 ห้องสมุดไป่ตู้0 100
表指令
• 表指令:
填表指令:VW500:表格最大长度;VW502:表格实 际条目数。每次向表格中增加新数据后, 条目计数加 1。
新数据被增加至表格中的最后一个条目之后,即无法再向 表格中添加数据。表格最 多可包含 100 个条目,不包括 VW500和VW502
FIFO 先进先出指令:从表(VW500)中移走第一个数据,并将 此数输出到 DATA 中( VW300)。 剩余数据依次上移一个 位置。每执行一条本指令,表中的实际条目数减 1。
字节块传送(BMB)、字块传送(BMW)和双 字块传送(BMD)指令传送指定数量的数据到 一个新的存储区,数据的起始地址IN,数据长度 BLKMOV_W 为N个字节、字或者双字,新块的起始地址为 (OUT)。 BLKMOV_D N的范围为1到255 字节交换指令用来交换输入字IN的高字节和低字节。 输入只能是字类型。
转换指令
• 标准转换指令:
要点亮七段码显示器中的段,可以使用段码指令。段码 指令将IN中指定的字符(字节)转换生成一个点阵并存 入OUT指定的变量中。
转换指令
ASCⅡ转换指令:
1. ASCII码转十六进制数指令(ATH)将一个长度为LEN从IN开 始的ASCII码字符串转换成从OUT开始的十六进制数。十六进 制数转ASCII码指令(HTA)将从输入字节IN开始的十六进制 数,转换成从OUT开始的ASCII码字符串。被转换的十六进制 数的位数由长度LEN给出。 2. 能够被转换的ASCII码字符串或者十六进制数的最大数量为 255。 3. 有效的ASCII码输入字符是0到9的十六进制数代码值30到39, 和大写字符A到F的十六进制数代码值41到46这些字母数字字 符
实数转ASCII码:将一个实数值IN转为ASCII码字符串。 格式FMT:sssscnnn(二进制),c=0(逗号),c=1(点号);nnn表示 小数点右边的位数。nnn的合理范围是0到5。ssss表示输出缓冲区的大 小。 0、 1或者2个字节的大小是无效的。
转换指令
字符串转换指令:
整数转换字符串:将一个整数字IN转换为8个字符长的ASCII码字 符串。 FMT:0000cnnn,nnn表示输出缓冲区中小数点右侧的数字位数。 nnn的合理范围为0到5。C=0逗号,c=1点号。 结果字符串被写入从OUT开始的9个连续字节中。 双整转换字符串:将一个双整数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个字符。
输入、输出都是实数类型,三角函数输入为弧度 值(π/180)
整数、浮点数计算指令
• 其他计算指令
传送指令
• 传送指令:
MOV_B MOV_W MOV_DW MOV_BIR MOV_BIW BLKMOV_B 字节立即读(BIR)指令读物理输入(IN),并 将结果存入内存地址(OUT),但过程映像寄存 器并不刷新。 字节立即写指令(BIW)从内存地址(IN)中读 取数据,写入物理输出(OUT),同时刷新相应 的过程映像区。
位逻辑指令
• RS触发器指令
置位优先触发器是一个置位优先的锁存器。当 置位信号(S1)和复位信号(R)都为真时, 输出为真。 S1=0,R=0,则Out=之前状态; S1=0,R=1,则Out=0 S1=1,R=0,则Out=1 S1=1,R=1,则Out=1 复位优先触发器是一个复位优先的锁存器。当 置位信号(S)和复位信号(R1)都为真时, 输出为假。 S1=0,R=0,则Out=之前状态; S1=0,R=1,则Out=0 S1=1,R=0,则Out=1 S1=1,R=1,则Out=0 Bit参数用于指定被置位或者复位的布尔参数。可选的输出反映Bit参 数的信号状态。
LIFO 后入先出指令:将表格( VW500)中的最新(或最后) 一个条目移至输出内存地址( VW300), 方法是移除表格 ( TBL)中的最后一个条目,并将数值移至 DATA 指定的位 置。每次执行指令时,表 格中的条目数减 1。
内存填充指令:用包含在地址 IN 中的字值( 0) 写入 N 个 ( 10 个) 连续字,从地址 OUT( VW500) 开始。 N 的范 围是 1 至 255。 通常用作对某个存储区进行大范围的赋值, 比如清零。
常用指令详解
一.位逻辑指令 二.比较指令 三.转换指令 四.整数、浮点数计算指令 五.传送指令 六.计数器指令 七.定时器指令 八.表指令 九.移位、循环指令 一○.程序控制指令 一一.诊断/看门狗复位/时钟指令
位逻辑指令
标准触点 常开触点指令与常闭触点指令从存储器或者过程映象寄存器中得 到参考值。标准触点指令从存储器中得到参考值。(如果数据类 型是I或Q,则也可从过程映象寄存器中得到参考值。)
比较指令
数值比较:
字节比较 等于 不等于 ==B <>B 整数比较 ==I <>I 双字比较 ==D <>D 实数比较 ==R <>R 梯形图中表 示方法:
大于等于 小于等于
大于 小于
>=B <=B
>B <B
>=I <=I
>I <I
>=D <=D
>D <D
>=R <=R
>R <R 满足条件时 导通。
定时器指令
• 定时器指令:
定时器类型 TONR
分辨率(ms) 最长定时(s) 1 10 100 32.767 327.67 3276.7 32.767 327.67 3276.7
定时器号 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95 T32,T96 T33-T36,T97-T100 T37-T63,T101-T255
整数、浮点数计算指令
• 标准计算指令
ADD_I ADD_DI ADD_R SUB_I SUB_DI SUB_R MUL DIV MUL_I MUL_DI MUL_DI DIV_I DIV_DI DIV_R 输入输出数据格式 是保持一致的,整 数除法命令除不尽 时,直接舍去小数 部分。
相关主题