qq771621929
级别: 正式会员
精华主题: 0
发帖数量: 54 个
工控威望: 95 点
下载积分: 2779 分
在线时间: 35(小时)
注册时间: 2022-07-15
最后登录: 2024-04-09
查看qq771621929的 主题 / 回贴
楼主  发表于: 2023-01-31 16:03
我知道1200是用  %X0  Smart200里是怎么取位的
安川电机
安川MPE720程序解密,上传解密.
级别: 家园常客

精华主题: 0
发帖数量: 285 个
工控威望: 886 点
下载积分: 1646 分
在线时间: 102(小时)
注册时间: 2018-07-26
最后登录: 2024-03-07
查看安川电机的 主题 / 回贴
1楼  发表于: 2023-02-01 08:13
I0.0 V0.0 M0.0 Q0.0
wyc6745625
接各种PLC、C#组态王上位机程序微信18839580960
级别: 略有小成
精华主题: 0
发帖数量: 183 个
工控威望: 225 点
下载积分: 1371 分
在线时间: 49(小时)
注册时间: 2018-03-14
最后登录: 2024-04-11
查看wyc6745625的 主题 / 回贴
2楼  发表于: 2023-02-01 08:24
安装2楼说的做
接三菱、西门子等PLC/HMI程序微信wyx6745625
li8110
级别: 工控侠客
精华主题: 0
发帖数量: 515 个
工控威望: 2634 点
下载积分: 1200 分
在线时间: 236(小时)
注册时间: 2022-11-04
最后登录: 2024-04-24
查看li8110的 主题 / 回贴
3楼  发表于: 2023-02-01 10:51
一个字里边有16个位,比如WM0。你可以先读取这个字,然后按二进制显示?这样就能看到这个字的所有位了。
或者说,就直接按二楼说的,就直接把从M0.0到M1.7的每一个位都分别显示。

你是用到通讯的功能了吗?自由口通讯自己写协议那种?
还是要控制十六个位的输入或输出显示不同的造型啥的?
qq771621929
级别: 正式会员
精华主题: 0
发帖数量: 54 个
工控威望: 95 点
下载积分: 2779 分
在线时间: 35(小时)
注册时间: 2022-07-15
最后登录: 2024-04-09
查看qq771621929的 主题 / 回贴
4楼  发表于: 2023-02-01 13:29
引用
引用第3楼li8110于2023-02-01 10:51发表的  :
一个字里边有16个位,比如WM0。你可以先读取这个字,然后按二进制显示?这样就能看到这个字的所有位了。
或者说,就直接按二楼说的,就直接把从M0.0到M1.7的每一个位都分别显示。

你是用到通讯的功能了吗?自由口通讯自己写协议那种?
还是要控制十六个位的输入或输出显示不同的造型啥的?



就是modbusRTU通讯,读的丹佛斯变频器,1200里面取位很简单,SMART200还没用过
li8110
级别: 工控侠客
精华主题: 0
发帖数量: 515 个
工控威望: 2634 点
下载积分: 1200 分
在线时间: 236(小时)
注册时间: 2022-11-04
最后登录: 2024-04-24
查看li8110的 主题 / 回贴
5楼  发表于: 2023-02-02 09:57
引用
引用第4楼qq771621929于2023-02-01 13:29发表的  :



就是modbusRTU通讯,读的丹佛斯变频器,1200里面取位很简单,SMART200还没用过

1200我只会打开博图组态然后弄个起保停啥的,不知道1200的MODBUS RTU的库是不是和200SMART一样。
以下是200SMART说明文档里边关于MBUS_MSG指令里边的一段解释。你可以看一下。


参数“计数”(Count) 用于分配要在该请求中读取或写入的数据元素数。对于位数据类型,“Count”是位数,对于字数据类型,则表示字数。

对于地址 0xxxx,“计数”(Count) 是要读取或写入的位数

对于地址 1xxxx,“计数”(Count) 是要读取的位数

对于地址 3xxxx,“计数”(Count) 是要读取的输入寄存器字数

对于地址 4xxxx 或 4yyyyy,“计数”(Count) 是要读取或写入的保持寄存器字数
MBUS_MSG/MB_MSG2 指令最多读取或写入 120 个字或 1920 个位(240 个字节的数据)。Count 的实际限值取决于 Modbus 从站设备的限制。

参数 DataPtr 是间接地址指针,指向 CPU 中与读/写请求相关的数据的 V 存储器。对于读请求,将 DataPtr 设置为用于存储从 Modbus 从站读取的数据的第一个 CPU 存储单元。对于写请求,将 DataPtr 设置为要发送到 Modbus 从站的数据的第一个 CPU 存储单元。

程序将 DataPtr 值以间接地址指针的形式传递到 MBUS_MSG/MB_MSG2。例如,如果要写入到 Modbus 从站设备的数据始于 CPU 的地址 VW200,则 DataPtr 的值将为 &VB200(地址 VB200)。指针必须始终是 VB 类型,即使它们指向字数据。


DataPtr 这个指针指向的存储空间就是“字”。你可以监控一下。比如你在 DataPtr 这个管脚填写的是&VB200,那你就在状态图表里监控VW200,这个就是你读取到的字。然后你想读取哪个位就分开监控哪个位呗。V200.0,V200.1,V200.2等等。