保持寄存器地址在哪可以查得到?
保持寄存器地址-40001后是否需要换算为十六进制?
如果我使用ADPRW指令怎么写正转指令?
保持寄存器地址在哪可以查得到?
保持寄存器地址-40001后是否需要换算为十六进制?
如果我使用ADPRW指令怎么写正转指令?
如果使用ADPRW指令的话,里面的保持寄存器地址就是寄存器编号减去40001
三菱D700系列变频器做MODBUS-RTU通信时通信参数设置
首先恢复出厂设置,然后再依次设置如下参数:(先设定P79为4,然后再将Pr.CL设置为1即可恢复出厂设置)
P160:设置为0
P77:设置为2
P79:设置为2
P340:设置为1
P338:设置为0
P339:设置为0
P551:设置为9999
P117:设置为1,
P118:设置为96
P120:设置为2
P122:设置为9999
P343:设置为0
P502:设置为0
P549:设置为1
设置好上述参数后,断电再上电,设置的参数才会有效
设置好参数后的变频器通信参数如下所示:
变频器通信参数:
1、数据位:8位
2、校验方式:偶校验
3、停止位:1位
4、波特率:9600bps
5、通信协议:Modbus RTU
6、变频器站号:1
三菱D700变频器相关寄存器编号如下所示:
扩展FX3U-485ADP-MB后参数设置:
D8400:通信格式字
b0:数据长度 为0时7位 为1时8位
b1、b2:奇偶校验,00:无校验 01:奇校验 11:偶校验
b3:停止位 为0时1位 为1时2位
b4 b5 b6 b7:波特率
b8-b11 保留 不用设置
b12:H/W 如果是RS485的时候 为1 如果是RS232为0
b13-b15 保留 不用设置
学习一波
D8401:协议
b0: 为1时候 作为MODBUS RTU协议
为0时候 其他协议
b1-b3:保留
b4:主从站选择 为0:主站 为1:从站
b5-b7:保留
b8:RTU或者ASCII码选择 为0:RTU 为1 :ASCII码模式
b9-b15:保留
D8409:超时时间,一般设置为1000ms,
D8410:播放延时,设置为400
D8411:帧间延时,设置为10
D8412:重试次数,设置为0
PLC通信设置如下:
ADPRW S· S1· S2· S3· S4·/D·
S·、S1·、S2·、S3·、S4·中的S代表这里使用的软元件作为数据的来源(Source)
D·的D代表这里使用的软元件作为数据的目标(Destination)
数据的来源是我们给定的,数据的目标则是指令执行后得到的结果。
S·代表从站的站号,例如要与1号站通信,S·的位置就填写H1。
S1·是MODBUS的命令代码。
S2·是MODBUS软元件的地址。现在从站是另一台FX3G,它的MODBUS软元件地址分配查看手册9.3章节第3和第4个表格。
S3·是设置从S2·设置的MODBUS软元件地址开始的几个地址。
S1·如果使用写的命令代码,就代表从S2·地址开始写入S3·个地址;
S1·如果使用读的命令代码,就代表从S2·地址开始读取S3·个地址。
S4·/D·:S1·如果使用写的命令代码,标记S4·,表示把S4·设置的软元件的数据写给从站;如果使用读的命令代码,标记D·,表示把从站的数据读到D·设置的软元件中。
正转变频器,即就是给保持寄存器编号为40009、实际地址为H0008的寄存器写数据2;
反转变频器,即就是给保持寄存器编号为40009、实际地址为H0008的寄存器写数据4;
停止变频器,即就是给保持寄存器编号为40009、实际地址为H0008的寄存器写数据1。
给定频率即就是给寄存器编号为40014、寄存器实际地址为H000D的寄存器赋值,给定频率分辨率为0.01,即就是给定50HZ时,需要给定数据5000,换算为16进制即就是H1388
总结出的三菱变频器相关寄存器地址表如下: