We would like to make use of the Raspberry Pi for some of our industrial applications in the future, however there are some aspects of the board which cast doubt onto whether it's robust enough for this sort of application. The main concern seems to be the SD card and it's mounting.
There are several Rpi based industrial controllers on the market, but these seem to be based on the compute module. I'm not sure whether I can use a compute module as a target for Linx, has anyone had any luck with using one ?
i dont have an answer but your question reminded me of KunBUS
their hardware are programed with LabVIEW and are RPI based.
Thanks for your reply.
I'm aware of the KunBUS products, and I think they are based in the Rpi Compute Module.
I'm not sure if I can target Linx to a Compute Module, I'll see if I can contact them for an answer.
I haven't tried with a ComputeModule. As long as you make sure that it is a recent one, so Compute Module 3 or 4, with at least a BCM2837 or BCM2711 CPU, it should go fairly easily. There is likely the problem of different GPIO configuration on the Compute Module, so you would have to adapt the initialization in the LibLinxDevice.so shared library source to match what the Computer Module uses if you want to use any of the peripheral IO such as digital, I2C, SPI and UART. Nothing like rocket science if you know how to edit a C text file and start a gcc command on the command line.
I've answered my own question, by purchasing and testing a Compute Module 4 and I/O board.
It would appear that the Linx toolkit does indeed target a Compute Module without any apparent problems.
The only two issues I had were :
1. The USB ports are disabled by default, so they need to be enabled :
[To enable the USB 2.0 ports on the Compute Module 4, you need to edit the boot config file (/boot/config.txt) and add:
2. There was an error when trying to deploy from the Linx toolkit :
LMH-LINX.lvlib:Local IO.lvlib:Load Device Channels.vi loaded with errors on the target and was closed.
To rectify :
go to this directory
" /svr/chroot/labview/usr/lib "
and change name of "liblinxdevice_RPI2.so" to" liblinxdevice.so".
After that, everything seems to work fine.