daves Posted February 17, 2014 Share Posted February 17, 2014 I am struggling to use an Acc14E over MACRO. The card is at $79C00 = $A0800C = $9800. I can put the card in the main PPMAC rack and do the following, and lights 25-32 come on as expected: m9->i.io:$A0801C.8.8 m9 M9=63 m9=7 m9->i.io:$A0800C.8.8 m9 M9=0 m9=$ff Trying to set the card for output on some or all lines does not work. Setting up node transfers does not work. Trying the direct read methods can change the control word but not the data: macroslave0,i198=$409807 macroslave0,i199 $00000000003f macroslave0,i199=7 macroslave0,i199 $000000000007 macroslave0,i198=$409803 macroslave0,i199 $000000000000 macroslave0,i199=$ff macroslave0,i199 $000000000000 I guess I am missing something but cannot figure out what... Link to comment Share on other sites More sharing options...
Omron Forums Support Posted February 17, 2014 Share Posted February 17, 2014 Hi Dave, I do not know if MI198/199 should work like that, but a transfer variable like MI71 should work. Did you check the following settings: On Power PMAC (assuming Gate2, not Gate3): Gate2.MacroEnable? For example, Gate2[0].MacroEnable = $FF3FF for master station 0 with I/O nodes 2,3,6,7 and servo nodes 0,1,4,5,8,9,12,13 enabled. Gate2.MacroMode? For example, Gate2[0].MacroMode = $30 for IC0 as the synchronizing master. On the MACRO STATION (Assuming MACRO16 CPU): MI19 is set (usually=4)? MI975? (=$CC to match above) MI996? (= $FF3FF to match above) MI71? For example, MI71=$10C0A8219800 for using nodes 6 and 7 with ACC-14E at base address $9800 Should be able to then set outputs with Gate2[0].Macro[7][0]. For example, Gate2[0].Macro[7][0] = $FFFFFF to activate all outputs. Note that mirror words are needed to write to individual bits. Individual bits of Gate.Macro[j][k] inputs can be read. For example Gate2[0].Macro[6][0].0.1 for first input. Link to comment Share on other sites More sharing options...
daves Posted February 18, 2014 Author Share Posted February 18, 2014 Thanks for the reply I am still struggling. I have similar settings, it is gate3, I am already successfully transferring lots of data from Acc36E, Acc24E2S, Acc65E and motors on Acc24E2As so I feel like the MACRO is set up OK: Sys.WpKey = $AAAAAAAA; Gate3[0].MacroEnableA = $0FFFFF00; Gate3[0].MacroModeA = $00403000; Gate3[0].MacroEnableB = $1FBFFF00; Gate3[0].MacroModeB = $00001000; Gate3[1].MacroEnableA = $2FBFFF00; Gate3[1].MacroModeA = $00001000; Gate3[1].MacroEnableB = $3FBFFF00; Gate3[1].MacroModeB = $00001000; Sys.WpKey = 0; macroslave0,i19 $000000000004 macroslave0,i975 $000000000ccc macroslave0,i996 $0000000fbfff I tried using node 6/7 24-bit registers similar to your suggestion: macroslave0,i71=$10C0A8219800 Gate3[0].MacroOutA[7][0]=$ffffff This did not work. I tried saving, resetting, etc. Link to comment Share on other sites More sharing options...
daves Posted February 18, 2014 Author Share Posted February 18, 2014 I just plugged in an Acc5E to try using gate2 and followed your instructions (the station is a MACRO16CPU btw): Acc5E[0].MacroEnable=$ff3ff Acc5E[0].MacroMode=$30 macroslave0,i19=4 macroslave0,i975=$cc macroslave0,i996=$ffcff macroslave0,i71=$10C0A8219800 Acc5E[0].Macro[7][0]=$ffffff This didn't work but after setting the control word: macroslave0,i198=$409807 macroslave0,i199 $00000000003f macroslave0,i199=7 Acc5E[0].Macro[7][0]=$ffffff It worked! Repeating for Acc5E3 I cannot get to work: sys.WpKey=$aaaaaaaa Acc5E3[0].MacroEnableA=$ff3ff00 Acc5E3[0].Macromodea=$3000 sys.WpKey=0 macroslave0,i19=4 macroslave0,i975=$cc macroslave0,i996=$ffcff macroslave0,i71=$10C0A8219800 macroslave0,i198=$409807 macroslave0,i199=7 Acc5E3[0].Macroouta[7][0]=$ffffff I must be missing something simple... Dave Link to comment Share on other sites More sharing options...
daves Posted February 18, 2014 Author Share Posted February 18, 2014 I spoke too soon on that last post. There was a 'd' error on the ring. After clearing and trying again it worked. Thank you so much for your help, being able to come from a working configuration was the key to spotting what I must have been doing wrong originally. I think my main problems were coming from misunderstanding the bytes in the registers. For the record (possibly useful to someone else) I now have for my Acc14E at $9800 over a MACRO16 to an Acc5E3 in a PPMAC rack, transferring to the 16-bit node registers in Node B11: // Set up the Acc5E3 Sys.WpKey = $AAAAAAAA; Gate3[0].MacroEnableA = $0FFFFF00; Gate3[0].MacroModeA = $00403000; Gate3[0].MacroEnableB = $1FBFFF00; Gate3[0].MacroModeB = $00001000; Sys.WpKey = 0; // Set up the nodes macroslave0,i19=4 macroslave0,i996=$0FFFFF macroslave0,i975=$CCC macroslave0,i1996=$1FBFFF // Set 25-48 as outputs on the Acc14E macroslave0,i198=$409807 macroslave0,i199=7 // Set 3x16-bit transfer on B11 from $9800 macroslave0,i69=$10C0F5319800 The outputs are at: Acc5E3[0].Macrooutb[11][3]=$F0000000 // 48-45 Acc5E3[0].Macrooutb[11][3]=$0F000000 // 44-41 Acc5E3[0].Macrooutb[11][3]=$00F00000 // 40-37 Acc5E3[0].Macrooutb[11][3]=$000F0000 // 36-33 Acc5E3[0].Macrooutb[11][2]=$F0000000 // 32-29 Acc5E3[0].Macrooutb[11][2]=$0F000000 // 28-25 So I use addressing to access the bits e.g: m25->i.io:$9007B8.24.1 ... m32->i.io:$9007B8.31.1 m33->i.io:$9007BC.16.1 ... m48->i.io:$9007BC.31.1 Link to comment Share on other sites More sharing options...
Omron Forums Support Posted February 18, 2014 Share Posted February 18, 2014 Hi Dave, You're welcome for my small part in this, and thanks for posting the setup information. It's nice to see someone utilizing that many nodes with Gate3. Link to comment Share on other sites More sharing options...
Recommended Posts