Posted 14 Jun 2005 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
Posted 17 Jun 2005 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
Posted 17 Jun 2005 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
Posted 20 Jun 2005 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
Posted 20 Jun 2005 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
Posted 20 Jun 2005 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
Posted 21 Jun 2005 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
Posted 21 Jun 2005 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
Posted 21 Jun 2005 Maybe you're right! What a pity! Ciao, Mike Share this post Link to post Share on other sites