欧姆龙CP1H+CIF11与台达MS300变频器通讯程序 功能:原创程序,可直接用于现场程序。 欧姆龙CP1H的CIF11通讯板,实现对台达MS300变频器 设定频率,读取实际频率,输出电压。 反应灵敏,通讯稳定可靠。 后续可根据需要扩展台数时,非常灵活方便。 器件:欧姆龙CP1H,CP1W CIF11串口网关板,台达MS300变频器,昆仑通态TPC7062KD触摸屏。 说明:是程序,带注释,带变频器手册,接线,参数设置都提供。 通讯稳定可靠,实用有效。

在自动化控制领域,设备之间稳定高效的通讯至关重要。今天就来分享一套原创的欧姆龙CP1H+CIF11与台达MS300变频器通讯程序,此程序可直接应用于现场,并且通讯稳定,扩展性强。

所用器件

本次项目用到欧姆龙CP1H 、CP1W - CIF11串口网关板、台达MS300变频器以及昆仑通态TPC7062KD触摸屏 。

接线

  1. CP1W - CIF11与台达MS300变频器
    - 将CP1W - CIF11的TXD+连接到台达MS300变频器的RS485+(A)端。
    - CP1W - CIF11的TXD - 连接到台达MS300变频器的RS485 - (B)端。
  2. 触摸屏与其他设备:触摸屏根据实际需求与CP1H进行连接,一般通过串口或者以太网,这里暂不赘述其详细连接方式,主要关注变频器与CP1H的通讯。

变频器参数设置

台达MS300变频器需要设置一些关键参数以确保通讯正常:

  1. 通讯协议选择:设置为MODBUS RTU协议,一般参数编号类似P00.00 ,设定值为2 。
  2. 站号设置:例如设置为1,参数编号如P00.01 。这个站号要与CP1H程序中设置的站号一致。
  3. 波特率设置:假设设置为9600bps,对应参数编号P00.02 ,设定值为2 。同样,CP1H端也要设置相同波特率。

程序代码及分析

下面是欧姆龙CP1H的部分通讯程序代码(以梯形图为例,部分关键代码段):

// 初始化通讯参数
LD M8000 // PLC运行时常ON
MOV #0001 D100 // 设置台达MS300变频器站号为1
MOV #0002 D101 // 设置波特率为9600bps
MOV #0000 D102 // 校验方式,这里设置为无校验
MOV #0008 D103 // 数据位8位
MOV #0001 D104 // 停止位1位
FINS WR 0000 #0000 #0002 D100 10 // 向CP1W - CIF11模块写入通讯参数

// 设定频率发送
LD X0 // 假设X0为频率设定触发信号
MOV #0001 D200 // 目标站号,这里是1号台达MS300变频器
MOV #0003 D201 // 功能码,写多个寄存器功能码03H
MOV #0000 D202 // 起始寄存器地址,台达MS300变频器频率设定寄存器地址假设为0000H
MOV #0001 D203 // 寄存器数量,这里只写1个频率设定寄存器
MOV #1000 D204 // 假设设定频率为1000(实际根据需求,这里单位可能需换算)
FINS WR 0000 #0000 #0006 D200 10 // 向变频器发送设定频率指令

// 实际频率读取
LD X1 // 假设X1为读取实际频率触发信号
MOV #0001 D300 // 目标站号
MOV #0004 D301 // 功能码,读多个寄存器功能码04H
MOV #0001 D302 // 起始寄存器地址,台达MS300变频器实际频率寄存器地址假设为0001H
MOV #0001 D303 // 寄存器数量,读取1个实际频率寄存器
FINS RD 0000 #0000 #0006 D300 10 // 读取变频器实际频率
MOV D304 D400 // 将读取到的实际频率值存放到D400,后续可用于显示等处理

代码分析

  1. 初始化通讯参数
    - 程序一开始使用 LD M8000 ,这是因为M8000是PLC运行时常ON的标志位,保证通讯参数初始化只在PLC启动时执行一次。
    - 通过 MOV 指令向D100 - D104写入变频器站号、波特率、校验方式、数据位和停止位等通讯参数。
    - FINS WR 指令将这些参数写入CP1W - CIF11模块,使其按照设定的通讯参数与变频器通讯。
  2. 设定频率发送
    - 当X0触发时,通过 MOV 指令设置目标站号、功能码、起始寄存器地址、寄存器数量以及要设定的频率值。
    - 再使用 FINS WR 指令向变频器发送设定频率的指令,这样变频器就能按照设定值运行。
  3. 实际频率读取
    - X1触发时,同样通过 MOV 指令设置好站号、功能码、起始寄存器地址和寄存器数量。
    - FINS RD 指令用于读取变频器实际频率寄存器的值,读取到的值存放在D304 ,然后通过 MOV D304 D400 ,将实际频率值转存到D400,方便后续在触摸屏等设备上显示。

变频器手册的重要性

在编写通讯程序过程中,台达MS300变频器手册是不可或缺的。手册里详细说明了变频器的通讯协议细节,各个寄存器的地址及其功能,比如频率设定寄存器地址、实际频率寄存器地址等。只有熟悉这些内容,才能准确无误地编写通讯程序,实现对变频器的各种控制和数据读取。

这套欧姆龙CP1H+CIF11与台达MS300变频器通讯程序,从接线、参数设置到程序代码,都经过实际验证,通讯稳定可靠,而且后续若需扩展变频器台数,只需在程序中适当修改站号等参数,十分灵活方便,希望对大家的自动化项目有所帮助。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐