一种驱动器用上位机数据交互方法以及系统与流程

    专利查询2026-05-12  5


    本发明涉及一种驱动器用上位机数据交互方法以及系统。


    背景技术:

    1、驱动器系统作为工业生产中的重要组成部分,在各种设备和系统中发挥着至关重要的作用。驱动器通过控制电机或其他执行器的运动,实现对设备的精确控制和调节,从而为工业生产提供高效、精准的动力支持。

    2、在驱动器研发和现场调试过程中,需要有可视化的界面对驱动起进行指令控制、数据分析及状态监控,基于个人电脑的上位机软件因其高效便捷成为了主要工具之一。当前市场上所见的上位机软件大多存在:企业内各产品不兼容、通信方式单一、用户体验不佳、功能有限、操作繁琐等问题。


    技术实现思路

    1、本发明的目的在于提供一种驱动器用上位机数据交互方法,以解决上述背景技术中提出的问题。为实现上述目的,本发明提供如下技术方案:

    2、一种驱动器用上位机数据交互方法,包括以下步骤:

    3、s101、在工程开始对话框中选择设备类型和访问等级;设备类型根据驱动器的类别选择变频器或伺服器,访问等级选择“用户”或“厂家”,选择“厂家”时需要输入厂家密码;

    4、s102、选择通信模式,即选择rs485或usb连接方式;根据选择的通信模式设置相应的参数;

    5、s103、打开串口,并判断打开串口是否成功,若打开失败,则通信失败,进入s108;若打开成功,则进入s104测试通信是否正常;

    6、具体地,打开串口是通过s102中设置的参数进行的;

    7、s104、向下位机发送modbus通信系统诊断(08)报文,若测试通信正常,则进入s105;若测试通信失败,则根据波特率列表轮询波特率,若轮询波特率成功,则进入s105;若轮询波特率失败,即波特率列表遍历完毕仍然测试失败,则通信失败,进入s108;

    8、s105、根据s102中设置的通信模式进行判断,若为rs485,则进入s106;若为usb,进入s107;

    9、s106、得到下位机的实际波特率,与s102中设置的期望波特率进行比较;

    10、若二者一致,则通信成功,进入s107;若二者不一致,则向所述驱动器下位机发送写单个寄存器(06)报文,更改所述驱动器下位机特率为期望波特率,进入s107;

    11、s107、通信成功,进入s109;

    12、s108、通信失败,进入s110;

    13、s109、向所述驱动器下位机发送读单个寄存器(03)报文,读取所述驱动器下位机的版本信息与访问权限;若s101中选择了访问等级为“厂家权限”并输入了密码,则向所述驱动器下位机发送写单个寄存器(06)报文,向所述驱动器下位机写入厂家密码;

    14、s110、加载设备功能码表excel文件,初始化本上位机软件中存储的所述驱动器下位机各功能码的数据,若通信成功,则进入s111;若通信失败,则本上位机软件以“离线模式”运行;

    15、s111、向所述驱动器下位机发送自定义modbus读取功能码组容量(67)报文,发送自定义modbus读取功能码属性(6a)报文,发送读单个寄存器(03)报文,更新本上位机软件中存储的所述驱动器下位机各功能码组的容量、各功能码的属性和当前值数据。

    16、在s102中,若选择rs485,进而设置串口号、期望波特率、数据位、校验位、停止位等串口参数;若选择usb,则只需设置串口号一个参数。

    17、本发明还提供一种驱动器用上位机数据交互系统,用于执行以上所述的上位机数据交互方法,包括可视化模块、数据处理模块、通信模块,其中:

    18、所述可视化模块,包括参数编辑器、示波器、监控台、参数宏、故障记录及状态栏多个ui界面窗口;

    19、所述数据处理模块,包括任务队列模块、任务调度线程模块、数据更新函数模块,所述数据处理模块主要负责管理各项待执行任务,以及驱动器功能码数据的更新;

    20、所述通信模块,所述通信模块主要负责本上位机软件与驱动器下位机之间的通信,通过串口收发modbus报文,从而实现数据交流。

    21、所述任务队列模块,用来存储自定义任务类的实例化对象;

    22、所述自定义任务类包含的主要信息包括任务对象的任务id,任务对象的执行优先度,以及任务对象对应的modbus报文;所述任务id为使用宏定义表示的十六进制整数;用户在所述可视化模块的各界面进行用户操作时会实例化自定义任务类对象,所述任务队列根据各任务对象的执行优先度对它们进行入队操作。

    23、所述任务调度线程模块,用于发出包含所述任务modbus报文,以及预计返回报文长度数据的调度信号;所述信号与所述通信模块中的串口通信函数绑定;所述任务执行完毕之后将从所述任务队列中移除。

    24、所述数据更新函数模块,在所述任务调度线程执行完一个任务之后,对所述连接驱动器下位机的modbus返回报文进行处理,即更新本上位机软件中存储的所述驱动器下位机的对应功能码的数据,所述数据更新完成后,展示所述数据的ui界面进行更新。

    25、所述通信模块包括串口连接函数模块,modbus线程模块,串口通信函数模块。

    26、所述串口连接函数模块,在本上位机软件尝试与驱动器下位机通信时进行调用;

    27、所述modbus线程模块,接收所述任务调度线程发出的所述调度信号,与之绑定的所述串口通信函数将所述调度信号中包含的modbus报文通过串口发送至所述驱动器下位机;

    28、所述串口通信函数模块,将所述调度信号中包含的modbus报文发送至所述驱动器下位机后,会在一定的有限时间内通过串口获取所述驱动器下位机的返回报文,若串口中的可读字节数与所述调度信号值包含的预计返回报文长度的数据相等,则获取串口中的所有字节数据并将其返回至所述任务调度线程。

    29、本发明的有益效果在于:本发明的方法以适配特定的驱动器下位机,改善用户使用体验,降低开发与维护成本。



    技术特征:

    1.一种驱动器用上位机数据交互方法,其特征在于:包括以下步骤:

    2.根据权利要求1所述的一种驱动器用上位机数据交互方法,其特征在于:

    3.一种驱动器用上位机软件系统,用于执行权利要求1的上位机数据交互方法,其特征在于:包括可视化模块、数据处理模块、通信模块,其中:

    4.根据权利要求1所述的一种驱动器用上位机软件系统,其特征在于:

    5.根据权利要求1所述的一种驱动器用上位机软件系统,其特征在于:


    技术总结
    本发明公开了一种驱动器用上位机数据交互方法.本发明对UI人机交互界面进行了模块化设计,为用户和技术人员提供了操作友好的数据可视化界面。使用任务调度线程处理任务队列中自定义任务类实例化对象的执行,即发出信号;使用Modbus线程处理与驱动器下位机的数据交换,通过自定义Modbus报文格式,在建立通信时可以根据连接的驱动器下位机版本更新功能码属性,对设备功能码表文件的依赖程度低,对于不同版本的驱动器下位机,只需要更新维护一个通用的设备功能码表文件,大大减少驱动器软件升级时带来的工作量,提高研发效率。对于工业生产现场驱动器下位机安装位置不易接触或人员禁止靠近的情况。

    技术研发人员:张宇翔,樊胜利
    受保护的技术使用者:深圳市默贝克驱动技术有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-35612.html

    最新回复(0)