【Qt】QModbusDevice类

2023-11-06

1、概述

QModbusDevice类是Modbus类 QModbusServer和 QModbusClient的基类。

Header: #include

qmake: QT += serialbus

Since: Qt 5.8

Inherits: QObject

Inherited By: QModbusClient and QModbusServer

2. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

3. 公有类型

enum ConnectionParameter { SerialPortNameParameter, SerialParityParameter, SerialBaudRateParameter, SerialDataBitsParameter, SerialStopBitsParameter, …, UserParameter }
enum Error { NoError, ReadError, WriteError, ConnectionError, ConfigurationError, …, UnknownError }
enum State { UnconnectedState, ConnectingState, ConnectedState, ClosingState }

枚举QModbusDevice :: ConnectionParameter

该枚举描述了可以为Modbus设备连接设置的可能值。

通用值(和关联的类型)为:

 enum QModbusDevice::Error类型

该枚举描述了所有可能的错误情况。

 

enum QModbusDevice::State

该枚举描述了所有可能的设备状态。

 

4. 成员方法

QModbusDevice::QModbusDevice(QObject *parent = nullptr)
用指定的parent构造一个Modbus设备。    
    
[signal] void QModbusDevice::errorOccurred(QModbusDevice::Error error)    
当错误发生,该信号被发送   
    
[signal] void QModbusDevice::stateChanged(QModbusDevice::State state)    
每次设备状态更改时都会发出此信号。新状态由state表示。    
    
[virtual] QModbusDevice::~QModbusDevice()   
析构函数    
    
[pure virtual protected] void QModbusDevice::close()    
该函数负责关闭Modbus连接。实现必须确保实例的状态()设置为QModbusDevice :: UnconnectedState。    
    
bool QModbusDevice::connectDevice()    
将设备连接到Modbus网络。返回true是否成功启动连接过程;否则返回false。否则false。最终连接成功确认要求状态()更改为QModbusDevice :: ConnectedState。      
QVariant QModbusDevice::connectionParameter(int parameter) const    
返回与给定连接参数关联的值。返回的值可以为空。

默认情况下,QModbusDevice使用一些通用值初始化。串行端口设置为偶校验,波特率为每秒19200位,八个数据位和一个停止位。主机地址的网络设置设置为本地主机,端口设置为502。

注意:为了使串行连接成功,需要将SerialPortNameParameter设置为有效的通信端口。可以从QSerialPortInfo获得有关有效串行端口的信息。

注意:如果已经连接了设备,则在重新连接设备后会考虑设置。
    
QIODevice *QModbusDevice::device() const    
返回用于ModBus通信或设备尚未完全初始化时返回nullptr
    
    
void QModbusDevice::disconnectDevice()    
断开设备连接。
    
    
QModbusDevice::Error QModbusDevice::error() const
返回设备的错误状态。
    
QString QModbusDevice::errorString() const    
返回设备错误的描述性错误文本。
    
[pure virtual protected] bool QModbusDevice::open()    
该函数由connectDevice()调用。子类必须提供true在成功进行Modbus连接或连接初始化后返回的实现;否则返回false。

实现必须确保成功时将实例的状态()设置为QModbusDevice :: ConnectingState或QModbusDevice :: ConnectedState;否则QModbusDevice :: UnconnectedState。通常,当连接过程异步向后报告时使用QModbusDevice :: ConnectingState,而在同步连接行为的情况下使用QModbusDevice :: ConnectedState。
    
 void QModbusDevice::setConnectionParameter(int parameter, const QVariant &value)
 将parameter的值设置为value。如果参数已经存在,则先前的值将被覆盖。活动或正在运行的连接不受此类参数更改的影响。
     
 [protected] void QModbusDevice::setError(const QString &errorText, QModbusDevice::Error error)       
 设置设备的错误状态。发生错误时,ModBus设备实现必须使用此功能来设置错误类型和描述性errorText。       
        
 [protected] void QModbusDevice::setState(QModbusDevice::State newState)   
 将设备的状态设置为newState。Modbus设备实现必须使用此功能来更新设备状态。
     
 QModbusDevice::State QModbusDevice::state() const  
 返回设备的当前状态。    

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Qt】QModbusDevice类 的相关文章

随机推荐

  • webpack 自动引入常用模块

    webpack 自动引入常用模块 描述 比如 lodash 这种库 要用时每个 js 文件都需要如下引入 import from lodash console log join 1 2 怎么才能不引入 lodash 也能直接 join 等方
  • OneDrive同步角标消失 - 解决方案

    问题 在电脑端使用OneDrive时 文件管理器OneDrive文件夹内的文件会在左下角显示同步状态 如下图 若没有显示同步角标 则此功能出现异常 下文介绍如何显示同步角标 值得一提的是 同步角标只起到显示作用 没有同步角标并不影响OneD
  • NCP1342芯片替代料PN8213 65W氮化镓充电器方案

    氮化镓快充已然成为了当下一个非常高频的词汇 在氮化镓快充市场迅速增长之际 65W这个功率段恰到好处的解决了大部分用户的使用痛点 从而率先成为了各大品牌的必争之地 ncp1342替代料PN8213氮化镓充电器主控芯片 适用于65w氮化镓充电器
  • 大数据课程K2——Spark的RDD弹性分布式数据集

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 了解Spark的RDD结构 掌握Spark的RDD操作方法 掌握Spark的RDD常用变换方法 常用执行方法 一 Spark最核心的数据结构 RDD弹性分布式
  • asp.net实现验证码程序

    1 可以实现验证码的自动更新 2 验证码html代码 li class mjiao2 span 验 证 码 span li
  • 出现Uncaught ReferenceError: $ is not defined错误

    今天在写ajax请求的时候 出现了Uncaught ReferenceError is not defined报错 未定义是为什么呢 后来才知道 原因一 你未引用jquery库jquery min js文件 或者说路径错误 原因二 忽略了H
  • 脚本语言与编译语言的区别

    文章目录 一 语法差异 二 执行方式差异 三 应用领域差异 四 总结 一 语法差异 脚本语言 脚本语言通常使用解释器逐行执行 不需要事先编译 它的语法相对简单 易于学习和使用 常见的脚本语言有Python JavaScript和Ruby等
  • 机器学习笔记(4)— 多特征变量

    1 多特征变量 本文主要介绍多特征变量的梯度下降法和特征缩放内容 2 多特征 多变量 多特征变量的目标函数为 假设x0 1 则目标函数为 把特征量x看作是一个向量 把特征量的参数也看做一个向量 所以目标函数可以表示为 多特征量的目标函数 又
  • linux 下 npm安装依赖报:stack Error: `gyp` failed with exit code: 1

    解决办法 切换到当前项目下即可 gt rm rf node gyp gt npm install g node gyp gt rm rf 项目 node modules 再次 npm install即可
  • Matlab学习入门篇(五)—— 数据可视化

    文章目录 一 离散数据图 1 1散点图 1 2 条形图 二 线图 2 1 二维线图 2 2 三维参数化曲线绘图函数 三 曲面 体积和多边形 数据可视化是指运用 计算机图形学和 图像处理技术 将数据转化为图形或图像并在屏幕上显示出来 以进行交
  • 合成数据加速高质量数据供给,AIGC的救星来了!

    毫无疑问 人工智能发展离不开海量数据 但真实世界的数据是有限的 且数据获取 数据标注等面临诸多难题 数据成为AI行业的 掣肘 如何打破 半个月来 数据要素频繁获得政策部门发声 中国证监会科技监管局局长姚前日前发文建议重点发展基于AIGC技术
  • MYSQL常见的4种数据类型

    转自 微点阅读 https www weidianyuedu com 一 数据类型是什么 数据类型是指列 存储过程参数 表达式和局部变量的数据特征 它决定了数据的存储格式 代表了不同的信息类型 有一些数据是要存储为数字的 数字当中有些是要存
  • Rust- 迭代器

    In Rust an iterator is a pattern that allows you to perform some task on a sequence of items in turn An iterator is resp
  • springBoot整合kafka配置

    pom xml
  • Java中定义常量(Constant) 的几种方法

    Method One interface ConstantInterface String SUNDAY SUNDAY String MONDAY MONDAY String TUESDAY TUESDAY String WEDNESDAY
  • python 之 使用 for-in 循环遍历范围,元组,列表,字典

    语法格式 for 变量 in 范围 元素 集合等 for循环语法结构列如序列或迭代器作为其参数每次迭代其中一个元素 与while循环一样 支持break continue else语句 一般情况下 循环次数未知采用while循环 循环次数已
  • 硬件安全技术——芯片安全设计技术2

    硬件安全技术 芯片安全设计技术2 芯片安全设计技术2 一 常见的公钥密码算法 1 公钥密码概述 2 RSA密码算法 3 RSA算法描述 4 ECC椭圆曲线算法 二 常见的使用场景 1 非对称算法应用 2 常见应用1 网络认证 3 常见应用2
  • 关于oracle和mysql等服务不能开机自启的解决方法

    oracle服务设置自启动 开始菜单点重启服务是可以正常启动的 但点关机后再通过开关机键启动windows 服务无法正常启动 尝试了更改注册表 查看系统日志 修复ntdll dll文件 更换dll文件修改权限 重装系统等方式后 都无法解决
  • 【C语言初阶】 数组

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 认识数组 二 一维数组的创建和初始化 1 数组的创建 2 数组的初始化 字符的初始化 3 数组的引用 4 数组在内存的存储 三 二维数组的创
  • 【Qt】QModbusDevice类

    1 概述 QModbusDevice类是Modbus类 QModbusServer和 QModbusClient的基类 Header include qmake QT serialbus Since Qt 5 8 Inherits QObj