变频器上位机软件编程从入门到入土


前言

变频器控制界面需要用到python、modbus、pyqt5等相关知识。下文推荐学习路线与顺序


一、python基础

python相关内容需要掌握的是基础句法与数据类型。除此之外需要重点掌握学习的为面向对象的相关知识,包括类、类方法、成员变量、继承、实例化、方法、对象等。还要掌握使用pip安装库。
关于python基础的教程很多,不多赘述,在此推荐:

Python 基础教程
https://www.runoob.com/python/python-tutorial.html

可以方便查询学习基础知识


二、开发环境

1.pycharm

PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。对于控制界面编写来说比较方便。thonny由于比较轻量级,所以不太适合开发较为复杂的项目。
安装与环境配置教程:

https://blog.csdn.net/weixin_46211269/article/details/119934323?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168869145116800215015158%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168869145116800215015158&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-119934323-null-null.142v88insert_down38v5,239v2insert_chatgpt&utm_term=pycharm%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187

比较重要的是要会在解释器中添加软件包,基本使用方式自行搜索教程。
在使用过程中比较重要的库如下所标,其他的库在开发过程中按需添加
在这里插入图片描述

2.PyQt5

PyQt5 是 Digia的一套 Qt5 应用框架与 python 的结合,同时支持 python2.x和 python3.x。关于PyQt5 的内容需要仔细认真学习,因为这是我们搭建软件界面的方法,此过程中也容易产生许多的bug。
PyQt5 的配置教程如下:

1.PyQt5快速上手 课件
https://doc.itprojects.cn/0001.zhishi/python.0008.pyqt5rumen/index.html#/README
2.PyQt5 快速入门
https://www.bilibili.com/video/BV1LT4y1e72X/?spm_id_from=333.999.0.0

此教程我觉的非常的好,网页版与视频版配合基本上可以很快上手。不过在学习时教程里用代码进行界面搭建的相关内容可以简单听听,不必太过深入,因为后面有Qt Designer的教程,使用Qt Designer可以快速便捷的搭建界面。


三、与硬件通信相关知识

1.modbus协议

modbus协议是比较广泛的硬件通信协议,使用此协议我们便可通过电脑与变频器进行通信,从而达到控制的目的。关于此方面内容也需要认真学习。
modbus教程如下:

1.值得收藏 Modbus RTU 协议详解
https://blog.csdn.net/qq153471503/article/details/124317894?spm=1001.2014.3001.5506
2.Modbus协议介绍与仿真器Modbus Poll、Modbus Slave使用指南
https://blog.csdn.net/xijinno1/article/details/126805026?spm=1001.2014.3001.5506
3.【使用篇4】50分钟完全学会MODBUS通讯协议
https://www.bilibili.com/video/BV1TW4y1C7Ng/?spm_id_from=333.999.0.0&vd_source=e757796f5a67e95f6d2bf27fcb3eed2d
4.modbus通讯是什么?手把手教你使用串口助手读取485仪表
https://www.bilibili.com/video/BV1UC4y1t7ut/?spm_id_from=333.999.0.0&vd_source=e757796f5a67e95f6d2bf27fcb3eed2d
5.Modbus协议介绍与仿真器Modbus Poll、Modbus Slave使用指南
https://blog.csdn.net/xijinno1/article/details/126805026?spm=1001.2014.3001.5506

以上教程可以配合使用,相互参考学习。

2.modbus_tk库

modbus_tk是python中用来使用modbus协议与硬件进行通讯的库。通过此库我们就可以使软件界面与变频器进行通讯,从而可以通过软件界面进行控制变频器,读取变频器中的数据。
modbus_tk相关的教程如下:

1.[原创]python下通过modbus_tk实现modbus主机
https://blog.csdn.net/ysgjiangsu/article/details/84581224?spm=1001.2014.3001.5506
2.使用python制作MODBUS RTU主站调试工具(二)—— modbus_tk配置
https://blog.csdn.net/weixin_45263626/article/details/108428448?spm=1001.2014.3001.5506
3.python 基于modbus_tk库实现modbusTCP 主站和从站[非常详细]
https://blog.csdn.net/wsnd123321/article/details/126138031?spm=1001.2014.3001.5506
4.python玩转modbus
https://blog.csdn.net/pista/article/details/121911024?spm=1001.2014.3001.5506
5.[原创]PyQT基于Modbus_tk开发Modbus上位机
https://blog.csdn.net/ysgjiangsu/article/details/84633954?spm=1001.2014.3001.5506
6.modbus-tk学习笔记
https://blog.csdn.net/qq_43334597/article/details/116852382?spm=1001.2014.3001.5506

3.串口配置与数据读取

在上位机与变频器通讯时,需要寻找与配置串口。python通过serial与serial.tools.list_ports库来进行寻找串口与通过串口读取设备数据。
serial库相关教程如下:

1.Python获取电脑所有USB串口名称
https://blog.csdn.net/shanhehaoda_/article/details/128167339?spm=1001.2014.3001.5502
2.菜鸟之路——Python学习之串口通信(与STC89C51)源码及打包发布试水
https://blog.csdn.net/weixin_33812433/article/details/92232131?spm=1001.2014.3001.5506
3.python实现读取串口数据,并写入数据库
https://blog.csdn.net/qq_37037348/article/details/90228927?spm=1001.2014.3001.5506
4.Python通过串口实现51单片机传输数据
https://blog.csdn.net/sinat_51429617/article/details/125011567?spm=1001.2014.3001.5506
5.Python学习笔记——串口配置以及发送数据
https://blog.csdn.net/qq_14997473/article/details/80875722?spm=1001.2014.3001.5506
6.[原创]PyQT下枚举USB串口/CH340/PL2303等设备
https://blog.csdn.net/ysgjiangsu/article/details/84667996?spm=1001.2014.3001.5506

以上教程并不是都和变频器的modbus相关的串口通信,在学习时可以仅参考串口相关内容。

四、硬件参数配置

有关硬件的通讯组参数、控制命令通讯地址、寄存器的地址等相关的参数,需要查询硬件的说明书,根据说明书的要求进行配置与发送接收数据。

1.modbus通讯组参数

使用modbus协议的硬件在用上位机进行控制之前,需要在硬件的界面上修改其相关参数,使得硬件能够以正确的参数与上位机通讯。
以变频器SKI780为例,根据说明书,P0-02参数为控制源的选择,P0-03为主频率源选择

P0-02:2
p0-03:9

在变频器上修改完成后,频率源就改为了上位机通过modbus发送信号。接下来修改MODBUS通讯组参数:

	PD-00:6005(波特率选择)
    PD-01:3(modbus数据格式选择)
    PD-02:1(本机地址设置)
    PD-03:02(modbus响应延迟设置)
    PD-04:0(通讯超时时间)
    PD-05:01(modbus协议选择)

2.寄存器地址组参数

以变频器SKI780为例,根据说明书:

1)P0-16组的功能参数
    其通讯地址为 F010H,其中 F0H 代表 P0 组功能参数,
    10H 代表功能码在功能组中序号 16 的十六进制数据格式
    例如P0-03通讯地址为F003,转为modbus_tk中的startAddr参数为6114432)AC-08 功能参数
    其通讯地址为 AC08,其中 ACH 代表 AC 组功能参数,
    08H 代表功 能码在功能组中序号 8 的十六进制数据格式

3.控制命令通讯地址

以变频器SKI780为例,根据说明书:

1)在 寄存器地址F0-02(命令源P0-02参数)选择为2(通讯控制)时
    上位机通过通讯地址2000H(startAddr=8192)
    可以实现对变频器的启停 等相关命令控制,控制命令定义如下:
        1:正转运行
        2:反转运行
        3:正转点动
        4:反转点动
        5:自由停机
        6:减速停机
        7:故障复位
    例:正转 01 06 20 00 00 012)设置频率地址为1000(startAddr=4096),
    !!!注意:若value值为4000,则设置频率值为20.00

另以SKI600变频器为例,根据说明书,所有参数设置如下:

频率源配置
	F0-06:2 (运行命令通道) 0
    F0-07:2 (主频率源A选择)
MODBUS组
    FB-01:2 (本机地址设置为2)
    FB-02:2 (波特率设置)
    FB-03:0 (数据格式)
 控制命令:
    改变操作地址2000
    01:正转 09反转 03停机
    改变频率地址:2001 
    !输入值与设定频率值相同,输入4000,实际设定值为40.00

五、上位机与下位机接线

上位机可通过USB转RS485的转接头连接RS485设备,具体的接线方式如下图
在这里插入图片描述

六、串口调试

在进行软件控制之前,可通过调试软件进行编写的上位机软件调试以及对硬件的调试。
调试教程如下:

1.Modbus协议介绍与仿真器Modbus Poll、Modbus Slave使用指南
https://blog.csdn.net/xijinno1/article/details/126805026?spm=1001.2014.3001.5506
2.modbus仿真器读取RS485数据
https://blog.csdn.net/fanshuaifang/article/details/120154659?spm=1001.2014.3001.5506
3.『实用教程』VSPD虚拟串口工具——从此告别硬件串口调试
https://chenyuefeng.blog.csdn.net/article/details/88391265?spm=1001.2014.3001.5506
4.用Python实现Modbus-RTU协议及串口调试(一)
https://blog.csdn.net/silencestarsky/article/details/120105465?spm=1001.2014.3001.5506

总结

按照顺序以上的学习完成后,即可进行变频器上位机的编写与调试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值