Start Concurrent Measurements on a Number of Distributed Instruments

The following example shows how to start measurements on multiple instruments deployed on RS-485 and SDI-12 networks. Concurrent measurements ‘aC!’ differ from the ‘aM!’ command as they free the  network after the initial command response to allow other devices to operate. Concurrent measurements enable multiple instruments to respond faster to measurement commands.  

The ‘aC!’ command initiates the measurement cycle within the instrument to start reading from the sensors however the data still has to be requested from the VibWire-108 before being sent across the network.

Example of concurrent measurements for instruments with ID numbers 1, 6, and 7 respectively.    

For this example the instruments are instructed to start readings one at a time and the network is not freed up until each instrument responds that the readings are being undertaken.

The instruments will start their measurement operations as soon as the command is received but will not send data across the network until instructed to do so.

Use the command ‘aM!’    where a = Instrument ID Number  

master sends: ‘1C!’ -  4 sensors  Instrument responds          ‘10144\r\n’      indicated readings available after 14 secs
    The network is free for other devices as soon as this response is returned.
            
          ‘6C!’  -3 sensors     ‘60113\r\n
                   
          ‘7C!’ - 5 sensors     ‘70175\r\n

Read Values From The VibWire-108

No matter which instruction ‘aM!’ or ‘aC!’ is used to initiate measurement operations for the VibWire-108 has to be instructed to send data when it becomes available. It takes the instrument 60 seconds to make sensor values available after being instructed to make a measurement.  The vibrating wire readings are in Units Hz.  The Temp/Current loop input are in Units mV..

Use the command: ‘aD0!’  -- Vibrating Wire inputs 0 - 3  
   aD1!’  -- Vibrating Wire inputs 4 - 7
  aD2!’  -- Temp/current loop inputs 0 - 3   (values in mV)
  aD3!’  -- Temp/current loop inputs 4 - 7   (values in mV

Instrument responds: ‘a+xxxx.x+xxxx.x+xxxx.x+xxxx.x\r\n’      xxxx.x   is the format of the number returned - 1 decimal place

for example to read all the sensor data back from an instrument with ID = 4

master sends:  ‘4D0!’ Instrument responds:  ‘4+1011.3+1204.4+1101.3+1190.7’       Vibrating wire data
          ‘4D1!’ Instrument responds:  ‘4+1021.5+0000.0+1141.2+0000.0’ 0000.0  is returned when no sensor installed


Temperature/Current loop Data Format

         ‘4D2!’ Instrument responds:  ‘4+0050.6+0056.1+0101.2+0000.0’      shows results with only 3 temp/loop values
         ‘4D3!’ Instrument responds:  ‘4+0051.4+0058.3+0110.2+0015.3’  

No Data is available  Instrument responds  ‘a\r\n’     or this example ‘4\r\n

Note. The temperature values are in mV only. Thermistor linearisation is needed is convert the results into engineering values.