QModbusTcpServer Class

QModbusTcpServer クラスは Modbus クライアントとの通信に TCP サーバを使用する Modbus サーバを表します。詳細...

Header: #include <QModbusTcpServer>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Inherits: QModbusServer

パブリック関数

QModbusTcpServer(QObject *parent = nullptr)
virtual ~QModbusTcpServer()
void installConnectionObserver(QModbusTcpConnectionObserver *observer)

シグナル

void modbusClientDisconnected(QTcpSocket *modbusClient)

再実装された保護された関数

virtual void close() override
virtual bool open() override
virtual QModbusResponse processRequest(const QModbusPdu &request) override

詳細説明

Modbus 経由の通信は、単一の Modbus クライアント・インスタンスと単一の Modbus サーバ間の相互作用を必要とします。このクラスはTCPサーバを介したModbusサーバの実装を提供します。

Modbus TCP ネットワークは複数のサーバを持つことができます。サーバーはQModbusTcpClient で表されるクライアント・デバイスによって読み取り/書き込みされます。

メンバ関数ドキュメント

[explicit] QModbusTcpServer::QModbusTcpServer(QObject *parent = nullptr)

指定されたparent で QModbusTcpServer を構築します。serverAddress プリセットは255 です。

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

QModbusTcpServer インスタンスを破棄します。

[override virtual protected] void QModbusTcpServer::close()

再インプリメント:QModbusDevice::close().

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

新しい TCP クライアントがこのサーバ・インスタンスに接続したときに通知を取得するために使用できるobserver をインストールします。さらに、observer を使用して、着信 TCP 接続を拒否することもできます。

QModbusTcpServer 指定された の所有権を取得します。以前に設定されていたオブザーバはすべて削除されます。オブザーバをアンインストールするには、 をパラメータとしてこの関数を呼び出します。observer nullptr

QModbusTcpConnectionObserverも参照してください

[signal] void QModbusTcpServer::modbusClientDisconnected(QTcpSocket *modbusClient)

このシグナルは、現在の TCP ベースmodbusClient が Modbus TCP サーバーから切断されたときに発せられます。同時に複数の TCP クライアントが接続されている可能性があることに注意してください。

新しい接続の着信に関する通知は、installConnectionObserver() を介してQModbusTcpConnectionObserver をインストールすることで受信できます。

installConnectionObserverも参照して ください。

[override virtual protected] bool QModbusTcpServer::open()

再インプリメント:QModbusDevice::open().

[override virtual protected] QModbusResponse QModbusTcpServer::processRequest(const QModbusPdu &request)

再リプリメント:QModbusServer::processRequest(const QModbusPdu &request)。

request で指定された Modbus クライアント・リクエストを処理し、Modbus レスポンスを返します。

以下の Modbus ファンクション・コードは Modbus Application Protocol Specification 1.1b に従ってシリアル・ラインのみであるため、フィルタリングされます:

TCP サーバーへのリクエストは例外コード QModbusExceptionResponse::IllegalFunction の Modbus 例外レスポンスで応答されます。

本書に含まれるドキュメントの著作権はそれぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。