Control Freak
Member
- Join Date
- Jul 2004
- Posts
- 44
I've been programming plcs for several years now and I'm at that point that I want to streamline. All of our machines are custom, but all are similar, in most regards. Some machines just have more processes on them then others (I.E. Dereelers, inspection stations, servo feed vs mechanical feed, etc). I've been getting by fairly well, but I'm looking for ways to keep things as simple as possible, and easily repeatable.
Given a varied customer base, I use three different PLC types, AB SCL500's & Micros, Omron, and the occasional 90/30.
I am not the end user of any of the machines, so I do my best to document the program well, and keep my programming style as simple as possible. Whichever manufacturer, I break everything down into smaller blocks/subroutines/whatever each manufacturer calls them, just to simplify things, and to make the programs easier to manage. That seemed like a no brainer. After all, if your going into someone else's program to make a timer value change on the inspection station, it's nice to go right to the "Inspection" section of code rather than bounce around searching.
Our machine's use several types of motion: servo, cam-driven mechanical stations, pneumatic, all depending on the processes required, and on the budget.
What I'm looking for is suggestions/tips on simplifying the programming process as a whole...
What's the best way to manage such a wide variety of machines, some with 2 stations, some with 20 stations?
Is it best to incorporate a "Main Cycle" subroutine to manage all of the stations, to verify completion of all of the other sub-stations?
Is it best to allocate a certain section of memory for a given process (always use the B3:100 word for dereeler logic, and B3:102 word for dereeler faults, and always use the B3:104 word for inspection logic, and B3:106 word for inspection faults) so that I never have to go through the task of re-assigning addresses? (except, of course, the I/O addresses involved)
The list of potential 'shortcuts' could go on forever, and I have already found a lot of ways to make things easier on myself, and I'm sure that all of us have our own tricks, I'm just looking for a more global approach to programming. Something more Cut/Paste. Something easier, and more practical, that saves more time and as a result, saves more money.
Most of this is probably second hand knowledge to most of you, and forgive me if I sound elementary. As I said earlier, I've been getting by just fine with the knowledge that I have, but as most of you are well aware, time to market is critical, simpler is usually better, and the sooner a project is completed, the better. But it's easy to spend years doing something 'your own way' only to find out that you could have been doing it 'this much easier way', and saved a ton of time in programming and debugging time.
Thanks, in advance, for your tips/tricks/shortcuts and input.
John
Given a varied customer base, I use three different PLC types, AB SCL500's & Micros, Omron, and the occasional 90/30.
I am not the end user of any of the machines, so I do my best to document the program well, and keep my programming style as simple as possible. Whichever manufacturer, I break everything down into smaller blocks/subroutines/whatever each manufacturer calls them, just to simplify things, and to make the programs easier to manage. That seemed like a no brainer. After all, if your going into someone else's program to make a timer value change on the inspection station, it's nice to go right to the "Inspection" section of code rather than bounce around searching.
Our machine's use several types of motion: servo, cam-driven mechanical stations, pneumatic, all depending on the processes required, and on the budget.
What I'm looking for is suggestions/tips on simplifying the programming process as a whole...
What's the best way to manage such a wide variety of machines, some with 2 stations, some with 20 stations?
Is it best to incorporate a "Main Cycle" subroutine to manage all of the stations, to verify completion of all of the other sub-stations?
Is it best to allocate a certain section of memory for a given process (always use the B3:100 word for dereeler logic, and B3:102 word for dereeler faults, and always use the B3:104 word for inspection logic, and B3:106 word for inspection faults) so that I never have to go through the task of re-assigning addresses? (except, of course, the I/O addresses involved)
The list of potential 'shortcuts' could go on forever, and I have already found a lot of ways to make things easier on myself, and I'm sure that all of us have our own tricks, I'm just looking for a more global approach to programming. Something more Cut/Paste. Something easier, and more practical, that saves more time and as a result, saves more money.
Most of this is probably second hand knowledge to most of you, and forgive me if I sound elementary. As I said earlier, I've been getting by just fine with the knowledge that I have, but as most of you are well aware, time to market is critical, simpler is usually better, and the sooner a project is completed, the better. But it's easy to spend years doing something 'your own way' only to find out that you could have been doing it 'this much easier way', and saved a ton of time in programming and debugging time.
Thanks, in advance, for your tips/tricks/shortcuts and input.
John