登录

行业资讯

邯郸西门子授权PLC模块代理详情

邯郸西门子授权PLC模块代理详情

邯郸西门子授权PLC模块代理详情   邯郸西门子授权PLC模块代理详情

邯郸西门子授权PLC模块代理邯郸西门子授权PLC模块代理邯郸西门子授权PLC模块代理

邯郸西门子授权PLC模块代理                      邯郸西门子授权PLC模块代理

字交换指令XCH



字交换指令,顾名思义,就是将两个字软元件的数据相互交换。从编程手册的截图可以看到,XCH指令可以用于16位和32位,有脉冲执行型和连续执行型。显然,XCH指令在使用时应采用脉冲执行型,不然采用连续执行型,PLC每一个扫描周期都执行一次,交换来交换去的这是交换了个寂寞。



XCH指令的梯形图形式也很简单,有两个操作数D1.、D2.,当驱动条件成立时,将终址D1和D2的数据相互交换。不知道为什么,这个指令让我想起了一些狗血小说中的灵魂交换情节,emm……


XCH指令理解起来很简单,但有一点要注意,那就是当两个操作数同一个地址时,例如执行XCHP D5 D5 后,D5的数据又是怎样变化的呢?这其实是XCH指令的扩展功能:当终址D1和D2为同一终址且特殊继电器M8160置ON时,XCH指令将对该终址软元件的字节进行交换。


如下图所示就是一段程序的示例,D5、D10、D11的初始值分别为(D5)=H1234,(D11,D10)=H12345678。若M8160=OFF,执行指令XCHP D5 D5和XDXCHP D10 D10,显然D5、D10、D11的数据均没变。



当M8160=ON,再次执行指令XCHP D5 D5和XDXCHP D10 D10,此时D5、D10、D11的数据均发生变化,可以看到,D5的高8位和低8位相互交换,变为H3412,而32位的(D11,D10)也变成H34127856。


从32位的指令DXCHP的执行情况可以看到,此时D10、D11中交换的依然是各自的高低字节,而不是D10和D11的数据相互交换。


如想用XCH指令进行软元件的字节交换,就得先把M8160置1,比较麻烦。而SWAP指令却可以直接对字元件进行字节交换。


02、高低字节交换指令SWAP



高低字节交换指令的功能和XCH的字节交换功能是一样的,包括用于32位时也是对各自的高低字节交换。只不过SWAP指令不需要同时将M8160置1。基于SWAP指令比较简单,再此我就不再啰嗦,直接给段梯形图大家看看就行了。



关于数据交换指令的应用,我能直接想到的就是数值的比较与筛选,例如将D0~D100中存有较大数的寄存器编号找出来,就可以通过XCH指令实现,具体程序我也不再举例了,大家自行尝试吧!接下来我们看一个新的指令ZRST。



高低字节交换指令的功能和XCH的字节交换功能是一样的,包括用于32位时也是对各自的高低字节交换。只不过SWAP指令不需要同时将M8160置1。基于SWAP指令比较简单,再此我就不再啰嗦,直接给段梯形图大家看看就行了。



关于数据交换指令的应用,我能直接想到的就是数值的比较与筛选,例如将D0~D100中存有较大数的寄存器编号找出来,就可以通过XCH指令实现,具体程序我也不再举例了,大家自行尝试吧!接下来我们看一个新的指令ZRST。


03、批次(区间)复位指令ZRST



区间复位指令ZRST显然是复位指令RST的升级版,从编程手册截图可以看到,ZRST指令有脉冲执行型和连续执行型,只能用于16位,这是显然的,既然是批次复位,那32位和16位就没有区别了。


其梯形图形式如上图所示,当驱动条件成立时,将D1~D2之间的所有软元件进行复位,包括将位软元件置零(=OFF),字软元件清零(=K0)。这里的复位,包括了触点状态、线圈状态和字元件所存的数据,所以那些继电器如Y、M,带有触点的字元件如C、T,经ZRST指令复位后,其相应的触点也全部复位。


另外,从适用软元件中可以看到,ZRST指令不能用于组合位元件,这用脚指头想都知道是当然的,因为对批次的位元件复位,和对组合位元件复位没有任何区别。

在使用区间复位指令时,必须要注意以下几点:


1、如截图所示,D1、D2要为同一类型的软元件,不能用不同的软元件,如ZRST D0C1、ZRST M0 D1、ZRST Y0 M10等都是不行的,指令不执行且将M8067置ON,如下图所示。



2、终址D1、D2编号必须为D1≤D2,若D1≥D2,指令ZRSR指令只对D1的数值复位,如下图所示,在执行指令FMOV K10 D0 K8后,D0~D7的所存的数据均为K10,但执行指令ZRST D7 D0后,只有D7被清零,D0~D5的值保持不变。



另外,虽然ZRST指令不能用于32位,但它可以对32位计数器C200~C234进行批量复位,但用于32位计数器时,两个终址D1、D2就必须都是32位计数器,不允许D1是32位计数器,而D2是16位计数器,例如ZRST C200 C0 是不行的。


04、“ON”位数求和指令SUM



众所周知,SUM这个单词本身就是求和的意思,所以SUM指令,显然也是一种求和指令。如编程手册截图所示,其适用软元件为字元件,因为只要字元件才有多个二进制位。结合该指令的梯形图形式,当驱动条件成立时,对源址S中状态为1的二进制位进行统计求和,并将求和结果传送到终址D中。




如上图所示,(D0)=0000 1111 1111 1111,指令指令SUM D0 D10后,计算D0中的“1”共有12位,所以此时D10的值为K12。

SUM指令会影响到零标志位M8020,即当源址S的数据为K0时,执行SUM指令后,M8020会被置ON,如下图所示。



SUM指令还可以用于32位,此时统计的就是源址S、S 1两个软元件中的“1”的总数了,然后将结果传送到终址D中,而D 1的数据保持为K0,所以使用DSUM指令时,注意终址D 1也被占用,即使它不保存结果。知道了ON位数求和指令SUM后,我们继续看一个类似的指令BON。


05、ON位判断指令BON



BON指令的作用是判断软元件的某一个二进制位是否为“1”。从编程手册截图可以看到,BON指令的源址S为字软元件,终址D为位软元件,可用于16位和32位,而n的取值范围根据位数(16位或32位)会有所不同。当源址S为组合位元件时,此时n就为对应编号的位元件,当源址为字软元件时,n就为字元件中对应的二进制位。


结合该指令的梯形图形式,当驱动条件成立时,对源址S的*n位状态进行判断,若该位状态为1,终址D=ON,若该位状态为0时,终址D=OFF。例如执行指令BON D0 D10 K15,如下图所示,若(D0)=H8000,其二进制位b15的值恰好为“1”,此时M0=ON。




显然,BON指令可用于判断一个数的正负,即判断数值的较高位(符号位)是1还是0,若为1,该数就为负数,若为0,则该数为负数。



综上,这次所分享的指令基本比较简单,为了熟练运用这些指令,大家可以试着用它们编写一下有趣的程序哟。



浔之漫智控技术(上海)有限公司专注于西门子低压电器授权代理商,西门子PLC模块总代理商,西门子模块总代理商,西门子中国一级代理商,西门子PLC一级代理商,西门子DP电缆代理商等

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯