QModbusTcpServer Class
QModbusTcpServer クラスは Modbus クライアントとの通信に TCP サーバを使用する Modbus サーバを表します。詳細...
ヘッダー | #include <QModbusTcpServer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
qmake: | QT += serialbus |
継承: | 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 に従ってシリアル・ラインのみであるためフィルタリングされます:
- QModbusRequest::ReadExceptionStatus
- QModbusRequest::Diagnostics
- QModbusRequest::GetCommEventCounter
- QModbusRequest::GetCommEventLog
- QModbusRequest::ReportServerId
TCP サーバーへのリクエストは例外コード QModbusExceptionResponse::IllegalFunction の Modbus 例外レスポンスで応答されます。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.