這段西門子stl的詳細意思是什麼呢?是怎麼工作的謝謝新手敬問

2022-03-01 20:15:25 字數 5124 閱讀 4112

1樓:匿名使用者

l p#dbx 10.0 裝載db指標10.0

lar1 將指標裝載到地址暫存器1

opn #dbname 開啟資料塊(號應該是外部傳入也就是in量)

l dblg 裝載資料塊長度(資料塊內部資料佔用位元組數)

l l#10 《裝載常數10,用資料塊長度減10,再除以2,

-d 將結果傳送到臨時變數tem_cycle進行迴圈

l l#2 的初賦值

/dnext: t #tem_cycle 》

a [ar1,p#0.7] 檢查地址暫存器1中第0.7位是否為1(0.7位為db?.dbx 10.7)

jc igno 為1跳轉到igno繼續執行,為0向下執行

a [ar1,p#1.5] 《執行資料同步,並無條件跳轉到結束。

= [ar1,p#0.1]

a [ar1,p#1.6]

= [ar1,p#0.2]

ju _end 》

igno: nop 0 《來自上面的條件判斷,如果跳到這裡,程式會根據當前ar1中

a [ar1,p#0.0] 0.0的狀態為0.1和0.2賦值

= [ar1,p#0.1]

an [ar1,p#0.0]

= [ar1,p#0.2] 》

_end: nop 0 《記得是程式設計格式,利於在lad與stl之間轉換???》

+ar1 p#2.0 將ar1中的指標加2.0(加一個字)

l #tem_cycle 《裝載並檢查迴圈計數器,條件滿足繼續迴圈,不滿足

loop next 退出迴圈》

這個功能塊做了一個資料塊掃描的功能,掃描的開始是從資料塊位元組10開開始(1至9位元組不掃描)10位元組開始每個字一掃描(兩個位元組),以下舉例說明:第一迴圈ar1為10.0,10.

7為0執行11.5狀態同步至10.1,11.

6同步至10.2 ,跳轉並執行指標加2,也就是下次從12.0從新掃描。

如果第一迴圈10.7為1,那麼跳轉執行判斷10.0,如果10.

0為1那麼10.1為1,如果10.0為0,那麼10.

2為1,接著執行指標加2,下次迴圈從12.0掃描。

總結:這是一個處理資料塊資料的功能塊,前10個位元組不處理,剩下的根據每個字的低字7位狀態及低字0位狀態進行賦值,迴圈會在處理完資料塊最後一個字時退出。

看我說的明白嗎!! 哈哈 (@_@)

2樓:匿名使用者

介個很複雜,要看是什麼機械裡用於什麼用途才好說,其實就是定義了自變數和變數的邏輯判斷語句。看是否滿足條件,不滿足,執行什麼。滿足條件,執行什麼···我只能理解到這裡,希望對你有幫助

這段西門子stl程式的意思是什麼,新手敬問~

3樓:匿名使用者

你可以在開發平臺上把它直接轉換成梯形圖啊,就好看啦,一般在選項裡頭,有梯形圖和語句表的切換

4樓:匿名使用者

l #number //acc1載入#number值,應該是外部呼叫此程式輸入的

itd //轉成雙整形

l l#-1 //acc1裝入-1

+d //與#number相加後裝入acc1

l l#32 //acc1裡面移動到acc2,acc1裝入32

*d //acc1*acc2,結果裝入acc1

tar2 //這個不好說要看前後程式 把地址暫存器ar2裡面的資料裝入acc1,把原acc1內容送入 acc2

+d //acc1=acc1+acc2

l #deltacnt4 //acc1->acc2,acc1=#deltacnt4

taklar1

takt did [ar1,p#1288.0]

。。。後面的不解釋了,你上西門子官網相愛在指令表對照前後文才能完全看清楚的...

5樓:

cmp byte ptr ss:[esp+eax+0xa4],c

這段西門子stl程式的意思是什麼,新手敬問~ 5

6樓:匿名使用者

l #number

itd //16位整型轉32位double並存放在累加器1

l l#-1 //把-1送入累加器1,#number送入累加器2

+d //累加器1=累加器1+累加器2

l l#32

*d //累加器1=(#number+(-1))*32

tar2 //累加器2=累加器1,把地址暫存器ar2送入累加器1,

+d //累加器1=ar2+(#number+(-1))*32

l #deltacnt4 //

tak //累加器1=ar2+(#number+(-1))*32 累加器2=#deltacnt4 lar1 //ar1= ar2+(#number+(-1))*32

takt did [ar1,p#1288.0] //[ar1,p#1288.0]表示指標地址,把累加器1(#deltacnt4)送入背景資料塊ar1+偏移地址p#1288.

0中,p#1288.0是32位指標。個人看法,以上。

西門子plc中,l p##_db 這個語句什麼意思?求解釋!

plc程式語言stl是什麼?

7樓:蓮珍

plc程式語言中的stl是步進觸點指令,用在步進梯形圖中。

1、plc程式設計是一種數字運算操作的電子系統。它採用可程式設計序的儲存器,用來在其內部儲存執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種型別的機械或生產過程。plc是採用"順序掃描,不斷迴圈"的方式進行工作的。

2、stl是中文名標準模板庫,惠普實驗室開發的一系列軟體的統稱。stl是一些「容器」的集合。stl也是演算法和其他一些元件的集合。

stl的目的是標準化元件,這樣就不用重新開發,可以使用現成的元件。stl的版本很多,常見的有hp stl、pj stl、 sgi stl等。

8樓:膽慮寐

plc廠家設計了專門用於編制順序控制程式的指令和程式設計元件。

其中,stl為步進梯形指令(step ladder instruction)。

set:置位,使觸點閉合。

ret:復位,使之斷開。

1)與stl觸點相連的觸點應使用ld或ldi指令,即ld點移到stl觸點的右側,直到出現下一條stl指令或出現ret指令,ret指令使ld點返回左側母線。各個stl觸點驅動的電路一般放在一起,最後一個電路結束時—定要使用ret指令。

2)stl觸點可以直接驅動或通過別的觸點驅動y、m、s、t等元件的線圈,stl觸點也可以使y、m、s等元件置位或復位。

3)stl觸點斷開時,cpu不執行它驅動的電路塊,即cpu只執行活動步對應的程式。在沒有並行序列時,任何時候只有一個活動步,因此大大縮短了掃描週期。

4)由於cpu只執行活動步對應的電路塊,使用stl指令時允許雙線圈輸出,即同一元件的幾個線圈可以分別被不同的stl觸點驅動。實際上在一個掃描週期內,同一元件的幾條out指令中只有一條被執行。

5)stl指令只能用於狀態暫存器,在沒有並行序列時,一個狀態暫存器的stl觸點在梯形圖中只能出現一次。

6)stl觸點驅動的電路塊中不能使用mc和mcr指令,但是可以使用cjp和ejp指令。當執行cjp指令跳人某一stl觸點驅動的電路塊時,不管該stl觸點是否為「1」狀態,均執行對應的ejp指令之後的電路。

7)與普通的輔助繼電器一樣,可以對狀態暫存器使用ld、ldi、and、ani、or、ori、set、rst、out等指令,這時狀態器觸點的畫法與普通觸點的畫法相同。

三菱plc梯形圖中stl是什麼意思

9樓:匿名使用者

plc程式設計語bai

言中的stl是步進觸du

點指令,用zhi在步進梯形圖中dao

。plc程式設計是一種數字運算操內作的電子系統。容它採用可程式設計序的儲存器。

用來在其內部儲存執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種型別的機械或生產過程。plc是採用"順序掃描,不斷迴圈"的方式進行工作的。

1、進入三菱plc中,點選開啟按鈕載入自己的相關程式。

2、等載入成功以後,需要選擇選單欄裡面的檢視視窗。

3、這個時候,就可以在裡面點選左上角的stl選項了。

4、這樣一來,即可實現三菱plc中stl指令的輸入了。

stl是中文名標準模板庫,惠普實驗室開發的一系列軟體的統稱。stl是一些「容器」的集合。stl也是演算法和其他一些元件的集合。

stl的目的是標準化元件,這樣就不用重新開發,可以使用現成的元件。stl的版本很多,常見的有hp stl、pj stl、 sgi stl等。

這段西門子PLC的程式什麼意思,西門子PLC這段程式是什麼意思

如果 vw100 的值 4,那麼,就叫 vw100 的值變為 0 這段程式的目的是不讓資料暫存器 整數型別 vw100 的值 等於 4 如果vw100 4,那麼vw100 0,資料暫存器 整數型別 不等於4 這個程式的目的是不讓資料暫存器 整數型別 不等於4 如果vw100 4,那麼vw100 0 ...

西門子模擬量420mA的計算,如溫度量程是150度,實

x 150 20 4 8.6 4 43.125 y 8 75x 4 根據這個方程算好了 x代表溫度 y代表4 20ma 150度對應的電流的量程是16ma,就按比例算 150 80.625度 8.6 4 16 150 43.125 知道模擬量4 20ma電流讀書如何計算實際值 20 答案是37.5,...

下面這段話什麼意思,下面這段話要表達的是什麼意思?

指的是城鎮加強管理,安排調研,我們要遵循市場的舒服還是鬼子,當然在城鎮上安居樂業的生活。這麼簡單明瞭的話你不知道啊 字面意思唄哈哈 連標點符號都沒有,怎麼翻譯啊?沒標點你都能翻譯,牛!我不喜歡你,我喜歡的人不是你,雖然我們每天都在一起,但是我們在一起太熟悉了,我們只能做朋友,我不想欺騙你 我們不能做...