<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Plc on Blog | Jonas Neubert</title><link>https://blog.jonasneubert.com/tags/plc/</link><description>Recent content in Plc on Blog | Jonas Neubert</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 04 Jan 2025 22:57:57 -0700</lastBuildDate><atom:link href="https://blog.jonasneubert.com/tags/plc/index.xml" rel="self" type="application/rss+xml"/><item><title>Using pymodbus to communicate with a PLC</title><link>https://blog.jonasneubert.com/2019/11/02/using-pymodbus-to-communicate-with-a-plc/</link><pubDate>Sat, 02 Nov 2019 00:00:00 +0000</pubDate><guid>https://blog.jonasneubert.com/2019/11/02/using-pymodbus-to-communicate-with-a-plc/</guid><description>&lt;p>&lt;em>This post is part 4 of &lt;a href="https://blog.jonasneubert.com/2019/10/27/what-is-a-plc-and-how-do-i-talk-python-to-it/">a series&lt;/a> covering material I presented in a &lt;a href="https://jonasneubert.com/talks/python2019.html">talk at PyCon 2019&lt;/a>.&lt;/em>&lt;/p>
&lt;p>In the previous parts of this series, I covered &lt;a href="https://blog.jonasneubert.com/2019/10/28/what-is-a-programmable-logic-controller/">what a PLC is&lt;/a>, and &lt;a href="https://blog.jonasneubert.com/2019/10/29/ladder-logic/">how PLCs are programmed&lt;/a>.
In industry, the Python developer is usually not involved in the purchasing, installing, and programming of a PLC.
If you find yourself working with PLCs in academia or for a hobby project, you might actually be the one doing these things yourself.
Either way, I assume that you somehow found yourself with a programmed PLC and now want to connect to it using Python.&lt;/p></description></item><item><title>Ladder Logic‽</title><link>https://blog.jonasneubert.com/2019/10/29/ladder-logic/</link><pubDate>Tue, 29 Oct 2019 00:00:00 +0000</pubDate><guid>https://blog.jonasneubert.com/2019/10/29/ladder-logic/</guid><description>&lt;p>&lt;em>This post is part 3 of &lt;a href="https://blog.jonasneubert.com/2019/10/27/what-is-a-plc-and-how-do-i-talk-python-to-it/">a series&lt;/a> covering material I presented in a &lt;a href="https://jonasneubert.com/talks/python2019.html">talk at PyCon 2019&lt;/a>.&lt;/em>&lt;/p>
&lt;p>Most software engineers are used to writing text-based code using a text editor &lt;a href="https://en.wikipedia.org/wiki/Editor_war">of their choice&lt;/a>.
Things work a little bit differently in the world of PLCs.
To program a Programmable Logic Controller (PLC), you can&amp;rsquo;t just open up your favorite text editor and start typing away PLC code.
First, PLC logic isn&amp;rsquo;t programmed in text (exceptions apply, see below).
Second, you can&amp;rsquo;t use your favorite programming software; instead you will be using the one programming software that the vendor of your PLC provides.&lt;/p></description></item><item><title>What is a Programmable Logic Controller?</title><link>https://blog.jonasneubert.com/2019/10/28/what-is-a-programmable-logic-controller/</link><pubDate>Mon, 28 Oct 2019 00:00:00 +0000</pubDate><guid>https://blog.jonasneubert.com/2019/10/28/what-is-a-programmable-logic-controller/</guid><description>&lt;p>&lt;em>This post is part 2 of &lt;a href="https://blog.jonasneubert.com/2019/10/27/what-is-a-plc-and-how-do-i-talk-python-to-it/">a series&lt;/a> covering material I presented in a &lt;a href="https://jonasneubert.com/talks/python2019.html">talk at PyCon 2019&lt;/a>.&lt;/em>&lt;/p>
&lt;p>I have prepared three different conference talks about PLCs for Python programmers.
Annoyingly, you can&amp;rsquo;t assume that every Python programmer knows what a PLC is, so I always have to sacrifice a few minutes of my time slot&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> to convey the basics before diving into my actual topic.
This blog post is the content I have settled on for those first five minutes of my talks.&lt;/p></description></item><item><title>What is a PLC and how do I talk Python to it?</title><link>https://blog.jonasneubert.com/2019/10/27/what-is-a-plc-and-how-do-i-talk-python-to-it/</link><pubDate>Sun, 27 Oct 2019 00:00:00 +0000</pubDate><guid>https://blog.jonasneubert.com/2019/10/27/what-is-a-plc-and-how-do-i-talk-python-to-it/</guid><description>&lt;p>&lt;em>This post is part 1 of a series. Scroll down for a table of contents.&lt;/em>&lt;/p>
&lt;p>If you&amp;rsquo;ve found your way to this blog, chances are you already know that I&amp;rsquo;ve given a few conference talks about using Python in automation.
You are right now reading the blog post version of content I presented at PyCon 2019.
I started my talk there by answering the question:
&lt;strong>Why do I keep talking about this topic?&lt;/strong>&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p></description></item><item><title>List of PLC brands and products</title><link>https://blog.jonasneubert.com/2019/04/27/list-of-plc-brand-names-and-products/</link><pubDate>Sat, 27 Apr 2019 00:00:00 +0000</pubDate><guid>https://blog.jonasneubert.com/2019/04/27/list-of-plc-brand-names-and-products/</guid><description>&lt;p>tl;dr: &lt;a href="https://docs.google.com/spreadsheets/d/15R6rOn6HexPPkxQu_sHcqVbk_W1myLeLFAvGkUWLZfw/edit?usp=sharing">Here&amp;rsquo;s the link to the spreadsheet&lt;/a>.&lt;/p>
&lt;p>I&amp;rsquo;ve been thinking about Programmable Logic Controllers (PLC) again recently, not least because I am preparing &lt;a href="https://us.pycon.org/2019/schedule/presentation/237/">a conference talk&lt;/a> about them. While putting together the presentation I thought to myself &amp;ldquo;Why not make a list of PLC products out there, I wonder how many there are‽&amp;rdquo;&lt;/p>
&lt;p>Turns out, there are quite a few! After three evenings of research I had a spreadsheet of 144 product lines. That number shouldn&amp;rsquo;t be a surprise given that this is a 50-year-old technology that is ubiquitous in factories, infrastructure, and machinery.&lt;/p></description></item></channel></rss>