Draft
Conversation
- Updated AXSharp.config.json in timers/ctrl to include "UiHostProject": null. - Updated AXSharp.config.json in traversals/apax to include "UiHostProject": null. - Updated AXSharp.config.json in utils/ctrl to include "UiHostProject": null.
TomKovac
reviewed
Apr 2, 2026
Collaborator
There was a problem hiding this comment.
Seems that component4 and 5 from the removed test app are missing .
TomKovac
reviewed
Apr 2, 2026
Collaborator
There was a problem hiding this comment.
seems that component 3 is missing
TomKovac
reviewed
Apr 2, 2026
Collaborator
There was a problem hiding this comment.
seems that component 3 and 4 are missing
TomKovac
reviewed
Apr 2, 2026
Changed PLC to 1815 V41 with NTP
TomKovac
reviewed
Apr 2, 2026
Collaborator
TomKovac
left a comment
There was a problem hiding this comment.
It seems that some components are missing in library\docs\Component_3-5 especially in Cognex lib and some others. Not sure if it is on purpose as in showcase app there are present.
…nto 3-unify-showcase
…nto 3-unify-showcase
- Created apax.yml to define the apax.traversal application. - Specified version, type, targets, registries, dependencies, and devDependencies. - Included various Inxton components and libraries for integration.
…nto 3-unify-showcase
- Created a new Documentation.razor page for Utils showcasing AxoStringBuilder and CRC functions. - Implemented AxoStaticMessengerDocuExample.cs to demonstrate static messaging. - Added AxoTextListExample.cs for dictionary-based text list management. - Introduced Directory.Build.props to manage package versions centrally. - Established Entry.cs for PLC connection configuration and management. - Created showcase.csproj for project structure and dependencies. - Added various structured text files for showcasing components: - ComponentsAbstractionsShowcase.st - ProbersShowcase.st - Simatic1500Showcase.st - TimersShowcase.st - UtilsShowcase.st
…nto 3-unify-showcase
…nto 3-unify-showcase
- Implemented AxoDataFragmentExchange and AxoDataPersistentExchange examples demonstrating data management and persistence. - Created inspectors showcase illustrating the use of AXOpen.Inspectors for hardware diagnostics. - Developed IO showcase for AXOpen.Io, featuring hardware diagnostics and record access tools. - Introduced probers showcase for AXOpen.Probers, showcasing counter and condition-based probing. - Added Simatic1500 showcase for AXOpen.S71500, demonstrating real-time clock and runtime measurement functionalities. - Implemented timers showcase for AXOpen.Timers, demonstrating various timer usage patterns. - Created utils showcase for AXOpen.Utils, demonstrating string building and CRC checksum calculations.
- Renamed component classes in Keyence Vision namespace to follow a unified naming convention. - Updated class names in Kuka Robotics namespace for better identification. - Standardized class names in Mitsubishi Robotics namespace. - Adjusted class names in Rexroth Drives, Press, and Tightening namespaces for improved readability. - Modified class names in Siem Communication and Identification namespaces to enhance clarity. - Refined class names in Zebra Vision namespace for consistency. - Updated showcase classes in Inspectors, Io, Probers, Simatic1500, Timers, and Utils namespaces to align with new naming conventions.
- Updated documentation paths in AxoSequencer.razor and AxoTask.razor to use consistent naming conventions. - Added TROUBLES.md and CHANGELOG.md documentation files for AxoSequencer and AxoTask. - Enhanced Program.cs to include SignalRDialogHub for dialog synchronization and added AxoRemoteTask initialization. - Updated ShowcasePageRegistry to reflect new documentation paths and added new examples for AxoLogger and AxoAlert. - Improved AxoBoolArray and AxoByteArray examples with better structure and comments. - Added AxoAlertDocuExample for demonstrating alert usage in dialogs. - Enhanced logging examples in AxoLoggerDocuExample with detailed log level usage and structured logging.
- Removed redundant external links sections from various documentation pages. - Updated the ExternalLinks component to include a header and list structure for better organization. - Ensured consistent usage of the ExternalLinks component across multiple pages, enhancing maintainability.
…d integrate DocFxMarkdownProcessor for enhanced markdown processing - Updated ProbersShowcase.razor, Simatic1500Showcase.razor, TimersShowcase.razor, UtilsShowcase.razor to replace inline library resource sections with LibraryResources component. - Introduced DocFxMarkdownProcessor to handle DocFX markdown directives in SourceViewerModal. - Added BasePath property to CodeSnippetProvider for resolving file paths. - Created DocFxMarkdownProcessor.cs to process markdown content and resolve includes and code snippets. - Enhanced SourceViewerModal to support rendering of mermaid diagrams in markdown content. - Updated Program.cs to register DocFxMarkdownProcessor as a singleton service.
- Updated AxoCmmtAs components to include InfoTime, ErrorTime, and TaskTimeout settings in AxoCmmtAs_Showcase and AxoCmmtAs_Showcase2. - Modified Axo_IV3_Showcase and Axo_SR_1000_Showcase to set configuration parameters before restoring components. - Increased the number of steps in Axo_SR_1000_Showcase and Axo_SR_750_Showcase to accommodate additional functionality. - Enhanced Kuka robotics showcases to include more steps for better control and management of robot actions. - Introduced new AxoCylinder component with comprehensive methods for controlling pneumatic cylinders. - Removed deprecated PneumaticsShowcase class and replaced it with a more streamlined implementation. - Updated Rexroth drive showcases to include configuration parameters for improved performance. - Enhanced Zebra vision showcases to set configuration parameters before executing actions. - Added robotics showcase to demonstrate shared utility functions and robotics component implementations. - Improved Siem communication showcases by adding configuration parameters for better control.
- Created AxoBlinker documentation with usage examples. - Added CHANGELOG for version 0.43.0 detailing new features and documentation. - Introduced troubleshooting guide for common timer issues. - Documented CRC checksum functions and byte conversion utilities in AXOpen.Utils. - Updated table of contents to include new documentation entries.
…onent information, hardware configuration, dependencies, vendor documentation, and additional resources.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR consolidates 31 separate showcase/testing applications — previously scattered across individual library component directories — into a single, unified showcase application at
src/showcase/app. This eliminates massive duplication of boilerplate (hardware config, Blazor scaffolding, build artifacts), simplifies the build pipeline, and provides a centralized place for documentation, integration testing, and live feature demonstration.The unified showcase app includes both the PLC-side Structured Text code and a Blazor Server UI with documentation pages covering every component and core feature in AXOpen. The PR also adds a per-component documentation layer (README, CHANGELOG, component pages, DocFX integration) and full-text search across the showcase site.
Motivation
app/folder with near-identical scaffolding: hardware config, Blazor host, security setup, data repositories, and build configuration. This resulted in ~1.5M lines of redundant generated/boilerplate code.What Changed
1. Removed Individual App Folders (31 directories, ~1,511 files deleted)
The following library
app/directories were completely removed:src/abstractions/app/,src/core/app/,src/data/app/,src/inspectors/app/,src/io/app/,src/probers/app/,src/timers/app/,src/utils/app/,src/integrations/app/,src/simatic1500/app/src/components.drives/app/,src/components.festo.drives/app/,src/components.rexroth.drives/app/src/components.robotics/app/,src/components.abb.robotics/app/,src/components.kuka.robotics/app/,src/components.mitsubishi.robotics/app/,src/components.ur.robotics/app/src/components.cognex.vision/app/,src/components.keyence.vision/app/,src/components.zebra.vision/app/src/components.desoutter.tightening/app/,src/components.rexroth.tightening/app/src/components.elements/app/,src/components.pneumatics/app/,src/components.rexroth.press/app/,src/components.dukane.welders/app/,src/components.balluff.identification/app/,src/components.siem.communication/app/,src/components.siem.identification/app/,src/components.abstractions/app/src/template.axolibrary/app/Also removed the legacy
integration/folder and dead sandbox references.2. New Unified Showcase App (
src/showcase/app/)PLC Application (
src/)Blazor UI (
ix-blazor/showcase.blazor/)Key features of the Blazor UI:
CodeSnippetProviderloads real source code from.stand.csfiles, supporting line-range extraction and automatic language detection.DocFxMarkdownProcessorrenders the per-library DocFX markdown (READMEs, component pages) directly inside the Blazor UI so docs and showcase share one source of truth.AxoDataExchange,AxoDataFragmentExchange,AxoDataPersistentExchange,AxoDataDistributed.3. Per-Component Documentation Layer
Each library now ships a consistent documentation set under
src/<library>/docs/:README.md— library overview, dependencies, linksCHANGELOG.md— version-tracked changes (semver fromGitVersion.yml){ComponentName}.md— per-component pages with code references wired to the showcaseindex.md+toc.yml— DocFX integrationExamples added/expanded in this PR: Utils (
AxoBlinker,AxoCRC,AxoStringBuilder), Keyence Vision (descriptions, hardware config, dependencies, vendor docs), KUKA Robotics, Cognex Vision, plus refactors across all component categories to use the sharedLibraryResourcescomponent and a unified external-links section.4. Solution File Updates
src/AXOpen.slnshowcase(PLC) andshowcase.blazor(UI) projects; addedAXOpen.Data.Distributed.Tests_L4src/AXOpen.solution.slnsrc/AXOpen-L1-tests.slnsrc/AXOpen-L3-tests.slnsrc/showcase/showcase.slnsrc/showcase/app/showcase.blazor.sln5. Build Pipeline Updates (
cake/)cake/BuildContext.cs:HasAppflag for all 32 library configurationsGetControllerAxFolders(),GetApplicationAxFolders(), andGetApaxYmlFiles()cake/Program.cs:app/directoriesappandaxto onlyaxOther:
apax-traversalconfiguration added at the repo root for unified dependency traversal across libraries.6. Hardware / Twin / Tooling Updates
0.47.0-alpha.476across allAXSharp.config.jsonfiles.1518_v40so the app loads on PLCSIM untilV41is functional.UiHostProjectfield added toAXSharp.config.jsonfiles.7. Documentation Updates (60+ files)
../app/...→../../showcase/app/...).DocFxMarkdownProcessor.README.md:Entry.Plc.AxoRemoteTasks→Entry.Plc.Ctx.AxoRemoteTasks.8. Configuration Changes
Directory.Packages.props:Markdigv0.40.0 — Markdown parsing library used byCodeSnippetProviderandDocFxMarkdownProcessorfor documentation rendering in the Blazor UI.Architecture Diagram
Testing Considerations
apax buildsucceeds forsrc/showcase/appCodeSnippetProviderresolves source files from the correct pathsDocFxMarkdownProcessorrenders per-library README/CHANGELOG/component pagesapp/paths or the removedintegration/folderBreaking Changes
src/<component>/app/paths must be updated to usesrc/showcase/app/instead.integration/folder — Migrate any references to the unified showcase app.HasAppflag is nowfalsefor all library components inBuildContext.cs. The build no longer looks for or processes individual app folders.0.47.0-alpha.476across all configs; downstream consumers should align.Risk Assessment
axsharp.companion.json1518_v40untilV41PLCSIM is functional