PLC編程時Word和int數據類型的區別

2021-02-14 電工電氣學習

電工學習網:www.diangon.com

技術驅動未來,關注電工學習網官方微信公眾號「電工電氣學習」,收穫更多經驗知識。

大家在做plc程序設計時有沒有遇到過這種困惑:有的程序裡INT 和WORD可以互用,但是有的不行,word和INT各自的區別以及總結下哪些可以替代互用,哪些不能互用?本文一起學習一下!
 
一、區別的概述(著急的話看完這段就可以了)
1、WORD是無符號的數據類型;INT是有符號的數據類型(最高位為1表示負數,0表示正數)。通常情況下WORD用於邏輯運算,INT用於數學運算;在使用梯形圖或SCL等語言編程時區分較嚴格。在使用語句表編程時系統不檢測數據類型是否匹配,即WORD與INT在用法上沒有什麼區別(WORD可做數學運算,INT也可作邏輯運算)。
2、S7-300的WORD與INT的取值範圍:
字的取值範圍都是:W#16#0000~~~W#16#FFFF
十進位:
WORD:0-65535。
INT:-32768—+32767。


二、從編程角度分析一下(看完本段,知道然,並知道所以然)
1、講解1
INT是一種數據類型,是16位整型數據,-32768-32767
WORD表示一個字,可以存放16位的數據,對於數據的類型沒有具體的要求;
2、講解2
數據類型INT 和WORD都是16位存儲單元,但是INT是整數存儲數據類型,存儲的是整數,範圍是-32768到+32767。WORD是字數據類型,如果存儲數據的話是無符號整數0-65535。在STL語言編程中,數據類型不怎麼區分 ,INT和WORD數據類型可以互用,但是在LAD語言編程中如果TNT和WORD數據類型互用會報錯的。當然,你也可以在STEP7軟體中設置在LAD編程模式下不區分數據類型就可以互用就不會報錯了。但是不建議這樣使用。
3、講解3
給你一個很好理解方式,
就是如果你要用到負數,那只能用INT 因為INT是帶符號的,最高位是符號位。
那麼如果你沒有符號需求,可以使用word 當然符號位也是數據,所以範圍更大。
兩者在用法上沒有什麼區別,但是在在LAD語言編程中如果TNT和WORD數據類型互用會報錯的。
還有一點最值得注意的地方,你在給PIW這些通道添加符號注釋的時候要注意數據類型,混淆了INT和WORD在調用FC105 你就會發現報錯,這個很多人都會犯這個錯誤。
4、講解4
INT是整數,取值範圍-32768~32767。WORD是字,取值範圍0~65535。
如果在調用的塊中使用,注意塊引腳指定的數據類型,使用的變量類型必須與引腳的數據類型一致才可以的。當然也要注意存儲數值的範圍。

評論處大家可以補充文章解釋不對或欠缺的部分,這樣下一個看到的人會學到更多,你知道的正是大家需要的。。。

推薦閱讀:如何用最簡單的方法又快又好的學習PLC編程?請點擊下面「閱讀原文

相關焦點

  • PLC編程中數據類型講解
    西門子編程中基本的數據類型共7種,分別是:位bit、字節byte、字word、雙字double word、整數型int、雙整數dint、實數real。關係公式:1雙字=2字=4位元組=32位1.位BOOL,只有兩個值0和1,如I0.0,Q0.2等2.字節一個字節等於8位,範圍是0~7,如IB0包括I0.0-I0.7。3.字相鄰的兩字節組成一個字,表示一個無符號數,因此字為16位。如IW0由IB0和IB1組成。
  • 西門子PLC編程中FB和FC的區別
    用西門子PLC編程時,可以用到功能塊FB和功能FC(FB、FC都是組織塊)資料上說FB與FC都可以作為用戶編寫的子程序,但是我不明白這兩個組織塊之間到底有什麼區別阿?   FB--功能塊,帶背景數據塊   FC--功能,相當於函數   他們之間的主要區別是:FC使用的是共享數據塊,FB使用的是背景數據塊   舉個例子,如果您要對3個參數相同的電機進行控制,那麼只需要使用FB編程外加3個背景數據塊就可以了,但是,如果您使用FC,那麼您需要不斷的修改共享數據塊,否則會導致數據丟失。
  • C/C++編程筆記:「 int main()」和「 int main(void)」的區別?
    return  0;}和int  main(void){   /*  */   return  0;}有什麼不同?以上程序編譯和運行正常,但下面的程序在編譯失敗在C ++中,fun()和fun(void)都是相同的。因此區別在於,在C語言中,可以使用任意數量的參數來調用int main(),但是只能在不使用任何參數的情況下調用int main(void)。儘管大多數情況下並沒有什麼區別,但是在C語言中建議使用「 int main(void)」。練習:(預測以下C程序的輸出)問題①
  • MSSQL數據類型-整數數據類型(bigint、int、smallint、tinyint)
    整數型數據包括bigint型、int型、bit、smallint型和tinyint型。 bigint型數據的存儲大小為8個字節,共64位。其中63位用於表示數值的大小,1位用於表示符號。bigint型數據可以存儲的數值範圍是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。 在應用中除非明確說明,否則那些接受int表達式作為其參數的函數、語句和系統存儲過程都不會改變,從而不會支持將 bigint表達式隱式轉換為這些參數。
  • PLC編程及應用
    2、動作說明1、電源正常時,僅綠燈gl亮,電動機不動作。x0接點,2、輸出線圈y1和y2,不符合一般編程軟體格式,故須適度更正,如圖5右方所示。(4)、使用編程軟體繪製之階梯圖,如圖6所示,與適度翻轉並修正後的階梯圖,完全相同。
  • python基礎知識變量、運算和數據類型
    數字數字類型又可細分為4個類型, 常用的數字類型為整型int和浮點數float:類型描述示例整型int 正或負的整數,無小數點 10 長整型long 無限大小的整數 6321L 浮點數float 整數和小數構成 2.23,2.5e2 複數
  • Arduino 數據類型
    C中的數據類型是指用於聲明不同類型的變量或函數的擴展系統。
  • Java數據類型語法解析
    很多程式語言都依賴於特定的計算機類型和對Java數據類型屬性的具體編譯實現,比如word和integerJava數據類型的大小等。另一方面,Java的虛擬機負責定義其內置Java數據類型的各方面內容。Java數據類型詳解Java數據類型就是對內存位置的抽象表達。
  • C#核心開發-int是默認的整數類型,那麼int與uint有什麼區別呢?
    C#核心開發-第3單元-數據類型-第4節:int類型一都編程-C#核心開發課程1. int類型在C#中,使用int表示整數類型,對應於.NET的System.Int32結構。C#中的int類型佔4位元組(4*8=32位)內存空間,其範圍從-2,147,483,648 到 2,147,483,647。int類型是默認的整數類型,並且默認值是0。
  • 西門子PLC編程軟體下載_西門子PLC編程軟體官方免費下載「中文版...
    西門子plc編程軟體是一款專為西門子設備而專門開發的plc編程軟體。西門子編程軟體中文版的主要為了幫助用戶使用西門子的設備,機械設備需要進行特定的程序才能夠進行工作,這款軟體就是讓你的設備按你的想法去工作。太平洋下載中心為您提供西門子plc編程軟體官方下載。
  • Python兩種基本數據類型:數值及字符串;python交互式運行環境
    嗯,對於學習編程的初學者來說。裡面用到很多python編程的知識點。筆者覺得有必要解釋一下。編程需要大量數據,為了編程方便,數據就分成了不同的類型,不同的數據類型有不同的特性。Python兩種基本數據類型python語言中,有兩種最基本的數據類型:數值類型及字符串類型。讀者可以參考書目數值類型的數據,和我們平時說的數學運算中的數字,1+1=2,裡面的1和2,或者已知x=9,y=1,x和y也是數值類型數據。
  • 編程筆記:int main和 int main(void)的區別?
    >{ /* */ return 0; } 和 int main(void)注意fun()的兩個籤名之間的區別。 以上程序編譯和運行正常,但下面的程序在編譯失敗
  • 西門子PLC模擬量編程實例講解
    模塊把診斷和超限中斷發送到可編程控制器的 CPU 中。 2、(以 2 正、3 負為例 ),四線制時正極 2 是接收電流, 3 是負極。(四線制好處是傳感器負極信號與櫃內 M 為不同電平時不會影響精度很大,因為是傳感器本身電流的迴路 )遇到四線制傳感器時,一種方法是 2 接傳感器正, 3 接傳感器負,plc 跳線為 4 線制電流。「傳感器正與 plc 的 3 相連, 2 懸空,跳線為兩線制電流。」
  • Win10 開發入門:C# 程式語言基礎之數據類型與變量
    在有些程式語言中,定義數據時並不嚴格區分數據的類型,在程序運行過程中,數據類型可根據實際情況發生變化,這種語言稱為弱類型語言,比如PHP、JavaScript這類腳本語言。而C#則是一種強類型語言,它對不同的數據類型都有不同的定義方法。數據類型又分為基本數據類型和自定義數據類型,後者是在前者基礎上由用戶自定義的一種數據類型,比如我們之前討論過的類。
  • 專業解讀PLC編程中斷的原理和用法
    plc這樣理解中斷功能,在理解中斷時,首先要清楚plc的運算周期或者說是掃描周期,有必要說下plc順控循環執行的流程,這是理解中斷的前提,必須要掌握,分為三部分,輸入處理、程序處理、輸出處理、 1、輸入處理,可編程控制器在執行程序前,將可編程控制器的所有輸入端子的
  • 單片機和plc,哪個更好學?
    其中梯形圖類似於繼電器電路,被電氣控制人員廣泛接納,新手推薦採用梯形圖進行編程,而單片機的程式語言,我記得在大學時書上是用彙編語言吧,各種指令代碼真看的痛不欲生啊,後邊接觸C語言了還好些,跑馬燈程序的還隱約記得,相比於plc單片機的編程要更難一些尤其越到後面越難,需要計算機基礎會更好一點。2,單片機很便宜,整個開發板如下圖,其中中的STC就是單片機的晶片,可以看到他的外設輸入、輸出很多。
  • Go 數據類型篇(二):布爾類型、整型、浮點型和複數類型
    >與其他靜態語言不同的是,Go 新增了一個通道類型,該類型主要用於並發編程時不同協程之間的通信,後面介紹 Go 語言並發編程的時候會詳細介紹它。結構體類似於面向對象程式語言中的類(class),Go 沿用了 C 語言的這一複合類型,而沒有像傳統面向對象編程那樣引入單獨的類概念,Go 語言還把接口單獨作為一個類型提出來,後面介紹 Go 語言面向對象編程的時候會詳細介紹這兩個類型的使用。下面我們就來逐一介紹這些數據類型。
  • Python基礎學習之常用六大數據類型
    剛開始學習一門程式語言,除了了解運行環境與語言類型之外,最基本還是從該語言的基本數據類型開始學起。Python六大常用數據類型: int 整數 float 浮點數 str 字符串 list 列表a = 1b = 1.1print(type(a+b)) #<class 'float'>三、字符串字符串在任何程式語言中都是最常用的數據類型。字符串的創建很簡單,也是上面所說的三步,但是要加上單引號或者雙引號。
  • c語言基本數據類型short、int、long、char、float、double
    C 語言包含的數據類型如下圖所示:一、數據類型與「模子」short、int、long、char、float、
  • Python 基本數據類型簡介int/str/bool
    一、python基本數據類型1. int ==> 整數.主要用來進行數學運算2. str ==> 字符串, 可以保存少量數據並進行相應的操作3. bool==>判斷真假, True, False4. list==> 存儲大量數據.用[ ]表示5. tuple=> 元組, 不可以發生改變 用( )表示6. dict==> 字典, 保存鍵值對, 一樣可以保存大量數據