The FD Generator parses ladder logic into human-readable Functional Descriptions. It uses your patterns.xml to recognise instructions and format branches clearly. On ACE Codex Online the pattern file is already seeded — you open the tile after the L5X is loaded.
FDs and Grafcet. ACE has worked to represent the PLC code as accurately as possible. Use the generated FDs as a base — you may need to modify them so they truly match the code.
When you drop multiple .L5X files (or open the tool with files already saved from the Home hub), the FD build now runs serially with a progress bar at the top of the output area: Processing <filename> (N of M)… with a live fill bar. Each file yields to the browser between parses so you can see which one is currently blocking on a large export. On completion the bar flips to a green "Processed N files." confirmation (or red with a link to the error summary if any file failed).
After processing, a sorted Processor dropdown lists each controller (Studio 5000 name, falling back to the filename). It defaults to one PLC so you can read that FD without hunting through a row of buttons. Choose All processors to show every generated FD on one page. Changing the dropdown only filters the display — Process still parses every loaded file, and Export still offers the full file/program/routine tree.
Where a routine references step-matrix tags (*MatrixA, *FaultMatrix, *FaultMons), the FD output prefaces that routine's description with a Bingo / Matrix Arrays section — one bit-array table per matrix, with auto-derived per-bit labels, decimal values, and a Step Time column from the matching *StepTimes array. All three integer widths are supported: DINT (32 columns), INT (16 columns, typical of *FaultMatrix), and SINT (8 columns). The header cell shows the actual DataType so you can tell them apart at a glance.
Click Export → Excel / PDF to open the Select Items to Export tree. Three configuration options control how the workbook / PDF is organised:
_sbrCIP).PDF exports render each routine as: routine header, Bingo / Matrix tables (if any), then the Functional Description table — matching the on-screen reading order.
On the FD page, switch FD view from Current FD to Grafcet when the sequence engine can draw it. Same honesty rule: treat Grafcet as a generated base. Edit it if the drawing does not match the code.
The Schneider FD Generator produces Functional Descriptions for Schneider Control Expert logic, the counterpart to the Rockwell FD Generator. Instead of L5X ladder it reads Control Expert .XBD exports (FBD networks), an optional tag .TXT list for comments, and a schneider_patterns.xml that maps each block type (AND, OR, SR/RS latches, timers, etc.) to its FD wording. Device initial values (scaling, valve times, MessageNo) are shown on the Schneider Device Register and I/O Card Utilization; they are read from .XEF/.ZEF first, with the tags .TXT filling gaps when it is loaded.
Generated FDs are a base — you may need to edit them so they truly match the code.
On ACE Codex Online, load the .ZEF / .XEF / .XBD on the marketing upload, then open the Schneider FD Generator tile and click Generate FDs from Saved XBD. Pattern files are seeded; you do not upload schneider_patterns.xml on the hosted hub.
When several projects are loaded, a sorted Processor dropdown filters the on-screen FD to one file (or All processors). Generate still processes every loaded XBD/XEF/ZEF so export can still include any section.
.XBD FBD network, follows the links between blocks, and resolves each block's inputs back to source tags/expressions..TXT when present.