Sign in to follow this  
Followers 0
mikecqm

MC221

9 posts in this topic

Hi everybody, I was wondering myself, if there is a way to use the E00..E31 as I usually use the *DMxxxx. I am able to write: G60 E00= A0010+1000 G01 X(E00) if my A0010 is 0001 the E00 will be as the same value of A1001 and the X will move to the number of A1001. That's already done. But what about "write in" *E00 ? (in A1001 ?) G60 (E00)=A100+10 This is not allowed..so: how can I write a value inside the E00 value without "take this out" from E00 and put it in back? Hoping was clear enought.. Mike

Share this post


Link to post
Share on other sites
I did not explain well myself! I apologize me! Does anybody use the EM00..32 in the MC221 language? Is their usage so limitated as I understand? Thank you. Mike

Share this post


Link to post
Share on other sites
I am not sure I understand your question, but the EM should be addressable as easilly as the DM. I may be completely off on what you are trying to do, but with the way you are writing your addresses, perhaps you are addressing them in the wrong format. the extended memory is done as: E0_00000 You need to put the E, followed by which bank, then an underscore, and the address. Is this how you are addressing it in your program?

Share this post


Link to post
Share on other sites
Chris, I'm not talking about the plc' EM! I'm talking about the E area available in the Cx motion programming software for the MC221 axis card. Thei name is "Specifyng Register" and thei range is E00--E31. Anyway, thanks for your reply. I attached the .doc 'cause I'm not able to insert an image...sorry!

Share this post


Link to post
Share on other sites
Hi Mike! I would like to explain your problem. In example example: G60 E00=A0010+1000 you specify A register A1010 and in frase G01 X(E00) you execute linear interpolation in axis X to point with position data specify in register A1010. Read manual W359-E1 (CS1W-MC421/221 Motion Control Unit - Operation Manual) chapter 7, page 311. Ryszard

Share this post


Link to post
Share on other sites
Hi Mike ! It was my small mistake: in frase G60 E00=A0010+1000 you specify A register with addres in A0010, for example A0010 is equel 100 you specify A1100 register because in A10 is value 1100 and in frase (E00); in frase G01 X(E00) you execute linear interpolation in axis X to point with position data specify in register A1100 (indirect addressing). Sorry Ryszard.

Share this post


Link to post
Share on other sites
Ok guys, I already use the "Specifyng Register" as in your example. I would like to know if is possible to go a little forward; as operate with them. like we do with the pointers: using the Dm we can operate using: Dm10=Dm100+100 if Dm10=1 *Dm10=9999----> it means that I wrote #9999 inside Dm111 ! Is there something similar possible with the E of the MC221? P.S. In my Dm example, operating using ADD & MOVE !!

Share this post


Link to post
Share on other sites
In my opinion you can not use indirect addressing in MC221 like in PLC programm, because when you use G60 (E0)=A100+10 or G63 (E0)=A100 compiler detected error and is not possible download data to MC (look G60 and G63 format). Ryszard

Share this post


Link to post
Share on other sites
Maybe you're right! What a pity! Ciao, Mike

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0