Post Go back to editing

How to establish hart communication between the AD74115H and a Siemens SITRANS probe LU ultrasonic sensor ?

Category: Software
Product Number: AD74115H
Software Version: AD74115H_noOS_Drivers-Rel2.0.1

Hi,

I am using the EVAL-AD74115H-ARDZ development kit from Analog Devices to implement communication via the Hart protocol with a Siemens SITRANS Probe LU ultrasonic sensor.

I am using the eval-ad74115h-ug-2048 document and the firmware contained in AD74115H_noOS_Drivers-Rel2.0.1 as a reference.

When I run the "CurrentInputExtPowHARTExample" that puts the AD74115H in Duplex mode, everything works correctly, the 74 bytes are sent to the Transmit FIFO and received in the Receive FIFO.

To try to establish Hart communication with the Siemens sensor, I am modifying this same firmware as follows:

HART_PowerUp(TRUE, TRUE, TRUE); //Power up HART + Duplex configuration - for testing purposes ONLY + Enable Frame

to

HART_PowerUp(TRUE, FALSE, TRUE); //Power up HART (use following for end application)
I also added the line below in order to request the PV from the sensor.
WriteToRegister(IDX_CMD_KEY, 0x01); //set command to Read primary Variable
 
I couldn't find anywhere in the AD74115H firmware or registers where I could set the destination Hart address for the command.

When I run the modified firmware, I see that the EVAL-AD74115H-ARDZ board sends the Hart message on the I/O P and N output, but no response comes from the sensor and the firmware stays in a loop in While(true) "receiving Hart Data".

I suspect it's something related to the destination Hart address for the message, but as I mentioned above, I couldn't find where to set this address in the example firmware. (AD74115H_noOS_Drivers-Rel2.0.1)

I would be very grateful if you could give me some guidance on the steps required for this Hart communication with the sensor.

I simple code exemple would be great.

Thank You

 
  • Hi  ,

    I will be happy to assist you with your challenge.

    Please note, that driver example does not use any "HART STACK", it is only sending the HART frames as loaded into HART buffer (Frame is "hard coded example"). If you need to construct HART frame and modify it accordingly. As per my understanding HART destination address is part of the HART frame, which needs to be constructed. Driver does not have "Constructor for HART frames", as it is beyond the scope of this example (part of the HART Stack). 

    Also please note that Duplex mode shall be disabled, once you connect the "external sensor". Duplex mode is used only for testing, when you transmit and receive same message, as you have successfully achieved as per my understanding.

    Once correct HART frame is constructed and send (correctly constructed for your sensor), sensor should be able to respond. (Perhaps probing the line with oscilloscope could be also helpful to see, if there is any response.) 

    Regards,

    Arnost

  • Hi APavlik,
    
    Thank you very much for your quick response and your comments. They were very informative.
    
    I will try to implement the Hart frame construction required for communication with the Siemens sensor following your recommendation and do the tests.
    
    As soon as I have the result I will give feedback here.
    
    Thank you very much for your support.
  • Hi APavlik,
    
    I would like to say that I modified the firmware to mount the Hart frame and I was able to successfully read the Siemens sensor.
    
    Thank you very much for your support.
    
    Best regards
    
    Jose Luiz

      .