一文搞懂OPC质量码

在工业自动化系统中,数据的可靠性和准确性至关重要。为了有效管理和监控数据质量,OPC(OLE for Process Control)标准引入了质量码(Quality Codes),用于描述和标识数据的状态和可用性。本文将深入探讨OPC质量码的背景、结构以及常见的应用场景。

什么是OPC质量码?

OPC质量码是一种标准化的表示方式,用于指示数据质量的状态。它们通过数字码的形式提供了关于数据的各种信息,例如数据是否有效、是否有异常、是否可信等。这些码是OPC通信协议中的一部分,不仅在实时数据访问(如OPC DA)中使用广泛,也在更复杂的系统中(如OPC UA)扮演重要角色。

OPC质量码的分类

OPC DA 质量代码

OPC DA使用16位的质量代码来表示数据的质量状态。这些质量代码由主质量(Major Quality)和子质量(Substatus)组成,并且还包含一些特定的位来表示更多详细信息。质量代码的结构如下:

  • 质量代码(16位)
    • 主要质量(2位):Good(00),Uncertain(01),Bad(10)
    • 子状态(6位):提供详细的状态信息
    • 限制位(2位):表示值是否超过范围
    • 保留位(6位):用于扩展或特定应用

常见的OPC DA质量代码:

  • 0xC0 - Bad
  • 0x80 - Uncertain
  • 0x00 - Good
  • 例如:
    • 0xC0:Bad,通用错误
    • 0x84:Uncertain,非正常
    • 0x00:Good,正常

OPC UA 质量代码

OPC UA使用32位的状态代码(Status Codes)来表示数据的质量状态,比OPC DA提供了更详细和结构化的表示方式。状态代码不仅仅表示质量,还可以包括诊断信息和其他扩展信息。

状态代码的结构如下:

  • 状态代码(32位)
    • 主要质量(位 31-30):Good(00),Uncertain(01),Bad(10)
    • 子状态(位 29-16):提供详细的状态信息
    • 限制位和保留位(位 15-0):用于扩展和特定用途

常见的OPC UA质量代码:

  • 0x00000000 - Good
  • 0x40000000 - Uncertain
  • 0x80000000 - Bad
  • 例如:
    • 0x80070000:Bad,通用错误
    • 0x40090000:Uncertain,非正常
    • 0x00000000:Good,正常

比较与总结

  1. 表示方式

    • OPC DA使用16位质量代码,包含主要质量和子状态。
    • OPC UA使用32位状态代码,包含更多的详细信息和扩展能力。
  2. 扩展性

    • OPC UA提供了更强的扩展能力,能够表示更多的状态和诊断信息。
    • OPC DA的质量代码结构相对简单,适用于实时数据访问。
  3. 使用场景

    • OPC DA主要用于传统的实时数据访问场景。
    • OPC UA不仅用于实时数据访问,还用于报警、历史数据访问和其他高级功能,适用于更复杂的工业自动化场景。

总体来说,OPC UA的质量代码比OPC DA的质量代码更加详细和灵活,适应了现代工业自动化系统的复杂需求。

OPC质量码记录

OPCUA质量码

info code 描述
0x00000000 操作成功。
不确定 0x40000000 值不确定,但原因不明。
0x80000000 值为坏,但原因不明。
Bad_UnexpectedError 0x80010000 发生非预期错误。
Bad_InternalError 0x80020000 编程或配置错误时发生内部错误。
Bad_OutOfMemory 0x80030000 完成操作所需内存不足。
Bad_ResourceUnavailable 0x80040000 操作系统资源不可用。
Bad_CommunicationError 0x80050000 发生底层通信错误。
Bad_EncodingError 0x80060000 正在序列化的对象中有非法数据,编码暂停。
Bad_DecodingError 0x80070000 数据流中有非法数据,解码暂停。
Bad_EncodingLimitsExceeded 0x80080000 栈设置的消息编码和解码限制已超出。
Bad_RequestTooLarge 0x80B80000 请求消息大小超出了服务器设置的限制。
Bad_ResponseTooLarge 0x80B90000 响应消息大小超出了客户端设置的限制。
Bad_UnknownResponse 0x80090000 从服务器接收到的响应无法识别。
Bad_Timeout 0x800A0000 操作超时。
Bad_ServiceUnsupported 0x800B0000 服务器不支持请求的服务。
Bad_Shutdown 0x800C0000 应用程序正在关闭,所以操作取消。
Bad_ServerNotConnected 0x800D0000 由于客户端未连接至服务器,操作无法完成。
Bad_ServerHalted 0x800E0000 服务器已停止,无法处理任何请求。
Bad_NothingToDo 0x800F0000 客户端传入的操作列表中无任何元素,因此不会执行任何操作。
Bad_TooManyOperations 0x80100000 请求指定的操作过多,无法进行处理。
Bad_TooManyMonitoredItems 0x80DB0000 由于订阅中的监视项过多,无法处理请求。
Bad_DataTypeIdUnknown 0x80110000 由于数据类型ID无法识别,扩展对象无法序列化或解序列化。
Bad_CertificateInvalid 0x80120000 提供的证书不是有效参数。
Bad_SecurityChecksFailed 0x80130000 验证安全时发生错误。
Bad_CertificateTimeInvalid 0x80140000 证书已过期或尚未生效。
Bad_CertificateIssuerTimeInvalid 0x80150000 发布方证书已过期或尚未生效。
Bad_CertificateHostNameInvalid 0x80160000 用于连接服务器的主机名与证书中的主机名不匹配。
Bad_CertificateUriInvalid 0x80170000 应用程序说明中指定的URI与证书中的URI不匹配。
Bad_CertificateUseNotAllowed 0x80180000 证书可能无法用于请求的操作。
Bad_CertificateIssuerUseNotAllowed 0x80190000 发布方证书可能无法用于请求的操作。
Bad_CertificateUntrusted 0x801A0000 证书未被信任。
Bad_CertificateRevocationUnknown 0x801B0000 无法确定证书是否已被吊销。
Bad_CertificateIssuerRevocationUnknown 0x801C0000 无法确定发布方证书是否已被吊销。
Bad_CertificateRevoked 0x801D0000 证书已被吊销。
Bad_CertificateIssuerRevoked 0x801E0000 发布方证书已被吊销。
Bad_UserAccessDenied 0x801F0000 用户无权限执行请求的操作。
Bad_IdentityTokenInvalid 0x80200000 用户身份令牌无效。
Bad_IdentityTokenRejected 0x80210000 用户身份令牌有效,但服务器拒绝该令牌。
Bad_SecureChannelIdInvalid 0x80220000 指定的安全通道不再有效。
Bad_InvalidTimestamp 0x80230000 时间标识超出了服务器允许的范围。
Bad_NonceInvalid 0x80240000 Nonce不是一个随机值,或长度不符合要求。
Bad_SessionIdInvalid 0x80250000 会话ID无效。
Bad_SessionClosed 0x80260000 会话已被客户端关闭。
Bad_SessionNotActivated 0x80270000 由于未调用ActivateSession,无法使用会话。
Bad_SubscriptionIdInvalid 0x80280000 订阅ID无效。
Bad_RequestHeaderInvalid 0x802A0000 请求的标头无效或丢失。
Bad_TimestampsToReturnInvalid 0x802B0000 要返回参数的时间标识无效。
Bad_RequestCancelledByClient 0x802C0000 请求已被客户端取消。
Good_SubscriptionTransferred 0x002D0000 订阅被转移至另一个会话。
Good_CompletesAsynchronously 0x002E0000 处理过程将异步完成。
Good_Overload 0x002F0000 由于资源限制,采样速度已降低。
Good_Clamped 0x00300000 写入的值已被接受,但未限定范围。
Bad_NoCommunication 0x80310000 已定义与数据源之间的通信,但尚未建立通信,无可用的最近已知值。
Bad_WaitingForInitialData 0x80320000 等待服务器从底层数据源获取值。
Bad_NodeIdInvalid 0x80330000 节点ID的语法无效。
Bad_NodeIdUnknown 0x80340000 节点ID指向服务器地址空间中不存在的节点。
Bad_AttributeIdInvalid 0x80350000 指定的节点不支持该属性。
Bad_IndexRangeInvalid 0x80360000 索引范围参数的语法无效。
Bad_IndexRangeNoData 0x80370000 指定的索引范围内无数据存在。
Bad_DataEncodingInvalid 0x80380000 数据编码无效。
Bad_DataEncodingUnsupported 0x80390000 服务器不支持为该节点请求的数据编码。
Bad_NotReadable 0x803A0000 访问等级不允许读取或订阅该节点。
Bad_NotWritable 0x803B0000 访问等级不允许写入节点。
Bad_OutOfRange 0x803C0000 值超出范围。
Bad_NotSupported 0x803D0000 不支持请求的操作。
Bad_NotFound 0x803E0000 请求的项未找到,或搜索操作已结束但无结果。
Bad_ObjectDeleted 0x803F0000 对象已被删除,无法使用。
Bad_NotImplemented 0x80400000 求取的操作未执行。
Bad_MonitoringModeInvalid 0x80410000 监视模式无效。
Bad_MonitoredItemIdInvalid 0x80420000 监视ID未指向有效的监视项。
Bad_MonitoredItemFilterInvalid 0x80430000 监视项的过滤参数无效。
Bad_MonitoredItemFilterUnsupported 0x80440000 服务器不支持请求的监视项筛选器。
Bad_FilterNotAllowed 0x80450000 监视筛选器无法与指定的属性配合使用。
Bad_StructureMissing 0x80460000 强制性架构的参数丢失或为空。
Bad_EventFilterInvalid 0x80470000 事件过滤器无效。
Bad_ContentFilterInvalid 0x80480000 内容过滤器无效。
Bad_FilterOperatorInvalid 0x80C10000 过滤器中提供了无法识别的运算符。
Bad_FilterOperatorUnsupported 0x80C20000 提供的运算符有效,但服务器不支持该过滤器运算符。
Bad_FilterOperandCountMismatch 0x80C30000 为过滤器运算符提供的操作数少于期望的操作数。
Bad_FilterOperandInvalid 0x80490000 内容过滤器中使用的操作数无效。
Bad_FilterElementInvalid 0x80C40000 引用的元素不是内容过滤器中的有效元素。
Bad_FilterLiteralInvalid 0x80C50000 引用的字面值不是有效值。
Bad_ContinuationPointInvalid 0x804A0000 连续点不再有效。
Bad_NoContinuationPoints 0x804B0000 由于所有的连续点已被分配,无法处理该操作。
Bad_ReferenceTypeIdInvalid 0x804C0000 引用类型ID无效。
Bad_BrowseDirectionInvalid 0x804D0000 浏览方向无效。
Bad_NodeNotInView 0x804E0000 节点不是视图的一部分。
Bad_ServerUriInvalid 0x804F0000 ServerUri不是有效的URI。
Bad_ServerNameMissing 0x80500000 未指定ServerName。
Bad_DiscoveryUrlMissing 0x80510000 未指定DiscoveryUrl。
Bad_SempahoreFileMissing 0x80520000 客户端指定的信号量文件无效。
Bad_RequestTypeInvalid 0x80530000 安全令牌请求类型无效。
Bad_SecurityModeRejected 0x80540000 安全模式不满足服务器设定的要求。
Bad_SecurityPolicyRejected 0x80550000 安全策略不满足服务器设定的要求。
Bad_TooManySessions 0x80560000 服务器已达到最大会话数量。
Bad_UserSignatureInvalid 0x80570000 用户令牌签名丢失或无效。
Bad_ApplicationSignatureInvalid 0x80580000 使用客户端证书生成的签名丢失或无效。
Bad_NoValidCertificates 0x80590000 客户端未向服务器提供至少一个有效且满足性能要求的软件证书。
Bad_IdentityChangeNotSupported 0x80C60000 服务器不支持更改为会话分配的用户身份。
Bad_RequestCancelledByRequest 0x805A0000 客户端通过Cancel服务取消了请求。
Bad_ParentNodeIdInvalid 0x805B0000 父节点ID未指向有效的节点。
Bad_ReferenceNotAllowed 0x805C0000 由于引用违反了数据模型设定的约束条件,无法创建引用。
Bad_NodeIdRejected 0x805D0000 由于节点ID无效或服务器不允许客户端指定节点ID,请求的节点ID被拒绝。
Bad_NodeIdExists 0x805E0000 请求的节点ID已被另一个节点使用。
Bad_NodeClassInvalid 0x805F0000 节点类无效。
Bad_BrowseNameInvalid 0x80600000 浏览器名称无效。
Bad_BrowseNameDuplicated 0x80610000 浏览名称不是共享相同父节点关系的节点中的唯一名称。
Bad_NodeAttributesInvalid 0x80620000 节点类的节点属性无效。
Bad_TypeDefinitionInvalid 0x80630000 类型定义节点ID未引用正确的类型节点。
Bad_SourceNodeIdInvalid 0x80640000 源节点ID未引用有效的节点。
Bad_TargetNodeIdInvalid 0x80650000 目标节点ID未引用有效的节点。
Bad_DuplicateReferenceNotAllowed 0x80660000 节点间的引用类型已被定义。
Bad_InvalidSelfReference 0x80670000 服务器在该节点上不允许此类自引用。
Bad_ReferenceLocalOnly 0x80680000 远程服务器引用的引用类型无效。
Bad_NoDeleteRights 0x80690000 服务器不允许删除节点。
Uncertain_ReferenceNotDeleted 0x40BC0000 服务器无法删除所有目标引用。
Bad_ServerIndexInvalid 0x806A0000 服务器索引无效。
Bad_ViewIdUnknown 0x806B0000 视图ID未指向有效的视图节点。
Bad_ViewTimestampInvalid 0x80C90000 视图时间标识不可用或不受支持。
Bad_ViewParameterMismatch 0x80CA0000 视图参数彼此不一致。
Bad_ViewVersionInvalid 0x80CB0000 视图版本不可用或不受支持。
Uncertain_NotAllNodesAvailable 0x40C00000 由于底层系统不可用,引用列表可能不完整。
Good_ResultsMayBeIncomplete 0x00BA0000 服务器应跟踪远程服务器的节点引用,但并未跟踪。结果集可能不完整。
Bad_NotTypeDefinition 0x80C80000 提供的节点ID不是自定义类型节点ID。
Uncertain_ReferenceOutOfServer 0x406C0000 相对路径中要跟踪的引用之一指向了另一服务器上地址空间中的节点。
Bad_TooManyMatches 0x806D0000 请求操作的返回匹配数量过多。
Bad_QueryTooComplex 0x806E0000 请求操作需要的服务器资源过多。
Bad_NoMatch 0x806F0000 请求的操作无匹配可返回。
Bad_MaxAgeInvalid 0x80700000 最大年龄参数无效。
Bad_HistoryOperationInvalid 0x80710000 历史详情参数无效。
Bad_HistoryOperationUnsupported 0x80720000 服务器不支持请求的操作。
Bad_InvalidTimestampArgument 0x80BD0000 定义的返回的时间标识无效。
Bad_WriteNotSupported 0x80730000 服务器不支持写入所提供的值、状态和时间标识的组合。
Bad_TypeMismatch 0x80740000 为属性提供的值与属性值的类型不匹配。
Bad_MethodInvalid 0x80750000 方法ID未指向指定对象的方法。
Bad_ArgumentsMissing 0x80760000 客户端未指定该方法的全部输入参数。
Bad_TooManySubscriptions 0x80770000 服务器已达到最大订阅数量。
Bad_TooManyPublishRequests 0x80780000 服务器已达到最大发布请求队列数量。
Bad_NoSubscription 0x80790000 无订阅可用于该会话。
Bad_SequenceNumberUnknown 0x807A0000 序列号对于服务器未知。
Bad_MessageNotAvailable 0x807B0000 请求的通知消息不再可用。
Bad_InsufficientClientProfile 0x807C0000 当前会话的客户端不支持订阅所需的一个或多个性能。
Bad_StateNotActive 0x80BF0000 子状态机当前不是活动状态。
Bad_TcpServerTooBusy 0x807D0000 服务器过于忙碌,无法处理请求。
Bad_TcpMessageTypeInvalid 0x807E0000 标头中指定的消息类型无效。
Bad_TcpSecureChannelUnknown 0x807F0000 SecureChannelId和/或TokenId当前未被使用。
Bad_TcpMessageTooLarge 0x80800000 标头中指定的消息大小过大。
Bad_TcpNotEnoughResources 0x80810000 无足够的资源处理请求。
Bad_TcpInternalError 0x80820000 发生内部错误。
Bad_TcpEndpointUrlInvalid 0x80830000 服务器未识别指定的QueryString。
Bad_RequestInterrupted 0x80840000 由于网络中断,无法发送请求。
Bad_RequestTimeout 0x80850000 处理请求时发生超时。
Bad_SecureChannelClosed 0x80860000 安全通道已关闭。
Bad_SecureChannelTokenUnknown 0x80870000 令牌已过期或未被识别。
Bad_SequenceNumberInvalid 0x80880000 序列号无效。
Bad_ProtocolVersionUnsupported 0x80BE0000 应用程序没有兼容的协议版本。
Bad_ConfigurationError 0x80890000 配置存在问题,影响了值的有效性。
Bad_NotConnected 0x808A0000 变量应从另一个变量中接收值,但未如此配置。
Bad_DeviceFailure 0x808B0000 生成值的设备/数据源存在故障,对值造成了影响。
Bad_SensorFailure 0x808C0000 设备/数据源获取值的传感器存在故障。
Bad_OutOfService 0x808D0000 数据源未正常运行。
Bad_DeadbandFilterInvalid 0x808E0000 死区过滤器无效。
Uncertain_NoCommunicationLastUsableValue 0x408F0000 与数据源通信失败。变量值为最后一个质量为Good的值。
Uncertain_LastUsableValue 0x40900000 正在更新该值的操作已停止更新。
Uncertain_SubstituteValue 0x40910000 该值为手动改写的运行值。
Uncertain_InitialValue 0x40920000 该值为变量的初始值,变量通常从另一个变量接收值。
Uncertain_SensorNotAccurate 0x40930000 该值位于一个传感器的限值。
Uncertain_EngineeringUnitsExceeded 0x40940000 值超出了为该参数定义的值范围。
Uncertain_SubNormal 0x40950000 该值从多个源中获取,包含的Good源数量小于所需数量。
Good_LocalOverride 0x00960000 值已被覆盖。
Bad_RefreshInProgress 0x80970000 条件刷新失败,或已有条件刷新操作正在运行。
Bad_ConditionAlreadyDisabled 0x80980000 该条件已被禁用。
Bad_ConditionAlreadyEnabled 0x80CC0000 该条件已被启用。
Bad_ConditionDisabled 0x80990000 属性不可用,或该条件被禁用。
Bad_EventIdUnknown 0x809A0000 指定的事件ID未被识别。
Bad_EventNotAcknowledgeable 0x80BB0000 事件无法知悉。
Bad_DialogNotActive 0x80CD0000 对话框条件未处于活动状态。
Bad_DialogResponseInvalid 0x80CE0000 响应对于对话框无效。
Bad_ConditionBranchAlreadyAcked 0x80CF0000 条件分支已被知悉。
Bad_ConditionBranchAlreadyConfirmed 0x80D00000 条件分支已被确认。
Bad_ConditionAlreadyShelved 0x80D10000 条件已被搁置。
Bad_ConditionNotShelved 0x80D20000 条件当前未被搁置。
Bad_ShelvingTimeOutOfRange 0x80D30000 搁置时间不在允许范围内。
Bad_NoData 0x809B0000 请求的时间范围内或事件筛选条件下不存在数据。
Bad_BoundNotFound 0x80D70000 未找到提供上/下边界值的数据。
Bad_BoundNotSupported 0x80D80000 服务器无法检索到变量边界。
Bad_DataLost 0x809D0000 由于采集开始/停止/丢失,数据已丢失。
Bad_DataUnavailable 0x809E0000 由于存在未安装的卷、离线存档或磁带,或由于暂时不可用等类似原因,期望的数据在请求的时间范围内不可用。
Bad_EntryExists 0x809F0000 由于存在匹配条目,数据或事件未成功插入。
Bad_NoEntryExists 0x80A00000 由于不存在匹配条目,数据或事件未成功更新。
Bad_TimestampNotSupported 0x80A10000 客户端请求历史数据所使用时间标识格式不受服务器支持。换言之,客户端请求了ServerTimestamp,而服务器仅支持SourceTimestamp。
Good_EntryInserted 0x00A20000 数据或事件已成功插入历史数据库。
Good_EntryReplaced 0x00A30000 历史数据库中的数据或事件已被成功替换。
Uncertain_DataSubNormal 0x40A40000 该值从多个值中获取,包含的Good值数量小于所需数量。
Good_NoData 0x00A50000 请求的时间范围内或事件筛选条件下不存在数据。
Good_MoreData 0x00A60000 请求的时间范围内或事件筛选条件下存在更多数据。
Bad_AggregateListMismatch 0x80D40000 请求的集合数量与请求的节点ID数量不匹配。
Bad_AggregateNotSupported 0x80D50000 服务器不支持请求的集合。
Bad_AggregateInvalidInputs 0x80D60000 由于输入数据无效,无法获取集合值。
Bad_AggregateConfigurationRejected 0x80DA0000 指定节点的集合配置无效。
Good_DataIgnored 0x00D90000 请求所指定的字段对于EventType无效,或无法被历史记录保存。
Good_CommunicationEvent 0x00A70000 通信层已发起事件。
Good_ShutdownEvent 0x00A80000 系统正在关闭。
Good_CallAgain 0x00A90000 操作未完成,需重新调用。
Good_NonCriticalTimeout 0x00AA0000 发生非关键超时。
Bad_InvalidArgument 0x80AB0000 一个或多个参数无效。
Bad_ConnectionRejected 0x80AC0000 无法与远程服务器建立网络连接。
Bad_Disconnect 0x80AD0000 服务器已从客户端断开连接。
Bad_ConnectionClosed 0x80AE0000 网络连接已关闭。
Bad_InvalidState 0x80AF0000 由于对象被关闭、未初始化或处于其他无效状态,操作无法完成。
Bad_EndOfStream 0x80B00000 无法移动至数据流结束之后。
Bad_NoDataAvailable 0x80B10000 非阻隔数据流中当前没有数据可读取。
Bad_WaitingForResponse 0x80B20000 异步操作正在等待响应。
Bad_OperationAbandoned 0x80B30000 异步操作已被调用方放弃。
Bad_ExpectedStreamToBlock 0x80B40000 数据流未返回所有的请求数据(可能由于数据流为非阻隔性数据流)。
Bad_WouldBlock 0x80B50000 需要非阻隔性操作,但该操作会导致阻隔。
Bad_SyntaxError 0x80B60000 值语法无需。
Bad_MaxConnectionsReached 0x80B70000 由于所有变量连接正在使用,操作无法完成。

OPCDA质量码(十进制)

0 Bad
1 Bad, Low Limited
2 Bad, High Limited
3 Bad, Constant
4 Bad, Configuration Error
5 Bad, Configuration Error, Low Limited
6 Bad, Configuration Error, High Limited
7 Bad, Configuration Error, Constant
8 Bad, Not Connected
9 Bad, Not Connected, Low Limited
10 Bad, Not Connected, High Limited
11 Bad, Not Connected, Constant
12 Bad, Device Failure
13 Bad, Device Failure, Low Limited
14 Bad, Device Failure, High Limited
15 Bad, Device Failure, Constant
16 Bad, Sensor Failure
17 Bad, Sensor Failure, Low Limited
18 Bad, Sensor Failure, High Limited
19 Bad, Sensor Failure, Constant
20 Bad, Last Known Value
21 Bad, Last Known Value, Low Limited
22 Bad, Last Known Value, High Limited
23 Bad, Last Known Value, Constant
24 Bad, Comm Failure
25 Bad, Comm Failure, Low Limited
26 Bad, Comm Failure, High Limited
27 Bad, Comm Failure, Constant
28 Bad, Out of Service
29 Bad, Out of Service, Low Limited
30 Bad, Out of Service, High Limited
31 Bad, Out of Service, Constant
32 Bad, Waiting for Initial Data
33 Bad, Waiting for Initial Data, Low Limited
34 Bad, Waiting for Initial Data, High Limited
35 Bad, Waiting for Initial Data, Constant
64 Uncertain
65 Uncertain, Low Limited
66 Uncertain, High Limited
67 Uncertain, Constant
68 Uncertain, Last Usable Value
69 Uncertain, Last Usable Value, Low Limited
70 Uncertain, Last Usable Value, High Limited
71 Uncertain, Last Usable Value, Constant
80 Uncertain, Sensor Not Accurate
81 Uncertain, Sensor Not Accurate, Low Limited
82 Uncertain, Sensor Not Accurate, High Limited
83 Uncertain, Sensor Not Accurate, Constant
84 Uncertain, Engineering Units Exceeded
85 Uncertain, Engineering Units Exceeded, Low Limited
86 Uncertain, Engineering Units Exceeded, High Limited
87 Uncertain, Engineering Units Exceeded, Constant
88 Uncertain, Sub-Normal
89 Uncertain, Sub-Normal, Low Limited
90 Uncertain, Sub-Normal, High Limited
91 Uncertain, Sub-Normal, Constant
192 Good
193 Good, Low Limited
194 Good, High Limited
195 Good, Constant
216 Good, Local Override
217 Good, Local Override, Low Limited
218 Good, Local Override, High Limited
219 Good, Local Override, Constant

相关推荐

  1. OPC质量

    2024-06-15 04:46:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 04:46:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 04:46:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 04:46:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 04:46:04       18 阅读

热门阅读

  1. MySQL(7)

    2024-06-15 04:46:04       8 阅读
  2. 1606 - 求一个两位数倒序的结果

    2024-06-15 04:46:04       8 阅读
  3. LeetCode 2848. Points That Intersect With Cars

    2024-06-15 04:46:04       7 阅读
  4. [xmake]xmake常用命令

    2024-06-15 04:46:04       8 阅读
  5. 虚幻引擎 Apple Vision Pro 快速入门指南

    2024-06-15 04:46:04       18 阅读
  6. HOW - CSS 常见效果实现

    2024-06-15 04:46:04       8 阅读
  7. 无理数的渊源

    2024-06-15 04:46:04       7 阅读