DAQFactory on Raspberry Pi


Recommended Posts


We have been using DAQFactory within our company for around 10 years to develop control software for our products.  I'm currently looking at new hardware platforms and one thing that keeps coming up is that Raspberry Pi would be great for us as it would be cheap, small and easy to install within an industrial system.

Windows 10IoT is now available for Raspberry, it includes x86 emulation so should be able to run x86 Windows 10 binaries.  Has anyone got any experience in trying DAQFactory under such an environment?

Link to comment
Share on other sites

I haven't tried this, but I will say this: Win10IoT really refers to two completely different products.  There is IoT-Core which is essentially a rebranded Windows CE (Windows Mobile), which is a rather stripped down version of Windows.  Then there is IoT-Enterprise, which is a rebranded Windows-Embedded, and an actual full Windows.  DAQFactory should run on IoT-Enterprise without any issue, provided you haven't stripped it of any necessary features.  IoT-Core, however, DAQFactory won't run on as is.  I don't know anything about the x86 emulation to run full win10 binaries.  It certainly seems feasible, but also is likely very slow.  However, that may not be an issue with your particular application.   DAQFactory is a 32bit app, so will run on x86. 

You also might consider using the 5.87 version of DAQFactory.  It is built on an older compiler and is a little more streamlined for older / slower systems.


Link to comment
Share on other sites

Any emulator is going to run slower than a real system, and the Pi isn't exactly a powerful computer to start.  That said, if your application isn't very big, it might run just fine.  You can also tune your application to work on it by just being careful. 

For example, if you have an LED component and a channel called MyChannel and you put "MyChannel" in the LED component expression, the system actually makes a copy of the entire history of MyChannel and then the LED takes just the most recent value.  This isn't usually a big deal on a reasonable PC, unless you had hundreds of LEDs and your history's were large, but on an underpowered system, it is more noticeable.  The correct nomenclature is to put "MyChannel[0]" because then the expression parser knows you only want the most recent data point and so only that point gets copied.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.