18168722527
無所畏懼
級別: 探索解密
![]() |
關(guān)于臺達 DVP48EC 兩個16位數(shù)據(jù)寄存器組成一個16位寄存器的方法 https://www.bilibili.com/opus/1083839760274817028 # 關(guān)于臺達 DVP48EC 兩個16位數(shù)據(jù)寄存器組成一個16位寄存器的方法 ### 1、臺達 DVP48EC 和 三菱 FX5U 進行Modbus-RTU通訊時接收回來的數(shù)據(jù)和發(fā)送的數(shù)據(jù)顯示方式不一致? #### 臺達 DVP48EC Modbus-RTU 主站: 定時讀取 1# 站 H0 開始的16個寄存器值 <img src="C:\Users\WUKUI\AppData\Roaming\Typora\typora-user-images\image-20250629153019926.png" alt="image-20250629153019926" style="zoom:80%;" /> #### 三菱 FX5U 從站: 使用SM412 1秒鐘定時器 對D0的值+1 <img src="C:\Users\WUKUI\AppData\Roaming\Typora\typora-user-images\image-20250629152141320.png" alt="image-20250629152141320" style="zoom:80%;" /> ### 2、程序測試 寄存值監(jiān)視: **FX5U: 16位寄存器 D0 --> H01EF** <img src="C:\Users\WUKUI\AppData\Roaming\Typora\typora-user-images\image-20250629153436707.png" alt="image-20250629153436707" style="zoom:80%;" /> **DVP48EC**: 程序監(jiān)控顯示 DVP48EC 讀取到的FX5U 16位寄存器D0的值被分別保存在 D3 D4 兩個16位寄存器內(nèi),不方便觀察比對數(shù)據(jù)的正確性。  ### 3、 讓讀取到的寄存器值顯示正確的值 通過監(jiān)視發(fā)現(xiàn) : FX5U D0 :高八位的值 H01 → DVP48EC D3:低八位 H01 FX5U D0 :低八位的值 HEF → DVP48EC D4:低八位 HEF **通過程序處理后的數(shù)據(jù) DVP48EC D150 : F01EF**  **數(shù)據(jù)處理程序**: 1、使用BMOV指令 把接收到的數(shù)據(jù)轉(zhuǎn)存到 D100 開始的20個寄存器內(nèi) 2、使用 SWAP 高低字節(jié)交換指令 使 D103 的值由H01 → H0100 3、使用ADD BIN加法指令 D103 高八位 H0100 + D104 低八位 H00EF = D150 H01EF <img src="C:\Users\WUKUI\AppData\Roaming\Typora\typora-user-images\image-20250629163334821.png" alt="image-20250629163334821" style="zoom:80%;" /> |
|
---|---|---|
|