Modbus Communications 32 bit

I am programming a LabView 8.5 application and I need to communicate to a Watlow temperature controller via Modbus TCP.
The controller uses 32 bit floating point.
I know how to read two consecutive 16 bit registers to get a 32 bit word.
My problem is that the addressing structure of the Watlow starts at register 400,000 and goes up from there.
The NI Modbus library (which I have used on previous applications with different Watlow controllers) appears to only support 16 bit addresses.
I can not enter register values greater than 65,535 for my reads and writes.
How can I read the "high-address" register values in the Watlow controller?
Solved!
Go to Solution.

Actually, if you needed to enter the 4, it would not just be a problem for LabVIEW, but all Modbus applications, because only 2 bytes are reserved in the message protocol for the address.
I'm glad it worked.  But please mark my reply #2 as the solution, then.
Message Edited by Ravens Fan on 04-21-2009 01:43 PM

Similar Messages

  • Automationdirect P3000 Modbus Communication Lookout 6.5 for +/- 10V Output Module

    Here is an iquiry I sent to Automationdirect tech support last week.
    I have not had a response from them yet so I thought I would throw it up here.
    Hello,
    I am starting a new project with the P3K and I am using Lookout 6.5.
    This is my fourth installation with this combination and I have learned a bit more about the Modbus communication each time.
    I use the Modbus serial object in Lookout to communicate via RS-232.
    With my first project, I learned to set the "Modbus Server Settings" in the P3000 software to map to a single 16 bit Modbus register to get the communications working with Lookout and making sense with the analog registers.
    For a 10V input I would linear scale in the PAC 0 to 65535 = 0 to 10000 then in Lookout I simply divide by 1000 to get the decimal in the right place.
    On the most recent project, I discovered I could map/scale my analog inputs to 32 bit foats, select the "map to two consecutive integers" in the P300 software properties and then in Lookout, I could read the register properly with an "F"
    like "modbus1.F400001".
    Now I have a P3-16DA-2, ±10V output module.
    I can't get the float to work and it crashes the communication repetitively.
    It will communicate properly if I stick to 16 bit Modbus register for the "Analog Output, Integer, 32 bit" on the Modbus server settings.
    However, I have the register swap issue reminiscent of the DL205 bi-polar input. It outputs 0 to 10V from 0 to 32767 and -10 to 0 from 32768 to 65535.
    I remember having to add logic in the DL260 PLC and then in Lookout I would use the numerical IF;
    "(nif(DL3.C102,DL3.V2102*-1,DL3.V2102))*-1"
    What a pain that was.
    Is there an easy solution?
    Thanks in advance.
    John B

    Bipolar setups are a pain, it seems your if() is similar to what we did as well.  Added a rung and set a coil...
    Only have a few and have not used the P3000 myself, 
    Forshock - Consult.Develop.Solve.

  • Could VBAI be use as Slave in ModBus communication ?

    hello,
    I'm working with VBAI 2010, in ModBus comunication I need to use VBAI as Slave.
    I saw on help file that it is not possible but in menu "Tools\Communication device\" I can see "Vision Builder AI ModBus Adress :"
    What does it mean ?
    Is there any solution to use VBAI as slave in ModBus communication ?
    Fabrice

    Yes, Vision Builder AI can actually only be used as a Modbus slave for now (users can implement the master functionality using a Run LabVIEW step).
    To configure Vision Builder AI as a Modbus Slave device, select Tools>>Communication Device Manager.
    Click New Device, to create the Modbus Master Device you want Vision Builder AI to communicate with.
    Give it a name, then select either the Modbus Serial or Modbus TCP as the communication protocol depending on the physical layer used to connect to your device. For serial, you will need to specify the port and Modbus Mode (the most widely implemented is RTU).
    Click OK.
    Click the Start Server button, next to the Modbus Server, to start the background task that will listen for incoming Modbus messages. Note that the Modbus registers will be updated asynchronously from your inspection, whenever a Modbus frame is received.
    The Vision Builder AI Modbus Slave Address is only used to identify the device, when the protocol is Serial, and you use the RS-485 protocol to connect together more than 2 Modbus devices in a multi-device configuration. Ignore this control if you are using Modbus TCP.
    We know this dialog is a little confusing and are working towards improving it in future releases.
    Once the server is running, use the Modbus Slave step to read and write the Modbus registers (that are located on the machine running VBAI, since you configured VBAI as a slave device).
    Make sure that you specify the correct address in your Modbus Master device configuration software for the register you want to access in Vision Builder AI. In most Modbus device configuration software, you must enter a name for the register you want to use. Per Modbus convention, the register address of the slave device is calculated by subtracting 1 from the register name that you specify in the master device configuration software. Vision Builder AI expects register addresses, not register names, so you may have to subtract 1 from the address you defined in the Modbus device configuration software. For example, a register name defined as 2 in your Modbus configuration device translates to register address 1 in the Vision Builder AI Holding Registers table.
    Modbus Device
    Holding Register Name = 2
    Vision Builder AI
    Holding Register Address = 1
    The Modbus data model is based on a series of four tables: Discrete Inputs, Coils, Input Registers, and Holding Registers. These tables do not overlap in Vision Builder AI. Some Modbus devices use the following start addresses for these tables.
    0x00000 for the Coils
    0x10000 for the Discrete Inputs
    0x30000 for the Input Registers
    0x40000 for the Holding Registers
    Because the tables do not overlap in Vision Builder AI, ignore the first digit of the start addresses when entering the addresses in Vision Builder AI. For example, a register name defined as 0x40000 in a Modbus configuration device translates to register address 0 in the Vision Builder AI Holding Registers table.
    Modbus Device
    Holding Register Name = 0x40000
    Vision Builder AI
    Holding Register Address = 0
    Sometimes you need to subtract 1 from the register name that you specify in the master device configuration software and ignore the first digit of the start address to ensure proper register addressing. For example, a register name defined as 0x40008 in a Modbus configuration device translates to register address 7 in the Vision Builder AI Holding Registers table.
    Modbus Device
    Holding Register Name = 0x40008
    Vision Builder AI
    Holding Register Address = 7
    The Modbus Local Registers Terminal accessible from the Tools menu is a useful tool to figure out where you're writing data.
    Hope this will help you configure the communication between VBAI and your device easily.
    Best regards,
    -Christophe

  • Modbus Communication, Adding shared variables, Licenses

    Hello,  I am having trouble communicating with a third party DAQ.  I am receiving data from a thermocouple input module through a modbus library address but I recently purchased a digital I/O module which is giving me trouble.  As soon as I add the shared variables which correspond to the modbus addresses of the digital I/O module channels I am using I get a few different errors.  If I turn off aliasing for one of the thermocouple channels I get Error 1550 "the license for the I/O server type is invalid"....If I turn it back on I get errors for every modbus location saying "invalid value for enable aliasing option"  I am using the student edition and on the opening screen it says the data logging license is expired.  Is that the problem?  I don't think so because I am successfully communicating with the thermocouple module of the same DAQ device.  Is there a simple way to write a new VI that I can try to communicate with just a switch on the digital I/O module and see if it is reading on or off (0 or 1).  Thank you very much for your time

    Hi brade, 
    To clarify where we are at. the behavior you are seeing isn't expected. It is a minor bug that we have seen in R&D but haven't been able to reproduce and fix yet. 
    People have gotten around it by
    1) re-making their projects 
    2) Enabling descriptions, as the engineer in other post.  The problem went away for him on this post: "Aliasing is no longer an error.  (As long as NI Variables (task description) is enabled)."
    We were talking about the aliasing tab you can see on the modbus variables in hte labview project by right-clicking and going to properties; 
    I assume he checked the box on this tab: 
    Can you also post your project? 
    Jesse Dennis
    Design Engineer
    Erdos Miller

  • Modbus Communication with Cube400

    Hi
    I have problem to communicate with Cube400. It is using modbus protocol and communication is going through rs485. I must connect it to cRIO 9022 serial port so I used converter IC-485SI (converter manual on page: http://www.esis.com.au/Converters/ic485si.pdf ) to change communication from rs485 to rs232.
    I tried to used Modbus I/O Server. When I have one variable binded to modbus register I have proper reading. When I add second variable then I lose readings from first one. This solution is in VI called ModbusIO_rs485.
    After this I tried to communicate with Cube400 by using VISA blocks. I tried to send specific modbus message. On the begging I get proper response several times but right now I am getting timeout error. This program is in VI called VISA_MBP_ForcePush.
    I am attaching project with this VIs
    What is wrong here ?
    Best Regards
    Pawel Dudzik
    Attachments:
    LABVIEW.zip ‏28 KB

    In your program you read 16 bytes immediately after the write.
    You should add some time after the write and you should see how many bytes there are available and read that number of bytes.
    Look at the COM example shipped with LabVIEW.
    And you use the WRONG CRC it should be 0x5679.
    Try communication with the loopback command. Sending  0408 0000 8844 866D  (Hex data) should return the same data
    Kees

  • Modbus communication with Modicon premium PLC

    Is it possible to communicate modicon premium plc(P574634M) and Lab view through modbus.
    If possible how?

    First, do a search for Modbus. There are several options available for communicating with Modbus devices from LV.
    Then, if you have a more specific question, you can post it to the LabVIEW board (you posted to the feedback board by accident).
    Try to take over the world!

  • Modbus communication with a load cell

    Hello..!
    I'm a new user of  LV and I try to communicate with a load cell by RS232 modbus.
    After installed NI Modbus Library I created a master VI with labview 8.6 using these library, and I can obtain a communication with load cell  , these value are added into 1 register U32Bit, and it's  okay, if  I press a load cell I can see the values go on.( from 0 to 65535) . Now I want to show  on front panel  the value in KG , as decimal point,, for a right interpretation of value  for my customer, so I added a block array to unbundle than I convert a value with I32Bit ( -32768 to 32768 ) with an indicator, but I can't see any values..
    I suppose I doing something of  wrong ( conversion ), I read some KB, but I can't see a suitable solution..
    Can someone give me  a link or information to show me an example to convert this value..?
    Thanks  in advance for any helps..
    Configuration of  MAster VI:
     Read holding register
    Starting address 2012 ( query for obtain net value from the load cell)
    quantity 1
    Slave address: 1
    RTU
    9600
    Com 3
    parity none 
    Solved!
    Go to Solution.

    Hello Ravens,
    I tried to use your good advices and  finally I can communicate correctly with my trasducers showing  on front panel the right value ( Kg). Has been a  problem of conversion from output of register ( U16Bit  as 0-65535 )  to I16bit ( -32765 to 32765).
    Thanks  very much for  your help, and I hope to chat again for new challenge...
    Have a nice WE
    Julio
    Attachments:
    Comunicazione Modbus load cell.jpg ‏46 KB

  • Modbus Communications address offset

    Is there an option available in the Modicon Object to enable an address shift during communication with Modicon Devices.  When communicating with a Modicon Quantum PLC 400010 will return the value from the device in reg 400010 but when communication with a Modicon M340, Premium and others 400010 will return the value in 400009.

    Nothing a little data member export and import cant fix...
    On the standard Koyo (automationdirect) PLCs we have to convert from Octal to decimal, then add 1.  
    For example:
    PLC: V1200
    Decimal: 640
    MODBUS: 40641
    Forshock - Consult.Develop.Solve.

  • Modbus communication Error

    Hi All,
    I'm trying to communicate LabView(DSC) with an LG PLC which is modbus supported. The hardware setup is like, a RS232 cable is connected to PLC and the other end of the cable is connected to a RS232 to USB converter (Because the Laptop doesn't have RS232 port) which is connected to Laptop USB port. I tested the communication with Modscan32 and with another SCADA and were successful. But, when I tried connecting to LabView I'm getting an error, " error code: -1967353900. The Modbus I/O server failed to allocate a serial port." . I restarted the laptop and tried, but that error persists.
    Yes, I have gone through the link given,  http://zone.ni.com/reference/en-XX/help/371618D-01/lvdschelp/dsc_modbus_trbsht/ , but wasn't helpful...
    Please let me know the steps to follow to overcome this error.
    Thanks,
    Randheer

    hi..
    as a quick thought.. please exit the modscan32 before you communicate through LV because the port will be blocked by the modscan instance..
    and also please make sure with the serial port settings like the baud rate, parity etc with the PLC and the Addresses match.
    LV 8.0, 8.6, 2011,2012,2013 WinXP

  • Modbus communication with an automation direct GS2 AC Drive

    Has anyone written any VI's to communicate with an automation direct GS2-41P0 AC Drive using modbus?  I need to ask the unit a few questions while it is running and possibly start and stop it.  I have started searching around and found the NIModbus VI's.  I just have not figured out how to modify them to suit my needs yet (I just started playing with this today).  So far it looks like Modbus might make my head explode, but I am hoping it is easier than it looks at first.
    Bryan

    Hi Bryan,
    I've never tried using modbus to communicate with that particular device, but if you have any specific questions I'll do my best to answer them.
    Also, you may be interested to know that the AutomationDirect GS2 Drive is supported by our NI-OPC Server, which may be a more attractive alternative to modbus.  I highly recommend you take a look at the LabVIEW Datalogging and Supervisory Control (DSC) module (wihch includes NI-OPC Server) to see if it is something your application would benefit from.
    Supported Device & Driver Plug-in List for NI-OPC Server
    Connect to Any PLC
    LabVIEW Datalogging and Supervisory Control
    Eric V
    National Instruments
    Applications Engineer
    Certified LabVIEW Associate Developer
    "I'm a Ramblin' Wreck from Georgia Tech and a helluva (NI Applications) Engineer!"

  • 485 modbus communication with Watlow PM trouble

    I have a Watlow PM that I can see over MAX now and using the EZ zone code can get manufacture info from.  I also am using (for the first time) the add-on Modbus over serial tool from Saphire to try to write or read anything from it and I always get a "time out" error from the slave.  I tried to do a simple VISA read as I found on some posts and I get the same time out error.  It seems if I try anything from Labview I get this error.  I even tried writing Hex to the thing with the same results.  Can someone throw me a bone?
    Solved!
    Go to Solution.

    There are a couple of free libraries.
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/201711
    https://decibel.ni.com/content/docs/DOC-30140

  • Process Failure when communicating over MODBUS using LabVIEW 2011 and DSC

    I'm currently trying to read from a PLC's holding registers using MODBUS/TCP. I've confirmed that the PLC is updating the values and responding to MODBUS communication correctly using a third party program called Modbus Poll. However, when I try to poll the PLC using LabVIEW's shared variable engine, I am unable to read any values from the same addresses that I'm viewing with Modbus Poll.
    My setup simply consists of a PC connected directly to the PLC over Ethernet, with no router in between. I am using LabVIEW 2011 SP1 with the DSC module.
    I opened the NI Distributed Systems Manager to view the status of all shared variables in the Modbus library that I created and I've noticed that the CommFail bit is permanently set to "true". All other variables with a "read" access mode report "Process Failure". I've tried restarting the process as well as stopping and starting the local variable engine with no success. I've also restarted my computer several times to see if any services were failing, but this does not seem to have fixed the problem.
    I finally resorted to monitoring communications over the network card that I have the PLC plugged into via Ethernet using Wireshark and I've found that while Modbus Poll is communicating with the PLC, many MODBUS and TCP packets are sent and received. However, when solely using LabVIEW or the NI DSM to communicate with the PLC, there does not appear to be any communication over the network card.
    Something that may be worth noting is that I was able to communicate with the PLC and read values from it with the DSM on just one occasion, when I first figured out which addresses I should be reading from. It all stopped working shortly thereafter. Prior to this, "CommFail" was not usually set to "true" with my current configuration. Thinking that it was my firewall, I have since turned my firewall off, but this seems to have had no effect on the problem either.
    Any help on this matter would be appreciated.
    Solved!
    Go to Solution.

    Just a thought but I think the  register addresses used by LabVIEW are one off of the actual register #.  I was using a CRIO as a modbus IO Server and had to shift the register addresses by 1 to get things to work correctly (can;t recall if it was +1 or -1).  This is documented somewhere on ni.com but can;t seem to find it now.  But here is another  link that may help:
    http://zone.ni.com/reference/en-XX/help/371618E-01/lvmve/dsc_modbus_using/
    Dan

  • CRC-16 SI-M Communication Card, Modbus RTU

    I am trying to write the CRC-16 Generation Procedure for the SI-M Communication Card from TECO Electric and Machining Company.  Here is the algorithm they provide for generating the CRC-16 word (attached is my attempt to implement it, I welcome any suggestions).  This is verbatim:
    A.  Load a 16-bit register with FFFFH.  Call this the CRC register.
    B.  Exclusive OR the first 8-bit byte of the message with the low order byte of the 16-bit CRC registers, putting the result in the CRC register.
    C.  Shift the CRC register one bit to the right (toward the LSB), zero filling the MSB.  Extract and examine the LSB.
    D.  If LSB is 0, repeat procedure C (another shift).  If LSB is 1, Exclusive OR the CRC register with the polynomial value A001H.
    E. Repeat procedure C, D until eight shifts has been performed.  Wile this is done, a complete byte will have been processed.
    F. Repeat procedure B-E to the follwing byte of the message until all bytes of the message is processed.
    G. When the CRC is placed into the message, it upper and lower bytes must be swapped.
    If anyone understands this please feel free to tell me where I went wrong (see attached).
    Cheers!
    Message Edited by jmcbee on 02-05-2009 03:25 PM
    Message Edited by jmcbee on 02-05-2009 03:31 PM
    CLA, CLED, CTD,CPI, LabVIEW Champion
    Platinum Alliance Partner
    Senior Engineer
    Using LV 2013, 2012
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Solved!
    Go to Solution.
    Attachments:
    CRC 16 Generation.vi ‏9 KB

    Thanks for the reply Ravens Fan.  This is my first venture into Modbus communication and I knew that inexperience was going to hurt, especially when it comes to interpretting a poorly written CRC-16 algorithm.  Luckily  I had access to the best minds in this type of work and figured that someone here would have the experience I lacked.  As usual I was not dissapointed.  I love this forum!
    CLA, CLED, CTD,CPI, LabVIEW Champion
    Platinum Alliance Partner
    Senior Engineer
    Using LV 2013, 2012
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.

  • Communication with modbus devices

    Hello All,
    My name Peter, I am currently exploring what LabVIEW has for instrument communication. I have explored a little on NI-Visa and used it for instrument communication through USB and Ethernet. My next task just now is to see how I can communicate with Modbus devices. I have done some background reading on modbus communication protocol and now have some level of understanding of what it is about. I hope to understand more as I continue to read more materials.
    I came across an NI-Tutorial  titled Connect LabVIEW to any PLC with Modbus. It is about communicating with a networked PLC using modbus. I followed all the steps described for creating Modbus master I/O Server, Binding shared variables to Modbus Address through the I/O Server and writing to Modbus Addresses in LabVIEW. On running my VI to deploy the shared variable, the following error occured.
    Can anyone please guide me on what to do because I do not know exactly what is going ON. I engaged in this excercise with the hope of getting to understand more about Modbus communication and then see how I can apply thesame idea to communicate with the Modbus device available in my Laboratory. Please note that I do not yet know much about modbus communication and I am just learning about it now. I do not have any PLC connected to the network. Could that be the reason for the error? If anyone has got any other relevant document to help me get started with modbus communication I will be happy to have them posted here.
    Thanks very much for taking time to read through my post message. Hope to hear a quick response from you.
    Regards
    Peter

    Hi SmithD,
    I would like to say thank you very much for making out time to respond to my queries. I have done as directed but still not getting result. Following the wire mode port setting configuration, I stopped the process and then selected the RS485/wire4 as the wire mode. On running the VI, an error pops up with the information that the Visa resource is Valid but the port cannot be accessed. I noticed that If I undeploy the shared bound variable the error does not pop up anymore. I concluded that maybe I was not supposed to have added the VISA configure Serial port in the first place.
    Kindly tell me what to do.
    My task is to read the holding register from a Modbus device. I have the register map with me, and know the TCP and RTU settings for this device. After the attempts I have made so far I was forced to believe that perhaps the device was not responding. I then resolved to using the QModbusMaster which was previously used to read the holding register. For reasons I don’t not know, It worked well with the TCP communication and returned an error that read " slave threw exception > unknown error". With that, I am now sure that the device is functioning properly, at least with the TCP.
    Having obtained result from the TCP using QModbusMaster application, I want to simply do the same using LabVIEW.
    Some few questions for which I would want to ask for clarification are:
    1.)  When using the Modbus Library, do I need to create both master and slave instance to be able to read the holding register? My attempt was to create a Master instance with the RTU parameters. The starting address and number of registers were specified at the input terminals of the Read Holding Register VI. This VI immediately followed the Create Master Instance VI. I was expecting that that would read the information contained in the specified registers and output it at the register value terminal. One challenge with this attempt was that with RTU it didn't work. I tried selecting TCP as the VISA resource. But the device was not showing on the list. I went to MAX to create a new VISA TCP/IP resource under the network devices but MAX could not detect the presence of the device. I am now thinking maybe the device is not supported by NI-VISA and so it will not be possible to use the Modbus Library with it.
    2.) If the device is actually not compatible with NI-VISA, can DSC I/O server be used to read the information on the holding register?
    3.) Do I need an intermediate device between a Modbus device and the PC to be able to read its holding register?
    Please if anybody has got a good suggestion as to what to do to  get my task achieved, kindly leave me a post.
    Thanks
    PETER

  • Modbus Protocol Communication using RS 485

    Hi all,
    I am facing one problem while communicating with Radix Instrument using Modbus RS 485 Interface.can anybody help me in this,
    The instrument which i am going to communicate is Radix ISOSCAN(16 Channel Temperature Scanner).
    The instrument is having Modbus RS 485 interface facility.
    To that instrument,RS 485 Configuration is there.And I am using RS 485 to RS 232 Converter for communicating with my PC.
    I downloaded Modbus VI Library from NI and I programmed using Modbus VIs.
    I got the instrument Register Addresses also.From this instrument,I want to read 16 channel temperature values.For this,in Modbus terminology we will call as Process Variables(PV).
    For this,I used Read Input Registers(Function Code 04) and I have doubt in configuring Starting Address terminal of "MB Serial Master Query.vi".Because,here if we see the datatype of this terminal,it is U16.But if we see the Instrument register addresses,it is of floating point type.
    Actually first of all I am not getting any out put from "Registers" terminal of "Modbus Master Serial Query.vi"
    Actually as i have to read(Read Only) 16 channel Data from the instrument,and as per the link mentioned in ni "Introduction to Modbus" topic,
    http://zone.ni.com/d...a/tut/p/id/7675
    I selected "Read Input Registers" with Function Code "04".
    As per the link above,If starting address is 40008,we have to give 7,If it is 40009,we have to give 8 ...
    So as per the instrument register addresses,what i got from the instrument design people,Addresses are starting from 40001,
    So I tried in the following ways
    Test 1:
    Following as inputs for "Modbus Master Query.vi",
    1.With Read Input Registers
    2.With Starting address as "0",
    Test 2:
    Following as inputs for "Modbus Master Query.vi",
    1.With Read Holding Registers
    2.With Starting address as 1 also,
    But in both the cases I am not getting any value from the Registers terminal of "Modbus Master Query.vi"
    Also i have gone through the link which is in ni developer zone forums,i.e.
    http://forums.ni.com...uireLogin=False
    Also i observed one thing while running the code anna,
    I am using RS 485 to RS 232 converter for communicating with the instrument.
    From this converter,there are two output terminals(TXD) and (RXD) with boolean indicators(one for the TXD and one for RXD).I think these are send and receive commands for serial communication(RS 232)
    Observation is that,whenever i am running the code,the boolean which correspond to TXD is blinking,
    But there is no indication from boolean of RXD.
    I think,the code which is running in my PC is sending command but because of some reasons there is no reply(as there is no indication from RXD boolean) from the instrument.
    I am thinking that the with the starting address what i am giving in the VI,its not able to search for the registers...,
    Regarding RS 485 to RS 232 Converter,
    In front end,one side, two terminals(D+ and D-) are connected to Instrument D+ and D- Terminals.
    Another side,three terminals(230 VAC,Neutral and Earth) given supply Line,Neutral and Earth Terminals.
    And in front end,9 Pin Female(RS 232) Connector is there and i used one Serial Female to Male cable for connecting my PC to the Converter RS 232 port.
    Can anybody support me so that i can solve this problem...,
    Regards,
    Bujjin
    Attachments:
    Modbus Communication RS 485(8.2).vi ‏31 KB
    RS 485 to 232 Converter Front View.JPG ‏12 KB
    MODBUS-RS485-STD.pdf ‏128 KB

    If you have a 32bit Floating point number (Single Precision) in your register than you must read to U16 number, concanate them by using the "join Numbers.vi and then typecast them into a Single Precisio. See the image Below for more detailed information. 
    I'm not sure if you are still having problems with this if you are please re post and we will be glad to help you 
    thanks 
    Regards,
    CharlesD
    Digital MultimetersSchedule a Free 1 Hour LabVIEW Tutorial with an NI Applications Engineer

Maybe you are looking for