Please help me!!!

Join Date
Apr 2012
Location
Ohio
Posts
6
Hi everyone. I am taking a plc class right now and I am so confused with the final program were are supposed to write. It is to run a clothes washing machine using the Batch Simulator in the TLP LogixPro Simulator. I am so lost with the whole thing (subroutines, B3's, N7's, etc.). PLEASE help me in any way you can because if I can't figure out this program I don't think I will be able to graduate. Thank you. It is much appreciated.

Objective: To write a custom program to run a clothes washing machine according to the customer’s request.
Program layout:
Save your program as Final10_ ”your initials”
Ladder 2: This is the main section of the program; place the common outputs here (fill pump, agitator motor, drain pump), and also have the instructions to jump to other routines here.
SBR 3: This subroutine will only be activate if the large load is selected. It is also for any additional programming needed for a large load selection. Remember, do not duplicate outputs.
SBR 4: This subroutine will only be activate if the Medium load is selected. It is also for any additional programming needed for a medium load selection.
SBR 5: This subroutine will only be activate if the Custom load is selected. It is also for any additional programming needed for a custom load selection.
SBR 6: This subroutine is for indication purposes only. (Lights, numerical display)
SBR 7: This subroutine is for the soap dispensing.

ENSURE EVERYTHING AND ANYTHING THAT CAN BE LABELED IS LABELED. (COUNTERS, TIMERS, DN BITS, ACC BITS, JSR, I/O, ETC.) Each rung should have a comment and each bit should have its symbol labeled.
Simulator layout:
Use the Batch Simulator in the TLP LogixPro Simulator.
Input/Output layout:
Use the column program symbol for labeling your I/O. You can label your B3’s and N7’s at your leisure.
Simulator label PLC Address Program symbol
Start I:1/00 Start PB
Stop I:1/01 Stop PB
Sel sw A I:1/09 Large load
Sel sw B I:1/10 Medium load
Sel sw C I:1/11 Custom load
Analog input I:3 (BCD) Custom level
Analog output O:4 (BCD) Water level in tub
Flowmeter 1 I:1/05 Fill flowmeter
Flowmeter 3 I:1/07 Drain flowmeter
Pump 1 O:2/01 Fill pump
Pump 2 O:2/02 Soap dispenser pump
Pump 3 O:2/03 Drain pump
Mixer O:2/00 Agitator
Hi level I:1/04 Hi level
Lo-level I:1/03 Tub empty
Run O:2/05 Run light
Idle O:2/06 Idle light
Full O:2/07 Full light
Program overview:
The size of the load to be wash is selected first. The start push button is pressed to start the cycle. During the fill, the stop push button can stop it from filling. The analog output will display the amount of water in the tub in decimal. After the proper level is reached, the full light illuminates and a soak delay starts. When the soak time is complete, the agitator starts for a specified amount of time and the soap is dispensed. After the agitation is complete, the tub will drain. The run light will illuminate when the tub is filling, dumping, and agitating. The idle light will only illuminate during soaking. Immediately after draining the wash cycle, the tub will fill to the same level as the wash cycle with no agitation and then immediately drain.
Program requirements:
1. First, the size of the load must be chosen by the selector switch.
2. The start and stop pushbutton are only active during the initial filling of the tub. After the tub is full, these buttons will no longer work, until the load is complete and is ready for the next load. To start the next load, the size of the load will need to be selected, unless the selector switch is already on the proper load size.
3. When the start pushbutton is pressed, the fill pump will start filling the tub as the fill flowmeter is measuring the amount of water filling the tub.
4. The actual amount of water in the tub is displayed on the control panel in DECIMAL at all times.
5. When the tub reaches the appropriate level, the FULL light illuminates, and the soak period begins.
6. After the soaking is done, the machine will agitate for a specified amount of time.
7. During the agitation, the soap will be dispensed.
8. When the agitation is complete, the tub will drain.
9. Once the tub drains from the wash cycle, it will immediately fill to the appropriate level, according to the load size.
10. Once the proper level is reached, it will immediately drain, no agitation.
11. At this time another load size can be selected, and the process starts all over.
Load size requirements:
Large Load Medium Load Custom Load
Wash water level 300 200 1-306
Rinse water level 300 200 1-306
Soak time 9 seconds 8 seconds 10 seconds
Agitation time 6 seconds 5 seconds 7 seconds
Soap dispensed 5 units 5 units 5 units
Hints: (As you know, there are many ways of writing similar programs. Below are a few hints which may cause some confusion, until you get to that section. It may be wise, to start your program first, then if you get stumped, read the hints.)
1. Write a short program to fill the tub until the hi level shuts the fill pump off to determine the highest level the tub is safely filled to. My simulator goes to 306 in decimal. If yours is different and you are unable to use the above water levels, please make a note on your maximum level, and notify me.
2. In this program, latch bits were used as flags to mark the cycle.
3. After running the program a few times, a residual amount of water remains in the tank, according to the counter. (Ignore the extra)
4. Even if the custom load is not selected, you may have to place a number in the analog input in order to allow the fill pump to turn on for the other loads.
5. Since only one of the 3 load size subroutines will be active, the same timer can be used in all three subroutines for at least the agitator.
6. Write a basic main routine first, and continually add to it as you write the subroutines.
7. The start PB can be used in addition to starting the process, as resetting the flags from the last process.
8. One way to dispense soap: add 5 to the accumulator value of the tanks level and place it in an integer file. Then during agitation, turn the soap pump on until that level is reached. The soap will be fully dispensed before the load is done agitating.
9. This is not the ideal washing machine; the timing and soap dispensing may not make the most sense. The purpose of this program is to pull out as many techniques as possible, and still make somewhat sense.
10. Send any questions you may have via email. Please don’t ask questions about the exam in our open discussion.
 
I think the OP should sue the school.
They are expected to write a program like this without even explaining what a subroutine is. It is a total waste of time for these students to be expected to sit in a classroom all semester and the teacher to not even explain what a bit is.

That is probably theft by deception.
 
We have been doing some other labs but I am getting confused trying to put all of the concepts in the same program. But this is the first time using subroutines, N7's, and any word comparisons other than LIM. We have used B3's in one other program but am still a little confused by it. The thing of it is I am in a web course so I get very limited instructions.
 
I'm having trouble attaching my program because it saves as a .rsl and then I tried print screening it and posting it in a word document and it doesn't like it as a .docx attachment.
 
The nice thing about using a simulator like LogixPro is that you can try out ideas to see what happens. If things don't work out as you expected, the only damage done is to your ego. No smoke escapes from any components and there are no sudden, loud noises.

A better strategy for eliciting responses from this forum would be to post code you've written and ask questions along the lines of, "I expected this logic to do X, but instead it does Y. Can anyone explain why?"
 
Here is what I've got so far...but I'm just kind of overwhemled and don't know where to go from here.


I must say that the assignment as written is the best I have ever seen. I think also that you are quickly learning washing machines are just not that simple. I know I did when I put one of these programs together.

I hope that all your previous exercises covered each feature. the process of taking each bite you did previously and putting into this is probably a bit confusing.

Take it one step at a time get that step working and move on to the next.

In other words eat the elephant one bite at a time.

Dan Bentler
 
What is unfortunate about this assignment is that it's a poor example overall of what in my opinion a "final" assignment should be. As we all know, there is a lot more to writing and understanding a program, and I can see why the OP is overwhelmed just by the shear "text" contained within the assignment itself.

I had similar assignments, and now that I have work experience I feel I was very ill-prepared. IMO this assignment, OR assignments leading up to this should include everything a "real-world" project would contain.

1 - Provide a P&ID of the washing machine. Perfect lesson for the students of what a P&ID is and how it is used in conjunction with developing a program. It provides a VISUAL of the system, which is critical in teaching at the college level as what student has the knowledge of valves, pumps, motors, piping as it pertains to an actual system! As mentioned, washing machines are more complicated that one would think. Having a visual of the system would do nothing but HELP the students.

2 - Assignment #1 - Generate a simple Tag list of said P&ID, with a proper "standard" convention of naming those tags, with descriptions, analog scaling ranges..etc
For the final assignment the professor should include this!

3 - Assignment #2 - Generate an IO list, with requirements of using chassis IO or remote IO, include % spare requirements for IO capacity. Make the students select hardware components for the IO. Pick a manufacturer say AB, select an IO line (Point, Flex, Chassis) determine how many IO cards of each type should be required and why.
For the final assignment the professor should include this!

4 - Assignment #3 - Develop a proper Functional Design Spec (Sequence) from a "Customer" supplied process description of requested operation. This becomes the road map for the student on how to program the logic. Another great lesson!

5 - Assignment #4 - Develop a base structure of code. this would include determining subroutines required, IO control logic (Hand/Off/Auto, input/output mapping logic, Analog scaling logic).

6 - Assignment #5 - Use the information from the previous assignments to create the final program for the washing machine.

I felt shorted coming out of college because there was never any focus on the methods/concepts of actually "engineering" a program. Struggled for a while to find a method that made sense to me.
 
Last edited:
I know exactly how you feel; I am also taking this as a web class but I am completely lost. The only advice I got from the teach was to re-read the book and take a guess. Lovely advice eh? At least you have some work done; I have no idea how to even start.
 

Similar Topics

Hello, I am trying to get a Yokogawa Hart pressure Transmitter and a Rosemount Temp Transmitter to read on a 1769-IF4 module on an L33ERM...
Replies
10
Views
362
Please help me, I have solve many week but still not solve it. I found trouble of factory talk studio when I set tag by browse address of OPC...
Replies
0
Views
114
Hello Everyone, i Have im my Industry a Endress & Hauser Promag400 this has a screen that constantly have that error, it says to wait, somebody...
Replies
2
Views
464
After replacing the 70 with the 525, the PLC can read from the drive and recognizes it as online, but no commands are being listened to. PLC is...
Replies
1
Views
541
To quickly test a plc output which is wired to a relay do I dob a cable between the output and 24vdc+ source I.e something with 24vdc+ live such...
Replies
6
Views
678
Back
Top Bottom