First Program

Oh lancie and also, he wanted to be able increase or decrease the speed of it if necessary. Would I decrease it by just turning it off for a certain time?
 
Lancie it is a variable DC Drive. So knowing that, how in the **** can I control the speeds of these motors and MAINTAIN those speeds for a set time. How do I need to communicate with this drive. FRUTRATING
 
MicroLogix 1500 Ramp Program ASSUMES RPM Output

Andrew,

Here is an example program. If I had the acutal DC Drive Remote Speed Reference Analog Output, and had your PLC I/O configuration, I could make it work "out-of-the-box". But Alas!, those are unknown, so you will have to fill in the correct I/O Configuration and the correct output for the motor speed reference output.

The ZIPed file is the actual RSLogix *.RSS program for your MicroLogix 1500 LRP Series B PLC.

EDIT: This program is for the RAMP only. To control the speed (after initial start ramping) you will have to give me a little more information. How is the motor speed controlled NOW? Do you have some type of operator interface, maye a graphic panel, or maybe the motor drive manufacturer supplied a custom HMI for the DC drives, or do you have a potentiometer on a control panel, or WHAT method is used?

PS: The Catalog Number for the DC Drive would help. I could maybe look up the MANUAL for the drive and see what methods are availble to input a speed reference command. Not every DC Drive has the same capabilities.
 
Last edited:
LaSt thing, when configuring my I/O, is the 1769 ECR on the side of the PLC the number i Need to use? In the configuration tab I see a bunch of 1769, but none with the ECR.
 
LaSt thing, when configuring my I/O, is the 1769 ECR on the side of the PLC the number i Need to use? In the configuration tab I see a bunch of 1769, but none with the ECR.
No, each Input and Output module that you have installed needs to show up in the Slot where it is actualy installed. The easy way to do the I/O configuration is to go online to the PLC and use the "Read I/O Config." button on the "I/O Configuration" menu.

Slot 0 is the microprocessor module, which you said was a "MicroLogix 1500 LRP Series B". If that is not true, then pick the one that you are using.

But you can do it offline if you have written down the catalog number for each module. If you don't know the catalog number, then if you just know what type it is (Input or Output? Digital or Analog? Number of Points? Voltage?) then you can pick it from the lists included in the "I/O Configuration" menu under "Current Cards Available".

Remember, this is not the same as texting to your friends. One digit, one decimal place, one incorrect setting in your program can cause it to not work. Exactness, attention to detail, persistence in error-checking, and patience are required to write PLC programs or any type of computer program.
 
Last edited:
Ok, last thing I swear! You have to be getting frustrated with me by now ha. The zipped file wouldnt open, but the other did. Its very helpful. But answer this one thing. I see every 10 seconds you were adding 3 to the output. Thats where Im confused. How does the output, the motor, know that I am saying ramp up 3 rpm? Am I sending 3 to drive which is then ramping it up that many rpm? How does my drive know what I mean by 3? And I want it to be at 40 rpm. SO when I get to that you showed I could just latch that done bit, and I need to latch it for 60 seconds. But again, do I have whose talking to who right? Meaning I am telling the drive what to do who is then in turn telling the motor?
 
And also on youre program, you said its adding 3 to the output every t seconds, but I dont see where the timer is going to keep resetting itself and continue to recycle through and keep adding until I reach desired RPM. I just see where it will time once
 
The zipped file wouldnt open, but the other did.
Like I said, the Zipped file is the RSLogix program, and it will only open with the RSLogix software.

I see every 10 seconds you were adding 3 to the output. Thats where Im confused. How does the output, the motor, know that I am saying ramp up 3 rpm?
Like I said, to program this exactly as you need, YOU must supply the address of the PLC analog ouput for the DC Drive Remote Speed Reference. I guessed at O:4.0, but it could be anything, or it may not exist at all. It is up to you to find out what equipment you have, how it is configured, and what addresses are used for each function. Without those, I am shooting in the dark (or Pixxing into the wind, whichever your prefer).
Am I sending 3 to drive which is then ramping it up that many rpm?
My 4-rung Ramp routine ASSUMES that your DC Drive is starting with the motor at 0 RPM, and once the Ramp Routine is triggered, ramping up 3 RPM every 1 second.
How does my drive know what I mean by 3?
You must have a PLC output that is connected to the DC Drive remote speed reference input terminals.
And I want it to be at 40 rpm. SO when I get to that you showed I could just latch that done bit, and I need to latch it for 60 seconds.
Well, I only did the RAMP. If you have other control functions, then add those in to the program. How you do those depends on how you NOW control the speed of the drive (which you have not said how that is done). My crystal ball is giving fuzzy pictures today.

But again, I have to know who is talking to who, right? Meaning I am telling the drive what to do who is then in turn telling the motor?
Yes, the DC Drive accepts inputs that tells it when to start and how fast to run the motor. Those inputs can be done with hard-wired switches and a potentiometer, or with wires connected to terminals on the drive, or with a communications cable, or with a HMI operator station connected to the DC Drive. Which of these methods determines how your program logic will be done.
 
Ok. Thanks alot for you're help. I think I am understanding this enough now. Thanks for replying each time. God Bless.
 
...but I dont see where the timer is going to keep resetting itself and continue to recycle through and keep adding until I reach desired RPM. I just see where it will time once
We did this before, remember it is a "self-resetting" timer, and the XIO T4:0/DN bit on Rung 000 causes the timer to reset every 100 x 0.01 or 1 second.

...and can you explain to me the purpose of latching that done bit?
Yes, without the latch, once the DC Drive reaches the desired RPM (170 in my example), then if the speed is reduced by other parts of the program (not yet written apparently), the start-up ramp would restart and try to control the drive speed. You do not want that, but want the ramp to "go away" once the drive is started up and reaches the desired max speed.

Looking at your additional requirement of running for 60 seconds, just add a 60-second timer to keep the drive ON for that long, starting when "O4.0 is Greater Than or Equal to 170 RPM".
 
Ok thanks. I got it. I guess you are more deserving of my paycheck this week than myself. THanks for the help
 
No problem, glad to help. I hope you get into programming and enjoy it as much as I have.
 
So for the first motor, I know it will take 19 secs to get to my desired RPM of 39. So when it gets to it, I need to stay at 39 RPM, for 60 seconds!
The attached Revision 1 should take care of first ramping the motor DC Drive to 39 RPM, then allowing it to run for 60 seconds, then settng speed to 0. Note that the DC Drive probably has Start and Stop buttons or inputs, and the Stop Input should be activated also to disable the DC Drive after 60 seconds.
 
Last edited:
calculation

Dude, if the motor is 1775 rpm at 60 hz
and you are using an analog output module
Lets say that module has a resolution of
0- 4095 as a PLC5 would have
0-1775 rpm / 4095 max digital to analog output,
that means the VFD would
increment .4334 rpm for every count
so 2048 would output 30 hz and the motor would
run 887 rpm or 2.3 counts per RPM
 
Dude, if the motor is 1775 rpm at 60 hz...
Asterof, The motor is a 170 RPM DC motor at 0 HZ.
...and you are using an analog output module.
That has yet to be established. Andrew doesn't know Which Module (if any) that he is using to interface with the DC Drive.
Lets say that module has a resolution of 0- 4095, as a PLC5 would have.
Asterof, I think your point is that the analog output (if it exists) will probably need to be scaled to the configured range of the module. We do know that the PLC is a MicroLogix 1500 LRP Series B, so IF there is an analog output module, it most likely will be a 1769-OF2, and has three different digital ranges, depending on configuration (Raw/Proportional, Engineering, or Scaled-for-PID), two mA current ranges, and four voltage ranges. None of thosse agree with your 0-4095 assumption for the range. The closest for the 1769-OF2 module would be the 1-to-5 VDC set for Engineering Units, giving a range of 1000-5000.

However because this is a DC Drive, most likely what it has a 0-10 or 0-12 volt DC input circuit set up to use with a potentiometer. If Andrew is lucky, this can be converted to a 0-10 VDC analog input circuit by removing the pot, and the Analog Output Module can then be configured for a 0-10 VDC output, with a count output range of either 0-31207 (Raw), 0 to 10000 (Engineering), or 0-16383 (Scaled-for-PID).

The above options are why it is necessary to know what equipment is being used and how it is configured.

Many beginners do not realize that a PLC program is not a stand-alone created-in-a-box type of project. The program must be written around the equipment being used, or it will not work. My first step for this type of project is to first gather data and manuals on all the equipment - the motors, drives, PLC, PLC Input and Output modules, and only then start writing the program.
 
Last edited:

Similar Topics

Hi all, I am having issues accessing my Cimplicity software - the site code changed after re-install and I am no longer able to attain a new key...
Replies
10
Views
131
Posted this to Reddit with little success, so I figured I would share it here as well. Very new to PLCs, but figured I would give it a shot to...
Replies
0
Views
110
Does anyone have RSLogix 5000 ladder diagram program of tank leveling (factory IO). Fill valve, discharge valve, set point, level, etc? I looked...
Replies
2
Views
148
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
523
Back
Top Bottom