西門子plc十進位制轉16進製制,西門子 PLC 十進位制轉16進製制

時間 2021-05-05 09:39:33

1樓:

輸出緩衝區的大小由ssss域指定。0、1或2個位元組無效。輸出緩衝區中小數點右面的位數由nnn域指定。

nnn域的有效範圍是0至5。將小數點右面的位數指定為0會使值顯示為不帶小數點。當nnn值大於5時或當指定的輸出字串長度太小無法儲存轉換的值時,輸出緩衝區用ascii空格字元填充。

c位指定是使用逗號(c = 1)還是使用小數點(c = 0)作為整數和小數之間的分隔符。

根據下列規則對輸出緩衝區進行格式化:

1.    正值寫入輸出緩衝區,不帶符號。

2.    負值寫入輸出緩衝區,帶起始負號(-)。

3.    小數點左側的起首零(與小數點相鄰的數字除外)被壓縮。

4.    小數點右側的數值進製,使之符合小數點右側指定的位數。

5.    輸出緩衝區的尺寸必須最小比小數點右側數字多3個位元組。

6.    輸出緩衝區中的數值右對齊。

2樓:

rta:實數至ascii指令,將實數值(in),此處為vd28,轉換成ascii字元。格式fmt指定小數點右側的轉換精確度(vb1000),以及是否將小數點表示為逗號或點號及輸出緩衝區尺寸。

轉換結果置於從out開始的輸出緩衝區中。結果ascii字元的數目(或長度)相當於輸出緩衝區的尺寸,指定的尺寸範圍為3至15個字元。

vb1000(fmt)裡面的資料格式為 sssscnnn 其中:ssss轉換後資料長度; c:c=0時小數點用「.」表示,c=1時小數點用「,」表示;nnn為小數點位數。

此處如果想要輸出結果為5000.0則vb1000=01100001b=16#61

vb32=16#35     即 「5」

vb33=16#30

vb34=16#30

vb35=16#30

vb36=16#2e    即「.」

vb37=16#30

ath:ascii至hex 指令將從in開始的ascii字元號碼(len)轉換成從out開始的十六進製制數字。ascii字串的最大長度為255字元。

但ath只支援 0 至  9   和大寫   a 至   f,不支援小數點「.」和逗號「,」,所以只能取小數點前面的整數。此時vb2000=4

3樓:it與製藥

rta使用要點:

in:指定輸入的資料,這個資料必須是乙個浮點數(實數)。

fmt:fmt是有特殊的格式要求的。前7~4位表示輸出緩衝區大小,第3位表示間隔符號是點,還是逗號,剩下的3為表示小數點後面有幾位小樹。這個你設定不對肯定不行的。

ath實際上也是有格式要求的。詳情你可以檢視程式設計軟體的幫助。你輸入ath或者rta指令,然後選中該執令,然後按下f1,詳細的幫助資訊就出來了。

關於指令的詳細資訊看幫助吧,授之以魚,不如授之以漁。

4樓:老了的貓

1.你編的子程式,介面太有意思了,居然有位址做介面名稱。。。

2.十進位制跟16進製制不需要轉換,你運算就是了。。

3.字,位元組,雙字,實數之間資料型別可以轉換。

4.同乙個位址,,監控的時候可以選擇顯示方式是十進位制或16進製制。

5.有八段顯示器顯示,用的是整數轉bcd碼,而不是十進位制、十六進製制轉換。

6.如果你是有別的目的,那我就不知道了。。你可以提出來,看看,具體點。

關於西門子PLC的問題,關於西門子PLC的3個問題

流星 1.如果多條線需要接公共端,可以用串接的方式,比如1接到2,2接到3 這樣埠只需要接2條線。2.sm0.0的stl是 ld sm0.0,其含義是往棧點壓入一個為1的訊號,因為後面的程式是否執行,完全要看棧頂是否為1.3.s7 200的應該是scr,我感覺既然無輸出,掃描無意義。scr是在整個程...

西門子plc300模擬量輸入,西門子PLC300模擬量輸入

萬俟筠 用fc105轉換即可。你要知道你模擬量對應的訊號型別和範圍,在硬體組態裡設定。然後還要知道你所測液位的量程,這個在fc105進行設定。你的那個液位報警如果有相應限位直接用就行。如果你是通過液位值判斷是高液位還是低液位的話那就做個比較就成了。 浪尖漂兒 用液控儀表 加個液位計顯示就完了 跟模擬...

西門子PLC模擬量,西門子PLC模擬量怎麼處理的。程式怎麼編寫的?

s7 200 類似於 mov aiw0,vw0 讀取模擬量通道,對於輸出也類似,mov vw0,aqw0 s7 300 400 l piw256 t mw0 模擬量輸出 l mw0 t pqw256 看,都類似,無論什麼品牌的plc,都是類似的處理。資料處理?那隨你心思,只要自己不要轉暈掉就可以了。...