docs(heidenhain): honest provenance for alarm class/group codes (#853)
v2-ci / unit-tests (push) Has been cancelled
v2-ci / unit-tests (push) Has been cancelled
No public source exists for DNC_ERROR_CLASS / DNC_ERROR_GROUP or their numbers (the table was written from memory). The iTNC 530 Technical Manual's PLC error table documents the same class and group NAMES without codes; three real iTNC 530 records corroborate 7/4, 7/3 and 1/3. DNC and LSV2 numberings are known to differ (ProgramStatus vs R_RI 26), so the numbers stay unproven. Docs/comments only; no behaviour change. Claude-Session: https://claude.ai/code/session_01GT67AD99zQQqpLCVm3p7xk
This commit is contained in:
@@ -8,11 +8,14 @@ namespace ZB.MOM.WW.OtOpcUa.Driver.Heidenhain;
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para><b>Provenance.</b> LSV2 itself documents neither field (pyLSV2 and the ignitionoee Java port keep them
|
||||
/// raw). The names are HEIDENHAIN's own error enums from the DNC interface (RemoTools SDK / HeidenhainDNC
|
||||
/// <c>DNC_ERROR_CLASS</c>, <c>DNC_ERROR_GROUP</c>), which describe the same control error list. That the LSV2
|
||||
/// <c>R_RI 27/28</c> codes use the same numbering is corroborated by the one real record we hold — the captured
|
||||
/// iTNC 530 alarm "Run test of cutout channels" is class 7 (<c>INFO</c>), group 4 (<c>GENERAL</c>), a power-up
|
||||
/// self-test notice — but is not otherwise proven on hardware. Treat the names as labels, never as behaviour:
|
||||
/// raw). The names were first written as the DNC interface's <c>DNC_ERROR_CLASS</c> /
|
||||
/// <c>DNC_ERROR_GROUP</c> enums from memory; no public source for those enums or their numbers was found
|
||||
/// (lmxopcua#853). The iTNC 530 Technical Manual's PLC error table documents the same NAMES (class: ERROR,
|
||||
/// FEED HOLD, PGM HOLD, PGM ABORT, EMERG. STOP, RESET; group: GENERAL, OPERATING, PROGRAMMING, PLC) but no
|
||||
/// numeric codes. Real iTNC 530 records corroborate class 7 / group 4, class 7 / group 3 and class 1 / group 3
|
||||
/// (both group-3 records are machine-builder PLC messages). The DNC and LSV2 numberings are known to differ
|
||||
/// elsewhere (program status), so the numbers stay hardware-unproven. Treat the names as labels, never as
|
||||
/// behaviour:
|
||||
/// they drive no selection and no severity (an authored <c>alarm.severity</c>, else High, still decides that).</para>
|
||||
/// <para><b>Part 9 mapping — only where the code says where the alarm comes from.</b>
|
||||
/// <c>EMERGENCY_STOP</c> (class 5) is a safety reaction ⇒ <see cref="AlarmConditionClass.Safety"/>, whatever its
|
||||
|
||||
Reference in New Issue
Block a user