QModbusDeviceIdentification Class
QModbusDeviceIdentification은 Modbus 서버의 물리적 및 기능적 특성을 나타내는 컨테이너 클래스입니다. 더 보기...
| 헤더: | #include <QModbusDeviceIdentification> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake: | QT += serialbus |
공개 유형
| enum | ConformityLevel { BasicConformityLevel, RegularConformityLevel, ExtendedConformityLevel, BasicIndividualConformityLevel, RegularIndividualConformityLevel, ExtendedIndividualConformityLevel } |
| enum | ObjectId { VendorNameObjectId, ProductCodeObjectId, MajorMinorRevisionObjectId, VendorUrlObjectId, ProductNameObjectId, …, UndefinedObjectId } |
| enum | ReadDeviceIdCode { BasicReadDeviceIdCode, RegularReadDeviceIdCode, ExtendedReadDeviceIdCode, IndividualReadDeviceIdCode } |
공개 함수
| QModbusDeviceIdentification() | |
| QModbusDeviceIdentification::ConformityLevel | conformityLevel() const |
| bool | contains(uint objectId) const |
| bool | insert(uint objectId, const QByteArray &value) |
| bool | isValid() const |
| QList<int> | objectIds() const |
| void | remove(uint objectId) |
| void | setConformityLevel(QModbusDeviceIdentification::ConformityLevel level) |
| QByteArray | value(uint objectId) const |
정적 공용 멤버
| QModbusDeviceIdentification | fromByteArray(const QByteArray &ba) |
상세 설명
장치 식별(Device Identification) 인터페이스는 주소 지정 가능한 데이터 요소 집합으로 구성된 주소 공간으로 모델링됩니다. 데이터 요소를 객체라고 하며, 객체 식별자( ObjectId )가 이를 식별합니다.
멤버 유형 설명서
enum QModbusDeviceIdentification::ConformityLevel
장치의 식별 적합성 수준과 지원되는 액세스 유형을 정의합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | 기본 식별(스트림 액세스). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | 일반 식별(스트림 액세스). |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | 확장 식별 (스트림 액세스). |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | 기본 식별 (스트림 액세스 및 개별 액세스). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | 일반 식별 (스트림 액세스 및 개별 액세스). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | 확장 식별 (스트림 액세스 및 개별 액세스). |
ReadDeviceIdCode도 참조하십시오 .
enum QModbusDeviceIdentification::ObjectId
이 열거형은 가능한 서버 객체들을 설명합니다. 이 인터페이스는 다음 세 가지 범주의 객체로 구성됩니다:
기본 장치 식별. 이 범주의 모든 객체는 필수입니다.
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | 장치의 제조업체 이름. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | 장치의 제품 코드입니다. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | 제품 버전 번호. |
일반 장치 식별. 이 범주의 모든 객체는 표준으로 정의되며 선택 사항입니다.
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | 장치의 공급업체 URL입니다. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | 장치의 제품명. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | 장치의 모델명. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | 장치의 사용자 애플리케이션 이름. |
예약된 범위(즉, ReservedObjectId >= ObjectId < ProductDependentObjectId). 사용하지 마십시오.
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | 예약된 객체 ID의 첫 번째 값. |
확장된 장치 식별자. 이 데이터는 모두 장치에 따라 다르며 선택 사항입니다.
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | 제품별 식별자의 첫 번째 가능한 값. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | 사용하지 마십시오. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
읽기 식별 요청의 액세스 유형을 정의합니다.
스트림 액세스:
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | 기본 장치 식별 정보를 가져오기 위한 요청입니다. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | 일반 장치 식별자를 가져오기 위한 요청. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | 확장된 장치 식별 정보를 가져오기 위한 요청. |
개별 액세스:
| 상수 | 값 | 설명 |
|---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | 특정 식별 객체 하나를 가져오기 위한 요청. |
멤버 함수 설명서
[constexpr noexcept default] QModbusDeviceIdentification::QModbusDeviceIdentification()
유효하지 않은 QModbusDeviceIdentification 객체를 생성합니다.
QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const
장치의 인증 준수 수준과 지원되는 액세스 유형을 반환합니다.
setConformityLevel()도 참조하십시오 .
bool QModbusDeviceIdentification::contains(uint objectId) const
지정된 objectId 에 해당하는 항목이 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.
ObjectId도 참조하십시오 .
[static] QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)
바이트 배열 ba 을 QModbusDeviceIdentification 객체로 변환합니다.
참고: 바이트 배열을 처리하는 동안 오류가 발생하면 반환된 객체가 비어 있거나 유효하지 않을 수 있습니다.
참조: isValid()
bool QModbusDeviceIdentification::insert(uint objectId, const QByteArray &value)
objectId 를 키로, value 를 값으로 하는 새 항목을 삽입합니다. 이미 objectId 을 키로 하는 항목이 존재하는 경우, 해당 항목의 값은 value 로 대체됩니다.
value 의 크기가 245바이트 미만이고, objectId 가 QModbusDeviceIdentification::UndefinedObjectId 보다 작을 경우 true 를 반환합니다.
ObjectId도 참조하십시오 .
bool QModbusDeviceIdentification::isValid() const
장치 식별 객체가 유효한 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
ProductNameObjectId, ProductCodeObjectId 및 MajorMinorRevisionObjectId 가 비어 있지 않은 값으로 설정되어 있으면 장치 식별 객체는 유효한 것으로 간주됩니다. 이 경우에도 객체에는 유효한 객체 ID와 관련 데이터가 포함될 수 있습니다.
참고: 기본 생성된장치 식별객체는 유효하지 않습니다.
QList<int> QModbusDeviceIdentification::objectIds() const
QModbusDeviceIdentification 객체에 포함된 모든 객체 ID를 오름차순으로 정렬하여 리스트로 반환합니다.
ObjectId도 참조하십시오 .
void QModbusDeviceIdentification::remove(uint objectId)
지정된 objectId 에 해당하는 항목을 제거합니다.
ObjectId도 참조하십시오 .
void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
level 에 대한 장치의 식별 준수 수준 및 지원되는 액세스 유형을 설정합니다.
conformityLevel()도 참조하십시오 .
QByteArray QModbusDeviceIdentification::value(uint objectId) const
objectId 에 연결된 값을 반환합니다. objectId 를 가진 항목이 없는 경우, 이 함수는 기본 생성된 값을 반환합니다.
ObjectId도 참조하십시오 .
© 2026 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.