I wanted to share our successful implementation of a real-time OEE dashboard that combines SCADA machine data with Honeywell MES shop floor control information. We were struggling with delayed OEE visibility - our production team was making decisions based on yesterday’s numbers.
The solution involved setting up OPC UA data acquisition from our PLCs to capture machine states (running, idle, down) and integrating that with MES work order and downtime data. We customized the MES dashboard to calculate OEE automatically every 5 minutes and display it on shop floor monitors.
The impact has been significant - our downtime response improved by 40% because supervisors can now see machine status in real-time. We also reduced manual data entry since the system automatically captures production counts and quality rejects from SCADA. Anyone else working on similar OEE visibility projects?
We customized the existing MES dashboard using the Honeywell MES dashboard designer. Created a new dashboard layout specifically for OEE with gauge widgets for availability, performance, and quality metrics. The 5-minute interval is configured in the data collector service - it aggregates the SCADA data and triggers the OEE calculation routine.
The server load is minimal because we’re using incremental calculations rather than recalculating from scratch each time. The system only processes the delta changes since the last calculation cycle. We’re running this on 15 production lines without any performance issues.
This sounds exactly like what we need. Can you share more details about your OPC UA setup? We have Siemens PLCs and I’m not sure how to structure the data acquisition for machine states. Did you use standard OPC tags or custom ones?
What about downtime reason codes? In our plant, operators need to enter why a machine went down. How does your automated system handle that? Do you still require manual entry or did you automate that part too?
We used a combination of standard and custom OPC UA tags. For machine states, we created a standardized tag structure across all PLCs: MachineID.Status, MachineID.PartCount, MachineID.RejectCount. The PLCs write to these tags based on sensor inputs and PLC logic.
The key was establishing consistent machine state definitions - we defined Running as actual production cycles, Idle as machine ready but no work order, and Down as any fault or maintenance condition. This standardization made the OEE calculation reliable across different machine types.