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 に従ってシリアル・ラインのみであるため、フィルタリングされます:
- QModbusRequest::ReadExceptionStatus
- QModbusRequest::Diagnostics
- QModbusRequest::GetCommEventCounter
- QModbusRequest::GetCommEventLog
- QModbusRequest::ReportServerId
TCP サーバーへのリクエストは例外コード QModbusExceptionResponse::IllegalFunction の Modbus 例外レスポンスで応答されます。
本書に含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。