Discussion Overview
The discussion revolves around the coding practices of Control and Automation Engineers, particularly in relation to programming languages such as C/C++, Python, and assembly. Participants explore the types of programming these engineers engage in, including microcontroller programming and PLC (Programmable Logic Controller) programming, as well as the relevance of coding in fields like robotics and embedded control systems.
Discussion Character
- Exploratory
- Technical explanation
- Debate/contested
- Mathematical reasoning
Main Points Raised
- Some participants note that many engineers outside of software engineering primarily use Matlab and Excel, with limited exposure to traditional programming languages.
- One participant mentions working with servo motor drives/controllers, emphasizing the use of assembly code for performance-critical applications.
- Another participant shares experiences from a mechatronics course, highlighting the use of both assembly and C for microcontroller programming, and mentions the accessibility of PLC programming for engineers.
- A participant compares PLC coding to programming an Arduino, noting the standardized programming environment and various languages available under IEC 61131.
- Some participants express that C is rarely used for control systems application programming, except in specific cases where speed is a concern, such as writing protocol drivers.
- There is a discussion about the environmental challenges faced in industrial applications, which may limit the use of hobbyist microcontrollers like Raspberry Pi or Arduino.
- Participants express curiosity about the role of programming in embedded control systems and robotics, with some suggesting that programming may be incidental to the overall job responsibilities.
Areas of Agreement / Disagreement
Participants do not reach a consensus on the extent to which Control and Automation Engineers code, with differing views on the relevance and frequency of programming in their roles. There are multiple competing perspectives regarding the programming languages used and the nature of the tasks involved.
Contextual Notes
Participants highlight various programming environments and languages, but there are limitations in the discussion regarding the specific contexts in which different programming practices are applied. The discussion also reflects a range of experiences and job roles within the field, which may influence individual perspectives on coding.
Who May Find This Useful
This discussion may be of interest to students and professionals in engineering fields, particularly those considering careers in Control and Automation Engineering, robotics, or embedded systems, as well as those curious about the programming aspects of these roles.