- #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:
vampslayer said:How important is for me(student) to learn programming PLC's?
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.
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
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
vampslayer said:How to sufficiently connect electronics and programming, that's my problem.
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.
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.
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
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.
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
' 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
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.
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.
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.
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.
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.