Industrial Automation communication protocols custom software replacing PLC based solutions barebone linux computers machine vision applications