Hello Modbus experts,
After reading an interesting article on Windows vs Linux (http://www.rtaautomation.com/windows-embedded-vs-linux/) I was intrigued about the idea of using Windows 10 to host my Modbus master in a production environment.
We already have a prototype written in C#, but our client has some concerns about the reliability (and response speed) of Windows. In the past he experienced some times where Windows would delay before processing network requests (I'm wondering if it was related to the Nagle algorithm), so he's advocating Linux.
Some details on the project:
- The hardware will be a little PC stick with a Quad Core Intel Atom CherryTrail processor
- We need a data read rate of 4Hz
- We want a very short "processing" time on the master side, so the client doesn't get held up by the master
I've got quite a bit of experience using Windows for desktop apps, console app and web sites, but not near-realtime processes like this.
- Is Windows 10 (not IoT) sufficient for the task or is Linux better suited?
- If not, is Windows IoT any better?
I suspect Windows 10 with the hardware we have will be fine (and we may need to disable the Nagle algorithm) but I'd love some experienced, expert advice.
We develop a SCADA application that runs on both Windows and Linux and hands down I would choose Linux over Windows for any kinds of data acquisition system/Modbus master. The only argument for Windows is that for people not familiar with Linux it can be easier for them to do things like transfer files back and forth and manage the server. For people familiar with basic Linux usage it's actually faster and easier to manage the Linux system than the Windows one.
In my experience the issue with Windows is reliability, resources and problems that occurs after updates. For high speed data acquisition we developed our own Time Series database and on Windows we have seen performance hits due to disk fragmentation where we never see that on Linux.
Hope this helps.