三菱串行通信模块QJ71C24N跟海浦蒙特变频器HD09-2S0P2G进行ModbusRTU通信,进行频率设定、正反转、停止、频率监视。
硬件设置:
PLC配置:
基板:Q35B。
电源:Q61P。
CPU:Q06H。
串行通信:QJ71C24N。
变频器:
海浦蒙特HD09-2S0P2G。
QJ71C24N-R4
QJ71C24N模块指示灯状态:
RUN:ON,运行正常。
ERR:ON,发生错误。
NEU:ON,(MC指令报文空闲状态)。
SD:ON,数据发送中。
RD:ON,数据接收中。
变频器RS接口标准RJ45端子:
1、3:+5V
2:+
4、5、6:GND
7:-
8:保留
通信接线:
采用二线制半双工方式接口标准:
SDA一一一一一一→+
RDA
□←终端电阻(双绞电缆)
SDB一一一一一一→-
RDB
SG→接双绞电缆屏蔽层
变频器参数设置:
F00.11→运行命令选择→2,SCI通讯运行命令通道。
F00.10→频率设定→2,SCI通讯设定。
F17.00→数据格式(通信格式)→1,1一8一1格式,偶校验,RTU。表示通信格式为1位起始位,8位数据位,1位停止位。
F17.01→波特率→3,bps。
F17.02→本机地址→从站1。
软件设置:
模块I/O分配设置:
导航→工程→参数→PLC参数→I/O分配设置→模块添加→模块类型:串行通信/调制解调器接口模块→模块型号QJ71C24N→设置结束。占32点,~F。
模块开关/控制设置:
1,导航→工程→智能功能模块→:QJ71C24N→开关设置:
选择通道2(CH2),从下往上设置,先设置通信协议→再设置波特率bps→设置更改允许→RUN中写入允许→和校验代码无→停止位1→偶数校验→校验位有→数据位8→动作设置独立→确定。
2,导航→工程→智能功能模块→:QJ71C24N→各种控制指定:
通信控制指定用→CH2,1:字节单位。
通信控制指定用→CH2,1:响应返回禁止。
协议设置(重点):
工具→通信协议支持功能→串行通信模块→
新建→协议号添加→类型:通信协议库→制造商:SchneiderElectric→型号:MODBUS→协议名(功能码):06WR(写)→确定。
删除ERR接收:右击协议号→更改为可编辑协议→是→右击ERR数据包名→删除→是。
添加协议:点击添加→类型:通信协议库→制造商:SchneiderElectric→型号:MODBUS→协议名(功能码):03RD(读)→确定。
同样也要删除ERR接收:右击协议号→更改为可编辑协议→是→右击ERR数据包名→删除→是。
变量设置:右击协议号1→软元件批量设置:设置协议号范围指定:1-2→起始软元件号:如D0。→是→确定。
点击工具栏红色箭头图标把协议写入模块。
变量配置元素名解释:
“WR写数据”的发送包变量:
SlaveAddress:从站地址。D0
FunctionCode:功能代码。06
RegisterAddress:寄存器地址。D1
RegisterValue:寄存器数值。D2
ErrorCheck:错误检查。Slave
“WR写数据”的接收包变量:
SlaveAddress:从站地址。D3
FunctionCode:功能代码。06
RegisterAddress:寄存器地址。D4
RegisterValue:寄存器数值。D5
ErrorCheck:错误检查。
如D5=D2,表明写入成功。
写入变频器:
查手册-9.4地址映射关系:
0x→16进制。
0x→控制命令字。←地址。D1
0×→运行频率设定。
0×→虚拟端子控制设定。
控制命令字字位定义:←内容。D2
0×1:正转命令。
0×:反转命令。
0×:减速停机。
0×:自由停机。
0×:外部故障停机。
0×:点动正转。
0×:点动反转。
0×0:故障复位。
“RD读数据”的发送包变量:
SlaveAddress:从站地址。D6
FunctionCode:功能代码。03
StartingAddress:开始地址。D7
QuantityofRegisters:寄存器数量D8
ErrorCheck:错误检查。
“RD读数据”的接收包变量:
SlaveAddress:从站地址。D9
FunctionCode:功能代码。03
ByteCount:字节长度。
RegisterValue:寄存器数值。D10D11
ErrorCheck:错误检查。
读取变频器参数,如频率:
发送请求0x:输出频率→D7。
接收D10长度存储,D11数值存储。
程序编写:
指令解释:
G.CPRTCLUnn1n2(S)(D)。
GP.CPRTCLUnn1n2(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的位软元件偏号。
以上指令数据准备。
以上指令延时复位。
以上通信写入命令。
以上通信读取参数。
线路跟踪:
点击工具栏“串行通信模块的线路跟踪图标”→选择模块→选择通道→开始跟踪。
这篇花了两天时间,学通信真不容易!#plc#