TANGO
Device Server



 

 

 

 

A2605-A2620 Power Supply device server
User's Guide
 


A2605 Class
 

Revision: - Author: giulio
Implemented in C++ - CVS repository: ESRF





 

 

Introduction:




 

Class Inheritance:


 

 

 

Properties:







Device Properties
Property name
Property type
Description
PsIp Tango::DEV_STRING Power supply ip number
PsMacAddress Tango::DEV_STRING Power supply mac address
PsUdpPort Tango::DEV_SHORT Power supply udp port
CpuUdpPort Tango::DEV_SHORT Cpu udp port
PsModel Tango::DEV_SHORT Power supply model (5/20)
PsIndex Tango::DEV_LONG Power supply index
RnmIndex Tango::DEV_LONG Rnm index
CpuIp Tango::DEV_STRING
SlewRateLimit Tango::DEV_DOUBLE If 0 disable slew rate control.
CurrentControl Tango::DEV_SHORT 0=local control 1=feedback (remote) control 2=local+feedback control
RealtimeControl Tango::DEV_BOOLEAN Realtime communication
DiffTimeErr Tango::DEV_LONG If set-read differ for more then DiffTimeErr, then stat in fault
DiffCurrErr Tango::DEV_DOUBLE If current differs for more then this current (A), then device in fault.
MinDeltaCurRamp Tango::DEV_DOUBLE Minimum delta current(set-read) under which ramp is disabled






Device Properties Default Values:
Property Name Default Values
PsIp 10.1.63.6
PsMacAddress 00:20:4a:ad:db:5a
PsUdpPort 10001
CpuUdpPort 10011
PsModel 5
PsIndex 0
RnmIndex 0
CpuIp No default value
SlewRateLimit 0
CurrentControl 0
RealtimeControl true
DiffTimeErr 7
DiffCurrErr 0.1
MinDeltaCurRamp 2



There is no Class properties.





 

 

States:




States
Names
Descriptions
ON
OFF
FAULT

 

 

Attributes:


Scalar Attributes
Attribute name
Data Type
R/W Type
Expert
Current: Power supply reading current
DEV_DOUBLE
READ_WRITE
No
CurrentFb: Feedback current setpoint
DEV_DOUBLE
READ
No
VdcLink: Power supply dc link voltage
DEV_DOUBLE
READ
No
Voltage: Power supply voltage
DEV_DOUBLE
READ
No
WaveAbsCurMode: If false, waveform current value is summed to the dc value, otherwise current value is equal to the waveform one.
DEV_BOOLEAN
READ_WRITE
No
WaveBunchNumEnd: Bunch number that stop the waveform generation
DEV_LONG
READ
No
WaveBunchNumStart: Bunch number that trigger the waveform to start
DEV_LONG
READ_WRITE
No
WaveCycles: Number of cycles a waveform has to perform if WaveLoopMode is false.
DEV_LONG
READ_WRITE
No
WaveLoopMode: If true, when waveform starts it runs indefinitely, else it runs WaveCycles times.
DEV_BOOLEAN
READ_WRITE
No
WaveStepFactor: Waveform changes its value each wavestepfactor clock times. The clock period is the bunch number period or the recovery (10Hz) period when bunch number is not running. Default value is 1.
DEV_LONG
READ_WRITE
No
WaveTrigBunchNum: Enable waveform trigger by bunch number change
DEV_BOOLEAN
READ_WRITE
No
WaveTrigIrq: Enable waveform trigger by irq
DEV_BOOLEAN
READ_WRITE
No
WaveTrigSw: Enable waveform sw trigger
DEV_BOOLEAN
READ_WRITE
No
CurrentControl: 0=local current control 1=feedback current control 2=hybrid current control (local+feedback)
DEV_SHORT
READ_WRITE
No
BunchNumber
DEV_LONG
READ
No
CurrentSet: Power supply setpoint current
DEV_DOUBLE
READ_WRITE
No
CommFrequency: Coomunication frequency over ethernet
DEV_DOUBLE
READ
No
PsMacAddress
DEV_STRING
READ_WRITE
No





Spectrum Attributes
Attribute name
Data Type
X Data Length
Expert
PsStat: bool[0]: true=power on; false=power off bool[1]: true=generic fault bool[2]: true=dc undervoltage bool[3]: true=mosfet overtemperature bool[4]: true=shunt overtemperature bool[5]: true=external interlock bool[6]: true=input overcurrent bool[7]: true=crowbar (short circuit protection enabled) bool[8]: true=rt comm mode enabled bool[9]: true=communication timeout bool[10]: true=bunch number misalignment/timeout bool[11]: true=current local control bool[12]: true=current feedback (rnm) control bool[13]: true=start waveform on bunch number bool[14]: true=start waveform on sw trigger bool[15]: true=start waveform on interrupt bool[16]: true=cycling infinite number of waveforms bool[17]: true=waveform running bool[18]: true=waveform added to DC vaule; false=waveform pilots directly the ps bool[19]: true=ps enabled to communicate bool[20]: true=bidirectional communication over rnm enabled bool[21]: true=recovery mode running (when bunch number error) bool[22]: true=bunch number overrun (tx not transmitted but bunch number changed) bool[23]: true=rnm error bool[24]: true=ps cycling
DEV_BOOLEAN
32
No
Waveform: Waveform values
DEV_DOUBLE
20000
No






 

 

Commands:



More Details on commands....


Device Commands for Operator Level
Command name
Argument In
Argument Out
Init DEV_VOID DEV_VOID
State DEV_VOID DEV_STATE
Status DEV_VOID CONST_DEV_STRING
On DEV_VOID DEV_VOID
Off DEV_VOID DEV_VOID
Reset DEV_VOID DEV_VOID
GetCurrent DEVVAR_LONGARRAY DEVVAR_DOUBLEARRAY
GetVoltage DEVVAR_LONGARRAY DEVVAR_DOUBLEARRAY
GetVdcLink DEVVAR_LONGARRAY DEVVAR_DOUBLEARRAY
WaveStartSw DEV_VOID DEV_VOID
StartCycling DEV_VOID DEV_VOID
Abort DEV_VOID DEV_VOID
GetCurrentSet DEVVAR_LONGARRAY DEVVAR_DOUBLEARRAY
SaveConfig DEV_VOID DEV_VOID
StartDegaussing DEV_VOID DEV_VOID

 



1 - Init

  • Description: This commands re-initialise a device keeping the same network connection.
    After an Init command executed on a device, it is not necessary for client to re-connect to the device.
    This command first calls the device delete_device() method and then execute its init_device() method.
    For C++ device server, all the memory allocated in the nit_device() method must be freed in the delete_device() method.
    The language device desctructor automatically calls the delete_device() method.
     
  • Argin:
    DEV_VOID
    : none.
     
  • Argout:
    DEV_VOID
    : none.
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


2 - State

  • Description: This command gets the device state (stored in its device_state data member) and returns it to the caller.
     
  • Argin:
    DEV_VOID
    : none.
     
  • Argout:
    DEV_STATE
    : State Code
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


3 - Status

  • Description: This command gets the device status (stored in its device_status data member) and returns it to the caller.
     
  • Argin:
    DEV_VOID
    : none.
     
  • Argout:
    CONST_DEV_STRING
    : Status description
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


4 - On

  • Description:
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


5 - Off

  • Description:
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


6 - Reset

  • Description:
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


7 - GetCurrent

  • Description:
     
  • Argin:
    DEVVAR_LONGARRAY
    :
     
  • Argout:
    DEVVAR_DOUBLEARRAY
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


8 - GetVoltage

  • Description:
     
  • Argin:
    DEVVAR_LONGARRAY
    :
     
  • Argout:
    DEVVAR_DOUBLEARRAY
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


9 - GetVdcLink

  • Description:
     
  • Argin:
    DEVVAR_LONGARRAY
    :
     
  • Argout:
    DEVVAR_DOUBLEARRAY
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


10 - WaveStartSw

  • Description: Start waveform by a software trigger.
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


11 - StartCycling

  • Description: Start cycling procedure
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


12 - Abort

  • Description: Abort a cycling or a waveform generation
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


13 - GetCurrentSet

  • Description: Get current set values
     
  • Argin:
    DEVVAR_LONGARRAY
    :
     
  • Argout:
    DEVVAR_DOUBLEARRAY
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


14 - SaveConfig

  • Description: Save ps mac address into property
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     


15 - StartDegaussing

  • Description: Start degaussing procedure
     
  • Argin:
    DEV_VOID
    :
     
  • Argout:
    DEV_VOID
    :
     
  • Command allowed for:
    • Tango::ON
    • Tango::OFF
    • Tango::FAULT

     



 

 


TANGO is an open source project hosted by :
Sourceforge logo small
Core and Tools : CVS repository on tango-cs project
Device Servers : CVS repository on tango-ds project