發布日期:2022-04-26 點擊率:2085 品牌:組態王_Kingview
移位指令的功用是對數據進行左、右移動。有循環移位指令ROR,ROL,RCR和RCL,位移字移指令SFTR,SFTL,WSFR和WSFL,還有移位讀寫指令SFWR和SFEL。在編寫程序中,較為常用的即是POR,ROL,SFTR和SFTL這幾個了,對于這幾個指令咱們就要把握一下了。在這兒,咱們需求留神的一點是,在運用這些指令時最佳是運用脈沖施行型指令。由于假定運用接連施行型指令的話,這么每個掃描周期都要施行一次了。
下面咱們便舉幾個簡略的比方來學習一下這幾個常用指令。
1、懇求Y0-Y2三盞燈輪番亮1s,然后一同亮1s,如此重復循環。
下面就剖析一下以上的程序。對于Y2Y1Y0,依操控懇求,每次其輸出應為001,010,100,111,其對應的十六進制數為1247,先將此循環數據送到數據存放器,再施行循環移位,以1s的速度移位,每次移動4位,終究將數據存放器中的低四位送到K1Y0,這么在Y3-Y0的輸出就會得到其操控懇求的輸出。
該懇求既可以用循環右移指令,也可以用循環左移指令,正本都是差不多的,只需求改動一點點。只需了解了操控懇求,了解了它是怎么操控的,就萬變不離其宗了。下面即是用循環左移指令編寫的程序。
2、操控一組8個燈,當主張時,懇求Y7-Y0這8個燈從右到左逐一點亮,悉數燈點亮時,再從左到右逐一停息,悉數燈停息后,再從左到右逐一點亮,悉數燈點亮時,再從右到左逐一停息,如此重復循環。
下面也剖析一下以上的程序。守時器T0用于左移和右移的移位信號,守時器T1用于對K1M0的加1計數操控,INCP K1M0則為加1計數器,計數值用K1M0標明,其間M1、M0的計數值用于支配移位的操控。當M1=0,M0=1時為左移逐步點亮;當M1=1,M0=0時為右移逐步停息;當M0 =1,M1 =1時為右移逐步點亮;當M0 =0,M1= 0時為左移逐步停息。
當按下主張按鈕時,T1常閉觸點閉合,施行一次INCP K1M0指令,K1M0=0001,則M1=0,M0=1,M1常閉觸點閉合,施行左移指令SFTL,T0每隔1s發一個脈沖,將M0的1順次左移到Y0-Y7中,順次點亮。
T1每隔8s發一個脈沖,施行一次INCP K1M0指令,K1M0=0010,則M1=1,M0=0,M1常開觸點閉合,施行右移指令SFTR,T0每隔1s發一個脈沖,將M0的0順次右移到Y7-70中,順次停息。
以此類比,在此就不贅述了。這么,然后可以抵達操控懇求。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航