Control System and Software Engineering Process
Elder Matias
2006-05-31
Development Approach
• Based on CLS Beamline Development Guide– Derived from APS approach
• System and Software Engineering Approach– Moving towards use of automated tools and mainstream
software engineering processes (unified process)– Extensive use of P&ID drawings and requirements
documents for requirements capture– P&ID are partially based on the American Instrumentation
Society Standards
• Once a beamline is into the construction stage, the system analyst and scientists iterate and evolve the system
Development Approach
Inception Elaboration Construction Transition
Requirements Analysis Design Implementation Test
Unified Process
Core Workflows In Each Phase
- Establish Feasibility- Establish Business/Scientific Case- Capture Essential Requirements- Identify Critical Risks- Establish initial budget & schedule
Deliverables (as required):- Project Plan- Risk Assessment- Initial Requirements (10-20%)
Requirements: - Refine System ScopeAnalysis: - Establish what to buildDesign:- Create an ArchitectureImplementation- Build an architecture baseline- Build any prototypesTest- Test the architecture baseline- Test any prototypes
Deliverables (as required):- PID Drawings- Wiring Diagrams- Updated Requirements Document- System breakdown
Requirements: - Uncover missing requirementsAnalysis: - Finish the analyis Design:- Finish detailed designImplementation- Build and install the systemTest:- Test and ring-out the system
Deliverables (as required):- Running System
- Correct any defected- Provide support for commissioning - Prepare final documentation
Deliverables (as required):- Final documentation- Working system
CLSI System (Beamline) Engineering Process
ProposalConceptual
DesignPreliminary
DesignDetailedDesign
Build Commissioning
Project Phases
Background
• SAL was established in 1964, the control system has evolved along the way
• With the CLS project In 1999 the design architecture changed to:– EPICS (from Lucid and other custom software)– Linux and RTEMS (from NeXT, SunOS, BSD)– Momentum and S7 PLC (from Micro84 & TSX)– VME Hardware (from CAMAC)
Background (cont.)
• Standards:– CNSC C-138 – Provides guidance on control
software under CLS operating license– IEC 61508 – For Systems Important to Safety– Canadian Electrical Code – For Control
Hardware and Electrical Installations– Codes of conduct and practice - for ISP (Comp.
Sci/Software Eng.) and P. Eng (Elec. Eng. …) certified/licensed staff
Major Projects
• Phase I and Accelerator Operational Support• Phase II beamlines• CANARIE Remote Access• Infrastructure
– VME Monitor Program Upgrade (Russ, Neil J. + Intern)– CS-Studio Tree Explorer (Glen W. + Intern)– Data Acquisition Program Upgrade (Glen W, & Ru)– Next Generation Motor Control (Mike M. & Tony W.)
• Upgrades– Diagnostics Kicker, X-ray BPM and time resolve (Johannes)– Linac Gun &RF (Neil J. & Hao)– Linac ACIS System (Robby)– Replace remaining pre-1980 controls (Hao + summer student)
Moving Forward
• Current CLS Control System– Built on a common design (circa 2000 and 2002)– Homogonous – Common structure and design across the facility– Built on 6 years of EPICS experience – Built on SAL (30 years) of accelerator and nuclear physics science
• Critical Questions– Does it represent best industry practice?– How can we improve quality (scientific capability and the user experience)?– How can we improve efficiency?– Is it safe and ethical?
• How Do We Answer These Questions?– Collectively (cross-disciplinary)– Open to new ideas and methods– Invite people from inside/outside of EPICS to help us….– Invite people from inside/outside synchrotrons to help us…– Built on our in-house experts…– Decisions to change are technically driven with backup (ECR)– Exploit automation to reduce costs and increase reliability
• Shift in approach, from just-in-time make-it-workbuilding well designed, structured reusable applicationssupport highly configurable applications configured just-in-time
VLANs for: each beamline, machine control, development, office, visitors
VME Crate
(Reflective Memory)
MicroStep
EROCIOC
RTEMS
FieldDev. RS-232
Devices
OPI
Linux
IOCStep Controller
RTEMS
Motors
MicroStep
OPI
Linux
OPI
Linux
Touch PanelOPI Linux
NetworkServer
(bootp, dhcp,auto restore)
Linux
DataArchiveServer
Linux
AlarmServer
MS-Win
MS-SQLServer
MS-Win
PowerEdgeIOC
Linux
PS BoardsIOC
RTEMS
PowerSupplies
EROCIOC
RTEMS
FieldDev.
EthernetDevices
PLC & GPIB
FieldDev.
MagnetsMotors
1GigBridge
IOC
Linux
FieldDev.
ProfibusPLC
System Architecture (3.0)
Network
Office
Gateway
MS-SQL
50
BAOPI
AlarmPrinter
OPI
IOC
IOC
IOC
PLC
OPI
IOC
IOC
Server Subnet
Office Subnet
Beamline BBeamline A
Main Control Subnet