What computer language would you recommend to learn

keuspastis

Member
Join Date
Mar 2017
Location
Melbourne
Posts
6
Hi guys,

I am an electrician/automation technician who got a new job for an Automation company that tends to write everything in ST.

I am ok with simple routine written in ST but eyes are now starting to hurt and so is my brain.

I thought that if I would learn a computer language a bit more complex but similar to ST it would get my brain used to it and make ST looks much easier.

The question is which computer language should I learn.

Any thoughts?

Thanks.
 
Hi guys,

I am an electrician/automation technician who got a new job for an Automation company that tends to write everything in ST.

I am ok with simple routine written in ST but eyes are now starting to hurt and so is my brain.

I thought that if I would learn a computer language a bit more complex but similar to ST it would get my brain used to it and make ST looks much easier.

The question is which computer language should I learn.

Any thoughts?

Thanks.

Computer language that is similar to ST as in Structured Text, SCL in siemens world? It's basically Pascal, learn that and you're on your way. I wish I could program in SCL/ST all the time as it is exactly the way I think of logic. IF this then that, do this for as long as this is happening and so on.
Now if you mean STL then my advice is quit (y)
 
C, C++, or python. C and C++ are totally different from python. C is good for embedded programming, writing firmware. C++ is good for high end HMIs but C# is probably just as good but a lot slower.

Python is a research tool. It is good for doing things you would in Matlab but python is free. Python has a lot of packages or libraries that allow one to do a lot quickly.
I have used python to write python code. That is pretty cool. I can use python to write ST too if I have the need.
 
IEC 6-1131-3 Structured Text is the most similar to Pascal, in my opinion. The syntax is similar enough that when I paste ST routines into my favorite text editor, I select Pascal highlighting to make it look clearer.

But Pascal is an artifact of the early years of the computer era. I'm in my mid-40's and have not written a program in Pascal since middle school, when I was first in line to read the library's copy of BYTE magazine.

So my recommendation is going to be to learn a computer language that helps you in other parts of industrial automation, specifically HMI and enterprise data handling.

If you were using Ignition as your HMI/SCADA, then Python would be the obvious choice because it's the scripting language. Python is notably easy to get started with under any computer OS, and you can justify buying a Raspberry Pi to play with.

If you're using an HMI that uses VBScript or Visual Basic for Applications (VBA), then those flavors of VB will be useful to you.

I actually learned C later in life, because I was writing programs for Red Lion HMIs and their built-in language is very similar to C, and because I was experimenting with simple Arduino controllers. I went ahead and bought a vintage copy of "The C Programming Language" and it's even more dog-eared now.

I think that the discipline of learning ordinary old-fashioned ANSI C was probably the most helpful in my understanding of other newer and more sophisticated languages.
 
ST provides a good opportunity to learn any programming because it’s closer to assembly. Instead of going more complex in the sense of a higher level language, I suggest you go deeper because that distance is shorter.
Find out about how a command you write, for instance ADD, works. And how it knows what to add. How many commands are there and why is there a limit? What is the execution time of a command and why? And why the program follow your code in a certain order and not just randomly. And about compiling, the way your human code is translated to something the computer later runs.
Recommendation: microprocessor programming.
Then a simple high level like python, yet object oriented.
 
Last edited:
As with anything, there isn't a single language that will do all.

I would advise to persevere with ST first, because you'll reach the same point where you are now in any other language you try to learn. It's breaking through walls in at least one of them that is important.
 
I recommend you C++, it is probably the most difficult and extense of the most used languages but later it will be much easier to learn others such as C# or Java. It will also help you understand something that is sometimes more difficult than the same language as object-oriented programming concept is.
Also if you are going to interact with databases, knowledge of SQL will be important, the same happens with WEB services and PHP language.

And in my personal opinion the inventors of IEC 61131 do a mistake implementing a Pascal like syntax for ST programming, a C syntax could be much better
 
Last edited:
c/c++/c#, sql, python, pascal(STL), ladder, Function Block (FB), java, html5, assembler, vb/vba



just learn them all :). Most of the languages are so similiar. When I switch languages, it takes a short while to switch gears for the syntax changes.



I would start with C++ first though. Oject orientated programming (OOP) will help in alot of modern languages. But try other languages too. You will sometimes learn techniques in other languages that will improve your code in another.



I mostly use C#, VB, and FB nowadays. But starting to see a push for java and HTML now for HMI interfaces.
 
Structured text looks a lot like VBA or VB, and VBA is native to Excel and fairly common. I've used VBA extensively for cataloging HMI's and project files in a ControlLogix environment, and within FactoryTalk View. One nice thing about it is it ports well between applications.
 
As helpful as this thread is it is a title confusing.

To my knowledge ST (Structured Text)= SCL (Structured Control Language) = Pascal (close enough) <> assembly language. I was unfortunate enough years ago to have studied assembly language and it is nothing like structured text. Thank the lord.

STL = Statement List resembles assembly language.
 

Similar Topics

Has anyone installed Hp laserjet pro 4203 to OMNI 3000 or 6000 via ethernet..Is there a specific Config? I have a problem..Please advise
Replies
0
Views
54
A project recently went through to replace an old computer that was running Wonderware with a new computer. After a bit of work I was able to get...
Replies
7
Views
448
I would like to temporarily install AdvancedHMI on the same computer as FactoryTalk View SE. I am waiting for another contractor to finish the FTV...
Replies
3
Views
554
My customer wants me to set up their industrial computer hmi running factory talk view se client in the following way. They want to use a single...
Replies
11
Views
1,025
Hi everyone. Ifix scada is new for me. Please help help me to clarify is it possible to open Ifix scada runtime on dual monitor and how to do? Thanks
Replies
1
Views
433
Back
Top Bottom