位置:51电子网 » 技术资料 » 单 片 机

控制方案4-用移位指令实现

发布时间:2013/8/27 20:06:46 访问次数:833

    要用移位指令实现两台电动机的单按钮启/停控制,K1007-01需首先设置一个控制字,然后用控制字的最低两位分别控制两台电动机,每按动一次操作按钮,控制字向右移动两位。第1次操作时控制字的最低两位应变为Ol;第2次操作时控制字的最低两位应变为10;第3次操作时控制字的最低两位应变为00。因此可推得控制字的初始值为xxxx xxxx 0010 0lxx(二进制),其中的x表示既可以为0,也可以为1。但是,为实现循环操作,用0来替换初始值中的x,当操作一个循环以后,控制字就会变为O,可方便进行判断。一旦控制字变为0,应用数据传送指令重新对控制字赋初值。控制字的初值为W#16#24。

          
     另外,由于PLC采用顺序循环扫描的方式来执行OB1的每条指令,如果在OB1或OB1的子程序(如FC,FB)中用传送指令第一次为控制字设置初值,必将导致每个扫描周期都会进行一次赋值操作,无法实现控制字的3次移位。解决的办法就是将控制字的第一次赋值指令放置在启动组织块OB100中,由于OB100只有在PLC重新启动时执行一次,以后CPU不再扫描OB100的指令,可以避免对控制字的反复赋值。
    方案4的控制程序如图4-6和图4-7所示。
     FC4:用移位指令实现

                 

    要用移位指令实现两台电动机的单按钮启/停控制,K1007-01需首先设置一个控制字,然后用控制字的最低两位分别控制两台电动机,每按动一次操作按钮,控制字向右移动两位。第1次操作时控制字的最低两位应变为Ol;第2次操作时控制字的最低两位应变为10;第3次操作时控制字的最低两位应变为00。因此可推得控制字的初始值为xxxx xxxx 0010 0lxx(二进制),其中的x表示既可以为0,也可以为1。但是,为实现循环操作,用0来替换初始值中的x,当操作一个循环以后,控制字就会变为O,可方便进行判断。一旦控制字变为0,应用数据传送指令重新对控制字赋初值。控制字的初值为W#16#24。

          
     另外,由于PLC采用顺序循环扫描的方式来执行OB1的每条指令,如果在OB1或OB1的子程序(如FC,FB)中用传送指令第一次为控制字设置初值,必将导致每个扫描周期都会进行一次赋值操作,无法实现控制字的3次移位。解决的办法就是将控制字的第一次赋值指令放置在启动组织块OB100中,由于OB100只有在PLC重新启动时执行一次,以后CPU不再扫描OB100的指令,可以避免对控制字的反复赋值。
    方案4的控制程序如图4-6和图4-7所示。
     FC4:用移位指令实现

                 

相关技术资料
8-27控制方案4-用移位指令实现

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!