reccomended programming

srsicard3

Member
Join Date
Jun 2020
Location
CT
Posts
16
i am looking for recommendations on programming languages/courses to learn to further my skill in this field.
I have been a PLC/Robot programming for my company for 5 years building custom manufacturing automation.

I am good with all the main players for PLCs; AB, Siemens, Beckhoff, Omron, Etc.
Looking to see what other courses i could take to further my skill on the PC side whether it be C++, python, or something different.
Any recommendations would be great thanks!
 
I'm a python fan personally.

I'm also a fan of Visual Studio, specifically VB.NET. Some people are going to groan about that suggestion (they'll recommend C#, which is fine), but I don't care. I like the syntax, it's easy to use and read. I just like to get stuff done. VS is very powerful for creating desktop applications.

I use both of those often to automate various tasks.

edit: I'm going to send you a PM (I mention it here because I often don't notice when I get a PM)

edit2: Also, what you should learn depends on what activities you will most likely be doing. If there is some path towards working with embedded stuff or building custom production applications, then the groans about my VB.NET suggestion might be warranted. Also, if you want to move away from PLC and move into more traditional CS type role. But if you are just trying to create tools to make your job easier, which is my case, I get a lot done with python and VB.NET.
 
Last edited:
I'm a python fan personally. ... VB,Net ...

edit2: Also, what you should learn depends on what activities you will most likely be doing.

As a direct answer to the question, I agree wholeheartedly with @dmroeder here. Plus C, because it has all the power of assembler with all the power of assembler. That said ...

If you are writing successful programs, learning a new syntax/compile/link/build process is, to my mind, neither particularly useful nor interesting (see image below; credit: devrant.com).

As @dmroeder noted, we don't know your goals in this pursuit, so pardon me while I question the question: why new languages? [Update: to be fair the OP is actually stated more generally than what languages are useful.]

Something that might be more interesting is seeing what libraries are out there e.g.

  • zeroMQ/0mq (implementations exist for C/C++/Python/Java and many others).
  • SQL is often a useful tool.
  • NoSQL is hot
  • Socket toolkits for networking
  • NAIF/SPICE
  • OpenCV vision processing
  • This is by no means exhaustive, go searching through Github, or available Python/Node.JS/whatever modules sometime and see all the problem people have solved
Other topics:

  • Algorithms is another area for study and learning that applies to any language.
    • Coursera has a good online course with lectures by Prof. Robert Sedgewick of Princeton, who has been a Big Kahuna in the field for decades; the course is on the dry side, but he does tell a joke and almost crack a smile. Once.
  • Cryptography would be another discipline worth mastering.
  • Android programming.
  • Just browsing Github can be interesting.
r_391879_Y8cuo.jpg
 
(Object) Pascal might be something to look into. The structured text (ST) language is basically a copy of that syntax.
Otherwise you can never go wrong with C, VHDL, Verilog, and not to forget the up-and-comer Rust.
 
For automating some tasks in the programming environment of TwinCAT, there is this Automation API, so learn one of those languages.
https://infosys.beckhoff.com/englis...mationinterface/html/TcSysMan_Samples.htm&id=

Of those languages, I would learn the Python language, as a similar interface exists for codesys derivatives, but only in Python.

Python gets one more vote from me, because it is the scripting language for Ignition.
https://docs.inductiveautomation.com/display/DOC80/Scripting+in+Ignition

Other things I see are:
* VB.NET / C#.NET for Advanced HMI
* Java, for the SparkplugB Conformance Test Tool
* C for the Linux kernel, and some PLC manufacturers write their runtime code in C
 
I'd probably look towards the OOP concept in whatever language has it... this could be in TwinCAT or Codesys which does help to think of problems differently. I also do believe Beckhoff will slowly become more prevalent... but it's more of a gut feeling.

The other thing I'd say is worth your time would be to learn a bit more about task scheduling and how Operating Systems work. This is something that is advised for Process control but hasn't trickled down too much onto PLC control, but with ever more powerful controllers, it will start to make sense to, at least, have an understanding of it.
 
Some time ago I used to program PLCs regularly, although I had always programmed some Basic / Visual Basic first and C ++ later.

About 6 years ago I recycled as an Android programmer and I have been hired for 5 years programming applications.

I recommend that you learn, for example, Java or C# and especially the concept of object-oriented programming OOP, which can cost more to understand than the language itself.

C++ is more extensive and difficult and it costs more to reach a sufficient level.
 
I've been teaching myself VB.net. There's a ton of info, tutorials, and forums to the point that it's nearly info overload. I'm also teaching myself mysql. I have an application coming up that I plan to use AdvancedHMI and build a historian to go with it. It will track a batch process from beginning to end and then print a report. Will also have alarms, machine control, etc.

I have no idea if that sounds interesting to you. I'm just telling you what I'm up to and why. Basically, I took a real world application and am building a solution. Can you think of any applications that you could use as a reason to learn another language?
 
I've been teaching myself VB.net. There's a ton of info, tutorials, and forums to the point that it's nearly info overload. I'm also teaching myself mysql. I have an application coming up that I plan to use AdvancedHMI and build a historian to go with it. It will track a batch process from beginning to end and then print a report. Will also have alarms, machine control, etc.

I have no idea if that sounds interesting to you. I'm just telling you what I'm up to and why. Basically, I took a real world application and am building a solution. Can you think of any applications that you could use as a reason to learn another language?

I was similar to you, bought a book and started teaching myself out of curiosity. My previous job, production didn't run on night shift, so if there weren't things to fix, it was boring. So I learned VB.NET.

My first program was to generate a random number between 100 and 500, when the "S" key was pressed that number of times, reboot the computer. That was fun :). I grew up eventually. AHMI was the next thing I played with, that inspired me to dig into the CIP protocol and python.
 
If you do any AutoCAD work, I would recommend VB.net or C#. You can automate a lot of things with the AutoCAD API.
 
Ditto python unless you want to be an embedded programmer. Then C is a must. Microsoft has an excellent development IDE called VSCode. You can use VSCode to program in many different languages.
Jupyter lab is a good place to start programming in python.
The nice thing about python is that it is relatively modern and will run on most operating systems.


There are plenty of examples on the net.
If you are programming in python you should follow Corey Shafer on YouTube.
 

Similar Topics

I wanted to see, if anyone had a distributor (preferably in the U.S.), for small industrial joysticks. It's going to be directly controlling a +/-...
Replies
3
Views
2,668
Dear all, I have fx2n plc on my hand but I don't have the programming cable sc-09 and it would not be easy for me to get one. I need the cable...
Replies
3
Views
98
Hi all, i am the new controls guy at the plant and i have inherited a pc from the previous controls guy with Siemens tia portal version 16 and 17...
Replies
20
Views
874
I need to pull the program off of an old 90-30 so I can convert it to Allen Bradley. This is my first time messing with GE and I don't have the...
Replies
2
Views
84
New to vfds. I put in parameters. IP, but I get ethernet flashing and link solid. What did I do wrong?
Replies
9
Views
470
Back
Top Bottom