![圖片[1]-對著易工課的圖,搞懂840Dsl M代碼到PLC的解碼邏輯-機械資源網](https://www.ug8.uk/wp-content/uploads/2025/09/wxsync-2025-09-5bd6175680d697a9b549e1661264a579.png)
M 代碼的標準結構:M 擴展地址 = 值
帶參數的 M 代碼遵循固定格式,核心由 4 部分組成:
- 標識位 “M”
:NC 識別輔助功能的專屬標識,用于區(qū)分 G 代碼、F 代碼等其他指令; - 擴展地址
:M 代碼的 “索引編號”,決定數據在 NC/PLC 接口數據塊中的存儲位置,例如 “M20=300” 中的 “20”; - 分隔符 “=”
:明確區(qū)分擴展地址與設定值,避免數據混淆; - 設定值
:M 代碼需傳遞給 PLC 的具體參數,例如 “M20=300” 中的 “300”(可代表壓力、轉速、行程等)。 -
“無擴展地址的 M 代碼”(如 M500)的特殊處理: 此類 M 代碼默認擴展地址為 “0”,僅傳遞設定值(如 M500 的 “500”),設定值按默認地址規(guī)則存儲。
?擴展地址與設定值的具體地址映射
以 “通道 1 執(zhí)行 M20=300” 為例,手冊明確數據在 DB21 中的存儲位置:
-
擴展地址 “20”:存儲在DB21.DBW68(DBW 為 “數據字” 類型,適配整數型擴展地址); -
設定值 “300”:存儲在DB21.DBD70(DBD 為 “雙字” 類型,適配更大范圍的設定值);
對于無擴展地址的 M 代碼(如通道 1 執(zhí)行 M500):默認擴展地址 “0” 無需單獨存儲,設定值 “500” 直接存儲在DB21.DBD70(默認首地址的設定值存儲位)。
若一行 NC 程序包含多個 M 代碼
(如 “M20=300 M21=400 M22=500”),
數據會按 “從左到右” 順序占用連續(xù)地址:
-
第一個 M 代碼(M20=300): 擴展地址 20→DB21.DBW68,設定值 300→DB21.DBD70; DB21.DBX58.0 會有一個脈沖觸發(fā) -
第二個 M 代碼(M21=400): 擴展地址 21→DB21.DBW74, 設定值 400→DB21.DBD76; DB21.DBX58.1 會有一個脈沖觸發(fā) -
第三個 M 代碼(M22=500): 擴展地址 22→DB21.DBW80, 設定值 500→DB21.DBD82; DB21.DBX58.2 會有一個脈沖觸發(fā) -
每個 M 代碼固定占用 “1 個 DBW(擴展地址)+1 個 DBD(設定值)” 的空間,確保數據不重疊。
如果想系統學 840Dsl 調試,強烈推薦去學下面兩套課
他不僅會帶著你對著這張圖理流程,還會結合這本功能手冊找具體數據塊、查信號位,把 “為什么這么傳”“卡殼了怎么查” 講得透透的,比自己瞎啃手冊效率高太多,能幫你少走很多我之前踩過的坑!
? 版權聲明
教程收集于網絡,如有侵權請務必聯系站長刪除
THE END



























暫無評論內容