PLCs Q&A: Learn Programming for Student Success

  • Thread starter vampslayer
  • Start date
In summary, PLCs are important for students to learn programming because it will help them on the job. However, the best programmer I ever knew had a PhD in physics, so you don't need to be extremely good at programming to be an engineer.
  • #1
vampslayer
24
0
Do you guys have some knowledge about PLC's? How important is for me(student) to learn programming PLC's?
 
Last edited by a moderator:
Engineering news on Phys.org
  • #2
vampslayer said:
How important is for me(student) to learn programming PLC's?

I think you should do at least one project with a PLC.
You'll learn them on the job, so familiarity with the basics is all you need to pick up in school.

I have very little experience with PLC's. Our plant was old enough it didn't have many.

It is important to become decent at programming. Do they still teach Fortran?
Understand the concept of re-entrancy. It applies to any program be it on PLC or mainframe.
Programmers take care of the finer points of computer science, as an engineer you need to be keen in your physics.
That said, the best programmer I ever knew was a PhD in physics... he taught me about reentrancy and interrupt handling.

I did use a few of these in 1990's for very specific tasks that had to be automated:
http://micromint.com/Modules/domino.html [Broken]
domdevboard.jpg

They offered the benefits of:
your office PC is your development system,
they have standard I/O ports and I^2C, and real time clock
there's room on the development board for your I/O circuitry
and they program in Basic;
So you can do a small project on petty cash.
Once upon a time we needed a crane interface and couldn't get a quote from anybody with less than five zeroes in the price. We did it ourselves over a weekend for about $400. Was boss ever happy ! [oops another boring anecdote - never again !]

Nowadays TI has caught on and offers similar products (finally!)You'll quickly surpass me.

old jim
 
Last edited by a moderator:
  • #3
Most of my Programmable Logic Controller (PLC) experience is from the applications of simple PID controllers used for controlling Environmental Stability chamber's conditions for Pharmaceutical Stability Testing and Remote Terminal Units (RTU) used for doing Automatic Generation Control (AGC) at power plants. These are considered single variable PLCs.


PLCs may include logic for single-variable feedback analog control loop, a "proportional, integral, derivative" or "PID controller". A PID loop could be used to control the temperature of a manufacturing process, for example. Historically PLCs were usually configured with only a few analog control loops; where processes required hundreds or thousands of loops, a distributed control system (DCS) would instead be used. As PLCs have become more powerful, the boundary between DCS and PLC applications has become less distinct.

PLCs have similar functionality as Remote Terminal Units. An RTU, however, usually does not support control algorithms or control loops. As hardware rapidly becomes more powerful and cheaper, RTUs, PLCs and DCSs are increasingly beginning to overlap in responsibilities, and many vendors sell RTUs with PLC-like features and vice versa. The industry has standardized on the IEC 61131-3 functional block language for creating programs to run on RTUs and PLCs, although nearly all vendors also offer proprietary alternatives and associated development environments.

http://en.wikipedia.org/wiki/Programmable_logic_controller
 
  • #4
jim hardy said:
I think you should do at least one project with a PLC.
You'll learn them on the job, so familiarity with the basics is all you need to pick up in school.

I have very little experience with PLC's. Our plant was old enough it didn't have many.

It is important to become decent at programming. Do they still teach Fortran?
Understand the concept of re-entrancy. It applies to any program be it on PLC or mainframe.
Programmers take care of the finer points of computer science, as an engineer you need to be keen in your physics.
That said, the best programmer I ever knew was a PhD in physics... he taught me about reentrancy and interrupt handling.

I did use a few of these in 1990's for very specific tasks that had to be automated:
http://micromint.com/Modules/domino.html [Broken]
domdevboard.jpg

They offered the benefits of:
your office PC is your development system,
they have standard I/O ports and I^2C, and real time clock
there's room on the development board for your I/O circuitry
and they program in Basic;
So you can do a small project on petty cash.
Once upon a time we needed a crane interface and couldn't get a quote from anybody with less than five zeroes in the price. We did it ourselves over a weekend for about $400. Was boss ever happy ! [oops another boring anecdote - never again !]

Nowadays TI has caught on and offers similar products (finally!)


You'll quickly surpass me.

old jim

I don't think there is anyone teaches Fortran anymore. Instead there are C,C++ C# and others. But basic principle is the same. If you know one of them, you can quickly get good at any(my opinion). YOu said "
I did use a few of these in 1990's for very specific tasks that had to be automated:"
That's my problem, I am good at programming but my problem is when I need to connect my program/application with something real(to move something). How to sufficiently connect electronics and programming, that's my problem.
 
Last edited by a moderator:
  • #5
Some keywords for working with PLC's : Ladder logic. Frequently PLC programs are shown in this format, good to know about and understand. This format shows explicitly the electro-mechanical connections required to make it work.

As mentioned above you should get some experience with a PLC. However there are many manufactures of PLCs and each of them have different implementions of essentially the same product. So some relearning is always necessary. Generally they have there own instruction sets so higher level languages are of little use.
 
  • #6
vampslayer said:
How to sufficiently connect electronics and programming, that's my problem.

That's the problem that PLCs were designed to solve. You want to connect your laptop to a machine and make it do something using C, C++, or C#? - not easy. You want to connect a PLC to a machine and make it do something using ladder logic? - easy. If you've never worked with machine prints or relay logic then you should probably start there.
 
  • #7
Integral said:
Some keywords for working with PLC's : Ladder logic. Frequently PLC programs are shown in this format, good to know about and understand. This format shows explicitly the electro-mechanical connections required to make it work.

As mentioned above you should get some experience with a PLC. However there are many manufactures of PLCs and each of them have different implementions of essentially the same product. So some relearning is always necessary. Generally they have there own instruction sets so higher level languages are of little use.

TurtleMeister said:
That's the problem that PLCs were designed to solve. You want to connect your laptop to a machine and make it do something using C, C++, or C#? - not easy. You want to connect a PLC to a machine and make it do something using ladder logic? - easy. If you've never worked with machine prints or relay logic then you should probably start there.

Actually I use to work a little bit with PLC's 2 years ago. 1 semester in college. But at that time I didn't realize the importance of PLC's or I was just lazy, I am not searching excuses, so basically after semester ended I stopped dealing with PLC's.
And basically in the college (at least mine - I won't say for other colleges) student can't learn a lot with PLC's, college is more there to show you PLC and some basic applications, but it's up to you(when I say you I mean on a student) will you search further and dig in.
At that time I was facing with following problems
1. Accessibility or access to education(I mean on PLC's) on the internet is not even close spread like it is a case with C,C#, C++, Java...
2. Software itself. I have got a software from the college and we used to work with SImatic S7-300, but I couldn't find any good book to learn. All I have had was a Siemens Manual. I found a book from some other manufactures but that was like reading a Java book and programming in Visual Studio with C#.

So to start again I need to resolve those two problems first. I'm still a student so problem number 1 is not a problem and about problem number 2. Is there out any good book or something similar about Siemens simatic PLC's?
 
  • #8
I am good at programming but my problem is when I need to connect my program/application with something real(to move something). How to sufficiently connect electronics and programming, that's my problem.

I believe one always learns fastest by doing something out of sheer curiosity.

For motion there's lots of hobby robotic sites and kits. here's just one from a quick search.
http://www.hobbyengineering.com/DeptRB.html [Broken]

Old printers are a rich source of stepper motors and gears, and hobby sites carry stepper motor driver kits . Perhaps you have a telescope or camera to aim.

You're a student...

seems to me one of these with a real time clock
http://www.microchip.com/pagehandler/en-us/products/picmicrocontrollers
and a fluorescent display
could make a digital clock in Roman Numerals.
What great Christmas presents .
Plus you'll learn string manipulation and probably I^2C communication.
 
Last edited by a moderator:
  • #9
jim hardy said:
I believe one always learns fastest by doing something out of sheer curiosity.

For motion there's lots of hobby robotic sites and kits. here's just one from a quick search.
http://www.hobbyengineering.com/DeptRB.html [Broken]

Old printers are a rich source of stepper motors and gears, and hobby sites carry stepper motor driver kits . Perhaps you have a telescope or camera to aim.

You're a student...

seems to me one of these with a real time clock
http://www.microchip.com/pagehandler/en-us/products/picmicrocontrollers
and a fluorescent display
could make a digital clock in Roman Numerals.
What great Christmas presents .
Plus you'll learn string manipulation and probably I^2C communication.

But that's the problem Jim. I don't know how to link little motors with my application.
All I know is to write some code. I already got this http://www.mikroe.com/easyavr/v5a/
I can buy all those stuffs, but I am afraid I don't know how to use them
 
Last edited by a moderator:
  • #10
vampslayer said:
But that's the problem Jim. I don't know how to link little motors with my application.
All I know is to write some code. I already got this http://www.mikroe.com/easyavr/v5a/
I can buy all those stuffs, but I am afraid I don't know how to use them

So you already have a microcontroller?

Start out embarrassingly simple.
When I started out with the Domino, first thing I did was hook it to PC per directions and tell lt "Print log(10)", which to my amazement it did.
It was a small step for mankind but a great one for me.
After about a month I had it monitoring our PA system traffic through home-built interface.

So admit you're a beginner - we all are.

Here's a Basic language program that turns a PC into a roman numeral digital clock.
If that strikes your fancy, learn to interface a fluorescent display to one of the ports on your machine. In my day we only had parallel and RS232 to worry about...

you will learn more quickly than I for you are still young with a facile mind.

' program clock displays time in 24 hr format Roman numerals
' press q to exit

' read roman numerals in as array of strings

DATA "","M","MM","MMM","Mv","v","vM","vMM","vMMM","Mx"
DATA "","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"
DATA "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"
DATA "","I","II","III","IV","V","VI","VII","VIII","IX"
DIM m(10), c(10), x(10), i(10) AS STRING
FOR a = 0 TO 9: READ m$(a): NEXT a ' m = thousand
FOR a = 0 TO 9: READ c$(a): NEXT a ' c = 100
FOR a = 0 TO 9: READ x$(a): NEXT a ' x = 10
FOR a = 0 TO 9: READ i$(a): NEXT a ' I = 1 thru 9

'
ON TIMER(1) GOSUB time
TIMER ON
WHILE INKEY$ <> "q" ' need a way to get out of endless loop so this checks for "q" from keyboard
WEND
END

time: time = TIMER ' gets time of day from RTC

' now figure out which roman numerals to put in time string
sec = INT(time) MOD 60
min = INT(time / 60) MOD 60
hr = INT(time / 3600) MOD 60
'
hr$ = m$(INT(hr / 10)) + c$(hr MOD 10)
min$ = x$(INT(min / 10)) + i$(min MOD 10) + ":"
sec$ = x$(INT(sec / 10)) + i$(sec MOD 10)
'
PRINT "Time : "; hr; min; sec, hr$ + min$ + sec$
RETURN

That looks like a powerful micro you have bought.

Have fun with it !
 
Last edited:

1. What is a PLC?

A PLC (Programmable Logic Controller) is a digital computer used to automate industrial processes. It is a type of microcontroller that is specifically designed to control machinery and processes in manufacturing and industrial environments.

2. How do PLCs work?

PLCs work by receiving input signals from sensors or switches, processing the data using a programmed logic, and then sending output signals to control various devices such as motors, valves, and lights. The programming language used for PLCs is ladder logic, which is based on relay logic diagrams.

3. Can anyone learn how to program PLCs?

Yes, anyone can learn how to program PLCs with the right resources and dedication. It is recommended to have a basic understanding of electronics and programming concepts, but there are many resources available, such as online tutorials and courses, to help beginners learn how to program PLCs.

4. What are some applications of PLCs?

PLCs are used in various industries, including manufacturing, automotive, energy, and food processing. They are commonly used to control machinery and processes such as assembly lines, conveyor belts, and packaging machines. PLCs can also be used for data collection and analysis in industrial settings.

5. How can learning PLC programming benefit students?

Learning PLC programming can benefit students by providing them with valuable skills that are in high demand in the job market. It also allows students to gain hands-on experience with industrial automation, which is a growing field. PLC programming can also improve problem-solving, critical thinking, and teamwork skills in students.

Similar threads

Replies
2
Views
9K
  • Electrical Engineering
Replies
8
Views
2K
  • Electrical Engineering
Replies
13
Views
31K
Replies
7
Views
6K
  • Electrical Engineering
Replies
7
Views
4K
  • Electrical Engineering
Replies
8
Views
2K
  • STEM Career Guidance
Replies
5
Views
1K
  • Electrical Engineering
Replies
20
Views
5K
  • General Engineering
Replies
4
Views
2K
  • STEM Academic Advising
3
Replies
92
Views
3K
Back
Top