Startup and Shutdown

This page shows the behaviour expected for IBEX or starting and stopping. There are two different modes in which IBEX can run:

  1. Full: As the instrument control, which archiving, configurations, logging etc

  2. MiniInst: As a provider of IOCs which are used by SECI

In addition to this it can be on an instrument but switched off because SECI is running.

The system will provide IOCs for SECI (2) if a file called startup.txt is in the ICP Config Root. ICP Config Root defaults to C:/Instrument/Settings/config/<COMPUTERNAME>/configurations but may be overridden in icpconfighost.txt in C:/Instrument/Settings/config.

On a system reboot IBEX should start but only if it was running when the machine was shut down. Whether IBEX was running is recorded by the contents of a file () - this will be done as part of ticket #1950. The reboot behaviour is achieved by placing start_ibex_server script in the startup directory.

Start behaviour:

  • If IBEX is running and IBEX is requested to start then IBEX should restart itself (this should have minimal data loss).

  • If SECI is running and IBEX is requested to start then IBEX should kill it on start and remove the file which claims it is the only running control software.

  • If full IBEX is running and SECI starts it will kill IBEX using the stop IBEX server script - this ticket #1951.

Process on Start (not definitive see actual scripts)

There is a startup script ibex_system_boot.bat, this can be installed as a startup program, if IBEX server was previously started it restarts it otherwise it does nothing. It is detected by the presence of c:\instrument\var\tmp\ibex_running.txt.

Start is initiated from C:\Instrument\Apps\EPICS\start_ibex_server.bat. It:

  1. Stop the ibex server (see below)

  2. Put start file in place #1950

  3. Runs ca repeater bat

    1. Kills old carepeater tasks

    2. Starts a new task in procserv

  4. Runs conserver bat

    1. Stops conserver

    2. Starts a new conserver

  5. If startup.txt exists in config runs start_ibex_server_mini else runs start_ibex_server_full.bat

  6. [full only] update iocs db

  7. [full only] start ioc log server (if logs cannot be loaded, you may not have permission to view the files, this can happen if you accidentally started the server in admin mode in the past. This can be fixed by either changing the folder’s permissions or deleting its configs)

  8. [full only] start the alarm server

  9. start the gateways

  10. start the procserver for the iocs (call iocstartup\procserv.bat)

  11. starts proc server control (PSCTRL IOC)

  12. Reload conserver

  13. [full only] start the block server

  14. [full only] start the database server

  15. [full only] start the script server (if not on an instrument)

  16. [mini only] Start and enable auto start on IOC in startup.txt list

Process on Stop (not definitive see actual scripts)

Initiated from start or C:\Instrument\Apps\EPICS\stop_ibex_server.bat. It stops the following

  1. Remove start file #1950

  2. IOCs in startup.txt

  3. Conserver

  4. IOC Log Server

  5. Alarm server

  6. Gateway

  7. Blockserver

  8. Database Server

  9. Script Server

  10. IOCs with PID files

  11. All procserv processes

  12. All exes in ioc startups

  13. Gateway exe

  14. Conserver.exe

  15. Console.exe

  16. PSCTRL

  17. Archive engine

  18. MK3 Chopper

  19. [instrument only] css.exe

  20. [instrument only] javaw

  21. [instrument only] java

  22. [instrument only] pythonw

  23. [instrument only] ibex-client

  24. [without startup.txt] python

  25. [without startup.txt] SeciUserInterface

  26. [without startup.txt] SeciStartup

  27. [without startup.txt] LabView

  28. [without startup.txt] mkscript3

  29. [without startup.txt] muonscript

  30. [without startup.txt] PlotScan.exe

  31. [without startup.txt] vs7jit.exe

  32. [without startup.txt] mari_script.exe

  33. [without startup.txt] tkgenie32.exe

  34. [without startup.txt] dllhost.exe

  35. [without startup.txt] isisdatasvr.exe

  36. [without startup.txt] isisicp.exe

  37. [without startup.txt] cwdss.exe

  38. camonitor

  39. caRepeater

Ports

ProcServ Ports

These items have hard-coded ports for ProcServ:

Name

Port

Blockserver

9006

Database server

9009

JSON Bourne server

9012

Everything else (IOCs, Block Cache, archivers etc.) are assigned ports as part of the build process starting from 20000.

Other Ports

Name

Port

Instrument Archiver web port

4812

Block Archiver web port

4813

JSON Bourne web port

60000

Blockserver web port

8008

Script Server (ActiveMQ STOMP port)

39991

JMS (ActiveMQ openwire port)

39990