Conveyor newbie

JeffKiper

Lifetime Supporting Member + Moderator
Join Date
Jun 2006
Location
Indiana
Posts
2,460
OK it looks like I may be in for a lot of conveyor programming in the near future.
So do you guys have a standard logic set that you use for AB Logix family? I am thinking I have 10 conveyor sections these will all operate the exact same way. So do I just make 1 standard program and copy and paste it for every conveyor section? I don't like the jump to sbr and do parameter passing. It makes it easy for me to program but it makes it a nightmare for the next guy.
I am thinking a few photoeyes for material present a few standard start stop logic. Nice and easy but how do I keep it easily transported between sections?
 
So do I just make 1 standard program and copy and paste it for every conveyor section?
That's how I'd do it. Each conveyor section in it's own subroutine.

I don't like the jump to sbr and do parameter passing.
Me neither... ;)

...how do I keep it easily transported between sections?
Arrange your I/O in a logical pattern, and take some time to lay out your registers before you start writing the program. If you stick to a common pattern of bits, it will be a simple matter of a local search and replace of words in each successive subroutine. Of course, it helps when you make absolutely sure that your original routine works perfect FIRST. There's nothing worse than having to make the same changes across multiple subroutines. Too easy to make mistakes... :(

🍻

-Eric
 
That's how I'd do it. Each conveyor section in it's own subroutine.

Me neither... ;)

Arrange your I/O in a logical pattern, and take some time to lay out your registers before you start writing the program. If you stick to a common pattern of bits, it will be a simple matter of a local search and replace of words in each successive subroutine. Of course, it helps when you make absolutely sure that your original routine works perfect FIRST. There's nothing worse than having to make the same changes across multiple subroutines. Too easy to make mistakes... :(

🍻

-Eric
This will make fault finding easier to - not that conveyors should be complicated but I know some "Fitters" who are easily confused...!!
 
Hey,

If you are doing it with Logix Family, then why not use an AOI?

Well, that's how I did 14 conveyors.

Easy, if they use common start/signals, common speed references, etc

The system I worked on had SEW movimot drives on a DeviceNet network
 
I dont get these arguments.
Maints are not supposed to troubleshoot by peeking into the source code of the program.

Eric Nelson said:
Of course, it helps when you make absolutely sure that your original routine works perfect FIRST. There's nothing worse than having to make the same changes across multiple subroutines. Too easy to make mistakes...
Exactly. Thats one of the problems with simple copy and paste.

I use S7 and not ControlLogix, but principle is the same. The arcaic copy and paste and search and replace routine is a horror for bigger projects. I have been there. Some kind of reusable code is the only solution for really big projects.
Up to 10-15 similar "objects" can be done in the old-fashioned way. But if you have 50-100, forget it.
I think you write that you have sections of each 10 conveyors. If that is the case I guess you have lots of conveyors (100+ ?).

When you make a reusable program object, then you can also take your time to really make for example the error codes cover all situations and have detailed descriptions. This will help the maints when they need it and so they dont have to look into the PLC code.
 
Thanks guys. I wanted to see how the others are doing it.

Jesper I can see where 100+ would not be good to have their own routine. These will be small systems 10 or so.I think each section would be easily broken down into it's own routine.

Eric where you using logix or something else? I was thinking of makjg a UDT and then mapping the I/O to that data.
 
Eric where you using logix or something else? I was thinking of makjg a UDT and then mapping the I/O to that data.
I do this in a few different brands, but on the A-B side, I've only done this in RSLogix500, where you can search and replace at higher than the bit level, and limit it to the current subroutine ('local' mode).

For those that don't already know... Instead of doing it bit by bit:

'Find B3:10/0 and replace with B3:20/0'
'Find B3:10/1 and replace with B3:20/1'
'Find B3:10/2 and replace with B3:20/2'
'Find B3:10/3 and replace with B3:20/3'
.........

You can just use 'Find B3:10 and replace with B3:20', and all the individual bits will get replaced. If you limit the search to 'local', it will only do it in the current subroutine. Very handy!... :)

I think I've also done this at a higher level. Like 'Find B3 and replace with B13'. Am I right?

As Jesper pointed out, individual subroutines for each conveyor can easily become a giant mess! If you read my recent post about the S7-1200, you can see that I had this exact problem, and with only TWO subroutines! All too easy to make mistakes... 🙃

Since you're using ControlLogix, you should explore other options. I have limited experience with RSLogix5000, but I would think there's a better approach available. If they are all going to use IDENTICAL logic, then one common routine really does make the most sense, even on a small scale.

🍻

-Eric
 
Hey,

If you are doing it with Logix Family, then why not use an AOI?

Well, that's how I did 14 conveyors.

Easy, if they use common start/signals, common speed references, etc

The system I worked on had SEW movimot drives on a DeviceNet network

An AOI would work best in ControlLogix; a lot easier than a subroutine with input & output parameters. The AOI can have retentive local tags for each conveyor that a subroutine can not without a lot of work.
 
Last edited:
OK I have never used AOI. Does anybody have some pointers for these? I can see where they would be extremely handy for this type of thing
 
I thought I posted a reply, but I don't see it (forgive me if this a duplicate)

AOI's are great for code that is repeated and has been proven to be bulletproof. However, logic in an AOI cannot be modified online. So be very careful what you put in there - you don't want to tell the plant manager that the line needs to shut down so you can make a simple change.

From a plant Eng perspective, I would always prefer to see many sub routines before seeing code neatly packed away by passing parameters to one subroutine. Not the easiest thing to troubleshoot and confusing to the "NextGuy" until he gets his feet wet.

In RSLogix5000, if you can develop the code well for one conveyor, don't copy/paste -> export and import. When you import it back in, you can create a new routine name and there is a find/replace that allows you to find and replace text strings in the tagnames and the descriptions. So if every tag in your original routine has CONV1 in it, replace that with CONV2. Also in you descriptions you can replace Conveyor 1 with Conveyor 2. You build consitent code, tags, and descriptions with very little effort and time.
 
Time is what us killing me in this job. I don't do conveyor systems so a little new logic no big deal. The AOI is something new that I think I might try
I don't know if is really that different from a JSR with parameters.
 
I don't know if is really that different from a JSR with parameters.
Today 10:52 AM
The difference is you can view the logix as it is happening with an AOI, for each instance.

You cannot do that with JSR/p.


Use the AOI's, much easier.
 

Similar Topics

Hello everyone, I am new to the forum and have only basic PLC experience. I have an application where I need to use a CLICK PLC to control a...
Replies
36
Views
9,251
Does anyone have sample logic with conveyors that start and stop according to product on the line?
Replies
1
Views
98
Good Afternoon, I’m limited with a skilled maintenance staff to design and build Load Cell , Rollers , etc. for conveyor sections . Do...
Replies
11
Views
659
Hello everyone, I need to create a belt conveyor with an AFM60 encoder on board that detects the position of the glass (too small to be detected...
Replies
5
Views
706
"Hello, I am a beginner learning about PLC. Could you please give me some advice? I want to write PLC instructions as follows: When the sensor...
Replies
18
Views
3,403
Back
Top Bottom