80 likes | 262 Views
Porting EtherIP to EPICS 3.14. Usage at SPEAR IOC Software Porting Notes 3.13/3.14 Sharing. EtherIP at SPEAR. AB ControlLogix Crates. AB Remote IO. Accelerator MPS. IOC. ENET. CNET. PLC. 3 RIO Crates, 3 PanelViews. ControlNet. EtherNet. Beamline MPS. PC/ RSLogix. ENET.
E N D
Porting EtherIP to EPICS 3.14 • Usage at SPEAR • IOC Software • Porting Notes • 3.13/3.14 Sharing EPICS Meeting June, 2003
EtherIP at SPEAR AB ControlLogix Crates AB Remote IO Accelerator MPS IOC ENET CNET PLC 3 RIO Crates, 3 PanelViews ControlNet EtherNet Beamline MPS PC/ RSLogix ENET CNET PLC Beamline RIO Crates ControlNet Kicker Control WEB ENET (Future) PLC/ FlexLogix 3 Kickers
EtherIP IOC Software Host Tester IOC Events, Mutexs TCP/IP PLC 1 Thread ENET 1 Module . . . . . . Scan Threads, iocsh Data Structs Time PLC n Thread ENET n Module EPICS Meeting June, 2003
Port from VxWorks to OSI • Kay Kasemir supportive – nice collaboration • Most work in driver – not device support • Test on Unix first, then checkout on RTEMS • Timing and semaphores most work • Existing diagnostics great help, web interface useful • Function registration for iocsh • C++ considerations EPICS Meeting June, 2003
Port from VxWorks to OSI (cont) • Not much work for sockets – add TCP_NODELAY option • On RTEMS, may need to increase packet limit (max_interrupt_work) from 20 to 40 • “connectWithTimeout” is needed in osiSock! • Change documentation a little EPICS Meeting June, 2003
Share Source for 3.13/3.14? • Use EPICS_VERSION and EPICS_REVISION, mostly in include files to set other macros (code more readable) • Setup macros to make 3.13 look like 3.14 • Maintain both config and configure directories with the package • Maintain both Makefile (3.14) and Makefile.Vx (3.13) • Change Makefile to build 3.14 if EPICS_HOST_ARCH is set, otherwise 3.13 EPICS Meeting June, 2003