Well. Jeff. That makes me 110+ years old. Or sumthin'
Field service should, in my opinion, never include code. A system where there are 10000 or more individual units needs to be tested to death before being shipped. If there's a SW problem, you cannot handle that by sending out people to work on them all. If you do, you will create hell for all involved, including yourself, the end-user and the customer.
For a one off, or a few, yes a PLC is fine. But never for 10000+
I have been doing lots of assembler programming. But if you look at the simplicity and almost object oriented principles that the Arduino environment offers - together with a very C-like programming language and a plethora of code for applications ranging from A to Z - you find yourself working less and less with assembler and more and more in "sketches". I have done entire projects without using any self-written assembler code. There may be assempler snippets. That, I wouldn't know because they are somewhere in the include files that I borrowed from the user library.
There's one problem with this approach: You do not get your own look-and-feel and you may feel like you are using code that isn't reliable. If that is your problem, then write your own code and do all the testing and QA work for yourself. I find it a lot safer to use community tested and verified code than writing and testing your own code in-house. Look-and-feel? That is hardly something that will bother you in an embedded system. And even if you are using display drivers written by someone else, you are in charge of the dialogues and can also usually customize character size and colours quite easily.
As I said before, the Arduino way has changed much to the better. Easy and reliable and perfect for prototyping. Use it together with the built-in monitor for lowest cost or use Tek, Yokogawa or Agilent logic analyzers and scopes if you need to make the development cost high and impressive.
When development and test is ready, you can easily produce your boards at a fraction of the cost of a PLC. And if field support is needed for some obscure reason (put diagnosis and calibration routines in the system for easy maintenance) then you do not need to buy and maintain expensive software for your field support girls and guys. It's available for free anywhere you go.
Gunnar Englund
--------------------------------------
Half full - Half empty? I don't mind. It's what in it that counts.