What is the best programming language for control systems?

08 Apr.,2024

 

ramzerimar said:

What are protocol drivers?

Before the Open platforms were commonplace, there were many proprietary communications protocols, particularly for SCADA (Supervisory Control And Data Acquisition) systems. We had a lot of field devices with a relatively arcane protocol by today's standards. Nobody had written device drivers for that protocol, so I wrote one. It had to do things in a standard Application Program Interface, so that objects on the screen could send messages to the field and read back the results.

Today, we have many standard SCADA protocols such as DNP3, ModbusTCP (not really a SCADA protocol but people abuse it that way anyhow), IEC 60870 series, as well as a few proprietary ones that people continue to use such as Conitel 2020.

ramzerimar said:

And C is used for microcontroller programming, isn't it? Have you ever programmed one of those?

Yes, for fun and curiousity, but not for industrial applications. Those cute little hobby boards are great in an indoor environment, but we have wide temperature ranges and severe environmental hazards that we need to work with. We expect our equipment to work from -40 C to +60 C. They're installed in steel boxes mounted outside on a concrete pad. The temperature range in that box is pretty much the same as you'd get inside a car with the windows closed. In the heat of summer or the dead cold of winter. We also expect the inputs to have lots of surge and noise protection. We expect galvanic isolation in certain places so as to limit damage due to a nearby or direct lightning strike. A commonplace Raspberry Pi or an Arduino is not the sort of thing I would put out there. Remember the equipment itself is dirt cheap compared to what it costs to get someone out of bed, and send him down the road to fix something that isn't working.

ramzerimar said:

I wonder about Embedded Control Systems too. Robotics, also, looks like a field where programming skills are of real value.


Yes, but programming is almost incidental to the job. If you are under the impression that this is all about writing routines and data structures for a real time application, think again. You have to know about hydraulics, limit switch cycles, position indicator hysteresis, and the physics of moving an arm accurately and quickly from one place to another and so much more. You also have to know what you're assembling, and what production rates are expected. You have to think about how you're going to help ensure quality and accuracy in the product.

The programming takes maybe 15% of your time. The remainder is everything else.

Before the Open platforms were commonplace, there were many proprietary communications protocols, particularly for SCADA (Supervisory Control And Data Acquisition) systems. We had a lot of field devices with a relatively arcane protocol by today's standards. Nobody had written device drivers for that protocol, so I wrote one. It had to do things in a standard Application Program Interface, so that objects on the screen could send messages to the field and read back the results.Today, we have many standard SCADA protocols such as DNP3, ModbusTCP (not really a SCADA protocol but people abuse it that way anyhow), IEC 60870 series, as well as a few proprietary ones that people continue to use such as Conitel 2020.Yes, for fun and curiousity, but not for industrial applications. Those cute little hobby boards are great in an indoor environment, but we have wide temperature ranges and severe environmental hazards that we need to work with. We expect our equipment to work from -40 C to +60 C. They're installed in steel boxes mounted outside on a concrete pad. The temperature range in that box is pretty much the same as you'd get inside a car with the windows closed. In the heat of summer or the dead cold of winter. We also expect the inputs to have lots of surge and noise protection. We expect galvanic isolation in certain places so as to limit damage due to a nearby or direct lightning strike. A commonplace Raspberry Pi or an Arduino is not the sort of thing I would put out there. Remember the equipment itself is dirt cheap compared to what it costs to get someone out of bed, and send him down the road to fix something that isn't working.Yes, but programming is almost incidental to the job. If you are under the impression that this is all about writing routines and data structures for a real time application, think again. You have to know about hydraulics, limit switch cycles, position indicator hysteresis, and the physics of moving an arm accurately and quickly from one place to another and so much more. You also have to know what you're assembling, and what production rates are expected. You have to think about how you're going to help ensure quality and accuracy in the product.The programming takes maybe 15% of your time. The remainder is everything else.

We are sorry that you're having trouble. Please contact an Extron Sales Support Representative (1.800.633.9876) and provide the following Support ID so that we can assist you:

What is the best programming language for control systems?

Extron