7、西門子PLC基礎術語:數據單位、存儲區域、尋址方式、字節序

一、數據單位(數據長度類型)

術語名稱位數所占字節說明
Bit1 bit1/8 Byte最小數據單位(0或1)
BByte 字節8 bit1 Byte字節單位
WWord 字16 bit2 Byte通常用于整數、狀態字等
DWDouble Word 雙字32 bit4 Byte常用于浮點、雙整數

1雙字 = 2字????????1雙字 = 4字節????????1雙字 = 32位

1字 = 2字節????????1字 = 16位

1字節 = 8位


三、存儲區域(Memory Area)

區域名稱說明大小(S7-200 SMART)舉例
I區輸入映射區外部信號輸入1KBI[字節號].[位號]:
(如 I0.0、I2.7)
Q區輸出映射區外部信號輸出1KBQ[字節號].[位號]
(如 Q0.1、Q5.3)
M區Merker 標志寄存器程序內部臨時變量、
中間狀態存儲
4KBM[字節號].[位號]
(如 M0.2、M10.5)
DB區數據塊用戶自定義數據結構的存儲區128 個 DB 塊,
單個4096 字節(4KB)
DB1.DBX04 (X = Bit)
DB1.DBB4 (B = 字節)
DB1.DBW4 (W = 字)
DB1.DBD4 (D = 雙字)
T區定時器用于時間控制(接通延時、斷開延時等)最多 256 個定時器(T0~T255),支持 1ms、10ms、100ms 分辨率
C區計數器用于計數控制(增計數、減計數、增減計數)最多 256 個計數器(C0~C255),計數范圍 0~32767
L區局部變量僅在函數(FC)或功能塊(FB)內部使用,調用時臨時分配每個塊最多 64 字節(512 位)

四、尋址(讀寫)

在 PLC 中,定位變量通常采用的格式為:

  1. 格式一: [存儲區] + [偏移量]
  2. 格式二: [存儲區] + [偏移量] + [數據單位]
  3. 格式三:[存儲區] + [數據單位] + [偏移量]
  • 存儲區:表示變量所在的內存區域(如 I 輸入區、Q 輸出區、M 內存區等)
  • 偏移量:變量在該存儲區中的起始地址
  • 數據單位:變量的存儲粒度(如 bit、byte、word、dword 等)

例 1:位(bit)尋址 [存儲區] + [偏移量]
數據單位隱含了

I0.3

  • I:表示輸入區
  • 0:字節偏移量(第 0 個字節)
  • .:作用是區分字節地址和位地址
  • 3:位偏移量(第 3 位)

含義:讀取(或寫入)輸入區第 0 字節的第 3 位的值,例如某個按鈕的開關狀態。

例 2:字節(byte)尋址 [存儲區] + [數據單位] + [偏移量]

QB2

  • Q:表示輸出區
  • B:數據單位,表字節
  • 2:字節偏移量:2(第 2 個字節)

含義:讀取(或寫入)輸出區第 2 個字節的內容,1字節=8個位 即可表示8個輸出繼電器。

例 3:字(word)尋址 [存儲區] + [數據單位] + [偏移量]

MW20

  • M:程序內部臨時變量、中間狀態存儲
  • W:數據單位,表字
  • 20:字節偏移量(從字節 20 開始)

含義:讀取(或寫入)從字節 20 開始的 2 個字節,例如一個整數計數值。

例 4:數據塊(DB)尋址 [存儲區] . [數據單位] + [偏移量 ]

DB1.DBX0.4 (X = Bit)
DB1.DBB4 (B = 字節)
DB1.DBW4 (W = 字)
DB1.DBD4 (D = 雙字)

  • DB1:表示數據塊 1(Data Block 1),這本身就是一個存儲區,但它是用戶定義的存儲區。
  • .:第1個.相當于“進入”這個數據塊的意思。
  • .:第2個.作用是區分字節地址和位地址。

五、擴展:底層內存存儲方式

當多個字節組成一個Word(16位)、Double Word(32位)或更大數據時,低字節和高字節的存放順序是怎樣的???

什么是字節序(Endian)
當多個字節表示一個數據時,存在兩種存儲順序

類型名稱說明
Little Endian小端序最低有效字節存放在低地址最高有效字節存放在高地址
Big Endian大端序最高有效字節存放在低地址最低有效字節存放在高地址

例如,假設有一個 類型(1字=2字節)數值為 0x1234,組成字的兩個字節是(按8位分組):

  1. 高字節(前8位一個字節):0x12
  2. 低字節(后8位一個字節):0x34
類型DB0.DBB0DB0.DBB1
Little Endian0x120x34
Big Endian0x340x12

注意:西門子 PLC(如 S7-200 SMART、S7-1200/1500)默認采用小端序存儲。

字節序注意場景

  1. 正確解析多字節數據(避免數值錯誤)
    當你在 PLC 中處理字(Word,16 位)、雙字(DWord,32 位)等多字節數據時,必須遵循小端序規則才能正確拆分或組合字節。
  2. 確保跨設備通信的數據一致性
    PLC 常需與上位機(如 HMI、SCADA)、傳感器、儀表等外部設備交換數據(如溫度、流量等數值),而不同設備可能采用不同的字節序(如部分儀表默認大端序)。
  3. 正確處理數據塊(DB)的結構化數據
    在數據塊中定義數組、結構體等復雜數據類型時,字節序決定了各成員的存儲位置。
  4. 避免程序調試中的 “隱蔽錯誤”
    字節序錯誤屬于 “邏輯正確但結果錯誤” 的隱蔽問題,不影響程序運行,但會導致數據異常(如顯示值錯誤、控制邏輯失效)。

六、擴展: 數據類型(Data Type)

類型名稱位數示例值
BOOL布爾型1 bitTRUE / FALSE
BYTE字節8 bit16#FF
WORD字(整型)16 bit16#FFFF
DWORD雙字32 bit16#FFFFFFFF
INT有符號整數16 bit-32768 ~ 32767
DINT雙字整數32 bit-21億 ~ 21億
REAL浮點型32 bit3.14, -1.5

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95022.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95022.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95022.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大型動作模型LAM:讓企業重復任務實現80%效率提升的AI技術架構與實現方案

現代企業運營中,重復性任務的自動化處理已成為提升組織效率的核心需求。從基礎數據錄入到復雜工作流管理,企業持續尋求技術創新來降低人工成本、減少操作錯誤,并將人力資源重新配置到更具價值的戰略性工作中。大型動作模型(Large …

部署Web UI自動化測試平臺:SeleniumFlaskTester

1. Python環境準備 推薦Python3.11,可從https://www.python.org/downloads/release/python-3119/ 下載,見下圖: 安裝后,cmd命令行查看版本:python --version 2. 下載源碼包 從 https://gitee.com/ligaopan/SeleniumFlaskTester…

計算機網絡:到底什么是可變長子網掩碼VLSM?

VLSM 是可變長子網掩碼,對應的是 FLSM(固定長子網掩碼) FLSM 中,子網掩碼是固定的,比如一個 C 類地址用 255.255.255.128(/25)劃分,每個子網只能有 126 臺主機,但如果實際需要的主機數不同,比如有的子網需要 20 臺,有的需要 50 臺,FLSM 會導致地址浪費。所以 VLSM …

太極行業觀察:從傳統技藝到數字化轉型的演變|創客匠人

太極拳作為中華傳統文化的重要組成部分,在全球范圍內具有廣泛影響力。目前全球太極習練者已超過一億人,僅中國大陸就有約千萬固定練習者。每年與太極相關的賽事、培訓、教學、養生旅游等活動,形成了數百億元的市場規模。盡管如此,…

Kafka服務端NIO操作原理解析(二)

Kafka系列文章 基于Kafka2.1解讀Producer原理 基于Kafka2.1解讀Consumer原理 Kafka服務端NIO操作原理解析(一) 文章目錄Kafka系列文章前言一、基本認知二、Acceptor的主體流程2.1 run方法源碼2.2 acceptNewConnections方法源碼2.3 主體邏輯流程示意圖三…

當服務器負載過高時該怎么辦?

當服務器出現負載過高時,要對內存、網絡等硬件設備進行查看,其中CPU是重中之重,對CPU使用率進行查看和了解,確定哪些進程占用了大量CPU資源,如果是某個應用程序進程導致CPU高負載,需分析該程序是否存在算法…

跨境電商增長突圍:多維變局下的戰略重構與技術賦能

在全球化商業浪潮與數字技術迭代的雙重驅動下,跨境電商行業正經歷前所未有的變革。平臺規則的動態調整、市場需求的非線性波動、技術工具的持續革新,共同構成了復雜多變的競爭格局。對于賣家而言,如何在不確定性中錨定增長路徑,已…

軟件運行時 ffmpeg.dll 丟失怎么辦?從原因排查到完美修復的完整方案

在計算機的軟件生態系統中,ffmpeg.dll 扮演著一個至關重要卻又常被普通用戶忽視的角色。這個看似普通的文件,實際上是眾多多媒體相關軟件能夠正常運行的基石之一。當你的視頻剪輯軟件突然無法導入特定格式的視頻,或者心愛的游戲在啟動時彈出令…

Axure 11

下載 Axure RP - UX Prototypes, Specifications, and Diagrams in One Tool 激活 Axure RP11 2025-8-7日親測有效: 49bb9513c40444b9bcc3ce49a7a022f9 漢化 Axure Rp 11 安裝、漢化、授權_axure11漢化包-CSDN博客 中文社區 https://www.axure.com.cn/

論文閱讀:User Behavior Simulation with Large Language Model-based Agents

https://dl.acm.org/doi/pdf/10.1145/3708985 https://www.doubao.com/chat/15495707526837250 Advances and Challenges in Foundation Agents–Memory調研 論文翻譯 基于大型語言模型代理的用戶行為模擬 摘要 在推薦系統、社交網絡等以人為中心的應用中,高質…

基于ECharts的智慧社區數據可視化

引言數據可視化是現代Web應用的重要組成部分,它能將復雜的數據以直觀的圖形方式呈現,幫助用戶快速理解數據背后的信息。本文將介紹如何使用ECharts庫實現智慧社區住戶數據的可視化展示,包括柱狀圖和餅圖兩種常見圖表類型的實現與優化。技術棧…

Qt 綜述:從基礎到一般應用

摘要: Qt,作為久經考驗的跨平臺C開發框架,以其強大的功能、豐富的類庫和靈活的機制,在桌面應用、嵌入式系統、網絡編程等領域占據重要地位。本文將深入解析Qt的核心技術體系,涵蓋基礎架構、核心機制、UI開發、外觀定制…

基于PyTorch一文講清楚損失函數與激活函數并配上詳細的圖文講解

PyTorch損失函數與激活函數 目錄 激活函數詳解損失函數詳解實戰案例性能優化技巧 激活函數詳解 1. 什么是激活函數? 激活函數是神經網絡中的關鍵組件,它決定了神經元是否應該被激活。沒有激活函數,神經網絡就只是線性變換的堆疊&#xf…

蒼穹外賣-Day1 | 環境搭建、nginx、git、令牌、登錄加密、接口文檔、Swagger

目錄 nginx: nginx反向代理和負載均衡概念 nginx反向代理和負載均衡如何配置? 后端環境:maven管理 sky-common sky-pojo sky-server: 后端環境搭建--Git進行版本控制 后端數據庫--Mysql 前后端聯調 前后端運行&#xf…

論文閱讀-ZeroDCE和ZeroDCE++

文章目錄1 概述2 模塊2.1 總體說明2.2 LE曲線(Light Enhance Curve)2.3 DCE-Net2.4 無監督損失2.4.1 空間一致性損失2.4.2 曝光控制損失2.4.3 顏色恒定損失2.4.4 照明平滑度損失2.5 ZeroDCE3 效果3.1 不同損失函數組合的效果3.2 參數設置影響3.3 訓練數據…

Web自動化技術選擇

我想學習自動化技術,我的訴求是: 1.我想做自動報社保功能,先從我們自己的系統里面下載Excel,然后自動登錄到社保局的系統,自動填寫Excel,自動上傳Excel。 2.可以自動的到社保局的系統里面查下數據&#xff…

【celeba】-數據集的介紹

CelebA 數據集在 MTCNN 中的使用 1 數據集結構 CelebA_副本/ ├── Anno/ │ ├── list_bbox_celeba.txt # 邊界框 │ ├── list_landmarks_celeba.txt # 5 關鍵點 │ ├── list_attr_celeba.txt # 40 屬性 │ └── identity_CelebA.txt …

解讀 GPT-5:從“博士級 AI 專家”能力到 OpenAI API Key 獲取與實踐(提示工程→性能調優全流程)

GPT-5深度解讀:一位“博士級專家”的誕生與思考第一部分:新范式——化繁為簡的統一智能體 OpenAI的GPT-5,遠不止是一次常規的模型升級。它的發布,標志著一種顛覆性的架構思想變革:從過去那個讓用戶在各種“Turbo”、“…

8.3.1 注冊服務中心Etcd

etcd是什么 etcd 是一個分布式鍵值對存儲,設計用來可靠而快速的保存關鍵數據并提供訪問。通過分布式鎖, leader選舉保障可靠的分布式協同。 etcd 特點 完全復制,集群中的每個節點均擁有全量數據 強一致性,etcd通過raft共識算法…

異或循環冗余

異或代碼CRC8-ITU例程比較計算CRC16異或改進測試重點代碼 def fun_crc(datas):crc 0xFF poly 0x07 for i in range(len(datas)):for j in range(7, -1, -1):if (crc & 0x80) 0x80: crc (crc << 1) ^ polyelse:crc (crc << 1)if (datas[i] & 2**j):#值…