SIEMENS/S7-200CN模块代理商
- 供应商
- 浔之漫智控技术(上海)有限公司总部
- 认证
- 报价
- ¥1900.00元每台
- 联系电话
- 15021292620
- 手机号
- 15021292620
- 销售
- 颜娟
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2023-11-16 17:48
siemens/s7-200cn模块代理商siemens/s7-200cn模块代理商
siemens/西门子s7-200cn模块6es7212-1ab23-0xb8
siemens/西门子s7-200cn模块6es7212-1bb23-0xb8
siemens/西门子s7-200cn模块6es7214-1ad23-0xb8
siemens/西门子s7-200cn模块6es7214-1bd23-0xb8
ror指令和rol指令中的r、l分别表示右移和左移,r、l的含义类似我们的耳机,戴左耳的标有字母l,戴右耳的标有字母r。
ror指令和rol指令都是对字元件中的二进制位进行移位。从上图的编程手册截图可
以看到,它们有连续执行型和脉冲执行型,可以用于16位,也可用于32位。把一个字元件看成有16个位置,ror指令和rol指令可以对这16个位置进行调整。那它又是怎么调整的呢?
我们以ror右移指令为例,如上图所示,当驱动条件x0接通后,执行指令ror d0k4,把d0的16个二进制数依次向右移动4位,右边为低位,也就是说,移出了低4位。移出的低4位二进制数循环进入到d0的高位(左边),后移出的1位二进制数同时被传送到进位标志位m8022,如上图“0001”中的“0”。
每执行1次ror d0k4指令d0的数据就右移4位,这是一个循环的过程。显然,执行4次该指令后,d0的数据又变得和原来一样。所以,在用到移位指令时,好用脉冲执行型rorp、rolp。
左移指令rol和右移指令ror大同小异,如下图所示,执行指令rol d0k4,把d0的数据一次向左移4位,左边为高位,也就是说,移出了高4位。
移出的高4位二进制数循环进入到d0的低位(右边),后移出的1位二进制数同时被传送到进位标志位m8022,如上图“0110”中的“0”。
另外要注意的一点是,在ror指令和rol指令中,当终址d是16位的组合位元件时,n=k4;当终址d是32位的组合位元件时,n=k8,否则指令不执行。
ror指令、rol指令理解起来相对简单,接下来的这对指令就没这么简单了。
二、带进位循环移位指令rcr、rcl
同样的,rcr指令和rcl指令都是对字元件中的二进制位进行移位。从上图的编程手册截图可以看到,它们有连续执行型和脉冲执行型,可以用于16位,也可用于32位。其中rcr指令和rcl指令中的r、l和上文的含义一样,一个表示右移,一个表示左移。
所谓“带进位”,是指在移位的同时,捎带上进位标志位m8022。那又是在怎样捎带的呢?我们以rcr右移指令为例。
当驱动条件x0接通,执行指令rcr d0k4,类似于ror指令,但不一样的是,用胶水把进位标志位m8022和d0粘起来,此时右边的4位,显然不仅仅是属于d0,还有1位是属于m8022。
执行指令rcr d0k4,进位标志位m8022的数首先被右移,再轮到把d0的16个二进制数依次向右移动。移出的4位二进制数(包括先被右移的进位)循环进入到d0的高位(左边)。显然,移动4位后,m8022的值恰好为d0中b3的值。
同理,带进位左移指令rcl的执行我们直接以下图展示。执行指令rcl d0k4,同样把进位标志位和d0粘连起来,此时m8022的值依然是首先被移动的那位,它也太可怜了吧。另外,执行完指令后,此时m8022的值为d0中b12的值。
和ror指令和rol指令一样,在rcr指令、rcl指令中,当终址d是16位的组合位元件时,n=k4;当终址d是32位的组合位元件时,n=k8,否则指令不执行,且在用到移位指令时,好用脉冲执行型rcrp、rclp。
以上两种指令,都是基于字元件的二进制位移动,接下来我们继续看位元件组合的位移动。
三、位元件的位移指令sftr、sftl
根据编程手册的截图,sftr指令、sftl指令的操作数有4个,其中源址s指所移动的位元件组合的首址,终址d指被移入数值的位元件组合的首址,s、d的适用软元件为位元件。n1指终址d的长度(位数),n2指s的位数,且n2<n1<1024。<span="" pingfang sc", "lantinghei sc", "microsoft yahei","hanhei sc", "helvetica neue", "open sans", arial, "hiragino sansgb", 微软雅黑, stheiti, "wenquanyi micro hei", simsun,sans-serif;">
sftr指令、sftl指令操作数不少,看得人头皮发麻,那它们的具体执行到底是怎样的呢?我们以sftr指令为例。
当驱动条件x10接通,执行指令sftr x0 m0 k12k4。根据定义,x的位元件组合x3~x0为源操作数,共4位,目的操作数为m的位元件组合m11~m0,共12位。
指令执行后,x3~x0的0110分别向m11~m0右移,顺便把m3~m0原来的值1001给挤掉。显然,在指令执行完毕后,x3~x0的值保持不变,而m11~m0中的m11~m8的值被x3~x0的0110覆盖,且m3~m0原来的值1001被舍去,变为0110。
知道了右移是怎么一回事,对左移的理解想必也是不在话下。我们直接用一张图概括。
当驱动条件x10接通,执行指令sftl x0 m0 k12k4。指令执行后,x3~x0的0110分别向m3~m0左移,顺便把m11~m9原来的值0101向左给挤掉。显然,在指令执行完毕后,x3~x0的值保持不变,m3~m0的值被x3~x0的0110覆盖,且m11~m9原来的值0101被舍去,变为0110。
在应用sftr指令、sftl指令时,好使用脉冲执行型sftrp、sftlp。另外,源址s、终址d可以用同种位元件,此时应注意它们的编号不能重叠,否则会发生运算错误。
知道了位元件的位移指令是怎么回事之后,还有两个指令正在嗷嗷待哺,等着我们去学习呢!事不宜迟,我们继续往下看。
四、字元件移动指令wsfr、wsfl
跟据编程手册的截图,wsfr指令、wsfl指令的操作数也有4个,其中源址s指所移动的字元件组合的首址,终址d指被移入数值的字元件组合的首址,s、d的适用软元件为字元件。n1指终址d的长度(元件个数),n2指s的元件个数,且n2<n1<512。<span="" pingfang sc", "lantinghei sc", "microsoft yahei","hanhei sc", "helvetica neue", "open sans", arial, "hiragino sansgb", 微软雅黑, stheiti, "wenquanyi micro hei", simsun,sans-serif;">
类似于sftr指令和sftl指令,wsfr指令、wsfl指令的差别在于其操作软元件为字元件,而sftr指令和sftl指令操作软元件是位元件。
wsfr指令、wsfl指令的执行和位元件的位移指令非常相似,我们以sftr指令为例。
当驱动条件x10接通,执行指令wsfr d20 d0 k12k4。根据定义,d的字元件组合d23~d20为源操作数,共4个,目的操作数为d的位元件组合d11~d0,共12个。
指令执行后,d23~d20的数据分别向d11~d0右移,顺便把d3~d0原来的数据给挤掉。显然,在指令执行完毕后,d23~d20的值保持不变,而d11~d0中的d11~d8的值被d23~20的数据覆盖,且d3~d0原来的数据被舍去。显然和sftr指令的执行大同小异。看到这里,关于wsfl指令的执行,我想不用我说,大家也已经知道了。为了成双成对,我在这里也给出wsfl指令的执行图示如下。
还是同样的道理,在应用wsfr指令、wsfl指令时,好使用脉冲执行型wsfrp、wsflp。另外,源址s、终址d可以用同种字元件,此时应注意它们的编号不能重叠,否则会发生运算错误。
siemens/s7-200cn模块代理商西门子触摸屏代理商西门子电缆代理商西门子变频器代理商西门子电源模块代理商西门子plc模块代理商西门子cpu模代理商西门子电机代理商西门子s7-1200模块代理商西门子模块代理商