日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

鳴志驅(qū)動(dòng)器特有的《Q編程》

 官山665 2020-01-11

Q編程基礎(chǔ)

Q驅(qū)動(dòng)器中的Q來自單詞queue。這是因?yàn)镼驅(qū)動(dòng)器執(zhí)行的命令是排入棧,或緩存器,儲(chǔ)存在驅(qū)動(dòng)器控制部分。 定義:棧是條目的列表或序列,條目從棧的一邊進(jìn)入,從另一邊出。對(duì)于我們的驅(qū)動(dòng)器,棧中的條目就是指令, 當(dāng)指令到達(dá)棧的底部的時(shí)候控制器就會(huì)執(zhí)行該指令。棧存在于控制器不穩(wěn)定的存儲(chǔ)部分中,當(dāng)電源關(guān)閉后留在棧中還沒有執(zhí)行的指令就會(huì)丟失。

Q驅(qū)動(dòng)器中的程序

現(xiàn)在,雖然62條指令可以組合提供很多功能,但是在應(yīng)用上還是有更多的需求。這里我們?cè)O(shè)計(jì)非易失性存儲(chǔ)單元來存儲(chǔ)更多的指令,然后把單元分解成和棧一樣的大小。每個(gè)驅(qū)動(dòng)器中有12個(gè)非易失性存儲(chǔ)單元,都可以用來存儲(chǔ)指令,表現(xiàn)在Q-Program中就是有12個(gè)部分(segment),每個(gè)部分有62行,即一個(gè)棧的長度。每個(gè)部分中的指令可以馬上調(diào)入到棧中。例如,我們開始程序先執(zhí)行segment 1,在最后有個(gè)指令是調(diào)segment 2到棧中。這個(gè)調(diào)用過程僅需要125微秒,基本上可以忽略。12個(gè)部分相互調(diào)用,每個(gè)部分有62行指令,所以現(xiàn)在可以有744個(gè)指令,可以實(shí)現(xiàn)更多功能的組合。
指令結(jié)構(gòu)
Q驅(qū)動(dòng)器中所有的指令由3個(gè)可能的部分構(gòu)成:指令本身和倆個(gè)參數(shù)。
一些指令沒有參數(shù),一些指令一定需要配參數(shù),還有一些指令的功能取決于是否有參數(shù)。

一個(gè)指令由2個(gè)或3個(gè)ASC碼字符(只有字母是代表命令本身)構(gòu)成。一些指令在初始的2或3個(gè)ASC碼字符后面還跟有其他參數(shù)(字母,數(shù)字, 其他的ASCII字符)。這里有倆中基本的指令:立即和緩存。一個(gè)立即指令會(huì)被馬上執(zhí)行,不管目前棧中在它之前的指令的指令是什么。一個(gè)緩存指令會(huì)在棧中 等到其他在棧中存貯的緩存指令執(zhí)行完以后才會(huì)執(zhí)行。
提示:棧中最多可以存儲(chǔ)62條指令
結(jié)構(gòu)如下:
指令(參數(shù)1 )(參數(shù)2 )
指令一般由2個(gè)字母構(gòu)成(有的是3個(gè)),參數(shù)一般由ASCII字符構(gòu)成-字母,數(shù)字,其他的ASCII字符。例如:
FL
Feed to length指令 沒有參數(shù) 立即執(zhí)行
SO1L
Set Output 指令 參數(shù)1="1",參數(shù)2="L" 設(shè)置驅(qū)動(dòng)器輸出1為低電平
RL91000
寄存器Load指令 參數(shù)1="9",參數(shù)2="1000" 用戶定義的數(shù)據(jù)寄存器9寫入值1000。

緩存器和立即指令

兩種類型的指令:緩存和立即。緩存指令在棧中按順序存儲(chǔ),按存儲(chǔ)的順序執(zhí)行。如果您向棧中寫入兩個(gè)緩存指令, 那么第二個(gè)指令只有在第一個(gè)指令結(jié)束后才會(huì)執(zhí)行。(在多任務(wù)處理部分有例外)立即指令是立即被執(zhí)行的, 不管棧中其他執(zhí)行的指令,就是說可以和緩存指令并行執(zhí)行。
所有的指令都是這兩種類型。

0707-06.jpg

▲Q編程程序示例

只有緩存指令可以用來編寫程序。原因很簡單,在駐留的程序中,指令是根據(jù)外部事件同時(shí)處理的。立即指令不需要外部事件的觸發(fā)。當(dāng)使用主機(jī)控制器寫入指令到Q驅(qū)動(dòng)器中,立即和緩存指令都可以使用,這取決于功能是否復(fù)雜,需要何種控制。在一些應(yīng)用中,立即指令和緩存指令都可以達(dá)到目的,這樣您就需要做出最佳的選擇。

0707-05.jpg

▲Q編程程序示例

Q編程程序分類

例如:
報(bào)警:AR(立即)AX(緩存)
停止:ST(立即)SM(緩存)
清除棧:SK(立即)QK(緩存)
寄存器裝載:RL(立即)RX(緩存)

緩存指令類別,接下來是7個(gè)緩存指令的描述。
1、運(yùn)行指令
2、伺服指令
3、配置指令
4、I/O指令
5、通訊指令
6、Q 程序指令
7、寄存器指令

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多