What is a PLC and how do I talk Python to it?
By Jonas Neubert

How do you program the physical world with Python? Programmable Logic Controllers (PLCs) are the devices that control HVAC systems, factories, power plants, ..., everything! In this talk, I will bring a traffic signal on stage and program a PLC to control it. We'll then go over several examples for how to use Python to collect data from the system and send data to influence its behavior.

Sunday 4 p.m.–4:30 p.m.

Walk into any factory and you will see a Programmable Logic Controller (PLC). It's the small box that has a memory card and an Ethernet cable on one side, and lots of colorful wires connected to the other end. Inside runs the logic that turns inputs from sensors into outputs to robots, conveyor belts and other machinery. PLCs evolved from relay banks in the 1970s and have ruled the world of industrial automation since then.

In the first half of this talk we will take a look at how they work, how to program them, and why a strange language called "ladder logic" is (still) the lingua franca for programming them. In a short on-stage demo I will write some PLC code to control a device on stage.

It's 2019 now and just running a PLC isn't quite enough anymore. Everyone is talking about the "Industrial Internet of Things" and they have connected their PLCs to the company network. The second half of the talk will look at how we can connect to PLCs to read data and influence the running program with Python.

Jonas Neubert

On most days, Jonas is wrestling with both bits and atoms. He writes software for factories and biotech laboratories and when he talks about "downtime", it means that the robots have stopped moving. In his past projects, he's built smartphone apps that send postcards to real mail boxes, software for 3D printing terrain maps, and little robots that solder each other together to become larger robots. When Jonas is not in the factory he is probably on his bicycle.