理论教育 PowerFlex4M的Modbus网络通信方式探究

PowerFlex4M的Modbus网络通信方式探究

时间:2023-06-28 理论教育 版权反馈
【摘要】:通过Modbus网络控制变频器,因此PowerFlex 4M的参数P106[Start Source](起动源)和P108[Speed Reference]都设为5——“通信端口”。PowerFlex 4M变频器参数设置通过变频器控制面板设置参数,控制面板操作参见表11-8,需要设置的参数如下:1)P106[Start Source]设为5——“Comm Port”。

PowerFlex4M的Modbus网络通信方式探究

(1)Modbus功能代码及变频器参数设置

PowerFlex 4M变频器的外设接口(DSI)支持部分Modbus功能代码,通过Modbus协议,控制器向PowerFlex 4M变频器的寄存器中写入逻辑命令及速度给定信息;同时也从PowerFlex 4M变频器寄存器中读取逻辑状态及速度反馈信息,其相应的寄存器地址参见第6章。下面强调几点需要注意的地方。

寄存器地址偏移量为1,例如:逻辑命令的寄存器地址是8192,而实际操作中就要设置为8193。

通过Modbus网络控制变频器,因此PowerFlex 4M的参数P106[Start Source](起动源)和P108[Speed Reference](速度参考)都设为5——“通信端口”。

控制器可通过发送功能代码06,将控制信息写入地址为8193(逻辑命令字)和8194(速度给定值)寄存器中,以控制变频器的运行。也可通过发送功能代码03,读取地址为8449(逻辑状态字)和8452(速度反馈值)寄存器中的信息。

读写变频器其他参数时,寄存器地址就是相应的参数号码,但是要注意偏移1位。

(2)PowerFlex 4M变频器参数设置

通过变频器控制面板设置参数,控制面板操作参见表11-8,需要设置的参数如下:

1)P106[Start Source]设为5——“Comm Port”(通信端口)。

2)P108[Speed Reference]设为5——“Comm Port”(通信端口)。

3)t201[数字量输入1选项]设为6——“通信端口”。

4)t202[数字量输入2选项]设为0——“不使用”。

5)C302[通信数据传输率]设为4——“19.2K”。

6)C303[通信节点地址]设为100。

7)C306[通信格式]设置为0——“RTU 8-N-1”。

(3)Micro850控制器串口参数设置

设置好变频器的参数后,即可对控制器进行编程,且在程序中不需要组态变频器,直接通过MSG_MODBUS指令即可控制变频器。

1)将嵌入式串口通信模块插到控制器的2槽上,把该模块组态成Modbus网络协议(则该模块的通道号为6号,详见第6章Modbus指令),通信驱动类型(Driver)设置为Modbus RTU Master。打开Micro850控制器的组态界面,选择对2槽上的串口通信模块进行组态,设置以下参数:

Driver(通信驱动类型):Modbus RTU

Baud Rate(通信波特率):19200

Party(奇偶校验位):NONE

Unit Address(控制器节点地址):1

Modbus Role(在Modbus中的角色):Modbus RTU Master

2)单击Advanced Settings按钮,展开通信模块的高级设置,设置如下参数:Media(协议类型):RS-485;Stop Bites(数据格式停止位):1。(www.daowen.com)

(4)Micro850控制器与PowerFlex 4M变频器的通信程序

1)创建MSG_MODBUS功能块,并分别创建功能块上所需要的变量,如图11-5所示。

2)编写读取变频器逻辑状态字的程序如图11-6所示。

978-7-111-45432-8-Chapter11-16.jpg

图11-5 建立MSG功能块和它所对应的变量

978-7-111-45432-8-Chapter11-17.jpg

图11-6 读取变频器逻辑状态程序

其中,梯级中的MSG_MODBUS_1指令用于读取变频器的逻辑状态字,start指令用于启动指令,当start指令由假变真一次,控制器就会读一次变频器的逻辑状态字。

MSG_MODBUS_1功能块指令的相关参数设置如图11-7所示,参数说明见表11-10。

978-7-111-45432-8-Chapter11-18.jpg

图11-7 读取变频器逻辑状态的MSG指令参数设置

表11-10 读取变频器逻辑状态MSG指令参数设置

978-7-111-45432-8-Chapter11-19.jpg

从Modbus地址8449~8452地址中读取的数据分别放到D1_laddr[1]~D1_laddr[4]中,其中8449中是变频器逻辑状态字,8450中是变频器错误代码,8451中是变频器速度参考值,8452中是变频器速度反馈值。值得注意的是这里的Modbus地址都是经过偏移一位以后的地址。

3)编写控制变频器逻辑命令字的程序与读取逻辑状态字类似,只是MSG文件不同,且MSG_MODBUS指令的相关参数设置也有所不同,Modbus命令选择为“6”,存放数据的地址为“D2_laddr[1]”,将该地址文件中的数据写入到变频器寄存器中,而Modbus数据地址(变频器数据寄存器地址)为“8193”,D2_laddr设为18,命令电动机起动并正转,如图11-8所示。

程序编写完成后,将变频器运行位设为1时变频器起动,且读取的状态反馈字中的运行位为1表示变频器为运行状态。

4)编写设定速度给定值的程序与编写逻辑命令字类似,只是MSG文件不同,且MSG_MODBUS指令的相关参数设置也有所不同,Modbus命令选择为“6”,存放数据的地址为“D3_laddr[1]”,将该地址文件中的数据写入到变频器寄存器中,而Modbus数据地址(变频器数据寄存器地址)为“8194”,如图11-9所示。

978-7-111-45432-8-Chapter11-20.jpg

图11-8 控制变频器逻辑命令字的MSG_MODBUS指令参数设置

978-7-111-45432-8-Chapter11-21.jpg

图11-9 设定速度给定值的MSG_MODBUS指令参数设置

5)变频器其他参数的修改与读取都可以用MSG_MODBUS指令来实现,此时寄存器的地址就是相应的参数号码(注意偏移1位)。例如,要修改变频器参数P109[Accel time1],则将寄存器地址设置为110。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈