A waveform channel was added to the HWS softIoc on hartmann. This allows arrays of data to be stored in a single channel. It's not clear whether it is storing this data as a set of number or strings. However, the values can be changed by the following command:
caput -a -n C4:TCS-HWS_CENTROIDSX 5 1,2,3,4,5
Although the <no of values> entry doesn't seem to actual enforce anything - you can have more or less values than this in the array and they are still added to the channel. What does seem to be necessary is no spaces between the commas and the values of the array.
This also works:
[controls@fb1 cds]$ caput -a -n C4:TCS-HWS_CENTROIDSX 2 1,2,3n
Old : C4:TCS-HWS_CENTROIDSX 1,2,35.4342
New : C4:TCS-HWS_CENTROIDSX 1,2,3n
which suggests that this is really a string variable - even with the -n enforce. The cainfo command suggests this as well.
[controls@fb1 cds]$ cainfo C4:TCS-HWS_CENTROIDSX
C4:TCS-HWS_CENTROIDSX
State: connected
Host:
Access: read, write
Data type: DBR_STRING (native: DBF_STRING)
Element count: 1
Usage: caput [options] <PV name> <PV value>
caput -a [options] <PV name> <no of values> <PV value> ...
-h: Help: Print this message
Channel Access options:
-w <sec>: Wait time, specifies longer CA timeout, default is 1.000000 second
Format options:
-t: Terse mode - print only sucessfully written value, without name
Enum format:
Default: Auto - try value as ENUM string, then as index number
-n: Force interpretation of values as numbers
-s: Force interpretation of values as strings
Arrays:
-a: Put array
Value format: number of requested values, then list of values
|