卓發(fā)智能
相互學(xué)習(xí),共同進(jìn)步。
級別: 工控俠客
![]() |
如下圖中所示程序,讀2個(gè)字的數(shù)據(jù),后面處理的時(shí)候又是16位 ![]() |
|
---|---|---|
|
payfsl
級別: 工控俠客
![]() |
這是三菱 PLC 編程軟件 GX Works3 里的程序,我給你拆解下關(guān)鍵部分邏輯,幫你理解: 1. 基礎(chǔ)運(yùn)行條件 `SM400` 是三菱 PLC 內(nèi)置的常 ON 特殊繼電器,只要 PLC 正常運(yùn)行,它就一直為 ON ,相當(dāng)于程序的“總使能” ,所以這段程序只要 PLC 運(yùn)行就會執(zhí)行 。 2. 指令功能解析 - **`ADPRW`** :大概率是和通訊、特殊模塊數(shù)據(jù)讀寫相關(guān)的指令(具體功能得結(jié)合模塊配置和手冊,從名字看像 “Advanced Process Read/Write” ,用于讀寫外圍設(shè)備數(shù)據(jù),比如你程序里的 “通訊讀測高儀數(shù)據(jù)” ,可能是從測高儀讀取數(shù)據(jù)到 PLC 內(nèi)部寄存器 )。`K1` `H4` `H0` `K2` 這些是它的參數(shù),可能指定模塊編號、讀寫地址、數(shù)據(jù)長度等 ,得結(jié)合手冊和實(shí)際硬件配置確認(rèn)。 - **`MOV`** :很基礎(chǔ)的 “傳送” 指令,就是把一個(gè)寄存器的數(shù)據(jù)復(fù)制到另一個(gè)。比如 `MOV D120 D123` ,就是把 `D120` 里的數(shù)據(jù),原封不動放到 `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ù)(像測高儀可能輸出的是長整數(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í)際物理量(比如測高儀原始計(jì)數(shù)換算成毫米、米等實(shí)際長度 )。 ### 3. 整體流程邏輯 簡單說,就是 **先通過 `ADPRW` 從外部設(shè)備(測高儀)讀數(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ù)定義(模塊手冊里找 ),確認(rèn)到底讀了啥數(shù)據(jù)、存在哪些寄存器。 - 看看 “測高儀” 通訊協(xié)議、數(shù)據(jù)格式,知道原始數(shù)據(jù)啥含義,才好對應(yīng)程序里的數(shù)據(jù)處理。 - 結(jié)合整個(gè)設(shè)備功能(三軸螺絲機(jī),測高儀可能用于檢測螺絲高度、平臺高度等 ),理解為啥要這么處理數(shù)據(jù) 。 |
|
---|---|---|
|