FrameworX 10.1 follows a modular, scalable architecture designed for industrial applications from small single-machine interfaces to enterprise-wide systems. Understanding the platform architecture helps you design robust solutions, optimize performance, and plan for growth. This guide explores the core components, data flow, and deployment patterns that make FrameworX a powerful industrial application platform.
FrameworX is more than just software tool,
It's the enabling field-proven architecture and methodology to deploy applications managing critical assets, from large distributed systems to standalone edge apps. It unlocks the sophistication, performance and openness of latest technologies, yet keeping a simple configuration, and a clear cost with advantageous Total Cost of Ownership.
Reference Link:
Solutions Guidebook (examples of solution architecture in production)
Configuration Workflow | |
---|---|
(1) Define Your Data | (2) Setup Industrial Process Modules |
|
|
|
|
|
|
(3) Setup Application Modules | (4) User Interface Design |
|
|
|
|
|
|
Step | Action | Description |
---|---|---|
Choose Profile | Select environment | Development or Production mode |
Configure Startup | Set parameters | Auto-start, services to enable |
Test Solution | Run from Designer | Verify operation before deployment |
Build | Compile solution | Validate all scripts and displays |
Deploy | Start Runtime | Launch in production environment |
Monitor | Check status | View diagnostics and performance |
== > Link to Development to Production Best Practices and Industry Standard pages.
Define clear boundaries and objectives:
Stakeholder | Role | Requirements | Concerns |
---|---|---|---|
Operations | End Users | Intuitive interface, reliable operation | Ease of use, training |
Maintenance | Support Staff | Diagnostic tools, documentation | Troubleshooting, updates |
Management | Decision Makers | Reports, KPIs, ROI | Cost, timeline, benefits |
IT | Infrastructure | Security, integration, standards | Compliance, compatibility |
Engineering | Technical Design | Flexibility, features, performance | Technical debt, scalability |
Data Collection Worksheet Example
Source: PLC-01 |
---|
Protocol: Modbus TCP |
IP Address: <protected from public documents> Scan Rate: 1 second Point Count: 250 |
DataTypes: Holding Registers: 150 |
Component | Option 1 | Option 2 | Decision | Rationale |
---|---|---|---|---|
Deployment | Standalone | Distributed | Distributed | Multiple sites |
Database | SQLite | SQL Server | SQL Server | Scale requirements |
Redundancy | None | Hot-Standby | Hot-Standby | Critical process |
Clients | Rich only | Rich + Web | Rich + Web | Remote access |
Historian | Local | Enterprise | Enterprise | Corporate reporting |
Standard: [Area]_[Equipment]_[Component]_[Signal]
Examples:
WTP_PUMP01_MOTOR_RUNNING
WTP_PUMP01_MOTOR_SPEED_SP
WTP_TANK01_LEVEL_PV
BLDG_HVAC_AHU01_TEMP_SP
??? WTP (Water Treatment Plant) ? ??? PUMP01 ? ? ??? MOTOR ? ? ? ??? RUNNING ? ? ? ??? SPEED_SP ? ? ? ??? SPEED_PV ? ? ??? VALVE ? ? ??? OPEN_CMD ? ? ??? POSITION ? ??? TANK01 ? ??? LEVEL_PV ? |
UDT Design - UNS Data Template
UDT: Motor_VFD Properties: - Name: String - Location: String - RatedHP: Float Members: Commands: - Start_CMD: Boolean - Stop_CMD: Boolean - Speed_SP: Float (0-100%) Status: - Running: Boolean - Faulted: Boolean - Speed_PV: Float - Current: Float - Temperature: Float Alarms: - OverCurrent: Boolean - OverTemp: Boolean - CommLoss: Boolean Statistics: - RunHours: Double - StartCount: Integer - LastStartTime: DateTime |
Main Menu ??? Overview ? ??? Plant Overview ??? Areas ? ??? Area 1 ? ? ??? Process Overview ? ? ??? Equipment ? ? ??? Trends ? ??? Area 2 ? ??? Area 3 ??? Utilities ? ??? Power Monitoring ? ??? Compressed Air ? ??? Steam System ??? Reports ? ??? Production ? ??? Quality ? ??? Maintenance ??? Administration ??? Setpoints ??? Recipes ??? User Management |
Sprint 1: Foundation ??? Day 1-3: Create tag database ??? Day 4-6: Build UDTs ??? Day 7-9: Configure devices ??? Day 10: Testing & review Sprint 2: Process Logic ??? Day 1-3: Alarm configuration ??? Day 4-6: Scripts development ??? Day 7-9: Historian setup ??? Day 10: Testing & review Sprint 3: Visualization ??? Day 1-3: Template displays ??? Day 4-6: Process graphics ??? Day 7-9: Dashboards ??? Day 10: Testing & review Sprint 4: Integration ??? Day 1-3: Database connections ??? Day 4-6: Reports ??? Day 7-9: External interfaces ??? Day 10: Testing & review |
Repository Structure: /FrameworX-Project ??? /Documentation ? ??? Requirements.docx ? ??? Design.docx ? ??? UserManual.docx ??? /Solution ? ??? MyProject.dbsln ? ??? /Exports ? ??? Tags_v1.0.xml ? ??? Displays_v1.0.xml ??? /Scripts ? ??? Calculations.cs ? ??? Reports.sql ??? /Graphics ? ??? P&ID.svg ? ??? Logos.png ??? /Tests ??? UnitTests.cs ??? TestProcedures.xlsx |
Change Request ? Impact Analysis ? Approval ? Implementation ? Testing ? Deployment ? ? ? ? ? ? Document Assess Risk Get Signoff Make Change Validate Release |
Level | Scope | Responsibility | Tools |
---|---|---|---|
Unit Testing | Individual components | Developer | Designer test mode |
Integration Testing | Module interactions | Developer | Runtime test |
System Testing | Complete solution | QA Team | Test scripts |
Acceptance Testing | Business requirements | Customer | Test procedures |
Test ID: TC 001 Feature: Pump Control |
---|
Preconditions:
|
Steps:
|
Expected Result:
|
Actual Result: |
1. Pre-Deployment (T-1 Week) * Final testing in staging * User training * Documentation review 2. Deployment Day (T-0) * 00:00 - System backup * 01:00 - Install software * 02:00 - Import configuration * 03:00 - Configure devices * 04:00 - Test communications * 05:00 - Verify operations * 06:00 - Go live 3. Post-Deployment (T+1 Day) * Monitor performance * Address issues * Gather feedback |
1. Hardware Ready 2. Software & License Installation 3. Configuration load 4. I/O Checkout 5. Device Testing 6. Function Testing ==> Loop 4, 5, 6 as needed 7. Performance Testing 8. Customer Acceptance 9. Production Release |
Document | Purpose | Responsibility |
---|---|---|
I/O List | Verify all points | Controls Engineer |
Loop Sheets | Test each control loop | Technician |
Alarm List | Verify alarm functions | Operations |
Interlock Matrix | Test safety interlocks | Safety Engineer |
Performance Log | Record system metrics | System Integrator |
Tier 1: Operations * Basic troubleshooting * Restart procedures * Known issue resolution Tier 2: Maintenance * Configuration changes * Device troubleshooting * Performance tuning Tier 3: Engineering * Complex problems * System modifications * Root cause analysis Tier 4: Vendor * Software bugs * License issues * Advanced support |
Frequency | Tasks | Responsibility |
---|---|---|
Daily | Check system status, Review alarms, Monitor performance | Operations |
Weekly | Backup solution, Review logs, Check disk space | Maintenance |
Monthly | Archive data, Update documentation, Performance analysis | Engineering |
Quarterly | Security review, Disaster recovery test, Training update | Management |
Annually | License renewal, Major updates, System audit | All teams |
KPI Dashboard Example System Uptime: 99.8% Avg Response Time: 187ms Alarm Rate: 12/hour Data Loss: 0.00% User Satisfaction: 4.5/5 Improvement Opportunities: - Reduce alarm rate (target: <10/hr) - Optimize response time (<100ms) - Increase automation (reduce manual tasks) |
FrameworX Native Tools
Tool | Purpose | Description |
---|---|---|
Track Cross-Reference | Governance | monitor governance of all places a object is used. |
Track RecentChanges | Version Control | light, built-in, record of latest used phases |
Track Unused objects | Optimization | Identify objects potentially not in use |
Track VersionControl | Version Control | Keep automated VersionID to all modules, tables and objects. Global VersionID for entire solution. |
Build, backup flag | Backup/Restore point | Crete a backup copy of product current stage |
Publish | Lock production version | FDA compliance, lock solution file version |
Third-party recommend tools
Tool | Purpose | Comments |
---|---|---|
JIRA//Azure DevOps | Task tracking | critical for maintenance and product phases |
Git/SVN | Version control | Add comparing version, in top of built-in FrameworX TrackChanges tools |
Confluence | Document management | All phases |
Teams/Slack | Communication | All phases |
Gate 1: Design Review * Requirements complete? * Architecture approved? * Risks identified? * Resources available? * * Pass Gate 2: Development Review * Code complete? * Testing done? * Documentation ready? * Performance met? * * Pass Gate 3: Deployment Review * Customer approval? * Training complete? * Support ready? * Rollback plan? * * Pass Production Release |
Risk | Probability | Impact | Mitigation |
---|---|---|---|
Scope Creep | High | High | Clear change control process |
Integration Issues | Medium | High | Early testing, vendor support |
Performance Problems | Medium | Medium | Load testing, optimization |
User Resistance | Medium | Medium | Training, involvement, support |
Hardware Delays | Low | High | Early ordering, alternatives |
Manual Tasks → Automated Solutions
?????????????????????????????????
Tag Creation → Excel Import
Alarm Config → Template Application
Report Gen → Scheduled Tasks
Testing → Automated Scripts
Deployment → Scripted Installation
Backup → Automated Schedule
Team | Best Practices |
---|---|
Cross-Functional | Regular sync meetings, shared workspace |
Remote Teams | Video calls, screen sharing, cloud tools |
Customer Interaction | Demos, prototypes, feedback sessions |
Vendor Coordination | Clear specifications, regular updates |
Before you start developing a project, take time to plan and design the system. This includes defining the scope of the project, creating a functional specification, and determining the requirements for the user interface, data collection, and alarm management.
Modularization is an important best practice in FactoryStudio. It involves breaking down the project into smaller, more manageable modules that can be developed and tested independently. This approach makes it easier to debug and maintain the project, as well as reuse modules across different projects.
Using version control software is essential when working on projects. This allows you to track changes, revert to previous versions, and collaborate with other team members more effectively. Git is a popular version control system that integrates well with FactoryStudio.
Creating documentation for your projects is crucial for ensuring that other team members can understand and maintain the project over time. Make sure to document the project structure, module dependencies, data sources, and other important aspects of the project.
Testing and debugging are essential steps in the development process. Make sure to thoroughly test each module and the system as a whole before deploying it. Debugging tools such as breakpoints, watches, and log files can help you identify and fix issues quickly.
Security is a critical consideration when building automation and SCADA systems. Make sure to follow best practices for network security, password management, user access control, and data encryption. FactoryStudio includes built-in security features such as user authentication and role-based access control.
Ideally, you can troubleshoot problems even before they happen in the field. Always review the troubleshooting topics on each module to ensure your solution is not at risk of being affected by the issues described in that item.
Optimizing the performance of your projects can help ensure that they run smoothly and efficiently. Consider using techniques such as caching, indexing, and data compression to improve performance. Also, make sure to monitor system performance regularly to identify and address any issues.
UNS Recap
The Unified Namespace (UNS) is your solution's data foundation - a single source of truth for all real-time and configuration data.
The Unified Namespace (UNS) is your solution's data foundation - a single source of truth for all real-time and configuration data.
Step 1: Plan Your Namespace
??? Define naming standards (Area_Equipment_Signal)
??? Document tag requirements
??? Plan for 20% growth
Step 2: Create Base Tags
??? System tags (heartbeat, status)
??? Communication tags
??? Calculation tags
Step 3: Build UDTs
??? Motor (Running, Speed, Current, Hours)
??? Valve (Open, Close, Position, Fault)
??? Tank (Level, Temperature, Pressure)
??? PID (SP, PV, CV, Mode)
Step 4: Organize Assets
??? Plant
??? Area1
??? Line1
??? Line2
??? Area2
WTP_PUMP01_RUNNING
Process Modules Recap
Process modules connect your solution to the physical world, connecting & collecting data from field devices and managing industrial operations.
Step 1: Setup Devices
??? Create Channel (Protocol, Port, Timeout)
??? Add Nodes (IP, Device ID)
??? Map Points to Tags
Step 2: Configure Alarms
??? Create Areas (Plant sections)
??? Define Groups (Equipment types)
??? Set Conditions (Limits, Deviation)
??? Configure Notifications
Step 3: Enable Historian
??? Select Storage Location
??? Create Tables
??? Configure Tag Collection
??? Set Compression
Field Level Communication UNS & Operation
??????????? ??????????? ???????????
? PLCs ? ? Drivers ? ? Tags ?
??????????? ??????????? ???????????
? RTUs ? ??????? ?Protocols? ??????? ? Alarms ?
??????????? ??????????? ???????????
? Sensors ? ?Providers? ?Historian?
??????????? ??????????? ???????????
Detailed Process Modules Guide →
Application Modules Recap
Application modules add business logic, data processing, and integration capabilities to transform raw data into actionable information.
Step 1: Database Setup
??? Configure Connections
??? Create Tables/Views
??? Build Queries
??? Test Transactions
Step 2: Script Development
??? Calculation Tasks
??? Control Logic
??? Data Processing
??? Error Handling
Step 3: Report Creation
??? Design Templates
??? Configure Data Sources
??? Set Schedules
??? Test Distribution
Raw Data → Scripts → Calculations → Database → Reports
↓ ↓ ↓ ↓ ↓
Tags Process Transform Store Distribute
Use Case | Implementation |
---|---|
KPI Calculations | Scripts calculate OEE, efficiency, yield |
Batch Records | Database stores recipe and production data |
Integration | REST APIs connect to ERP/MES |
Reports | Automated shift, daily, monthly reports |
Detailed Application Modules Guide →
User Interface (Displays) Recap
The UI layer presents information to operators, managers, and stakeholders through interactive displays and dashboards.
Step 1: Display Architecture
??? Create Navigation Structure
??? Design Template Displays
??? Build Process Graphics
??? Implement Standards
Step 2: Display Development
??? Overview Displays
??? Detail Displays
??? Control Faceplates
??? Alarm Displays
Step 3: Dashboard Creation
??? KPI Dashboards
??? Analytics Views
??? Mobile Layouts
??? Executive Reports
Step 1: Display Architecture
??? Create Navigation Structure
??? Design Template Displays
??? Build Process Graphics
??? Implement Standards
Step 2: Display Development
??? Overview Displays
??? Detail Displays
??? Control Faceplates
??? Alarm Displays
Step 3: Dashboard Creation
??? KPI Dashboards
??? Analytics Views
??? Mobile Layouts
??? Executive Reports
Plant Overview
↓
Area Overview
↓
Process Display
↓
Equipment Detail
↓
Faceplate Popup
Detailed User Interface Guide →
From Development To Production
Reference:
Deployment Process Summary
PLAN BUILD DEPLOY
????????????????? ????????????????? ?????????????????
1. Requirements ???? 5. Implementation ???? 9. Installation
2. Architecture 6. Integration 10. Commissioning
3. Standards 7. Testing 11. Training
4. Design 8. Validation 12. Support
Next → Standards & Best References
Dev to Production Workflow
<details> <summary>Structured Information for AI Tools</summary>
json
{
"page": "Solution Workflow",
"type": "Process Guide",
"purpose": "Define systematic approach to solution development",
"stages": [
{
"name": "Initiate",
"duration": "1-2 weeks",
"deliverables": ["Requirements", "Scope", "Project Charter"]
},
{
"name": "Design",
"duration": "2-4 weeks",
"deliverables": ["Architecture", "Standards", "Specifications"]
},
{
"name": "Build",
"duration": "4-12 weeks",
"deliverables": ["Configuration", "Code", "Documentation"]
},
{
"name": "Deploy",
"duration": "1-2 weeks",
"deliverables": ["Installation", "Training", "Go-Live"]
},
{
"name": "Support",
"duration": "Ongoing",
"deliverables": ["Maintenance", "Updates", "Improvements"]
}
],
"keyActivities": [
"Requirements gathering",
"Architecture design",
"Development sprints",
"Testing phases",
"Deployment planning",
"Support structure"
],
"tools": [
"Project management",
"Version control",
"Testing frameworks",
"Documentation systems"
]
}
</details>