A plea for help...and mentor

damianjones

Member
Join Date
Nov 2004
Location
Rib Lake, Wisconsin
Posts
23
Hello All,

I am very new to PLC programming…about a 1.5 weeks. I was hired two weeks ago to be a project manager for a cabinet manufacturing company and one of my first projects is to program a PLC (Type: Bul. 1762 MicroLogix 1200 Series B – Name: ML1200) for dust collection. When hired I told the owner I didn’t have any experience in PLC (I had to ask what the initials stood for) and he assured me that if I could program COBOL or C I would not have a problem. I’m having a problem. I’ve started the tutor online, I’m now using the LogixPro Simulator to help me, but I’m having a tremendous brain **** and running into brick walls.

If someone with experience out there has a little time on their hands and would like the eternal gratitude of a stranger, Please help me out.

The dust collection program I think (imho) should be very simple. In the program I’m looking at (which has an auger instead of two fans) the code looks pretty complex. Damian’s dust logic how I think it goes in the real world (the owner is out of office a lot so I will have to get an approval of the logic before I say it is gospel). I have a list of I/O and info from the RSLogix 500 Cross Reference Report (Below).

What I am really looking for is to be able to converse via telephone/email with someone who can help me over the rough spots.


Thanks,

Damian
[email protected]

Damian’s dust logic:
1. Start truck fan ( this is the dust collecting container)
2. Wait 30 seconds
3. If truck fan tests bad end
4. Start dust tower fan 1
5. Start dust tower fan 2
6. Wait 30 seconds
7. If dust tower fan 1 test bad end1
8. If dust tower fan 2 test bad end2
9. Start bldg fan 1
10. Start bldg fan 2
11. If bldg fan 1 test bad end1
12. If bldg fan 2 test bad end2
13. : End
14. Flash alarm light
15. Stop bldg fan 1
16. Stop bldg fan 2
17. Wait 30 sec
18. Stop dust tower fan 1
19. Stop dust tower fan 2
20. Wait 30 sec
21. Stop truck fan
22. : End1
23. Flash alarm light
24. Stop bldg fan1
25. Wait 30 sec
26. Stop dust tower fan 1
27. : End2
28. Flash alarm light
29. Stop bldg fan 2
30. Wait 30 sec
31. Stop dust tower fan 2


DUST COLLECTOR PROGRAM

LAD 2 - --- Total Rungs in File = 15


When the Start button is pressed, the Timer T4:7 is Enabled, locking around
the start button. The Preset time of Timer T4:7 is the
total time that the shutdown sequence takes to complete. If a failure of the
Airlock or the Auger is present, the Timer T4:4 begins
the shutdown sequence and starts the Timer T4:7.
START_PB1 SHUTDOWN_TIMER
I:0 T4:4 TOF EN
Timer Off Delay
0000 0 EN Timer T4:7 DN
1761-Micro Time Base 1.0
Preset < TOF 1860
SYSTEM_ON Accum 0<
T4:7

EN

When the Stop button is pressed, bit B3:0/0 is energized shutting off the
blower and starts the Timer T4:5 for the shutdown sequence.
STOP_PB1 SHUTDOWN
I:0 B3:0

0001 1 0
1761-Micro

When the Timer T4:7/EN bit is true, or when the Stop button is pressed and
the Timer T4:7/TT is true, and Timer T4:6 is off,
the Auger is turned on.
SHUTDOWN_SEQUENCE AUGER_SHUTDOWN _AUGER
T4:7 T4:6 O:0

0002 TT DN 2
1761-Micro
SYSTEM_ON
T4:7

EN

When the Auger is turned on, the Timer T4:0 is started and times out after
15 seconds.
_AUGER
O:0 TON TON EN
Timer On Delay
0003 2 Timer T4:0 DN
1761-Micro Time Base 1.0
Preset 15<
Accum 0<


When the Timer T4:0/DN bit is True, and the Auger is turned on, and the
Timer T4:5 is off, the Airlock is turned on.
AIRLOCK_ON _AUGER AIRLOCK_SHUTDOWN _AIRLOCK
T4:0 O:0 T4:5 O:0

0004 DN 2 DN 1
1761-Micro 1761-Micro





Page 1 Friday, November 05, 2004 - 08:14:08
DUST COLLECTOR PROGRAM

LAD 2 - --- Total Rungs in File = 15

When the Airlock is turned on, the Timer T4:1 is started and times out after
15 seconds.
_AIRLOCK
O:0 TON TON EN
Timer On Delay
0005 1 Timer T4:1
1761-Micro Time Base 1.0
Preset 15<
0 DN Accum <


When the Timer T4:1/DN bit is true and the Auger is on, and the Airlock is
on, and the Timer T4:4 is off, and the Shutdown Bit B3:0/0
is not true, the Blower will start.
BLOWER_ON _AUGER _AIRLOCK TIME_SHUTDWN_SEQUENC SHUTDOWN
T4:1 O:0 O:0 T4:4 B3:0

0006 DN 2 1 DN 0
1761-Micro 1761-Micro


_BLOWER
O:0

0
1761-Micro

When the Blower is turned on, Bit B3:1/0 is energized.
_BLOWER BLOWER__ON
O:0 B3:1

0007 0 0
1761-Micro


If you've read this far and really want to help I can send you the rest....I couldn't fit the last part of the program in this message - charater limit reached.

Thanks again,
Damian
 
It would also become more expedient if you can post your rslogix code that way you will have all the resources of people here looking at it. So far this looks like it may be relatively easy to program as all the items are discrete.
 
Last edited:
My first impression is that your owner should know better. But then that’s not uncommon, how often have we all heard “oh, that shouldn’t take you more than couple of hours”, duh. Having said that, your pseudo code is quite good and I can see your C programming experience really has helped. If this has been an DCS project (most DCS use C like scripting) you would have been done by now. Have you considered hiring a local integrator to help out? If time is tight there is nothing like a real person standing next to you.

Ok, for you:

1. We like to get the actual Micrologic file if possible. See help on how to attach a file here. And a more detailed description on the I/O if possible.
2. A P&ID or drawing of the process would be nice as well. We like PICTURES.
3. Meanwhile, you can spend your time check out the I/O. All the input read so far? How about the output, can you turn things on and off?

This should be simple if there are no Auto/Manual ability required or HMI involved.
 
first of all ... some questions ...

(1) what is your deadline on this project? ... note that "As Soon As Possible" is NOT a valid answer ...

(2) are there any safety issues involved in starting/stopping/running the various outputs for testing purposes? ...

(3) you said “I’m now using the LogixPro Simulator to help me” ... question: do you realize that you’ll eventually use the “real” RSLogix500 software to write the actual program for the PLC? ...

(4) everything that Harry said in post #3 is right on the money ... especially when he said:

Meanwhile, you can spend your time check out the I/O. All the input read so far? How about the output, can you turn things on and off?

by that he means that EVEN WITHOUT A PROGRAM entered, you should be able to go to the PLC’s Output Data Table and force the system’s outputs on and off ... trust me ... you’ll want to do that (barring any safety issues!) to absolutely confirm that what you THINK is the FAN – actually IS the fan ... you should also be able to go to the processor’s Input Data Table and absolutely confirm that what you THINK is the START BUTTON actually IS the start button ... do this for ALL of your system’s inputs and outputs ... as you work through the I/O list, CAREFULLY note the addresses of each of the inputs and outputs ... that way the advice that we give you can use the specific address (example: O:0/3) rather than just “the truck fan” ...

(5) as both mordred and harry suggested: please post your code ... meaning the .RSS file from RSLogix500 ... and after you’ve made any changes, always post a new updated copy ... we can give better advice if we don’t have to keep guessing what you have in front of you ...

this post should help you attach your program file ...

this post should help you post any graphics if that becomes necessary ...

and if you can’t fit everything you need to say into one post, just use the next post to continue ...

finally ... send me a Private Message with your phone number ... I can’t make any promises because I have a FULL day of work ahead of me ... but if possible, I’ll give you a call and try to get you started ... our outlook for success has a LOT to do with your deadline and the safety issues ...
 
Hello All,
I'm working on a picture now. I take some photos of the actual items very soon (I didn't bring a digital camera with me today, but I'll bring it in the morning). I have also posted the code I think is the code they use previously (when they used the auger).

Thanks again for a response to my problem.

Damian
 
(1) what is your deadline on this project?
I haven't been given an actual deadline date as of yet.

(2) are there any safety issues involved in starting/stopping/running the various outputs for testing purposes? ...
I do not think there is any safety issues, but I will check with the maintenence supervisor to make sure.

(3) you said “I’m now using the LogixPro Simulator to help me” ... question: do you realize that you’ll eventually use the “real” RSLogix500 software to write the actual program for the PLC? ...
Yes, I understand. I have the actual RSLogix500 software to do the real programming. The Simulator is to help me visualize what is going on. I've never had to worry about moving parts before...except for a print head :D

(4) everything that Harry said in post #3 is right on the money ... especially when he said:
Meanwhile, you can spend your time check out the I/O. All the input read so far? How about the output, can you turn things on and off?
As of yet I have not even seen the acutal PLC. I have tried to schedule an appointment with the maintence supervisor for a tour of the components. Now when we do talk I'll bring up testing I/O. Thanks for the advice :)

Damian
 
first issue: you said:

one of my first projects is to program a PLC (Type: Bul. 1762 MicroLogix 1200 Series B – Name: ML1200) for dust collection

the program you posted is from a MicroLogix 1000 ... please elaborate on this discrepancy ...

the program you posted has some issues along these lines ... a symbol (nickname) “AUGER” (no underscore) has been assigned to “O:1/2” ... another symbol
“_AUGER” (with underscore) has been assigned to “O:0/2” ...

with the MicroLogix 1000 processor indicated by this program, there would NOT be an address “O:1/2” ... any idea what this is all about? ...

I don’t want to put any pressure on you, but if you really want that phone call that you requested, you need to send me that PM pretty soon ... I’m only going to be available to make the call for another hour or so and then offline for the rest of the weekend ... the other guys on the forum will probably get you all fixed up before I get back ... but I’m willing to make the call if you’ll give me the number ...
 
I think we've got a live one.....

Damian:

Welcome. We will get you through this, if you stay with us.

About you're code....

One of the first things I see is that you may be trying to do too much with too few bits. I notice that you are using the .TT and .EN bits of the timers to indicate states of the machine/system (T4:7.EN = "SYSTEM ON", for example.)

While it's true that a PLC has less memory than a PC (or even some cell phones), they aren't that poor in memory that they can't spare a few extra bits.

So add some code that will clarify exactly what you are trying to accompish. For example, your first rung:

START_PB SHUTDOWN TIMER
I:0/0 T4:4.EN +----- TOF ---+
---+----| |----+------|/|-------------| Timer: T4:7 |
| | +-------------+
| SYSTEM_ON |
| T4:7.EN |
+----| |----+


I'm not sure why you are using a TOF timer here, but then TOF's have always confused me. I think I used one once in my entire carreer.

The rung could be broken up into several rungs:

START
START_PB DUST TOWERS FAN_FAILURE START_FAN
I:0/0 B3/2 B13/1 B3/1
---+----| |----+------|/|---------|/|------------( )
| |
| SYSTEM_ON |
| B3/1| |
+----| |----+


DELAY STARTING
START_FAN DUST TOWERS
B3/1 +----- TON ---+
-------| |--------------------------| Timer: T4:7 |
+-------------+


DELAY STARTING DELAY STOPPING START
START_FAN DUST TOWERS DUST TOWERS DUST TOWERS
B3/1 T4:7.DN T4:5.DN B3/2
---+----| |----------| |-------+-------|/|----------------( )
| |
| START |
| DUST TOWERS |
| B3/2 |
+----| |--------------------+



And so on. This more closely follows your sequence of operators that you posted in your first post.

Let the bits track the sequence. Let the timers set the bits. Trying to use the timer's own bits to hold in the sequence will only confuse you more.
 
Damian is "good folks" ...

just a quick recap before I sign off for the weekend ... I talked with Damian by phone and he sounds like a very nice guy and extremely quick to learn ...

here’s the scoop as near as I can nail it down ... there is an existing PLC out in the field which is current controlling SOMEthing ... Damian has not actually seen the hardware ... as near as we could tell with the information available, the existing logic in ladder file #2 program that Damian has posted is NOT an issue ... specifically, the equipment that he’s supposed to be programming is NEW and not related (we think) to the existing code in ladder file #2 ...

the electricians are either handling – or will handle – the wiring for the new dust collection system which will be added ... Damian is expected to handle the dust collection programming ... he will check with the electricians as to any safety issues ... he’s not sure exactly what model of MicroLogix is currently installed in the field ... and not sure how the “1200” model number came into the picture ... the program that he has available (already posted) is for a “1000” ... but the symbols suggest that a “1200” might have been used at some time in the past ...

plan of attack: Damian will visit the hardware in the field ... he will connect the laptop to the PLC and upload the current program ... it may – or may not – be identical to the program that he has already posted ... if safety and wiring issues allow, he will work with the electricians to force the new “dust system” outputs off and on to confirm their addresses ... he will document the output addresses with accurate comments ... he will also manually trip all of the new “dust system” inputs off and on and confirm their addresses ... he will document the input addresses with accurate comments ... once these steps have been done, he plans to save the latest program from the PLC and then post a copy on the forum for you guys to take a look at ...

I’ve suggested that he put all of the new code for the dust system into ladder file #3 ... I told him how to add a JSR to ladder file #2 to scan the new ladder ... as near as I can tell, he needs to leave the existing program in ladder file #2 alone since it is reportedly already controlling something out there in the field ...

Damian has already practiced navigating around in the software and knows how to add and modify rungs ... he has the RSLogix500 “starter” software up and running offline ... he doesn’t know whether or not a communication cable is on-site or not ... he’s checking to see if he can find one ... he may need help connecting the laptop through RSLinx and getting online with the processor ... he has no experience with that so far ...

note to Damian: if anything I’ve written above is incorrect, please fix it so everyone will be on the same page ... good luck ... be safe ...
 
Last edited:
So THAT explains it!

No wonder he was having trouble following the existing code. It's hard for ME to follow.

I was also wondering why the devices that he needs to control weren't listed.

The code that I posted should be good to get him started. If he follows that kind of a pattern, instead of following in his predecessor's footsteps, he should do alright.

The next big question is:

Does he have to interface with the existing equiptment (start some of his stuff after some of the other stuff is going, and shut down when it shuts down), or will the systems be independent?
 
Hello All,

First let me start by thanking everyone. This project felt like I was out in the middle of the ocean without a boat, paddle, or lifevest. Now I feel like the Coast Guard just signaled to tell me "Everything is fine, do not worry, we are professionals, we do this everyday". I know I have a lot of work to do to fully appreciate the depth of knowledge you are forking over. I hope in the future I will be able to pass along this knowledge.

I do have some updates. Since I talked to Ron (Thanks Ron!) I was armed with a plan of action. I spoke with the maintenance supervisor and opened the scared panel to the PLC which by studying with my own two eyes found out the PLC is a 1200. I also scheduled an appointment with the maintenance supervisor to do a physical audit on the I/O. He told me everything is correct but I insisted and eventually got an aggreement that we will check every I/O bit on the PLC.

Part of me would like to pass on this project to the group and have you guys (ladies - if any are out there) give me the solution. But I know that will not help me in the long run so I will endevor to try to do the bulk of the programming and then post it for critique.

Everything Ron posted is correct to the best of knowledge.

Thanks again,

Damian
 
Hello All,

The Allen Bradley cable is attached to the PLC.

The fan motors are idependent ( I think) I'll have more for you after the audit of I/O which should be Monday.

Thanks again,

Damian
 
I'm glad someone else found this code hard to follow it sort of took me for a few loop de loops. look forward to the rest on Monday
 
PLCS at it's BEST...

Boy its so nice to see the PLCS group at it's best...Hats off to you guys for being so quick in helping him!!!

David :site: beerchug
 

Similar Topics

Hi, does anyone have a Markem Printer manual on an X45 or the NGCPL printer protocol please. John.
Replies
7
Views
3,280
I know that someone here, at some point, has been involved in the design of whatever machine it is that twists bread bag ties. Please, for the...
Replies
4
Views
2,337
Hi!! I'm looking for Temperature rise calculation software from Rockwell, I just download "Product selection toolbox 2022" but this software is...
Replies
1
Views
80
Please see attached file. I need this program in Function Block form but I am totally lost on this. Any help would be appreciated. Thanks!
Replies
8
Views
255
Took a new job and the controls schemes are fairly old and I'm used to Allen Bradley and Siemens. I'm looking to replace a pair of Superior...
Replies
1
Views
84
Back
Top Bottom