FrameworX serves diverse professionals across the industrial automation spectrum. This guide provides tailored learning path for Control Engineers you focus on the most relevant features and capabilities for your role. Each path includes specific tutorials, exercises, and real-world scenarios designed to accelerate your proficiency.
Traditional automation professionals with experience in PLCs, HMIs, and SCADA systems. You focus on reliable control, operator interfaces, and field device integration.
By completing this path, you will:
Morning: Understanding FrameworX Drivers
Exercise 1: Driver Selection
1. Open Designer → Devices
2. Review available drivers:
- Allen-Bradley (EtherNet/IP)
- Siemens (S7)
- Modbus (TCP/RTU)
- OPC UA
3. Document which drivers match your PLCs
Afternoon: Configure Your First PLC
Lab: Connect to Allen-Bradley ControlLogix
??? Step 1: Create Channel
? - Protocol: Allen-Bradley ControlLogix
? - Connection: Ethernet
? - Timeout: 3000ms
??? Step 2: Add Node
? - IP Address: [Your PLC IP]
? - Slot Number: 0
??? Step 3: Import Tags
? - Use automatic tag import
? - Map to UNS namespace
??? Step 4: Verify Communication
- Check status indicators
- Monitor update rates
Creating Operator Displays
Standard Display Components:
???????????????????????????????????????
? Header (Title, Time, Alarms) ?
???????????????????????????????????????
? ?
? Main Process Graphic ?
? (P&ID representation) ?
? ?
???????????????????????????????????????
? Navigation Bar ?
???????????????????????????????????????
Exercise: Build Motor Control Faceplate
Alarm Philosophy Implementation
Priority | Color | Response Time | Example |
---|---|---|---|
Critical (1-200) | Red | Immediate | Safety shutdown |
High (201-400) | Orange | 10 minutes | Process upset |
Medium (401-600) | Yellow | 30 minutes | Efficiency loss |
Low (601-999) | Blue | Next shift | Maintenance required |
Lab: Configure Process Alarms
Tank Level Alarms:
??? HiHi Alarm (95%) - Priority 250
??? Hi Alarm (85%) - Priority 400
??? Lo Alarm (15%) - Priority 400
??? LoLo Alarm (5%) - Priority 250
Settings per alarm:
- Deadband: 2%
- Delay On: 5 seconds
- Delay Off: 3 seconds
- Auto Acknowledge: No
Script Development for Control Engineers
csharp
// Example: Pump Control Logic
public void PumpControl()
{
// Read process values
float tankLevel = @Tag.Tank01.Level;
float setpoint = @Tag.Tank01.Setpoint;
bool pumpAvailable = @Tag.Pump01.Available;
// Control logic
if (pumpAvailable)
{
if (tankLevel < (setpoint - 5))
{
@Tag.Pump01.StartCmd = true;
@Tag.Pump01.Speed = CalculateSpeed(tankLevel, setpoint);
}
else if (tankLevel > (setpoint + 2))
{
@Tag.Pump01.StartCmd = false;
}
}
// Alarm generation
if (!pumpAvailable && tankLevel < 10)
{
@Tag.Alarms.LowLevelNoPump = true;
}
}
private float CalculateSpeed(float level, float sp)
{
// PID calculation or curve
float error = sp - level;
return Math.Max(30, Math.Min(100, error * 5));
}
Creating Effective Trends
Trend Configuration:
??? Time Axis
? ??? Real-time (last hour)
? ??? Historical (date range)
? ??? Resolution (1 sec - 1 day)
??? Y-Axes
? ??? Primary (0-100%)
? ??? Secondary (0-150°F)
? ??? Auto-scale option
??? Pens
??? Pen 1: Flow (Blue, Primary)
??? Pen 2: Pressure (Green, Primary)
??? Pen 3: Temperature (Red, Secondary)
Exercise: Build Trending Display
Optimizing for Control Applications
Area | Best Practice | Impact |
---|---|---|
Scan Rates | Match process dynamics | Reduce network load |
Display Updates | Limit animations | Improve client performance |
Alarm Deadbands | Prevent chattering | Reduce alarm floods |
Script Efficiency | Avoid loops in expressions | Lower CPU usage |
Standard Objects to Create:
??? Motors
? ??? Motor_Simple (On/Off)
? ??? Motor_VFD (Variable Speed)
? ??? Motor_Reversing (Forward/Reverse)
??? Valves
? ??? Valve_OnOff
? ??? Valve_Control (Analog)
? ??? Valve_3Way
??? Process Equipment
? ??? Pump_Centrifugal
? ??? Tank_Level
? ??? Heat_Exchanger
??? Instruments
??? Transmitter_Analog
??? Switch_Digital
??? Controller_PID
PLC Brand | Recommended Driver | Typical Settings |
---|---|---|
Allen-Bradley | EtherNet/IP | Slot 0, RPI 100ms |
Siemens | S7 TCP | Rack 0, Slot 2 |
Modbus Devices | Modbus TCP | Port 502, Unit ID 1 |
Schneider | Modbus TCP | Port 502, Holdings |
Omron | FINS | Port 9600, Node 1 |
Problem | Check | Solution |
---|---|---|
PLC won't connect | IP address, subnet | Verify network settings |
Tags not updating | Point mapping | Check addresses match PLC |
Alarms flooding | Deadband, delays | Adjust alarm settings |
HMI slow | Graphics complexity | Simplify animations |
Trends gaps | Historian settings | Check storage configuration |
Certification | Target Audience | Prerequisites | Exam Topics |
---|---|---|---|
FrameworX Certified Developer | All paths | Basic training | Configuration, displays, basic scripting |
FrameworX Control Specialist | Control Engineers | FCD + experience | Advanced control, PLC integration |
Resource | Control Engineers |
---|---|
Priority Docs | Device configs, HMI design |
Key Examples | PLC integration, faceplates |
Forum Sections | Devices, displays |
Advanced Topics | Custom drivers, scripting |