西门子s7200移位循环指令及字符串指令怎么使用
在移位指令中左移一位相当于乘以2; 右移一位相当于除以2。最后被移出的位会被复制到SM1.1; 如果移位操作的结果为0或被移位的值是零时,SM1. 0被置位。SM1. 0和SM1. 1会自动复位。字节操作是无符号的。对于字和双字操作,号数据类型时,符号位也被移位。
移位指令
- 01
左移/右移指令 左移一位,相当于乘以2 右移一位,相当于除以2 移位指令对移出的位自动补零。如果位数N大于或等于最大允 许值(对于字节操作为8,对于字操作为16,对于双字操作为 32),那么移位操作的次数为最大允许值(相当于对此数值清零)。
- 02
循环移位 如果位数N大于或者等于最大允许值(对于字节操作为8,对于 字操作为16,对于双字操作为32),S7--200在执行循环移位 之前,会执行取模操作,得到一个有效的移位次数。移位位数 的取模操作的结果,对于字节操作是0到7,对于字操作是0到 15,而对于双字操作是0到31。
- 03
移位寄存器指令把输入的DATA数值移入移位寄存器。其中, S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度和 移位方向(正向移位=N,反向移位=-N)。
字符串
- 01
把"aaaaaa Hello World"付给VB0; 复制其中的"Hello World"到VB30,把VB30复制到VB100; 计算VB100的字符串长度;
- 02
从OUT定义的字符位置开始,在字符串VB100里找符合IN2的字符串。 找到后把该字符串的第一个字符位置写入到OUT里。 如未找到符合的字符串,OUT被设为0。
- 03
从OUT定义的字符位置开始,在字符串VB100里找符合IN2里定义的任何字符。 把第一个找到的字符位置写入到OUT里。 如如未找到符合的字符,OUT被设为0。
赞 (0)