日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

當前位置:機電之家首頁 >> PLC技術>> PLC基礎 >> PLC入門 >> 基于單片機的PLC系統(tǒng)的實現(xiàn)(2)
基于單片機的PLC系統(tǒng)的實現(xiàn)(2)

基于單片機的PLC系統(tǒng)的實現(xiàn)

  首先分析指令 and x001,指令執(zhí)行前有狀態(tài)b,執(zhí)行該指令時,將當前狀態(tài)b


  和x001的狀態(tài)進行與運算,形成狀態(tài)c,這是指令andx002執(zhí)行前狀態(tài)。c是b的刷新值,它們實際上是一個變量。這個變量反映程序執(zhí)行時當前的狀態(tài)值。當遇到輸出指令out y000時,就把當前狀態(tài)值傳送給輸出寄存器。把and x001作為一單元塊,可認為這個單元塊有單輸入單輸出的結(jié)構(gòu)。輸入狀態(tài)和單元塊內(nèi)元件的狀態(tài)運算后得到輸出狀態(tài)。


  再分析指令ld x003、or x004,如果將這兩條指令組合后看作上述單輸入單輸出結(jié)構(gòu)的單元塊,執(zhí)行前的狀態(tài)為d,把x003、x004元件并聯(lián)后的狀態(tài)作為單元塊內(nèi)元件的狀態(tài),和d與運算后得到狀態(tài)g.。但細化一步執(zhí)行l(wèi)dx003這個子單元塊時,當前狀態(tài)d需保存,取x003的狀態(tài)作為當前狀態(tài)值e,和x004或運算后得到f。執(zhí)行anb時,把先保存的狀態(tài)值d和狀態(tài)值f與運算后得到新的當前狀態(tài)值g。


  這里執(zhí)行l(wèi)d與and產(chǎn)生區(qū)別是在于:and指令沒有分支,而ld指令產(chǎn)生分支,程序執(zhí)行前的狀態(tài)值需要保存。同樣,在遇到分支合并時,需要使用到先前保存的狀態(tài)值。根據(jù)梯形圖的編寫規(guī)則,狀態(tài)值的保存和使用是一種先進后出的結(jié)構(gòu),所以可以使用進棧和出棧的方法來實現(xiàn)。指令的具體實現(xiàn)過程歸納如下:凡是遇到產(chǎn)生分支的指令,例如ld指令,需將當前狀態(tài)值進棧保存,取當前操作元件的狀態(tài)作為當前狀態(tài)值;凡是遇到分支合并的指令,例如orb、anb指令,需將棧頂值出棧與當前狀態(tài)值運算成為新的當前狀態(tài)值。


  在具體實現(xiàn)時,采用了另一種形式的棧。由于三菱fx系列plc的ld連續(xù)使用不能超過八次,因此采用一個可以位尋址的片內(nèi)ram字節(jié)作為??臻g來存放當前狀態(tài)值。如果使用棧空間的最高位作為當前狀態(tài)值,每次壓棧就把該字節(jié)進行不帶進位的循環(huán)右移,出棧時反之。在ld x000指令執(zhí)行后,進棧狀態(tài)a沒有出棧,ld x010指令又進棧保存當前狀態(tài)值,以前的壓棧值a廢之不用,即每條與母線相連的ld指令產(chǎn)生壓棧值都不出棧。這樣避免了因使用pushpop指令用一個字節(jié)的空間來保存一位的當前狀態(tài)值造成的ram利用效率低的問題。


  ld x010后的指令執(zhí)行過程如下:ld x010 把當前狀態(tài)值h壓棧,取x010的狀態(tài)作為當前狀態(tài)值i;ld x011把當前狀態(tài)值i壓棧,取x011的狀態(tài)作為當前狀態(tài)值j;and x012 把當前狀態(tài)值j和x012的狀態(tài)與運算后得到當前狀態(tài)值k;ld x013把當前狀態(tài)值k壓棧,取x013的狀態(tài)作為當前狀態(tài)值l;and x014把當前狀態(tài)值l和x014的狀態(tài)與運算后得到當前狀態(tài)值m;orb 彈出壓棧值k和當前狀態(tài)值m或運算后得到新的當前狀態(tài)值m;or x015把當前狀態(tài)值m和x015的狀態(tài)或運算后得到當前狀態(tài)值n;anb彈出壓棧值i和當前狀態(tài)值n與運算后得到新的當前狀態(tài)值o;outy002 把當前狀態(tài)值寫到y(tǒng)002的輸出鏡像寄存器。


4 檢查程序


  接收到程序后,在程序執(zhí)行之前,還需對程序的語法正確性進行檢查。這里只介紹與程序狀態(tài)值棧相關指令的語法檢查。


  首先]需要設置一個位標志en_bus和一計數(shù)器ld_n。enbus表示下一指令能夠與plc梯形圖中的母線相連。計數(shù)器ld_n表示自與母線相連的指令之后由于ld指令引起的堆棧次數(shù)。檢查程序之前,初始化如下:


  en _bus=1


  ld_n=1


  檢查程序時,如果遇到ld指令,程序流程如圖3(a);如果為orb或anb指令,則ld_n=ld_n-1;如果為out等與零母線相連的輸出指令,程序流程如圖3(b)。


  這些基本操作執(zhí)行后,如果檢測到ld _n大于8,說明連續(xù)ld指令太多,程序狀態(tài)值??臻g溢出;如果ld_n等于0,說明anb或orb指令數(shù)多于與ld指令,數(shù)量不匹配。還有些指令例如程序標號p、循環(huán)范圍終止符next等必須與母線相連。如果這些指令出現(xiàn)在en_bus=0的情況下,說明該程序有錯。


5 結(jié)束語


  這種以單片機構(gòu)建的plc系統(tǒng)成本低,系統(tǒng)可擴展性好,可以方便得加上a/d、d/a等功能,應用領域廣泛。

作者:未知 點擊:340次 [打印] [關閉] [返回頂部]
本文標簽:基于單片機的PLC系統(tǒng)的實現(xiàn)(2)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《基于單片機的PLC系統(tǒng)的實現(xiàn)(2)》相關權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

楊野 【求購】  防爆燈  2026-1-6
 【求購】  干式變壓器  2026-1-6
劉金龍 【求購】  淋雨房  2026-1-5
陳耀 【求購】  可燃氣體探...  2026-1-5
 【求購】  鋁溶膠  2026-1-4
孫晉文 【求購】  排氣閥  2025-12-30
馬經(jīng)理 【求購】  信號集成端...  2025-12-30
李總 【求購】  電動升降車  2025-12-30
VIP公司推薦