關於西門子的一段程式請高手指點,西門子PLC中程式段分析,求各位高手解釋下啊

2021-03-11 12:51:36 字數 1834 閱讀 9340

1樓:手機使用者

p#是指這個是個指標數值,#in2是個變數,所以,你要根據這個變數的型別來看版。從你的問題中看出,#in2應該權是格指標型別的變數,內容是db8.dbx0.

0。指標型別的引數結構為第0-16位為db的塊號。因此,你程式第一段是載入了指向這個變數地址的指標。

最終結果,你開啟的是db8(也就是#in2的第一二個位元組內容。)

l p##in2 載入指向變數in2的指標。

lar1 把這個指標放入ar1

l w[ar1,p#0.0]載入變數in2的開始的第一個字,字的地址是從變數存放位置的頭開始(偏移為p#0.0)

t#temp4 傳送到變數temp4opn db[#temp4] 開啟db#temp4所以,在使用p##***x的時候,第一個p#是表示指標,第二個#***x是表示變數,這個語句的意思是指向變數#***x頭的指標。要根據#***x中的內容來處理資料。

2樓:手機使用者

西門子s7-200 將模擬量轉換為數字量是需要模擬量模組來實現的,輸入模擬量自動轉化成0~32000的數字量

西門子plc中程式段分析,求各位高手解釋下啊

3樓:匿名使用者

pid你可以把它分開來看,pi是外部input,非對映io,d是double,佔用4個位元組;w是word,佔用2個位元組;

pqd同理可以q是output。

這兩段程式的作用就是對外部io進行讀寫。

4樓:匿名使用者

piw 模擬量輸入

pqw 模擬量輸出

上半段程式是 把piw資料傳送到md內部下半段程式是 把內部md資料傳送到pqw

5樓:匿名使用者

這兩段都是3個賦值指令,把l後的地址裡的數寫入t後的地址裡。

西門子s7-200 plc程式無法執行,求高手指點,急急急!! 10

6樓:匿名使用者

1、沒copy

有正確接線

2、點壞了(可能性比較小)

3、請問 q燈是否點亮了

4、你說的監視有輸出是啥意思死 不知道後面會不會又覆蓋 你可以見識下狀態表

5、也可能是被強制了

6、我猜 你的情況是不是你給的圖不完整 後面還有語句 而你所謂的輸出 是不是隻是前民的邏輯結果呢

7樓:匿名使用者

可能bai的原因:

1.cpu為dc/dc/dc型,du輸出點的1l+、1m、2l+、2m沒有連線zhi

到24vdc電源。dao

2.程式中多次呼叫了同

回個輸出點,最後執

答行的一段程式所控制的狀態為關閉。建議用交叉引用功能檢查一下這兩個點在哪呼叫,是否有衝突。

8樓:匿名使用者

q0.1可能是斷開的, 重新寫一行 m0.1-(q0.1)單獨輸出後再控制 q0.0試一試。

9樓:ws無名小卒

程式不完整 m0.0-m0.3由什麼來賦值?

10樓:鴻樹

可能是電腦給輸出強制在關的狀態

11樓:匿名使用者

應該是你的程式有衝突!仔細檢查下!

12樓:匿名使用者

你怎麼操作了2個t37啊

13樓:匿名使用者

會不會是重線圈輸出。

14樓:張耀偉

可能是輸出的電源問題,你看下接線和其他輸出

關於EXCEL的問題,請高手指點,不勝感激

把h列的格式設為常規 假設要填充數字的地名在c1中,則可在d1中寫入公式 vlookup c1,a b,2,0 下拉複製公式就行了。vlookup a2,a2 b5,2 用vlookup函式很好解決 excel高手請指點,不勝感激!countif e1 d100 改 countif offset e...

這是我編的矩陣相乘程式,請高手指點錯誤!謝謝

注意看我的註釋 include include define m 3 define n 5 define k 2 int a m n b n k c m k int main printf 請輸入b矩陣中的元素 for i 0 i for j 0 j printf 矩陣相乘的結果為 for i 0 ...

關於電腦硬體升級的問題請高手指點一下

升記憶體條,最好升到1g 有錢顯示卡也換了,少的弄到256,建議512m 關鍵是u還可以,還不至於淘汰 把記憶體加到1g就好了。玩遊戲的時候特別耗記憶體和顯示卡,對cpu沒有太大要求。你的顯示卡還可以,記憶體太小了,系統起動佔的記憶體都快有你的實體記憶體大了 加記憶體到1g以上,設虛擬記憶體1.5g...