卓发智能
相互学习,共同进步。
级别: 工控侠客
精华主题: 0
发帖数量: 2497 个
工控威望: 3115 点
下载积分: 12596 分
在线时间: 672(小时)
注册时间: 2008-08-03
最后登录: 2025-07-18
查看卓发智能的 主题 / 回贴
楼主  发表于: 前天
如下图中所示程序,读2个字的数据,后面处理的时候又是16位
赋值。
相信自我!
卓发智能
相互学习,共同进步。
级别: 工控侠客
精华主题: 0
发帖数量: 2497 个
工控威望: 3115 点
下载积分: 12596 分
在线时间: 672(小时)
注册时间: 2008-08-03
最后登录: 2025-07-18
查看卓发智能的 主题 / 回贴
1楼  发表于: 前天
如果 不这样处理,读回来的数据根本就对应不上。
相信自我!
niningtt
级别: 工控侠客
精华主题: 0
发帖数量: 1233 个
工控威望: 3553 点
下载积分: 850 分
在线时间: 460(小时)
注册时间: 2010-08-24
最后登录: 2025-07-18
查看niningtt的 主题 / 回贴
2楼  发表于: 前天
读两个字,放在D121\D120里,高低字排序需要交换  D120→D122   /D121
payfsl
级别: 工控侠客
精华主题: 2 篇
发帖数量: 2629 个
工控威望: 2908 点
下载积分: 40109 分
在线时间: 489(小时)
注册时间: 2010-08-03
最后登录: 2025-07-19
查看payfsl的 主题 / 回贴
3楼  发表于: 昨天
这是三菱 PLC 编程软件 GX Works3 里的程序,我给你拆解下关键部分逻辑,帮你理解:

1. 基础运行条件
`SM400` 是三菱 PLC 内置的常 ON 特殊继电器,只要 PLC 正常运行,它就一直为 ON ,相当于程序的“总使能” ,所以这段程序只要 PLC 运行就会执行 。

2. 指令功能解析
- **`ADPRW`** :大概率是和通讯、特殊模块数据读写相关的指令(具体功能得结合模块配置和手册,从名字看像 “Advanced Process Read/Write” ,用于读写外围设备数据,比如你程序里的 “通讯读测高仪数据” ,可能是从测高仪读取数据到 PLC 内部寄存器 )。`K1` `H4` `H0` `K2` 这些是它的参数,可能指定模块编号、读写地址、数据长度等 ,得结合手册和实际硬件配置确认。
- **`MOV`** :很基础的 “传送” 指令,就是把一个寄存器的数据复制到另一个。比如 `MOV D120 D123` ,就是把 `D120` 里的数据,原封不动放到 `D123` 里 ,用于数据转移、备份。
- **`DMOV`** :和 `MOV` 类似,但处理的是 32 位数据(`MOV` 是 16 位 )。`DMOV D121 D126` 就是把 `D121 - D122` 组成的 32 位数据(因为三菱 PLC 里 32 位数据占两个连续寄存器,低 16 位 `D121` ,高 16 位 `D122`  ),复制到 `D126 - D127` 里 ,用于处理较大数值或者精度要求高的数据(像测高仪可能输出的是长整数 )。
- **`DINT2FLT`** :是 “双整数转浮点数” 指令 。把 `D126 - D127` 里的 32 位整数(比如 `124630` ),转换成浮点数(存到 `D128 - D129` ,因为浮点数占 32 位,也是两个寄存器 ),方便后续做浮点运算(比如除法 )。
- **`DEDIV`** :是 32 位浮点数除法指令 。`DEDIV D128 K1000 D88` 就是用 `D128 - D129` 里的浮点数(比如转换后的 `1.246e + 005`  )除以 `1000` ,结果存到 `D88 - D89` 里(`D88` 显示 “转化后实际数值”  ),可能是为了把原始数据换算成实际物理量(比如测高仪原始计数换算成毫米、米等实际长度 )。

### 3. 整体流程逻辑
简单说,就是 **先通过 `ADPRW` 从外部设备(测高仪)读数据** → 用 `MOV` `DMOV` 做数据转移备份 → 用 `DINT2FLT` 把整数转成浮点数 → 最后 `DEDIV` 做除法运算,把数据转换成实际能用的物理数值(比如高度值 ),供后续程序判断、控制使用 。

要是还迷糊,得结合这几个点深入:
- 查 `ADPRW` 具体参数定义(模块手册里找 ),确认到底读了啥数据、存在哪些寄存器。
- 看看 “测高仪” 通讯协议、数据格式,知道原始数据啥含义,才好对应程序里的数据处理。
- 结合整个设备功能(三轴螺丝机,测高仪可能用于检测螺丝高度、平台高度等 ),理解为啥要这么处理数据 。
三人行必有我师焉,择其善者而从之 ,学而不思则罔,思而不学则殆
zhongwen1234
级别: 探索解密
精华主题: 0
发帖数量: 117 个
工控威望: 197 点
下载积分: 619 分
在线时间: 73(小时)
注册时间: 2020-08-04
最后登录: 2025-07-20
查看zhongwen1234的 主题 / 回贴
4楼  发表于: 4小时前
二楼的解释应该对的

让你困惑的应该是第二行,因为它在这段程序里是多余的,删掉完全不影响运行
> MOV D120 D123