這是三菱 PLC 編程軟件 GX Works3 里的程序,我給你拆解下關(guān)鍵部分邏輯,幫你理解:
1. 基礎(chǔ)運(yùn)行條件
`SM400` 是三菱 PLC 內(nèi)置的常 ON 特殊繼電器,只要 PLC 正常運(yùn)行,它就一直為 ON ,相當(dāng)于程序的“總使能” ,所以這段程序只要 PLC 運(yùn)行就會(huì)執(zhí)行 。
2. 指令功能解析
- **`ADPRW`** :大概率是和通訊、特殊模塊數(shù)據(jù)讀寫(xiě)相關(guān)的指令(具體功能得結(jié)合模塊配置和手冊(cè),從名字看像 “Advanced Process Read/Write” ,用于讀寫(xiě)外圍設(shè)備數(shù)據(jù),比如你程序里的 “通訊讀測(cè)高儀數(shù)據(jù)” ,可能是從測(cè)高儀讀取數(shù)據(jù)到 PLC 內(nèi)部寄存器 )。`K1` `H4` `H0` `K2` 這些是它的參數(shù),可能指定模塊編號(hào)、讀寫(xiě)地址、數(shù)據(jù)長(zhǎng)度等 ,得結(jié)合手冊(cè)和實(shí)際硬件配置確認(rèn)。
- **`MOV`** :很基礎(chǔ)的 “傳送” 指令,就是把一個(gè)寄存器的數(shù)據(jù)復(fù)制到另一個(gè)。比如 `MOV D120 D123` ,就是把 `D120` 里的數(shù)據(jù),原封不動(dòng)放到 `D123` 里 ,用于數(shù)據(jù)轉(zhuǎn)移、備份。
- **`DMOV`** :和 `MOV` 類似,但處理的是 32 位數(shù)據(jù)(`MOV` 是 16 位 )。`DMOV D121 D126` 就是把 `D121 - D122` 組成的 32 位數(shù)據(jù)(因?yàn)槿?PLC 里 32 位數(shù)據(jù)占兩個(gè)連續(xù)寄存器,低 16 位 `D121` ,高 16 位 `D122` ),復(fù)制到 `D126 - D127` 里 ,用于處理較大數(shù)值或者精度要求高的數(shù)據(jù)(像測(cè)高儀可能輸出的是長(zhǎng)整數(shù) )。
- **`DINT2FLT`** :是 “雙整數(shù)轉(zhuǎn)浮點(diǎn)數(shù)” 指令 。把 `D126 - D127` 里的 32 位整數(shù)(比如 `124630` ),轉(zhuǎn)換成浮點(diǎn)數(shù)(存到 `D128 - D129` ,因?yàn)楦↑c(diǎn)數(shù)占 32 位,也是兩個(gè)寄存器 ),方便后續(xù)做浮點(diǎn)運(yùn)算(比如除法 )。
- **`DEDIV`** :是 32 位浮點(diǎn)數(shù)除法指令 。`DEDIV D128 K1000 D88` 就是用 `D128 - D129` 里的浮點(diǎn)數(shù)(比如轉(zhuǎn)換后的 `1.246e + 005` )除以 `1000` ,結(jié)果存到 `D88 - D89` 里(`D88` 顯示 “轉(zhuǎn)化后實(shí)際數(shù)值” ),可能是為了把原始數(shù)據(jù)換算成實(shí)際物理量(比如測(cè)高儀原始計(jì)數(shù)換算成毫米、米等實(shí)際長(zhǎng)度 )。
### 3. 整體流程邏輯
簡(jiǎn)單說(shuō),就是 **先通過(guò) `ADPRW` 從外部設(shè)備(測(cè)高儀)讀數(shù)據(jù)** → 用 `MOV` `DMOV` 做數(shù)據(jù)轉(zhuǎn)移備份 → 用 `DINT2FLT` 把整數(shù)轉(zhuǎn)成浮點(diǎn)數(shù) → 最后 `DEDIV` 做除法運(yùn)算,把數(shù)據(jù)轉(zhuǎn)換成實(shí)際能用的物理數(shù)值(比如高度值 ),供后續(xù)程序判斷、控制使用 。
要是還迷糊,得結(jié)合這幾個(gè)點(diǎn)深入:
- 查 `ADPRW` 具體參數(shù)定義(模塊手冊(cè)里找 ),確認(rèn)到底讀了啥數(shù)據(jù)、存在哪些寄存器。
- 看看 “測(cè)高儀” 通訊協(xié)議、數(shù)據(jù)格式,知道原始數(shù)據(jù)啥含義,才好對(duì)應(yīng)程序里的數(shù)據(jù)處理。
- 結(jié)合整個(gè)設(shè)備功能(三軸螺絲機(jī),測(cè)高儀可能用于檢測(cè)螺絲高度、平臺(tái)高度等 ),理解為啥要這么處理數(shù)據(jù) 。