element_linking
ispyisail edited this page 2026-09-17 11:33:19 +12:00
Clone

Wiki Page Revisions

2 Commits

Author SHA1 Message Date
ispyisail 2d1213d01e Add PLC modules how-to: I/O tables and linking a wire to a point
element_linking.md already documented the plcMasterData XML shape
(§5) but not the workflow: authoring the I/O table in the Element
Editor, setting a slave's state to 'Esclave PLC', and using
PlcLinkWidget (the 'Automate (PLC)' properties tab) to link a slave
to a specific row.

Includes one thing not obvious from either the UI or a skim of the
code: a PLC master's max_slaves is forced to -1 and
MasterElement::isFull() has no PLC-specific branch, so a PLC master
with every I/O row already linked still shows up in the linking tree
(rows struck through) rather than disappearing the way an ordinary
maxed-out master does. Verified directly in masterelement.cpp before
writing it down.

Linked both ways with element_linking.md and added to _Sidebar.md
under Guides.
2026-09-17 11:33:19 +12:00
ispyisail 2ef2b7cec1 Document master/slave/terminal linking, the feature nothing in the collection uses
The element editor can declare a master's contact budget, cap how many
slaves may attach, mark a terminal as isolating a potential, and keep an
element out of the BOM. None of it was documented anywhere, and the
measured result is that none of it is used: of the 6918 elements in the
10_electric collection, 0 declare slaveContactGroups and 0 declare
max_slaves; no shipped example project uses auxiliary1-4.

Adds element_linking (EN/FR/DE) as a guide, and turns the one-line
kindInformations and elementInformations reference stubs into the actual
XML vocabulary, taken from ElementData::kindInfoToXml/kindInfoFromXml.

Records two traps worth knowing: max_slaves counts slave elements rather
than contacts, and potential_isolating / auto_num_locked /
exclude_from_bom are compared against the exact string "true".
2026-09-11 21:09:14 +12:00