前面我们学习过西门子的块传送指令(SFC20)和一点多送指令(SFC21),相比于这两个指令最小操作单位是字节的特性,批量“位”置位/复位指令的操作单位为位,在实际编程的应用中使用起来也更加具有针对性。
我们在编写置位复位指令时,难免会遇到例如上电时批量清除置位状态的情况,使用FC82位复位这样的量身定制的功能就变得相当简便了。而且这个指令理解和编写也非常方便。
下面我们就来通过一个实例并实际编写一段程序学习一下
当我们首次上电或者结束设备时,需要将m10.0到m11.7共16个位的状态复位,我们采用位复位指令来实现这一功能
我们看到FC82就是批量位复位指令,下面我们对这两个指令进行详细的解释:
FC 82批量位复位指令
当EN端检测到电平信号时激活
S_BIT指定起始地址(本例中m10.0)
N指定复位个数(本例中16个,即mw10)
当EN端为1时,复位mw10中的16个位,即mw10==0
FC 83批量位置位指令
当EN端检测到电平信号时激活
S_BIT指定起始地址(本例中m10.0)
N指定置位个数(本例中16个,即mw10)
当EN端为1时,置位mw10中的16个位,即mw10==ffffH
领取专属 10元无门槛券
私享最新 技术干货