PLC單精浮點數如何轉為十進制數?

電氣自控


如果是使用S7-200PLC,無需轉換,只是顯示格式問題

數制問題,都要回到計算機的存儲上來。例如,數10,若按BCD碼存儲(通常所說的10進制存儲),則需以位序列2#00010000等同於16#10存在計算機,若不申明以BCD碼存儲,計算機上就是16#0A。

換句話說,計算機上存儲的都是二進制0、1組成的位序列。這一串位序列,代表什麼意思是依靠人來定義的,它有可能是浮點數、整數、還有可能是字符的ASCAI碼。

16#80賦值給無符號變量,這個變量的值就是+128,若將其賦值給有符號數他就是-128。

儀表與S7-200PLC通信若是Modbus RTU通信,通常是以字為單位傳遞數據,那你可看說明書規定的映射關係4xxxx地址,區分 高低前後。

你用STEP7 MicroWin觀察時讓它顯示為10進制即可。至於你讓它在PLC程序中參與計算,更是不用關注數制問題,而是應該關注賦值給什麼類型變量(整數,還是實數)。

對流量儀表,常常是有小數的,通信時,往往是將實際流量除以某個單位流量得到整數存儲再傳送。例如:2.56L/min,在儀表上可能存儲的時321=16#0100,默認有個單位是0.01L/min。若是這樣,則需要用DI_R指令轉換為實數,然後用DIV_R除以100.0才能得到真正的流量大小。


自控學途與車間


很高興回答你問題

你可以直接的以十進制顯示,這樣自動的轉換成為十進制

比如VB100=16#45,VB101=16#=0F,VB102=16#90,VB103=16#00

直接讀取vd100就可以,就是你需要的值了

以上就是我的理解,希望對你有幫助


小鵬工控


你說的這個vd100我已經試過了。不對的


分享到:


相關文章: