arrow to navigation
Łukasz Menclewicz
Senior Back-end Developer
30.10.2023 | 4 min

How Do Electrical Engineers Use Python?

Every modern factory is filled with electromechanical gears and machines, but the top ones have something more—smart systems that control data, production devices, and the entire manufacturing process. These systems allow machines to talk to each other and people instantly. They gather all the data and make easy-to-read reports from it. In many cases, at the heart of these systems is Python. It's grown in popularity in the IoT industry because of its simplicity, versatility, and extensive library support. In this piece, I'll share three ways factories use Python to make things run faster, more efficiently, and safer in modern manufacturing facilities.

How Do Electrical Engineers Use Python? - 2024 19
Table of Contents
  • Using Python in Automation and Control of Electrical Devices
  • Python in Maintenance and Operations
  • Python's Role in Streamlining Electrical Measurements
  • Is Python Always Worth It, though?

Using Python in Automation and Control of Electrical Devices

Communicating between different devices in a factory setting is challenging because machines and devices often speak different languages, with a mix of protocols like GPIB, RS232, USB, and Ethernet.

And this is precisely where Python tools like pyVISA come in handy. They simplify controlling devices, no matter their interface. 

Picture a machine designed for PCB testing. When you slot in the PCB, on the reverse side, two types of pins come into play: 

  • power pins that ensure the correct power supply is delivered to corresponding points on the PCB,
  • measurement pins, connected to the measuring device, that detect changes in the PCBs electrical signals.

With the right power supply secured at one location via the power pins, the machine then leverages the measurement pins to take readings on the PCB, capturing variances in current or voltage. 

This allows you to review and confirm the efficiency of electrical flows and voltage maintenance. Such processes or switches might occur multiple times during a single test cycle, ensuring comprehensive assessment.

In such a machine, Python acts as the middleman, facilitating dialogues between devices. It sends a message, waits for an answer, and when the data comes in, it processes and archives it, making it ready for immediate distribution.

On top of that, Python automates the whole testing process and controls at least three devices: a relay card that connects the appropriate points to the input/output of the corresponding measuring/power supply device, a power supply on which it sets the appropriate voltage value and outputs it, and a measuring device that sets it to the suitable measuring range and takes the reading. 

Why does this matter?

Primarily, Python minimizes human mistakes, such as misentries, imprecise measurements, or incorrect pin placements that can lead to false readings.

Second, a fully automatic process saves much time on manually setting power supplies and connecting to points on the PCB. 

Finally, enhanced by API integrations, Python's continuous oversight keeps the team updated in real time, alerting them when measurements stray from the norm.

But that’s not all.

Python in Maintenance and Operations

Overseeing a factory means always knowing the state of your machines. Without real-time insights, things can slip.

Traditionally, if a machine faced an issue, the operator would notice and report it. But this method has its pitfalls.

An operator might miss the issue or spot it too late, risking the machine and the batch of products damaged. And even if they do notice, the message might get lost or delayed, especially if the manager isn't immediately available.

That's where Python shines. 

With tools like Django and Flask, Python can set up a direct communication line between machines connected to the network. It collects real-time data, ensuring the right people get instant updates, like whether machines are online and working as they should.

So, when something goes wrong, the information is visible in the API interface (Django/Flask) but can also be sent by email/SMS/notification directly to a technician.

The team knows instantly. This quick response reduces downtime and speeds up repairs.

Take PCB testing, for instance. Using Python, you can continuously measure and validate test results. If the system notices a recurring error across several PCBs, it will hint at a possible tester issue, like a bent pin. 

Such subtle issues might escape the naked eye, but with Python's precision, they're flagged immediately. This vigilance prevents production hiccups and saves the company from time and material losses.

Python's Role in Streamlining Electrical Measurements

Machines routinely gather and store measurements in databases. Subsequently, engineers extract this data to compile insightful reports.

Imagine you're tasked with assessing the voltage stability, either the DC voltage or the RMS value of the AC voltage of a device over a set duration. Ideally, the voltage-time graph should exhibit a consistent line, not oscillations.

Traditionally, a machine takes readings at certain intervals, and then, an operator tediously transfers this data to an Excel sheet to craft a graph. 

It's evident that this manual method, although functional, is both time-consuming and vulnerable to errors.

With Python, leveraging libraries like Pandas for data analysis and Matplotlib for visual representation, it's possible to gather data and construct diverse charts automatically. These can range from histograms, medians, and averages to maximum and minimum values.

But Python doesn't stop there. 

It can collate this data into comprehensive reports, spanning daily, monthly, or yearly intervals, and conveniently convert them to accessible formats like doc or pdf. These reports can then be swiftly sent to the relevant personnel.

Contrasting this automated Python-driven approach with the traditional manual method, the benefits are clear. A single Python command can execute a series of tasks reliably and consistently. 

Plus, the likelihood of errors drops substantially, as a well-designed script ensures precision, a stark contrast to the unpredictability of manual processes.

Is Python Always Worth It, though?

In summary, systems built with Python automate tasks traditionally done by humans, allowing faster and more reliable information exchange between devices. 

Reports and analyses that take an engineer anywhere from several minutes to several hours can, with a single script, be available in real-time or be done in just a few seconds.

So, is it worth investing in advanced measurement and reporting systems?

From my experience, the answer is a resounding yes. Of course, there might be exceptions, such as small businesses with limited production scales, where the cost of implementing an intricate system might outweigh its benefits.

However, in most situations, particularly in primary industrial settings, Python-based tools prove invaluable. They provide substantial financial benefits and priceless peace of mind for engineers, operators, and management staff.

Work with high-tech specialists
Let's talk about your project!
How Do Electrical Engineers Use Python? - 2024 19 Read more