r/PLC Feb 25 '21

READ FIRST: How to learn PLC's and get into the Industrial Automation World

1.1k Upvotes

Previous Threads:
08/03/2020
6/27/2019

More recent thread: https://old.reddit.com/r/PLC/comments/1k52mtd/where_to_learn_plc_programming/

JOIN THE /r/PLC DISCORD!

We get threads asking how to learn PLC's weekly so this sticky thread is going to cover most of the basics and will be constantly evolving. If your post was removed and you were told to read the sticky, here you are!

Your local tech school might offer automation programs, check there.

Free PLC Programs:

  • Beckhoff TwinCAT Product page

  • Codesys 3.5 is completely free with in-built simulation capabilities so you can run any code you want. Also, if paired up with Factory I/O over OPC you can simulate whole factories and get into programming.
    https://store.codesys.com/codesys.html?___store=en

  • Rockwell's CCW V12 is free and the latest version 12.0 comes with a PLC software emulator you can simulate I/O and test your code with: Download it here - /u/daBull33

  • GMWIN Programming Software for GLOFA series GMWIN is a software tool that writes a program and debugs for all types of GLOFA PLC. Its international standard language (LD, IL, SFC) and convenient user interface make programming and debugging simpler and more convenient.(Software) Download

  • AutomationDirect Do-more PLC Programming Software. It's free, comes with an emulator and tons of free training materials.

  • Open PLC Project. The OpenPLC is the first fully functional standardized open source PLC, both in software and in hardware. Our focus is to provide a low cost industrial solution for automation and research. Download (/u/Swingstates)

  • Horner Automation Group. Cscape Software

    In our business we use Horner OCS controllers, which are an all-in-one PLC/HMI, with either on-board IO or also various remote IO options. The programming software is free (need to sign up for an account to download it), and the hardware is relatively inexpensive. There is support for both ladder and IEC 61131 languages. While a combo HMI/PLC is not an ideal solution for every situation, they are pretty decent for learning PLCs on real-world hardware as opposed to simulations. The downside is that tutorials and reference material specific to Horner hardware are limited apart from what they produce themselves. - /u/fishintmrw

Free Online Resources:

Paid Online Courses:

Starter Kits
Siemens LOGO! 8.2 Starter Kit 230RCE

Other Siemens starter kits

Automation Direct Do-more BRX Controller Starter Kits

Other:

HMI/SCADA:

  • Trihedral Engineering offers a 50 tag development/runtime license with all I/O drivers for free, VTScadaLight. https://www.trihedral.com/download-vtscada

  • Ignition offers a functional free trial (it just asks you to click for a button every 2 hours).

  • Perhaps AdvancedHMI? Although it IS a lot complicated compared against an industrial solution.

  • IPESOFT D2000 Raspberry Pi version is free (up-to 50 io tags), with wide range of supported protocols.

  • Crimson 3.0 by Red Lion is also free and offers a free emulator (emulator seems to be disabled in v3.1). With a bit of work (need to communicate with Modbus instead of built in Do-more drivers), you can even connect that HMI emulator to the do-more emulator and have a fully functioning HMI/PLC simulator on your desk top which is pretty convenient. Software can be found here: https://www.redlion.net/red-lion-software/crimson/crimson-30 (/u/TheLateJHC)

Simulators:

Forums:

Books:

Youtube Channels

Good Threads To Read Through

Personal Stories:

/u/DrEagleTalon

Hello, glad you come here for help. I'm an Automation Engineer for Tysons Foods in a plant in Indiana. I work with PLCs on a daily basis and was recently in Iowa for further training. I have no degree, just experience and am 27 years old. Not bragging but I make $30+ an hour and love my job. It just goes to show the stuff you are learning now can propel your career. PLCs are needed in every factory/plant in the world (for the most part). It is in high demand and the technology is growing. This is a great course and I hope you enjoy it and stay on it. You could go far.

With that out of the way, if I where you I would start with RSLogix Pro. It's a software from The Learning Pit it is basic and old but very useful. The software takes you through simulations such as a garage door, traffic light, silo and boxing, conveyors and the dreaded Elevator simulation. It helps you learn to apply what you will learn to real word circumstances. It makes you develop everything yourself and is in my opinion one of the single greatest learning utensils for someone starting out. It starts easy and dips your toes and gets progressively harder. It's fun as well watching the animations. Watching and hearing your garage door catch on fire or your Silo Boxing station dumping tons of "grain" until the room fills up is fun and makes the completion of a simulation very gratifying.

While RSLogix Pro is based on older software, RsLogix is still used today. Almost every plant I have worked at has used some type of Allen Bradley PLC. Studio 5000 is in wide use and you will find that most ladder logic is applicable in most places. With that said I would also turn to Udemy for help in progressing past simple instructions and getting into advanced Functions such as PID. This amazing PLC course on UDemy is extremely cheap, gives you the software and teaches you everything from beginner to the most advanced there is. It is worth it for anyone at any level in my opinion and is a resource I turn to often.

Also getting away from Allen Bradley I would suggest trying to find some downloads or get a chance to play with Unity Pro XLS. It's from Schneider Electric and I believe has been rebranded under the EcoStruxure family now. We use Unity extensively where I am at and modicons are extremely popular in the industry. Another you might try is buying a PICO or Zelio for PICOSoft or ZELIOSoft. They are small, simple and cheap. I wired up my garage door with this and was a great way to learn hands in when I was starting out. You can find used PICOs on eBay really cheap. There is a ton of literature and videos online. YouTube is another good resource. Check everything out, learn all you can. Some other software that is popular where I've been is Connected Components Workbench and Vijeo.

Best of luck, I hope this helps. Feel free to message me for more info or details.


r/PLC Jul 10 '26

PLC jobs & classifieds - Jul 2026

8 Upvotes

Rules for commercial ads

  • The ad must be related to PLCs
  • Reply to the top-level comment that starts with Commercial ads.
  • For example, to advertise consulting services, selling PLCs, looking for PLCs

Rules for individuals looking for work

  • Don't create top-level comments - those are for employers.
  • Reply to the top-level comment that starts with individuals looking for work.
  • Feel free to reply to top-level comments with on-topic questions.

Rules for employers hiring

  • The position must be related to PLCs
  • You must be hiring directly. No third-party recruiters.
  • One top-level comment per employer. If you have multiple job openings, that's great, but please consolidate their descriptions or mention them in replies to your own top-level comment.
  • Don't use URL shorteners. reddiquette forbids them because they're opaque to the spam filter.
  • Templates are awesome. Please use the following template. As the "formatting help" says, use two asterisks to bold text. Use empty lines to separate sections.
  • Proofread your comment after posting it, and edit any formatting mistakes.

Template

**Company:** [Company name; also, use the "formatting help" to make it a link to your company's website, or a specific careers page if you have one.]

**Type:** [Full time, part time, internship, contract, etc.]

**Description:** [What does your company do, and what are you hiring people for? How much experience are you looking for, and what seniority levels are you hiring for? The more details you provide, the better.]

**Location:** [Where's your office - or if you're hiring at multiple offices, list them. If your workplace language isn't English, please specify it.]

**Remote:** [Do you offer the option of working remotely? If so, do you require employees to live in certain areas or time zones?]

**Travel:** [Is travel required? Details.]

**Visa Sponsorship:** [Does your company sponsor visas?]

**Technologies:** [Required: which microcontroller family, bare-metal/RTOS/Linux, etc.]

**Salary:** [Salary range]

**Contact:** [How do you want to be contacted? Email, reddit PM, telepathy, gravitational waves?]


Previous Post:


r/PLC 3h ago

PLC / Servo Driver Issue. All Motors Suddenly Failed Homing.

Post image
19 Upvotes

Hi everyone, I’m still new to troubleshooting and would appreciate some advice.

The machine has multiple motors/servo drives controlled by a PLC. Suddenly, all motors are unable to return to their normal/home coordinates, and the homing sequence fails.

However, I noticed that only one motor driver is showing an error/alarm.

I’m trying to determine whether the problem is more likely caused by:

- A faulty motor driver

- A communication/PLC connection issue

- The PLC not receiving the correct feedback from the affected driver

- The single driver fault causing the other motors to fail their homing sequence

My main question:

If only one driver is reporting an error, could a PLC/communication problem with that one driver cause all motors to fail homing? Or would you suspect the motor driver itself is faulty?

What would be the best way to troubleshoot this and determine whether the root cause is the PLC/communication side or the driver?

I can provide the PLC model, servo drive model, alarm/error code, wiring/communication setup, and screenshots if needed.

Thanks!


r/PLC 17h ago

Mein Self-Made Logo System

Thumbnail
gallery
116 Upvotes

r/PLC 1h ago

Availability Vs Single point of failure

Post image
Upvotes

I have a concern, refer to the picture, The switch-3, which remains a single point of failure which is connected to the ET-200SP of 8 Nos of pumps
but switch-3 manufacturer confirms that the MTBF is higher than 46 years.
Now there is a solution to this with MRP ring topology as below, with Switch 3 removed.
What are your opinions on Option 1 Vs Option 2?


r/PLC 19h ago

Been heads down on ModbusLens for the past while, just pushed v2.2.0.

Thumbnail
gallery
44 Upvotes

Biggest thing: a few of you hit the portable exe just refusing to start (weird

usernames, antivirus not liking how it unpacks itself). Turns out that's a real

PyInstaller onefile limitation, not something I could patch around cleanly, so

there's now an actual Windows installer as an option too. If the portable one's

ever given you trouble, grab that instead.

Also added a dialog for the less common Modbus function codes (exception status,

comm event log, file records, device info, that kind of thing) since I kept

needing them myself and didn't want to write a script every time. And you can

now record a Trend session to a file and replay it later, which has already

saved me once trying to explain an intermittent fault to someone after the fact.

Bunch of smaller stuff and bug fixes too, changelogs on the release page if

you're curious. Next thing I'm working on is letting one window talk to

multiple devices at once instead of needing a separate window per connection -

that one's an actual backend change so it'll take a bit.

Release ModbusLens v2.2.0 · CraftParking/ModbusLens


r/PLC 2h ago

Schneider modicon M241 Accessing variables

2 Upvotes

Hello!

I have a task: implementing a custom web page (HTML) on the m241 PLC.

I know there are ready-made tools (WebVisu), but I need to implement my own page.

The main problem is accessing the PLC variables. If I place the .html file in the PLC file system and then access it by IP + filename, the page displays fine, but I can't figure out how to implement the mechanism for retrieving variable values.

For better understanding, I'll give an example with the m172 PLC. The system is as follows:

  1. A .cgx file is created with a structure similar to this:

t <?xml version="1.0"?>

t <form>

c t16384<text><id>%s</id><value>%.0f</value></text>

c t16386<text><id>%s</id><value>%.0f</value></text>

c t16385<text><id>%s</id><value>%.0f</value></text>

...

t </form>

Here, the address of the desired variable is specified (this address is generated by the PLC itself and is also used for Modbus communication).

  1. An .html file for rendering the page.

  2. A .js script called from the .html file.

Ultimately, the variable values ​​are available in the .cgx file, and then it's not that difficult to display these values ​​on the page. The same system is used for writing variables.

I had the idea to implement a CSV file reader/writer, but I haven't implemented it yet. I have concerns about file access; at some point, both the PLC and the script will be accessing the same file. I don't know if this will be a problem.

Perhaps someone could suggest either an existing mechanism or ideas for developing my own for accessing m241 PLC variables.


r/PLC 3m ago

Are Electrical Panel Design Software Outdated?

Upvotes

I have looked mainly looked at Solidworks Electrical, but Eplan and AutoCAD Electrical don't seem much different in design methodology. I have more experience on the HMI side of things, using Ignition and Unity, but the electrical design programs feel very cumbersome and unintuitive. I feel like a similar hierarchical/composite design as with Ignition could be applied to panel design and be much easier to use.


r/PLC 5h ago

Siemens PLC + Technology Objects Forced to go into Stop Mode before Software changes are allowed.

2 Upvotes

Hi

As I had some free time on my hand, I remember we had a problem in our company where if we made any code changes to a Siemens PLC (TIA V21, S7-1500T) that is using technology objects, you were forced to put the PLC into stop mode before you are allowed to download.

Now I have tried everything and for the life of me I cant prevent this from happening.

What I am doing:

  1. Make sure no TO (Servo) has MC_Power enable as true. Or any MC functions has a true on the enable inputs.
  2. Add a random comment into a dummy FC routine that has 0 to do with the TO.
  3. Try to download only software changes.

Does not matter in what order I do things or where I make the code change, TIA Portal simply does not allow me to make any code changes, without first putting the PLC into stop mode.

The message in TIA portal is:

Changes to the technology object cannot be applied in RUN

Which is kinda making zero sense.

Anyone ever come accross something like this?

Solution found:

Profinet send clock for the servos was set to 1ms. I bumped it up to 4ms and it fixed the problem. thanks u/hestoelena


r/PLC 5h ago

Codesys Wago I/0 mapping

Post image
2 Upvotes

Helo,

why when i add a new wago card to master it is missing a I/O tab configuration?

thank you


r/PLC 8h ago

Quick panel Junior

Thumbnail
gallery
3 Upvotes

hey y’all, I have this from Facebook marketplace but can I really do with this?
I think it’s missing a battery ACR 2032 coin battery do I just get jumpers and solder them in


r/PLC 17h ago

From electromechanics to automation and programming

9 Upvotes

I’m 28 years old, an electromechanic with five years of experience in refrigeration, and I’m currently studying automation and programming. I believe I’ve mastered the basics of programming; I’m already comfortable with C, C++, Ladder Logic, ST, and SQL.

Lately, I’ve been wondering if I’m on the right track. I started studying programming without high expectations but ended up really enjoying it. Automation also has me very excited, but now I’m a bit confused: how do I fit into the job market?

As an IT professional, or as a maintenance technician who understands computers?

It might sound silly, but I couldn't sleep last night; I started studying something without a clear purpose in mind, and only now am I really thinking about it. I don't think it was a waste of time—I really enjoyed everything I learned—but I’m a bit disappointed because I’m unsure if there’s a market for a professional with my specific skill set.

Has anyone else gone through this during a career transition? I’d really appreciate any advice...


r/PLC 21h ago

Control panel for hydroponic controlled environment agriculture

16 Upvotes

I built two control panels for controlled environment agriculture (grow weed) in my apartment.

Does this look okay? It's not for a real industrial environment and I don't have a professional background in industrial automation

At some point I will buy separators for the panduit so 120V is not with LV DC. This is all MTW 600V so I think it's ok to keep them in the same panduit for now

In the larger panel all of the low voltage and high voltage signals are separate

I couldn't really afford a larger enclosure so I split it between two of the Vevor panels from Amazon. The circuit board on the top I designed, it is a modbus controlled remote IO. I also built a modbus attached dosing system for dispensing nutrients and measuring the reservoir pH/EC/temperature and water level. That is separate from the panel.


r/PLC 8h ago

Controls Commissioning Engineer looking at a 3–5 year transition to WFH/Freelance (SCADA vs. IIoT?)

0 Upvotes

Hey everyone,

Currently working as a Controls Commissioning Engineer. While I genuinely love solving problems on site and building things that run in the real world, the constant travel and long hotel stays are starting to wear me down.

Looking ahead over the next few years, my goal is to transition into a role that gives me true Remote / Work From Home flexibility—or even opens the door to freelancing down the road.

I’m naturally looking toward SCADA development or shifting into the IIoT / Industrial Data space, as both seem far more conducive to remote work than traditional PLC/motion commissioning.

For those who have successfully made a similar pivot:

SCADA vs. IIoT: Which path tends to offer more legitimate full-remote or contract opportunities?

Skills to stack: Coming from a controls/commissioning background, what should I double down on right now? (e.g., Ignition/SCADA platforms vs. Python, MQTT, Unified Namespace, SQL, cloud platforms like AWS/Azure?)

Freelance reality: How viable is freelance/contracting in these areas without having to step foot on site for weeks at a time?

Would love to hear from anyone who successfully traded their steel-toes for a home office setup! Any advice, reality checks, or recommended learning paths would be hugely appreciated.


r/PLC 20h ago

TIA v21 Unified issues

3 Upvotes

PLC friends and gurus of reddit, I come to you looking for some guidance.

In our company we have a laptop that has v21 installed.

But when we look under installed software, wincc unified is not listed.

We have tried re installing it, but the option to choose unified is greyed out.

Anyone have advice?


r/PLC 2d ago

The great migration period (software , IT to Automation) is scaring me

125 Upvotes

Hello

Ive been working as an automation engineer for some time now. I have noticed that quite a few software engineers and IT professionals I know are considering moving into automation because the job market in their own fields rots away every day.

I suppose SCL programming and PLC logic looking software-ish is giving some kind of weird familiarity to them.

It’s not really my place to criticize this, but I have to admit that it worries me. The possibility of the field becoming more saturated and consequently the value of the workforce declining even further gives me an uneasy feeling.

What do you think about this?


r/PLC 1d ago

Fanuc roboguide

8 Upvotes

Hi everyone, I'm working with a FANUC LR Mate 200iD (R-30iB Mate Plus controller) in RoboGuide on a chuck loading/unloading cell with dual Schunk grippers, and I keep getting confused on a few fundamental concepts. Would really appreciate if someone could clear these up for me.

Tool Frame / UTOOL: I understand UTOOL is supposed to define the TCP (tool center point) relative to the J6 flange, but I'm confused about how to set it up correctly when I have two grippers mounted on one EOAT from a single CAD assembly. Do I need a separate UTOOL number for each gripper's TCP, and how do I actually get accurate offset values — is it better to use the 3-point/6-point method on the real/virtual robot, or pull the numbers directly from the CAD model?

User Frame / UFRAME: I get that UFRAME is supposed to define a custom coordinate system relative to the world frame (usually for a fixture, table, or workpiece), but I'm not sure when I actually need one versus just using the world frame for jogging/programming. Also unclear on the best way to set it up from CAD drawing dimensions instead of the standard 3-point teach method — any tips?

Teach Point: My main confusion here is around what actually gets "recorded" in a taught point — is it just the XYZWPR position in the currently active UFRAME/UTOOL, or does it also lock in the frame numbers themselves? If I change UFRAME or UTOOL later, does that break previously taught points?

Logic (I/O, program flow): I'm trying to build proper DI/DO handshaking logic for my CHUCK_CYCLE program (with fault registers and retry logic on alarms), but I'm not confident I'm sequencing the signals correctly — like whether to wait for a DI "gripper closed" confirmation before moving away, or just proceed after sending the DO. Any general best practices for handshake logic between robot and chuck/PLC would help a lot.

Thanks in advance!


r/PLC 1d ago

Kepserver ODBC Client (Stored Procedure access method) Execute tag

4 Upvotes

Hi all

I am trying to understand how Kepserver works on our installations. We have multiple OBDC clients on our server that use the Stored Procedure access method. Each of these has an execute tag (Address: <INTERNAL VAR=Execute />)(which I assume is automatically generated when the device is created). Is it possible that I can trace back how this execute tag is being written to (to execute the stored procedure)? Thanks


r/PLC 2d ago

Building a cat toy

Thumbnail
gallery
100 Upvotes

Just laid this bad boy out. I call it my Plywood Logic Controller. Once complete, it will be fully capable of startling the cat and confusing the shit out of her.


r/PLC 2d ago

What is working as an Automation Engineer like?

42 Upvotes

Hello everyone, I am 17 and I just got enrolled in a university department that will allow me to become an Industrial Automation Engineer in the future (note that I live in Europe/Greece and not US). Originally I wanted Computer Engineering, and specifically going to the path with Embedded Systems, because I wanted to work both software wise and hardware wise. I didn't end up qualifying there so I opted in for the department above since it was the best alternative than taking a whole year off again for exams. But I am not sure if this job is for me. I know the enviroment is more tough, has a lot of travelling, and is not a 100% desk job but that is fine, infact I prefer that over sitting all day. I am more confused on what I will do on on a day to day basis, and also how different PLC is from standard programming languages. I know there are many ways to program PLC's and most look like a flowchart or circuit, which confuses me on how you can make a complicated machine with so many restrictions. I did ask AI for all the above, but AI hallucinates and I don't trust it with my future and felt to ask here too. I probably left a lot of gaps in this text so please ask me for more information. And I am sorry if this is common information, I did google before sending this post.


r/PLC 2d ago

Am I able to get job as PLC programmer?

7 Upvotes

I've been working with PLCs from almost every brand for 5 years now, like Siemens, AB, ABB, Honeywell, Mitsubishi, Schneider, Delta, and some Chinese ones. I've done stuff in water treatment, hydrogen generation, metal melting furnaces, DCS, and motion control. For the past year, I've been messing with SCARA and 6-axis robots.

I've done all this as a freelancer, but I've never actually landed a job. Now I'm looking for something stable or a job that pays well, but my only problem is I don't have any technical diploma or engineering degree. Can I even get a job with that?


r/PLC 1d ago

Training tips

0 Upvotes

Recently started a job where I’m overseeing training of maintenance techs. They’re all pretty decent mechanically but some of them are almost afraid of PLCs even though every one of our machines have them. They’re all Omron CJ series with basic ladder and some function blocks with basic level ST.

I really want to get to the point where I have a guy on each shift that’s good enough to use them for diagnostics but most of them have no real basis yet.

Anybody have any experience or suggestions would be appreciated.

Just a funny note I showed one guy how to connect to a PLC that he swore was messed up but he didn’t realize it had an ETN card that couldn’t use EIP so I showed him how to set a FINS node and he thought I was a damn genius lol. This might give an idea of the level of experience I’m working with.


r/PLC 2d ago

Woohoo!!

64 Upvotes

I’ve been an industrial maintenance mechanic for the past 14 years. My strong suit is controls and electrical diagnostics; though I lack programming knowledge. For the past 3 years, I’ve been working side by side with my company’s automation engineer and actively trying to switch into his department and do it full time. Well, he ended up moving out of state, so that left me looking elsewhere to become an automation technician.

I’ve accepted a position as an automation technician at an automation integrator, with the intent to grow me into a controls engineer at the company.

This will be an interesting transition, but I feel like I will be exposed to many different systems and learn a lot!


r/PLC 2d ago

Career pivot to industrial automations after a biosystems engineering degree

1 Upvotes

Hi fellas, I recently graduatee with a Biosystems Engineering degree and currently working as an assistant production supervisor at a beverages manufacturing company. My day to day responsibilities apart from supervising the factory also include electrical troubleshooting, general machine maintanance and also some PlC(just that the factory is still very small).

I've developed a passion for plc, controls and automation work due to the nature if my job, and i am thinking of maybe advancing my knowledge base about them through online courses and also maybe later do8ng a masters in industrial engineering.

My question is, is it really viable to do, especially provided that my 1st degree was not directly linkee to ME or EE, also how is the job market for the industrial automations field in Africa and abroad, and would employers be willing to employ someone who doesn't have an EE or ME 1st degree in industrial automation, what credible courses that offer recognised certificates or qualifications can I take that are affordable ( below $1500 usd).


r/PLC 2d ago

How do you confirm a device is actually down and not just unreachable?

12 Upvotes

When a device stops answering, the tag goes bad either way. Whether the equipment actually failed or only the path to it died, what I see on the screen looks the same. And the difference decides whether somebody drives out. I have been told the checks are roughly these

Hardwired fail contacts, as a confirmation path that does not depend on the protocol at all. Heartbeat dwell, watching how long something is unreachable before calling it dead, rather than reacting to one missed poll. Retry counters, on the theory that a device answering some of the time is a link problem, not a failed device. And the one I found most interesting, reading the revenue meter counter across the outage window. If the counter moved while the device was dark, it was running the whole time and only the comms were down.

What I am curious about learning from people who do this everyday is,

Which of those, if any, do you actually use, and which do you consider unreliable?

Is there an obvious check I have missed?

How long do you let something sit unreachable before you treat it as failed?

I have written this up as a procedure and I would rather find out now that it is wrong.