For those who don't know, PLC stands for Programmable Logic Controller. As far as I know, that is a box that does some simple digital control functions, sort of like a microcontroller in an industrial box. Jeremy, you can elaborate on my definitiion. I ran across this term for the first time when I worked for a wirebonder manufacturer. Even then, it was only because I was talking with another engineer who had worked for an industrial automation company. Probably a lot of EE's have never heard of PLC's. I didn't for about 20 years.
Secondly, I think you meant a "discrete I/O" rather than a "discreet I/O". Discreet means careful or reserved, exercising discretion. English is full of homophones, words that are spelled differently and mean different things but are pronounced identically. There (not their or they're) are perhaps more homophones in that melting pot we call English than in any other language. Certainly more than in Spanish, French, or German, the ones I'm familiar with.
You're right about German and Spanish, where native words are always pronounced the way they're spelled, and usually vice-versa.
French, on the other hand, is loaded with homophones, especially with word endings that are pronounced the same but spelled differently. The classic example of this is:
Si six scies scient six cyprèss, six cent scies scient six cent cyprèss.
This means "if six saws saw six cypresses, six hundred saws saw six hundred cypresses", a fine example of SIMD parallelism. In the French version, the words si, six, scies, and scient are all pronounced "see". This is why la dictée (taking dictation) is an important classroom exercise in French public schools (at least it was back in the 1960s).
Touche', betajet! I'm really rusty on all 3 langues. I should have known with all the silent lettres in Francais (not sure how to do the cedilla or the accents on this Anglo keyboard). Serious Zungenbrecher (toungue twister)! iAy, caramba! to add a bit of Espan~ol. (Yes, I cheated and put in the lowercase I for the initial upside-down exclamation point!)
Yep agree totally, one needs to embrace the "master slave" concept
"PLC" gets used to describe a wide range of controllers, from some of the ancient units to modern day integrated controllers with ethernet, vision systems etc.
I was tasked with designing a rollforming shear/punch controller. The motor drive was used in several other simpler applications by my client , and had some "PLC" functionality, so they wanted me to use that, seemed like a good idea at the time..... but ... The problem was that the "PLC" was implemented in firmware on the drive as a low priority, and the latency would vary from 5mS to 200mS , and there were also all sorts of other weird things happening on the drive, it was trying to be too clever!. Eventually discovered that by operating it in a really dumb analog mode (voltage vector mode = voltage and frequency directly proportional to analog volts on the Ain pin) it was really responsive.
So I needed to drive the motor accurately with low latency,
Also needed to operate 12 solenoid valves and 12 prox switches. Surprisingly almost none of the available PLCs would drive a solenoid directly and needed (unreliable) relays.
Also needed a quadrature encoder input.
Also needed hardware interlock (diodes and transistors)
Also needed to treat the solenoids as an "array".
Also needed to process a "list" of numbers.
And operate an inkjet printer.
No off-the-shelf PLC could elegantly achieve all of the above, so I built my own controller. Which was used in conjunction with a HMI (Just a panel PC running XP). So the HMI read through the CAD file (just a CSV formatted file) and sent a simple message to my controller via RS232 , e.g. "T5,456732" means move to encoder count 456732 and operate punch 5 . In turn my controller would provide a time varying analog voltage to the motor drive.
So in this case by appropriately partitioning functions into Master /Slave you get the optimum result. While the slave is quite dumb, it is tightly integrated to the hardware (punches and proximities) so it can tell that the "cycle time of punch 12 was longer than expected" and therefore set "warning 122" , while the smarter HMI can see this and interpret it in the current context, and flag an operater warning or log an event or ignore it.
You will note above that the "dumb" slave controller is told the move distance in encoder counts (rather than mm) , at first glance it would seem that the dumb slave would know the encoder calibration as it is the one that is tightly integrated to the machine, but in reality the encoder calibration can drift and needs to be tweaked, which is something that requires extensive operator interaction, so its best done by the operator and kept in an "INI" file.
So it is important to get the division of labor correct to avoid disappearing down the rathole!
This reminds me of an interesting project I did some 25 years ago.
We had to supply a Robotic Plasma spraying system for a surface hardening application.
We had to design a controller which would rotate a work table in front a robot and the robot would do the plasma spraying on the metal part placed on the robot.
The work table had afacility to have a one big job or 12 small jobs to be placed in a clock dial fashion.
Our controller's job was to rotate the dial table to position the job.
So our controller was a combination of a PLC and motion controller . By using digital I/O it would communicate with the robot to achieve the spraying function.
Was quite an interesting project where I learned about the robotics, the motion control and the PLC functions
The main troubleshhoting involved achieving the repeatability in the positioning of the dial table as the whole excercise of spraying depended on it. The positioning control loop that I designed had to cope up with the varying inertia of job placed for spraying.
....perform an important service to our profession: by consuming prodigious amounts of resources, they help keep us busy and unemployment low! This thought preserves my sanity (such as it is) when "the team" blows hundreds of person-hours chasing down root cause that turns out to have been someone ignoring a clear specification requirement.
Thanks, but no thanks! Although given Broadcom's announcement today that it is exiting the cellular baseband business, you may have some applicants call you up! Fortunately I'm on the radio side, so I'm most likely still here.
@jimfordbroadcom: (not sure how to do the cedilla or the accents on this Anglo keyboard)
WIth WinDoze, fire up charmap.exe and search for "cedilla" in the :Search for:" box. It brings up about a row-and-a-half of characters (at least in Courier New).
Upper Case Ç is Alt-0199, but you have to use the Numeric Keyboard for the numbers, not the numbers across the top of the keyboard. Lower Case ç is ALT-0231. This keystroke appears in the lower right corner of the Character Map window. If you use them enough you'll get to remember them. (I think this method of entry goes all the way back to IBM BASIC on the original PC (pre-ST!))
Many characters do not have the equivalent keystroke, so you'll have to click on them and then copy-and-paste them into your text.
I think you should find most of the accents available.
Even Eth and Thorn and Sharp S for German):
Ððᴆ Þþ ß
Of course, you could copy-and-paste this to a text and save it for future use, but that would take the fun and learning out of it!
BTW, Capital Thorn (ALT-0222) makes a nice smiley with its tongue out: :-Þ