.

Average: 0
Rating Count: 0

Development status: New development
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Communication/Gpib
Contact:



Class Description


This server is a generic gpib interface.

Families: Communication

Key words:

Language: Cpp

License:

Contact:

Class interface


Attributes:

Commands:

Name Description
StateInput: DevVoid
Output: State
This command gets the device state (stored in its device_state data member) and returns it to the caller.
StatusInput: DevVoid
Output: DevString
This command gets the device status (stored in its device_status data member) and returns it to the caller.
WriteInput: DevString
Output: DevVoid
This command send a string to the device. Throws devFailed on error.
ReadInput: DevVoid
Output: DevString
This command reads a string from a gpib device. Throws an DevFailed exception on error
CloseInput: DevVoid
Output: DevVoid
Close a previously opened gpib device. Throws exception on error.
ReadLongStringInput: DevLong
Output: DevString
For most gpib device the read command is enough to talk with the device. In certain case, the gpibDevice returns a very big string, which is larger than the read buffer. For concret example, on :CALC:DATA? command, the hp3588 returns 400 strings representing a spectrum, for a total size> 4Kbytes. This method reads these sort of long string. For efficiency, its better to use the read command instead of readLongString. This method is provided for exceptionnal case. Throws DevFailed on error.
GetNameInput: DevVoid
Output: DevString
Return the gpib device name, as define on the gpib Driver (see them with ibconf tool). Throws DevFailed on error
LocalInput: DevVoid
Output: DevVoid
Set the gpib device in local mode. Throws DevFailed on error.
RemoteInput: DevVoid
Output: DevVoid
Set the gpib device in remote mode. This command is here for compatibility, since network access to a gpib Device, will automatically turn it to remote mode. Throws DevFailed on error.
GetiberrInput: DevVoid
Output: DevLong
This command returns last gpib device error code (lib gpib iberr). Throws DevFailed on error.
GetibstaInput: DevVoid
Output: DevLong
This command returns last gpib device state code (lib gpib ibsta). Throws DevFailed on error.
GetibcntInput: DevVoid
Output: DevULong
This command returns last gpib device count var (lib gpib ibcnt). Throws DevFailed on error.
ClearInput: DevVoid
Output: DevVoid
This command clears the gpib device. Throws DevFailed exception on error.
SetTimeOutInput: DevShort
Output: DevVoid
This command set Time Out value for the gpib device. Warning these values are predefined, cf gpibDevice.h accepted value are [0-15]. Throws DevFailed exception on error.
BCsendIFCInput: DevVoid
Output: DevVoid
This commands send IFC to the gpib Board0. So the board becomes Controller In Charge and devices are cleared. All commands beginning with`BC` are Board Commands. Throws DevFailed exception on error.
BCclrInput: DevLong
Output: DevVoid
This command clears a specified device. Throws DevFailed exception on error.
GetDeviceIDInput: DevVoid
Output: DevLong
This command return internal gpib device ID. This is usefull for board command using this ID to acces devices, as BCclr cmd. Throws DevFailed exception on error.
BClloInput: DevLong
Output: DevVoid
This command send a local lockout to the specified device. Throws DevFailed exception on error.
BCcmdInput: DevString
Output: DevVoid
Send a GPIB command message. This method is not used to transmit programming instruction to devices this kind of instructions are transmitted with the read / write methods. As done in write method, cmd automatically append EOS, as defined with setEOS method.
OpenInput: DevVoid
Output: DevVoid
This command opens a gpib device using the gpibDeviceAddress property. This command should not be used since gpib device is open on device server initialisation. Its provided in case of problem to do it manually. Throws DevFailed exception on error. This command is allowed on fault to accept reconnection.
OpenByNameInput: DevVoid
Output: DevVoid
This command opens a gpib device using the gpibDeviceName property. This command should not be used since gpib device is opened on device server initialisation. Its provided in case of problem to do it manually. Throws DevFailed exception on error. This command is allowed on fault to accept reconnection.
BCGetConnectedDeviceListInput: DevVoid
Output: DevVarStringArray
This command returns the string array : + primary address + secondary address for 1st device found + primary address + secondary address for 2d device found ect .... ex: HEWLETT-PACKARD,3589A,3343A00642,A.00.03 PAD=6 SAD=0
TriggerInput: DevVoid
Output: DevVoid
This command sends a trigger signal to the GPIB device. If the device was previously set up, it can make its measurment, and send it on the bus. Measure is now get with a read command.
WriteReadInput: DevString
Output: DevString
This command perform a write on the GPIB device, and then perform a read to get the answer, before returning it.
ConfigInput: DevVarLongArray
Output: DevVoid
index 0 of input array is the GPIB option to modify. index 1 is the new value to associate to this option.
BCConfigInput: DevVarLongArray
Output: DevVoid
Same method than Config, but sent on gpib Board instead of GPIB device.
SendBinDataInput: DevVarCharArray
Output: DevVoid
This command send an array of binary data to the device through the GPIB bus. Throws devFailed on error.
ReceiveBinDataInput: DevLong
Output: DevVarCharArray
This command reads an array of binary data from a gpib device. Up to 65536 bytes. In generaly, a Gpib device can send or receive 64Ko. Throws an DevFailed exception on error

Pipes:

Properties:

Name Description
GpibDeviceNameDevString This property is used to connect gpib device by name.
GpibDeviceAddressDevShort This is gpidDevice address.
GpibDeviceTimeOutDevShort This is the GPIB device Time Out. Warning this is a predefined value: #define TNONE 0 Infinite timeout (disabled) #define T10us 1 Timeout of 10 us (ideal) #define T30us 2 Timeout of 30 us (ideal) #define T100us 3 Timeout of 100 us (ideal) #define T300us 4 Timeout of 300 us (ideal) #define T1ms 5 Timeout of 1 ms (ideal) #define T3ms 6 Timeout of 3 ms (ideal) #define T10ms 7 Timeout of 10 ms (ideal) #define T30ms 8 Timeout of 30 ms (ideal) #define T100ms 9 Timeout of 100 ms (ideal) #define T300ms 10 Timeout of 300 ms (ideal) #define T1s 11 Timeout of 1 s (ideal) #define T3s 12 Timeout of 3 s (ideal) #define T10s 13 Timeout of 10 s (ideal) #define T30s 14 Timeout of 30 s (ideal) #define T100s 15 Timeout of 100 s (ideal) #define T300s 16 Timeout of 300 s (ideal) #define T1000s 17 Timeout of 1000 s (maximum
GpibDeviceSecondaryAddressDevShort Second address of the gpib device.
GpibBoardNameDevString This is the name of the board where gpib device is plugged. e.g ``gpib1


Please log in to comment.

README

b'//-============================================================\n//\n// This class has been generated by POGO\n// (Program Obviously used to Generate tango Object)\n//\n// (c) - Software Engineering Group - ESRF\n//=============================================================\n\n\nFiles generated:\n===============\nGpibDeviceServer.cpp: Source code for the GpibDeviceServer class and its commands.\n This class is derived from DeviceImpl_2 class.\n It represents the CORBA servant obbject which\n will be accessed from the network.\n All commands which can be executed on the\n GpibDeviceServer are implemented in this file.\n\nGpibDeviceServer.h: Include for the GpibDeviceServer class.\n Server class prototypes and descriptions.\n\nGpibDeviceServerClass.cpp: A singleton class derived fromGpibDeviceServer.\n It implements the command list and all properties\n and methods required by the GpibDeviceServer once per process\n\nGpibDeviceServerClass.h:\tInclude for the GpibDeviceServerClass root class.\n This class is represents the singleton class for\n the GpibDeviceServer device class.\n It contains all properties and methods which the \n GpibDeviceServer requires only once e.g. the commands.\n\nmain.cpp:\t\tC++ source for a TANGO device server main.\n The main rule is to initialise (and create) the Tango\n system and to create the DServerClass singleton.\n The main should be the same for every Tango device server.\n\nClassFactory.cpp:\tC++ source for the class_factory method of the DServer\n device class. This method is responsible to create\n all class singletin for a device server. It is called\n at device server startup\n'

22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



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



23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2 on:23 Feb 2017, 9:49 a.m.