程序员开发实例大全宝库

网站首页 > 编程文章 正文

Qt QModbusRtuSerialSlave类(qty是什么单位的缩写)

zazugpt 2024-08-27 00:36:07 编程文章 17 ℃ 0 评论

1. 概述

QModbusRtuSerialSlave类表示Modbus服务器,该服务器使用串行端口与Modbus客户端进行通信。

 Header:  #include <QModbusRtuSerialSlave>
 qmake: QT += serialbus 
 Since: Qt 5.8 
 Inherits: QModbusServer

通过Modbus进行通信需要在单个Modbus客户端实例和多个Modbus服务器之间进行交互。此类通过串行端口提供Modbus服务器实现。

由于多个Modbus服务器实例可以同时(使用串行总线)与Modbus客户端进行交互,因此服务器通过其 serverAddress()进行标识。

2. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

3. 公有成员方法

 QModbusRtuSerialSlave(QObject *parent = nullptr)
 构造一个具有指定parent的QModbusRtuSerialSlave 。所述serverAddress预设为1。
     
 virtual ~QModbusRtuSerialSlave()
 析构函数     
     

4. Reimplemented Public Functions

 virtual bool processesBroadcast() const override
 重新实现:QModbusServer :: processesBroadcast()常量。

5. Reimplemented Protected Functions

 virtual void close() override
 重新实现:QModbusDevice :: close()。
     
 virtual bool open() override
 重新实现:QModbusDevice :: open()。
 注意:调用此函数时,现有的缓冲数据将从串行端口中删除。
     
 virtual QModbusResponse processRequest(const QModbusPdu &request) override
 重新实现:QModbusServer :: processRequest(const QModbusPdu&request)。

 处理由指定的Modbus客户端请求请求并返回一个Modbus响应。

 MEI类型13(0x0D)的Modbus函数QModbusRequest :: EncapsulatedInterfaceTransport CANopen通用参考被滤除,
 因为它通常仅是Modbus TCP或Modbus串行ASCII。

 对RTU串行从站的请求将通过Modbus异常响应(带有异常代码QModbusExceptionResponse :: IllegalFunction)来回答。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表