三菱串行通信模块QJ71C24N跟海浦蒙特变频器HD09-2S0P2G进行Modbus RTU通信,进行频率设定、正反转、停止、频率监视。

硬件设置:

PLC配置:

基板:Q35B。

电源:Q61P。

CPU:Q06H。

串行通信:QJ71C24N。

变频器:

海浦蒙特HD09-2S0P2G。

打开网易新闻 查看更多图片

QJ71C24N模块指示灯状态:

RUN:ON,运行正常。

ERR:ON,发生错误。

NEU:ON,(MC指令报文空闲状态)。

SD:ON,数据发送中。

RD:ON,数据接收中。

变频器RS485接口标准RJ45端子:

1、3:+5V

2:485+

4、5、6:GND

7:485-

8:保留

通信接线:

采用二线制半双工方式485接口标准:

SDA一一一一一一→485+

|

RDA

|

□←终端电阻110(双绞电缆)

|

SDB一一一一一一→485-

|

RDB

SG→接双绞电缆屏蔽层

变频器参数设置:

F00.11→运行命令选择→2,SCI通讯运行命令通道。

F00.10→频率设定→2,SCI通讯设定。

F17.00→数据格式(通信格式)→1,1一8一1格式,偶校验,RTU。表示通信格式为1位起始位,8位数据位,1位停止位。

F17.01→波特率→3,9600bps。

F17.02→本机地址→从站1。

打开网易新闻 查看更多图片

软件设置:

模块I/O分配设置:

导航→工程→参数→PLC参数→I/O分配设置→模块添加→模块类型:串行通信/调制解调器接口模块→模块型号QJ71C24N→设置结束 。占32点,0000~001F。

模块开关/控制设置:

1,导航→工程→智能功能模块→0000:QJ71C24N→开关设置:

选择通道2(CH2),从下往上设置,先设置通信协议→再设置波特率9600bps→设置更改允许→RUN中写入允许→和校验代码无→停止位1→偶数校验→校验位有→数据位8→动作设置独立→确定。

2,导航→工程→智能功能模块→0000:QJ71C24N→各种控制指定:

通信控制指定用→CH2,1:字节单位。

通信控制指定用→CH2,1:响应返回禁止。

打开网易新闻 查看更多图片

协议设置(重点):

工具→通信协议支持功能→串行通信模块→

新建→协议号添加→类型:通信协议库→制造商:Schneider Electric→型号:MODBUS→协议名(功能码):06 WR(写)→确定。

删除ERR接收:右击协议号→更改为可编辑协议→是→右击ERR数据包名→删除→是。

添加协议:点击添加→类型:通信协议库→制造商:Schneider Electric→型号:MODBUS→协议名(功能码):03 RD(读)→确定。

同样也要删除ERR接收:右击协议号→更改为可编辑协议→是→右击ERR数据包名→删除→是。

变量设置:右击协议号1→软元件批量设置:设置协议号范围指定:1-2→起始软元件号:如D0。→是→确定。

点击工具栏红色箭头图标把协议写入模块。

变量配置元素名解释:

“WR写数据”的发送包变量:

Slave Address:从站地址。D0

Function Code:功能代码。06

Register Address:寄存器地址。D1

Register Value:寄存器数值。D2

Error Check:错误检查。Slave

“WR写数据”的接收包变量:

Slave Address:从站地址。D3

Function Code:功能代码。06

Register Address:寄存器地址。D4

Register Value:寄存器数值。D5

Error Check:错误检查。

如D5=D2,表明写入成功。

写入变频器:

查手册-9.4地址映射关系:

0x→16进制。

0x3200→控制命令字。←地址。D1

0×3201→运行频率设定。

0×3204→虚拟端子控制设定。

控制命令字3200字位定义:←内容。D2

0×1001:正转命令。

0×1003:反转命令。

0×1004:减速停机。

0×1010:自由停机。

0×1020:外部故障停机。

0×1040:点动正转。

0×1080:点动反转。

0×1100:故障复位。

“RD读数据”的发送包变量:

Slave Address:从站地址。D6

Function Code:功能代码。03

Starting Address:开始地址。D7

Quantity of Registers:寄存器数量D8

Error Check:错误检查。

“RD读数据”的接收包变量:

Slave Address:从站地址。D9

Function Code:功能代码。03

Byte Count:字节长度。

Register Value:寄存器数值。D10D11

Error Check:错误检查。

读取变频器参数,如频率:

发送请求0x3310:输出频率→D7。

接收D10长度存储,D11数值存储。

打开网易新闻 查看更多图片

程序编写:

指令解释:

G.CPRTCL Un n1 n2 (S)(D)。

GP.CPRTCL Un n1 n2 (S)(D)加沿。

Un:模块的起始IO信号,如U00。

n1:通道选择1:CH1,2:CH2。

n2:协议的连续执行数(1~8)。

S:存储控制数据的软元件起始编号。

S+0:执行结果,0正常,0以外错误码。

S+1:执行协议数结果,1~8。

S+2~9:执行协议编号指定。

S+10~17:校验一致接收数据包编号。

D:执行完成时置为1的位软元件偏号。

以上指令数据准备。

以上指令延时复位。

以上通信写入命令。

以上通信读取参数。