LMC to MCS

MCS provides commands and attributes to turn MCS on and off (through the CBF Controller) as well as commands needed to configure and execute scans through the subarrays. (CBF Subarray)

The sequence diagram below shows the interactions between LMC and MCS to assign receptors to a subarray, configure a scan, and run a scan. It shows configuration of one Mid.CBF subarray followed by running a scan on that subarray. It ends with no receptors assigned to the subarray. The calls to write the frequency offset K and frequency offset delta F values only need to be written when there are updates to the values. They must be written to the CBF Controller before the scan configuration.

For full details of MCS Controller see CbfController.

For full details of MCS Subarray see CbfSubarray.

@startuml
'https://plantuml.com/sequence-diagram

skinparam backgroundColor #EEEBDC
skinparam sequence {
ParticipantBorderColor DodgerBlue
ParticipantBackgroundColor DeepSkyBlue
ActorBorderColor DarkGreen
ActorBackgroundColor Green
BoxBorderColor LightBlue
BoxBackgroundColor #F0FFFF
}

title TMC and Mid_CBF.LMC Scan Sequence\nHigh Level

participant "\nTMC" as tmc
participant "CSP_Mid\n.LMC" as lmc

box "MCS"
participant "Mid.CBF\nController" as controller
participant "Mid.CBF\nSubarray" as subarray
end box

note over controller        : OpState: ON
lmc         -> subarray     : AddReceptors(strs)
subarray    -> subarray     : ObsState: IDLE
subarray   --> lmc          : success
lmc         -> subarray     : ConfigureScan(json_str)
subarray    -> tmc          : unsubscribe all events

group Delay model subscription point
subarray    -> tmc          : subscribe delay model
end group

group Doppler subscription point
subarray    -> tmc          : subscribe Doppler phase correction
end group

group Jones matrix subscription point
subarray    -> tmc          : subscribe Jones matrix
end group

group Timing beam subscription point
subarray    -> tmc          : subscribe timing beam weights
end group

subarray    -> subarray     : ObsState: READY
subarray   --> lmc          : success

lmc         -> subarray     : Scan()
subarray    -> subarray     : ObsState: SCANNING
subarray   --> lmc          : success

lmc         -> subarray     : EndScan()
subarray    -> subarray     : ObsState: READY
subarray   --> lmc          : success

lmc         -> subarray     : RemoveAllReceptors()
subarray    -> subarray     : ObsState: EMPTY
subarray   --> lmc          : success

@enduml

CbfController Tango Commands

Command

Parameters

Return type

Action

Off

None

(ResultCode, str)

Set power state to OFF for controller and
subordinate devices (subarrays, VCCs, FSPs)
Turn off power to all hardware
See also Off Sequence

InitSysParam

JSON str*

(ResultCode, str)

Initialize Dish ID to VCC ID mapping and k values

Standby

None

(ResultCode, str)

None

On

None

(ResultCode, str)

Turn on the controller and subordinate devices

* Schema for JSON string defined in the Telescope Model - Mid.CBF schemas

CbfSubarray Tango Commands

Command

Parameters

Return type

Action

Abort

None

(ResultCode, str)

Change observing state to ABORTED
Send Abort to VCC
Send Abort to FSP <function mode> Subarrays
No action on hardware

AddReceptors

List[str]

(ResultCode, str)

Assign receptors to this subarray
Turn subarray to ObsState = IDLE if no
receptor was previously assigned

ConfigureScan

JSON str*

(ResultCode, str)

Change observing state to READY
Configure attributes from input JSON
Subscribe events
Configure VCC, VCC subarray, FSP, FSP Subarray
Publish output links.

EndScan

None

(ResultCode, str)

End the scan

ObsReset

None

(ResultCode, str)

Reset subarray scan configuration
Keep assigned receptors
Reset observing state to IDLE
If in FAULT, send Abort/ObsReset to VCC
If in FAULT, send Abort/ObsReset to
FSP <function mode> subarrays
No action on hardware

Off

None

(ResultCode, str)

Set subarray power mode to off.
Commands FSP<function mode> Subarrays
to turn off
No action on hardware power

On

None

(ResultCode, str)

Set subarry power mode to on.
Command FSP<function mode> Subarrays
to turn on

RemoveAllReceptors

None

(ResultCode, str)

Remove all receptors
Turn Subarray off if no receptors are
assigned

RemoveReceptors

List[str]

(ResultCode, str)

Remove receptors in input list
Change observing state to EMPTY if no
receptors assigned

Restart

None

(ResultCode, str)

Reset subarray scan configuration
Remove assigned receptors
Restart observing state model to EMPTY
If in FAULT, send Abort/ObsReset to VCC
If in FAULT, send Abort/ObsReset to
FSP <function mode> subarrays
No action on hardware

Scan

JSON str*

(ResultCode, str)

Start scanning

* Schema for JSON string defined in the Telescope Model - Mid.CBF schemas