We want to get data registers from an instrumentation device that give us the data in DOUBLE floating point (64bits). We want to put this data into a dynamic Excel sheet.
We tried with MBAXP (from Witte Software), Sapia and Automated Solutions products, but all them do not support DOUBLE floating point (64bit) data format.
Do you know any other product or how to do by reading 4 16bit registers in Visual Basic?
I think Modscan (win-tech.com) still has a trial period to see if it works for you.
Modscan's monitor mode interprets two of the 64bit FP formats, circled in red in the operating window, with 3 FP values in the monitor window (not connected, so values are not populated):
Help File: Display Format Toolbar
Display registers in 64-bit double precision floating point notation.
Display registers in double-precision floating point, (interpreted as having the least significant 16-bits in the first register).
Modscan's Help file has this to save about OLE tasks:
Using ModScan OLE Automation Routines
An optional feature of ModScan is the ability to access modbus data using OLE Automation routines. This allows custom programs to be generated, (using Visual Basic, Excel Basic, etc.,), to interpret and format data according to your specific requirements. OLE Automation routines provide both read and write access to one or more modbus slave devices through the ModScan application.
Using the OLE Automation routines is a very simple process:
The VBA application links to the ModScan.tlb file, (Type Library), which details the names for each automation procedure and its argument list. From the Visual Basic development framework, this is done by selecting the menu item to include a custom type library and then browsing for ModScan.tlb. During the initial Form Load operation, the application must call Create Object as follows:
The application then creates one or more PollRequests which define an array of data points to be read from a modbus device. Data defined by the Poll Request will be automatically scanned by the ModScan application on a 1 second basis. (NOTE: The ModScan application must be connected to the modbus network prior to the VBA application starting up.)
The application uses the handle returned from the CreatePollRequest procedure to access, (read or write), a value within the defined array.
During application termination, it must free the memory used by the ModScan application to maintain the data points by deleting any Poll Requests created.
Refer to the Visual Basic Example application included with the ModScan distribution files for additional details.