120 likes | 236 Vues
Controls for High-Availability Magnet PS’s for ATF2. Glen White SLAC September 11 2007. Summary of Work Done. EPICS drivers written for Ethernet power supply controllers (EPSC). Existing EPICS drivers for ContolLogix PLC for ‘bulk’ PS’s imported into IOC.
E N D
Controls for High-Availability Magnet PS’s for ATF2 Glen White SLAC September 11 2007
Summary of Work Done • EPICS drivers written for Ethernet power supply controllers (EPSC). • Existing EPICS drivers for ContolLogix PLC for ‘bulk’ PS’s imported into IOC. • EPICS database written for control of EPSC’s and ‘bulk’ PS’s. • Simulation mode included. • Client GUI control panels written (Matlab produced with GUIDE, but are standalone through use of compiler). • Testing underway on hardware. • Linux and Windows OS supported for both IOC and client. • Code maintained on SLAC CVS • /afs/slac.stanford.edu/g/ilc/cvs/ATF2/control-software/epics-3.14.8/ioc-ps • Documentation being written on SLAC ATF wiki • http://confluence.slac.stanford.edu/display/ATF/Home
Hardware Support EPICS Drivers • IOC for PS’s is a single host-based EPICS IOC on either a windows or linux PC. • EPSC drivers purpose written using asynDriver interface. • Existing EPICS driver support for ControlLogix PLC’s for bulk PS’s from LANL used.
EPICS Database • EPICS release 3.14.8 used for IOC (and all other EPICS based software tools). • Database records exist for control and readback of desired parameters from EPSC’s and bulk PS PLC’s. e.g: • PSN:pwrOn • PSN:readADC • PSN:current • PSN:status1 • BPSN:pwrOnOff • BPSN:status • Where, N is the PS/magnet (1-36). • Note many->1 mapping for BPS. • The PS status is polled every 1s and corresponding status records updated. • Selecting ‘simulation mode’ disables hardware access code and attempts to simulate normal operating behaviour for use in a Flight Simulator.
IOC Setup • All setup of IOC through single file on host IOC (st.cmd file). # Simulation Flag - Set to 1 and comment out UDP connection lines for sim mode epicsEnvSet(PS_SIM_MODE,“0") ## EtherIP setup drvEtherIP_define_PLC(“plc1”, “192.168.1.200”, 0) drvEtherIP_define_PLC(“plc1”, “192.168.1.201”, 0) ## UDP connection to EPSC (comment out for sim mode) drvAsynIPPortConfigure("PS1conn","192.168.1.98:2000 UDP*",0,0,1) drvAsynIPPortConfigure("PS2conn","192.168.1.99:2000 UDP*",0,0,1) ## Initialise drivers for EPSC echoDriverInit("PS1",1,0,0,"PS1conn") echoDriverInit("PS2",1,0,0,"PS2conn") ## Load EPSC database dbLoadRecords("db/ps.vdb","PS=1,PSconn=PS1conn,SIM_MODE=${PS_SIM_MODE},PLC=plc1,PLC_PS=1") dbLoadRecords("db/ps.vdb","PS=2,PSconn=PS2conn,SIM_MODE=${PS_SIM_MODE},PLC=plc1,PLC_PS=2")
Test Client Displays • GUI’s written for testing and setup of PS’s.
Test Client GUI’s • GUI’s written for testing and setup of PS’s.
Test Client GUI’s • GUI’s written for testing and setup of PS’s.
Test Client GUI’s • GUI’s written for testing and setup of PS’s.
Test Client GUI’s • GUI’s written for testing and setup of PS’s.
Hardware Testing • Successfully tested control of 2 EPSC units and 1 PLC through EPICS GUI controls.
Implementation at ATF2 • Suggest the following: • All PLC’s and EPSC’s on a network local only to EPICS IOC on host pc. • All control through EPICS database on host pc (via gui controls in ATF2 control room). • Control of EPSC’s through UDP protocol, probably best to keep dedicated network as suggested above to reduce risk of packet loss and mimimise chance of control errors. • Above configuration also minimises ATF2-local network traffic.