Need some Help!!!

Patson

Member
Join Date
Mar 2004
Location
Montreal
Posts
21
I’m not good in English. I would like to start to have your expertise . The study that I carried out relates to my training course in automation but I would like to also make with your help a good programmation with Rslogix 5000. My goal first was to design a ramp generator like show on the figure (fig 1) software with Rslogix5000 of controllogix.
I already made an program , but my supervisor told me that , my realization don’t really solve the problem, cause I generate the ramp with one order, he want me to generate a ramp twice:
First order: generate a ramp like show in a figure and wait second order
Second order: generate a ramp until the end.
Now my generations only do the first order, I don’t know how to continue program with restrictions.

I would like to sent a first order(start) to start generate the slopes(ramp), and as long as I would not have sent the second order for the stop the rampe_1 will be always with the maximum position, and once the second order (stop) sent,il will have there a second generation of slope up to value 0 .
And also want to change the slope of the ramp by programmation ,or not by parameters.(par example multiplication factor)

Please sent me your email and i will sent you a figure represent it and program i begin.

Thanks a lot
my email adress: [email protected]
 
Patson,

I tried to open your program files last night after work ... unfortunately I get an error message that says the files were saved with a later version of RSLogix5000 than the one I have available ... mine is version 11.11.00 ... you might try doing a "File/Save As" operation and saving the programs in the "Import/Export" format with an "L5K" extension ... maybe I'll be able to open that type ... maybe not ... I'm pretty sure that Ken Roach would be able to tell us but I'm not too familiar with RSLogix5000 yet ...

if that doesn't work, (and if you only have a few rungs to send) you might try just posting a screen shot (picture) of your program rungs ... this might help:

recent post on how to post pictures

and here is another trick that might help:

[attachment]

step 1 ... click the rung number of the FIRST rung you want to post ...

step 2 ... hold the Shift key while you click the rung number of the LAST rung you want to post ....

step 3 ... right click on the highlighted rung number and select “Copy Rung” from the menu ... these steps will put the ASCII representation of all of the selected rungs into the Windows clipboard ...

step 4 ... go to the forum’s “Post Reply” window ...

step 5 ... right click inside the message window and select “Paste” from the menu ... this last step pastes the clipboard contents (your rungs) into your reply ...

this is what the sample rungs above would look like:

XIC(test0)OTE(test1); XIO(test2)OTE(test3); XIO(test2)OTE(test3);

I should be able to copy the rungs from your post and paste them into my copy of RSLogix5000 ... if you're experimenting and try to paste the rungs yourself, use the “Neutral Text” paste mode ... it usually works better ...

I hope that some of this helps ... I look forward to seeing what your program looks like ...

shift click.jpg
 
Like you suggest me to do

[XIC(start),]MATC(Rampe_Master,MATC_SP,0,Profile_pcam[0],1,1,Once,Immediate);

MUL(Rampe_Master.ActualPosition,50,Local:3:O.Ch0Data);

XIO(t4_2.DN)TON(t4,?,?);

XIC(t4.DN)TON(t4_2,?,?);
 
Greetings, everyone,

I'm still getting private messages from Patson about his ControlLogix ramp problem ... here's the latest ...

Hi Ron, How was your week-end?
Me too boring cause i didn't find an answer for my problem.
Do you try to see what i sent to you?
Can you try to help? or do you know some friends who can help me?Nobody in the forum help me except you, please my supervisor give me until friday to find answer or i will failed and suppose to do another work.

Please Help me.
_________________
TFP

is there anyone out there who can offer any direction here? ... I have never done ANY ControlLogix motion control work ... and unfortunately this is a VERY busy time for me ... please give this guy some help if possible ...

note to Patson, you need to post all of your messages ON THE FORUM ... sending private messages to me is a mistake ... in English we would say that you are "putting all of your eggs in one basket" ... you'll stand a much better chance of getting the help you need if you'll post the same messages where EVERYONE can see them ...

finally, try the "File/Save As" procedure I posted earlier and save your program in the "Import/Export" format with an "L5K" extension ...
... post it that way ... maybe I can open that type ... the "cut and paste" method worked enough so that I can see the rungs you posted ... but none of the tags and I/O configuration are available ... what type of motion control hardware are you using? ... give specific model numbers please ...

AGAIN ... keep your questions on the forum ... I'll help as much as I can but my boss has work for me to do ... there are other people out there who know a lot more about this subject than I do ... you should give them a chance to help too ...
 
Patson-
Please post the figure you refer to in your first post. I'm not sure what profile you are looking for.
If you are just looking for a typlcal trapaziodal or S-curve profile I would use the Motion Axis Jog (MAJ) command and look at the commanded velocity value (Rampe_Master.CommandVelocity). Execute the jog command uncoditionally and use a tag for the Speed parameter. Changing the speed changes the ramp endpoint.

Keith
 
I'm still not exactly sure what you are trying to accomplish. The cam profile you have defined doesn't seem to match up to the small diagram you have the right of it. You can probably make it match but I don't know enough about cam implementations to know for sure. From the sound of it you need to pause the cam at the end of the first half of the profile and then re-start it at some triggered point later.
In my opinion using the cam function for this doesn't make sense. But it seems like you really want to use the cam function so let's try this. Use two separate time based cams. The first will define the profile for the zero to max motion and will be triggered by the start bit. The second cam will be triggered by a stop command and will move from the maximum to zero. The cams are mirrors of each other; that is you enter the 'stopping' cam points in reverse order of the 'starting' cam.
Let us know if you have the freedom to use anything other than the cam instruction. It may make things a bit easier to use something else if you can. And please be sure to post everything instead of personal mailing. It gives more people a chance to help.

Keith
 
I agree with you

Thanks for your reply Keith,
I agree with you when you told that cam I define doesn't seem like a small diagram,(i will modify it to make it fit,i think by add others points and draw the diagram by myself),that's a purpose of my project,and i will generate this diagram in 2 times,i only do this in one time(great problem).Like you said, the stop of first half of the profile will introduce the begin of second one until 0.
I will try to do what you tell me, and i don't have obligation to use cam function,i read some helps and try to do it, but if you have others idea to suggest to me i will be very happy.

Do you see program i begin? and what others blocks i have to add?
Thanks.
 
I don't know ControlLogix, so I don't know if it supports the RMP function or not, but here is some code that should make a trapezoidal ramp like you show in your small picture on the right and the blue line.

Since language is a barrier, I'll just post code. The code is not the best, but it should give you an idea of what to do.


CAPTURE THE DATA FOR THE FIRST RAMP
RUN +----- MOV --+
---| |------[ONS]--+----| OUTPUT_FREQ|
| | INIT_FREQ |
| +------------+
|
| +----- MOV --+
+----| END_1 |
| FINAL_FREQ |
+------------+

RAMP UP TIMER
RUN +- TON -+
----| |----------------------| T1 |
+-------+


RAMP RATE
T1.EN +----- DIV --+
----| |-----------------| T1.ACC |
| T1.PRE |
| RAMP_RATE |
+------------+


START-UP DURATION TIME = T1 + T2

T1.DN +- TON -+
----| |----------------------| T2 |
+-------+


DELAY TIMER FOR STOP. RUN TIME = T2 + T3
T2.DN +- TON -+
----| |----------------------| T3 |
+-------+


CAPTURE THE DATA FOR THE FIRST STOP RAMP
T3.DN +----- MOV --+
---| |------[ONS]--+----| OUTPUT_FREQ|
| | INIT_FREQ |
| +------------+
|
| +----- MOV --+
+----| END_2 |
| FINAL_FREQ |
+------------+

FIRST RAMP DOWN TIMER
T3.DN +- TON -+
----| |----------------------| T4 |
+-------+


RAMP RATE
T4.EN +----- DIV --+
----| |-----------------| T4.ACC |
| T4.PRE |
| RAMP_RATE |
+------------+


T4.DN +- TON -+
----| |----------------------| T5 |
+-------+

CAPTURE THE DATA FOR THE SECOND STOP RAMP
T5.DN +----- MOV --+
---| |------[ONS]--+----| OUTPUT_FREQ|
| | INIT_FREQ |
| +------------+
|
| +----- MOV --+
+----| END_3 |
| | FINAL_FREQ |
| +------------+
| T6
+------------(RES)


SECOND RAMP DOWN TIMER
+- TON -+
-----------------------------| T6 |
+-------+


RAMP RATE
T4.EN +----- DIV --+
----| |-----------------| T4.ACC |
| T4.PRE |
| RAMP_RATE |
+------------+


CAlCULATE THE CHANGE IN SETPOINT (IF FINAL < INITIAL, THE RAMP WILL GO DOWN
+----- SUB --+
------------------------| FINAL_FREQ |
| INIT_FREQ |
| DELTA |
+------------+

THIS CALCULATION CONTROLS THE OUTPUT THROUGH THE ENTIRE PROCESS
+------------------------ CPT -----+
| OUTPUT_FREQ |
----------| INIT_FREQ + ( DELTA * RAMP_RATE) |
+----------------------------------+

 
SLC

I based it on a SLC, but made it generic (tags instead of addresses, no fancy instructions) so that you could port it easily to Controllogix.

As I said, you may want to see if the ControlLogix supports the RMP instruction - much of my code is built into that single instruction. It also supports S-curve as well as linear ramps.
 

Similar Topics

I'm fairly new to Rockwell software, I've had some basic training in the past but nothing too advanced. My company and I use Reliable products for...
Replies
11
Views
299
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
158
Good day all! Can someone help me with the procedure to update Beijers E700 firmware? The Panel I am working on is firmware 2.04v and I would...
Replies
1
Views
62
Hello nice to meet you, im new in here, I'm currently trying to convert code written in STL for a S7-400 to SCL for an S7-1500, because when i run...
Replies
5
Views
316
Back
Top Bottom