You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Graphical Rack Map

See: Rack Map

Rack Spreadsheet

Data from the 6 December 2023 version of the Rack Map was copied into a master Google Sheet named MEC RACK DB. For now it only includes the hutch racks, not those on the mezzanine. Edit permission is reserved for me (Peregrine) at the moment - please let me know if you need that access.

The following columns are currently displayed on the first "Rack Data" sheet:

  • Rack
  • Side (FRONT/BACK)
  • Contents
  • Elevation
  • IMS Motor Channels
  • Newport Motor Channels

Additional columns will be added for, e.g. specifying which terminal server ports are in use and the routing of patch panels.

Besides "Rack Data" there are four other sheets which are filter views for:

  • Servers
    • =FILTER('Rack Data'!A:E, REGEXMATCH(UPPER('Rack Data'!C:C), "^DAQ-|^IOC-"))
  • IMS Motors
    • =FILTER('Rack Data'!A:E, REGEXMATCH(UPPER('Rack Data'!C:C), "MFORCE|DIGI-|MOXA-"))
  • Newport Motors
    • =FILTER('Rack Data'!A:E, REGEXMATCH(UPPER('Rack Data'!C:C), "MCN"))
  • SmarAct Motors
    • =FILTER('Rack Data'!A:E, REGEXMATCH(UPPER('Rack Data'!C:C), "SMARACT"))

IMS Motor Channels

peregrin@pslogin02:~$ more ims_search.sh 
for fn in $(ls /reg/d/iocData/*mec*ims**/iocInfo/ioc.log);
do
istr=$(echo $fn | cut -f 5 -d "/");
cat $fn |
awk -F, -v ioc=$istr '{
mstr=""
pstr=""
for (i=1; i<=NF; i++) {
   if (index($i, "MOTOR=")) mstr = substr($i,7,length($i));
   if (index($i, "PORT=")) pstr = substr($i,6,length($i)); 
   if (mstr != "" && pstr != "") {
        printf("%s,%s,%s\n", mstr, pstr, ioc);
   }
}
}' 
done |
sort -k 2 -t , | uniq

Newport Motor Channels

peregrin@pslogin02:~$ more xps_search.sh 
for fn in $(ls /reg/d/iocData/*mec*-xps*/iocInfo/ioc.log);
do
    istr=$(echo $fn | cut -f 5 -d "/");
    grep "Found positioner" $fn |
    awk -v ioc=$istr '{
        cstr = substr($7,2,length($7)-2);
        tstr = substr($9,1,length($9)-1);
        printf "%s,%s,%s\n", cstr, tstr, ioc;
    }'
done



  • No labels