.

Average: 0
Rating Count: 0

Development status: Released, Release: release_1_0
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Communication/TangoEpics
Contact:



Class Description


Tango device server for accessing Epics Process Variables.

You must provide the list of PVs you want to interface and optionally a host name and then the device will create a tango attribute for each PV.

Take into account that Tango and Epics follow different naming conventions, which may cause problems. In order to allow maximum flexibility all options have been left open in order to translate the Epics process variable names to tango attributes names:

  1. Name the tango attribute exactly as the Epics process variable name. Take into account that this may cause problems if process variables names include special characters.
  2. Name the tango attribute just like the Epics process variable name but replacing the special characters by others. The replacement may be:

System Message: WARNING/2 (<string>, line 17)

Enumerated list ends without a blank line; unexpected unindent.
a- Automatic: all special characters are replace by a _ character b- Manual: you can specify replacement strings for special characters
  1. Give your own names to tango attributes.

See properties section for more details on how to configure all these options.

Note that if your Epics IOC contains process variables named State and/or Status these will compulsory have to be renamed.

The server uses PyEpics for interfacing Epics. See: http://cars9.uchicago.edu/software/python/pyepics3/index.html

Families: Communication

Key words:

Platform: All Platforms

Language: Python

License: GPL

Contact:

Hardware


Manufacturer: none

Bus: Not Applicable

Class interface


Attributes:

Commands:

Name Description
StateInput: DevVoid
Output: State
Device state
This command gets the device state (stored in its device_state data member) and returns it to the caller.
StatusInput: DevVoid
Output: ConstDevString
Device status
This command gets the device status (stored in its device_status data member) and returns it to the caller.
getHostInput: DevVoid
Output: DevString
Value of the optional property Host
Returns the value of the optional property Host
getTangoNameInput: DevString
Epics process variable name
Output: DevString
Tango attribute name for the Epics process variable name
Returns the Tango attribute name for an Epics process variable name. Take into account that the device is case sensitive
getEpicsNameInput: DevString
Tango attribute name
Output: DevString
Epics process variable name
Returns Epics process variable name for a Tango attribute name. Take into account that the device is case sensitive

Pipes:

Properties:

Name Description
ProcessVariablesArray of DevString This is the list of EPICS process variables that we want to interface and, optionally ,the name we want to give to their corresponding tango attribute. Take into account that naming conventions in Tango and Epics are different. Epics pv reserved characters and keywords (Epics Application Developer’s Guide): - See 6.3.1 Keywords and 6.3.2 Unquoted strings of Tango reserved characters and strings: - Appendix C.4 Reserved words and characters, limitations Each row has the following format (TAB means the tabulator character): epics_pv_nameTABtango_attr_name The use of this optional tango name opens two possibilities: 1) If a ``tango_attr_name`` is provided then it will be used as the tango attribute name corresping to the pv name, no matter which characters or keywords may be. 2) If no ``TABtango_attr_name`` is given then the corresponding tango attribute will be named exactly as the epics process variable BUT special characters may optionally be replaced in the tango attribute name. This gives 3 options: a- Do nothing and name the tango attribute exactly as the PV name. Take into account that this may cause problems with tango. In order to do this you have to define the AutoTranslate property and leave it empty (otherwise default translation characters will be used). b- Replace it with any string that you decide. To do so you have to specify the replacement string in the AutoTranslate property. c- Replace it with character _. This is the default behaviour (default values of AutoTranslate property do this) Remember that in any case the original PV name is set as the corresponding tango attribute description field of its default properties (which you can easily retrieve by getting attribute`s AttributeInfo with attribute_query() method) Furthermore you can use the getEpicsName and getTangoName functions to find out the correspondence between epic pv name and tango attribute name.
HostDevString Optional host name to prepend to all PV names
AutoTranslationArray of DevString Array of strings for special characters replacement. Each string consist on a first character (this is the epics special character) and at least another character (may be more), which will replace the epics special character in the tango attribute name. For example you could replace the epics : character with the string _colon_ by providing the replacement string `:_colon_`


Please log in to comment.

23 Feb 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



19 Jan 2017, Piotr Goryl
Updated:
The device server has been updated.
You can see previous version here .



3 Jan 2017, Piotr Goryl
Created:
The device server has been added to catalogue.
Added by:pgoryl2 on:3 Jan 2017, 1:50 p.m.