Displaying report 1-1 of 1.
Reports until 23:35, Friday 11 May 2012
H2 ISC
jameson.rollins@LIGO.ORG - posted 23:35, Friday 11 May 2012 (2835)
Progress made on H2 ISC slow (Beckhoff) controls interface

Today Patrick and I made some good progress on interfacing the H2 ISC slow controls with the greater IFO controls.

I have created a global name space structure library that will be our interface to the TwinCAT/Beckhoff/OPC system.  This library, Ifo.lib, will be imported by every PLC.  It's leaf nodes are the variables that are written to and read by the PLCs, and will be translated into EPICs records.

We fleshed out the ISC PLC that will be run on the H2ECATY1 slow front end chassis: PLC1.pro.  It imports the Ifo.lib library and defines a single global variable:

H2:  IfoStruct;  (*~ OPC:1 *)

The PLC executes three tasks, one for each of the attached slow chassis:

These three program tasks execute the various functions blocks that are the interfaces to the attached hardware modules, and the IN_OUT variables for those function blocks are elements of the global Ifo structure.  For instance:

PROGRAM ISC_Common_Chassis
VAR
  Vco:           LowNoiseVcoFB;
  VcoIn  AT %I*: LowNoiseVcoInStruct;
  VcoOut AT %Q*: LowNoiseVcoOutStruct;
END_VAR

Vco(
 LowNoiseVcoIn  :=  VcoIn,
 LowNoiseVcoOut  => VcoOut,
 LowNoiseVco    :=  H2.Isc.Als.Ey.VCO);

The global variable H2.Isc.Als.Ey.VCO... is exported as an OPC variable, is in turn exported as EPICS record H2:ISC-ALS_EY_VCO...

We managed to get some test variables talking to hardware, exported as OPC variables, and showing up as EPICS records that were accessible from CDS workstations.

All new code was committed to the "slowcontrols" SVN.

There's still a lot more fleshing out to be done, both for Ifo.lib, and the ISC PLC1 for H2ECATY1, but I think we have a path forward (pending approval from Daniel).

I will continue to work on documentation, particularly the library document for Ifo.lib.  It would also be really nice to have a block diagram that describes in more detail the hardware/software interface, for reference.

Displaying report 1-1 of 1.