;;; 要用移位指令實現(xiàn)兩臺電動機的單按鈕啟/??刂疲琄1007-01需首先設置一個控制字,然后用控制字的最低兩位分別控制兩臺電動機,每按動一次操作按鈕,控制字向右移動兩位。第1次操作時控制字的最低兩位應變?yōu)镺l;第2次操作時控制字的最低兩位應變?yōu)?0;第3次操作時控制字的最低兩位應變?yōu)?0。因此可推得控制字的初始值為xxxx xxxx 0010 0lxx(二進制),其中的x表示既可以為0,也可以為1。但是,為實現(xiàn)循環(huán)操作,用0來替換初始值中的x,當操作一個循環(huán)以后,控制字就會變?yōu)镺,可方便進行判斷。一旦控制字變?yōu)?,應用數(shù)據(jù)傳送指令重新對控制字賦初值。控制字的初值為W#16#24。;;;;;;;;;;
;;;;;另外,由于PLC采用順序循環(huán)掃描的方式來執(zhí)行OB1的每條指令,如果在OB1或OB1的子程序(如FC,F(xiàn)B)中用傳送指令第一次為控制字設置初值,必將導致每個掃描周期都會進行一次賦值操作,無法實現(xiàn)控制字的3次移位。解決的辦法就是將控制字的第一次賦值指令放置在啟動組織塊OB100中,由于OB100只有在PLC重新啟動時執(zhí)行一次,以后CPU不再掃描OB100的指令,可以避免對控制字的反復賦值。
;;; 方案4的控制程序如圖4-6和圖4-7所示。
;;; ;FC4:用移位指令實現(xiàn);;;;;;;;;;;;;;;;;