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:
- 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.
- Name the tango attribute just like the Epics process variable name but replacing the special characters by others. The replacement may be:
a- Automatic: all special characters are replace by a _ character b- Manual: you can specify replacement strings for special characters
- 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.