Upgrade to V4.0


There will be an additional pipline leading from the S4 to the S2 area. There will be placed one tank with 8 detectors attached. The tank filling wont be triggered automatically, because there are some valves which have to be opened manually for security reasons.

necessary changes
  • there has to be an option to disactivate the automatic tank filling triggered by the volume measurement. This can be done by ignoring the minimum volume of a tank when it is set to zero (nothing has to be changed but setting the minimum value for the control to 0 -> done : tank.panel.vit)
  • a message has to be send when the tank is empty
  • there has to be 2 groups of tanks to avoid the S2 tank to be filled when the other tanks get filled
    • the tanks need a additional attribute : group
    • the pipline methods responsible for calling the tanks to get ready for filling and for dequeuing the tanks have to be changed
    • the pipeline will need a Valve2Air and a PT1002Air for each group
    • when starting the tank fillng from the pipeline setup panel there has to be choosen which group has to be filled
    • simultaneous filling of the two groups should be possible. Maybe the Statemachine of the pipeline needs some changes to realise this. (When S4 tanks get filled the pipeline to S4 is cooled down but not the one to S2)
  • Alternative : create two pipeline objects
    • the tank has to know which pipeline it is connected to
    • the two pipelines will use the same ValveMain -> when a pipeline closes this valve it has to be checked if the other pipeline needs this valve opened (State = fill tanks / cooling ? in Pipeline.Set MainValve.vi <-- doesnt work like this because closing the main valve isnt the last action in filltanks.exit so an additional flag : 'need mainvalve opened' is needed)
    • all calls from the pipline to the tanks have to be reviewed not to be calls to all tanks but only to the ones which are connected to this pipeline
    • --> much easier to implement (no changes on the statemachine and no problems with overlapping of tank filling)

    • 'Name' attribute added at the pipeline (Pipeline.i attribute.vi) (this attribute should be static even though it is not refereced by the tanks)
    • 'Pipeline' attribute added at the tank (Tank.i attribute.vi) !!! This attribute is a pointer to the name of the pipeline object not the the Pipeline.name attribute !!!
    • When the pipeline calls tanks it has to call only tanks which are connected to it. i.e where Tank.pipeline = Name of the Pipeline object (not the Pipeline.name !!!)
      • invite tanks.vi
      • kick out tanks.vi
    • Pipeline.Name reading from database and displaying (panel.vit, i attribute.ctl, BP2Pipe attributes.vi, BP attributes 2 controls.vi, Name = Special2, attributes2controls.vi, mapping.ini)
    • Tanks calls to the pipeline have to be calls to the one it is connected to :
      • disconnect 2 pipe.vi
      • tank filled.vi
      • connect 2 pipe.vi
      • ProcState.vi
    • Tank : reading 'Pipeline' attribute and displaying Pipeline.name on the panel :
      • panel.vit (indicator added)
      • i attribute.ctl (indicator ref added)
      • BP2Tank attributes.vi
      • Interface1 = Pipeline
      • BPattributes2controls.vi (no changes)
      • connect to pipe.vi (indicate pipeline.name)
    • Pipeline : 'need MainValve opened' flag added (i attribute.ctl)
    • Pipeline : the MainValve is only closed when all other pipelines do not 'need MainValve opened' (set MainValve.vi) !!This is a critical change and has to be tested carefully!!
    • get online tanks&dets.vi now also returns the instanciated pipelines. Nameconventions are :
      • Rising_PipelineX, X = 1/2
      • Rising_TankX, X = A/B/C/D
      • Rising_DetectorXY, X = A/B/C/D,Y = 1,...,8
    • Changes on the Rising_GUI class :
      • panel.vit : additional button/indicators/event case for the 2nd pipeline
      • setup pipeline.vi : 'ID in' added
      • refresh state.vi : distinguish between pipeline1 and pipeline2
      • unload all.vi : -"-
      • create state status triggers : -"-
      • init state tags.vi : -"-
-- TobiasHabermann - 31 Mar 2006
Topic revision: r1 - 2006-04-13, TobiasHabermann - This page was cached on 2023-02-08 - 13:22.

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)