大家在做PLC程序設計時有沒有遇到過這種困惑:有的程序里INT 和WORD可以互用,但是有的不行,word和INT各自的區(qū)別以及總結下哪些可以替代互用,哪些不能互用?本文一起學習一下!

一、區(qū)別的概述(著急的話看完這段就可以了)
1、WORD是無符號的數(shù)據(jù)類型;INT是有符號的數(shù)據(jù)類型(最高位為1表示負數(shù),0表示正數(shù))。通常情況下WORD用于邏輯運算,INT用于數(shù)學運算;在使用梯形圖或SCL等語言編程時區(qū)分較嚴格。在使用語句表編程時系統(tǒng)不檢測數(shù)據(jù)類型是否匹配,即WORD與INT在用法上沒有什么區(qū)別(WORD可做數(shù)學運算,INT也可作邏輯運算)。
2、S7-300的WORD與INT的取值范圍:
字的取值范圍都是:W#16#0000~~~W#16#FFFF
十進制:
WORD:0-65535。
INT:-32768—+32767。
二、從編程角度分析一下(看完本段,知道然,并知道所以然)
1、講解1
INT是一種數(shù)據(jù)類型,是16位整型數(shù)據(jù),-32768-32767
WORD表示一個字,可以存放16位的數(shù)據(jù),對于數(shù)據(jù)的類型沒有具體的要求;
2、講解2
數(shù)據(jù)類型INT 和WORD都是16位存儲單元,但是INT是整數(shù)存儲數(shù)據(jù)類型,存儲的是整數(shù),范圍是-32768到+32767。WORD是字數(shù)據(jù)類型,如果存儲數(shù)據(jù)的話是無符號整數(shù)0-65535。在STL語言編程中,數(shù)據(jù)類型不怎么區(qū)分 ,INT和WORD數(shù)據(jù)類型可以互用,但是在LAD語言編程中如果TNT和WORD數(shù)據(jù)類型互用會報錯的。當然,你也可以在STEP7軟件中設置在LAD編程模式下不區(qū)分數(shù)據(jù)類型就可以互用就不會報錯了。但是不建議這樣使用。
3、講解3
給你一個很好理解方式,
就是如果你要用到負數(shù),那只能用INT 因為INT是帶符號的,最高位是符號位。
那么如果你沒有符號需求,可以使用word 當然符號位也是數(shù)據(jù),所以范圍更大。
兩者在用法上沒有什么區(qū)別,但是在在LAD語言編程中如果TNT和WORD數(shù)據(jù)類型互用會報錯的。
還有一點最值得注意的地方,你在給PIW這些通道添加符號注釋的時候要注意數(shù)據(jù)類型,混淆了INT和WORD在調用FC105 你就會發(fā)現(xiàn)報錯,這個很多人都會犯這個錯誤。
4、講解4
INT是整數(shù),取值范圍-32768~32767。WORD是字,取值范圍0~65535。
如果在調用的塊中使用,注意塊引腳指定的數(shù)據(jù)類型,使用的變量類型必須與引腳的數(shù)據(jù)類型一致才可以的。當然也要注意存儲數(shù)值的范圍。
-
plc
+關注
關注
5051文章
14586瀏覽量
486777 -
word
+關注
關注
1文章
79瀏覽量
22763 -
語言編程
+關注
關注
0文章
23瀏覽量
10131
原文標題:PLC編程時Word和int數(shù)據(jù)類型傻傻分不清楚?本文一起學習一下!
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
LM385上的絲印不同可以互用么
老子云:產(chǎn)品設計到底應不應該交互用戶?
總結下串口屏的開發(fā)步驟
總結下做dsp舵機控制器的經(jīng)驗
總結下單片機的這幾種架構
PXI/VXI的互用性
Pigeon Point為xTCA產(chǎn)品實現(xiàn)兼容性和互用性
總結下弱電工程中存在的問題以及解決手段
電池可以互用替換否。位置有沒有說法
電動車電池修復|鋰電與鉛酸電池充電器可以互用嗎?
可與以太坊互用的區(qū)塊鏈協(xié)議Ambrosus介紹
gd32和stm32程序可以互用嗎?
電動車鉛酸電池與鋰電池的充電器可以互用嗎?兩者有什么區(qū)別?
UPS電源的應用領域以及各自的特點與區(qū)別
你真的能區(qū)別int(1)和int(10)的應用?
word和INT各自的區(qū)別以及總結下哪些可以替代互用,哪些不能互用?
評論