Mac OS X App for collecting linear displacement of a sample

I have a small furnace that heats a sample of my product, a cylinder measuring 20mm x 100mm. As it is heated, there is thermal expansion, and I at this moment read (using my eyes) a micrometer dial gauge and type into my app the value read in hundredths of a millimeter. My source code uses quartz to draw a PDF graph that represents this thermal expansion. I would like to enhance my set up by getting my app to collect the linear displacement from my dilatometer furnace. One possibility I have been trying to implement is to have my app collect DC millivolts from an instrument, like a voltmeter reading the output of an LVDT (Linear Variable Differential Transformer), but the model I have requires MODBUS-RTU protocol, which is not well implemented by Mac OS X developers. It requires an USB-Serial converter, which complicates things and makes it more unreliable. At this moment, I have to sit next to my furnace and type into my app the temperature and linear displacement for 3 hours. I would like to read some comments and suggestions from you or an Apple Engineer and how this could be achieved.

Here is a video of my dilatometer furnace:

https://www.correiofacil.com/video/IMG_8888.MOV

Here is a PDF I generated using my APP:

https://www.correiofacil.com/PDF/117.pdf

Here is a video showing how I type data manually into my app:

https://www.correiofacil.com/video/recording2.mov

Here is a video that shows my app drawing a graph:

https://www.correiofacil.com/video/recording1.mov

These 2 images show my attempts to use the app ModBusRtuMaster to collect data from the voltmeter which at this moment fails:

https://www.correiofacil.com/PDF/8f9be971dee32a58c36b307dbab3dc2d.png

https://www.correiofacil.com/PDF/4ac20c2ea762fd42ed340a7a2b567900.png

You will notice that although the instrument is displaying 0.000 volts, the data collected changes at each message I send to the instrument, proving me that Modbus RTU set up is not working.

Here is a link to the manual of the DC voltmeter I am using:

https://www.correiofacil.com/PDF/manual1.pdf

Here is an image of the LVDT I am trying to use:

https://www.correiofacil.com/PDF/e0349986512f9273b26b209baa3ba5c7.png

Here is the manual for the LVDT:

https://www.correiofacil.com/PDF/GGD19.pdf

I suspect that there could be a completely different approach to collecting the data and inputting into my app, maybe Bluetooth?

Maybe using a Mitutoyo gauge such as? This:

https://www.mitutoyo.com/Images/CatalogUS-1003/resources/pdfs/US-1003_Catalog_251.pdf

And a cable with SPC support like this: https://www.gw-style.com/product-p-942977.html

I am very grateful for your comments

This interface is corrupting one link: https://www.mitutoyo.com/Images/CatalogUS-1003/resources/pdfs/US-1003_Catalog_251.pdf

I uploaded the pdf to my server: https://www.correiofacil.com/PDF/US-1003_Catalog_251.pdf

I've often used serial-to-USB converters connected to a Mac, and not had reliability problems with them. I like to use the Silabs CP2104. Silicon Labs have drivers for these for various platforms. Your code need to know the /dev name of the serial device, which you can derive by inspection in your case (just plug it in, install the driver, list /dev).

To get things going, you can use a terminal emulator like CoolTerm.

The Modbus RTU protocol is well described in the documentation you linked. If I were you, I'd make a command line tool written in Python which reads one displacement value from the voltmeter. I'd utilize that tool into my app's bundle and call it from there. Since I don't use Python very often and the problem is simple, I'd ask an LLM to write the program for me.

you said

although the instrument is displaying 0.000 volts, the data collected changes at each message I send to the instrument, proving me that Modbus RTU set up is not working.

but what does the data you collected actually represent? (I didn't read the docs in enough depth to decode the hex data you show).

It seems like you have nearly all the pieces you need already. Obviously you already have some form of interface to the voltmeter, you just have to replace the Modbusrtubusmaster you mentioned with your own code.

Mac OS X App for collecting linear displacement of a sample
 
 
Q