aTURBOPMAC2USER Posted January 6, 2014 Share Posted January 6, 2014 Dear all, There may be some mistakes in the user manual of ACC-11E (newest version, December 17, 2012), page 44 and page 45, the code and the addresses illustrate how to using the mirroring word can lighting output1...output8, but output9..output24 cannot be controlled (I have not test the inputs). I try to correct the addresses and some lines of the code, but failed. So when using the mirroring word, can you give me a correct code and addresses of the inputs and outputs? Link to comment Share on other sites More sharing options...
StephenJ Posted January 6, 2014 Share Posted January 6, 2014 The example to which you refer applies to using the 11E in a MACRO ring. Is your ACC-11E in a MACRO rack? If you are using with a Turbo UMAC, then refer to "Using the ACC-11E with Turbo UMAC", starting on page 13. Link to comment Share on other sites More sharing options...
aTURBOPMAC2USER Posted January 7, 2014 Author Share Posted January 7, 2014 The example to which you refer applies to using the 11E in a MACRO ring. Is your ACC-11E in a MACRO rack? If you are using with a Turbo UMAC, then refer to "Using the ACC-11E with Turbo UMAC", starting on page 13. @StephenJ Yes, the ACC-11E is in a MACRO ring. But, do you read the addresses in the page45? And make a test? I think they are out of accord with the address definition in the page44. I tried many times to correct the addresses(and the code), the best result was lighting output9...24, but output1...output8 could not be controlled unexpectedly. By the way, because of lack special manuals for MACRO, sometimes I feel the MACRO make me crazy. Link to comment Share on other sites More sharing options...
Richard Naddaf Posted January 7, 2014 Share Posted January 7, 2014 Are the inputs working ok? Are you using MI69/MI70 transfers? and which node(s) are you using for the transfers? Try this code while we look into the one in the manual: #define 16In M4015 ; M-Variable pointer to hold 16-bit inputs #define 8In8Out M4016 ; M-Variable pointer to hold 8-bit inputs and 8-bit outputs #define 16Out M4017 ; M-Variable pointer to hold 16-bit outputs 16In->X:$78421,8,16 ; I/O Node 2 1st 16-bit register (16 inputs) 8In8Out->X:$78422,8,16 ; I/O Node 2 2nd 16-bit register (8 inputs and 8 outputs) 16Out->X:$78423,8,16 ; I/O Node 2 3rd 16-bit register (16 outputs) #define InputsMirror M4115 InputsMirror->X:$10FF,0,24 InputsMirror = 0 #define OutputsMirror M4116 OutputsMirror->Y:$10FF,0,24 OutputsMirror = 0 Open plc 1 clear // 1 msec delay I5111 = 1 * 8388608/I10 WHILE (I5111 > 0) EndW // Inputs InputsMirror = 16In + 8In8Out&$FF * 65536 // Outputs 8In8Out = OutputsMirror&$FF * 256 16Out = OutputsMirror&$FFFF00 / 256 CLOSE // Bitwise Inputs M1->X:$10FF,0,1 M2->X:$10FF,1,1 M3->X:$10FF,2,1 M4->X:$10FF,3,1 M5->X:$10FF,4,1 M6->X:$10FF,5,1 M7->X:$10FF,6,1 M8->X:$10FF,7,1 M9->X:$10FF,8,1 M10->X:$10FF,9,1 M11->X:$10FF,10,1 M12->X:$10FF,11,1 M13->X:$10FF,12,1 M14->X:$10FF,13,1 M15->X:$10FF,14,1 M16->X:$10FF,15,1 M17->X:$10FF,16,1 M18->X:$10FF,17,1 M19->X:$10FF,18,1 M20->X:$10FF,19,1 M21->X:$10FF,20,1 M22->X:$10FF,21,1 M23->X:$10FF,22,1 M24->X:$10FF,23,1 // Bitwise Outputs M31->Y:$10FF,0,1 M32->Y:$10FF,1,1 M33->Y:$10FF,2,1 M34->Y:$10FF,3,1 M35->Y:$10FF,4,1 M36->Y:$10FF,5,1 M37->Y:$10FF,6,1 M38->Y:$10FF,7,1 M39->Y:$10FF,8,1 M40->Y:$10FF,9,1 M41->Y:$10FF,10,1 M42->Y:$10FF,11,1 M43->Y:$10FF,12,1 M44->Y:$10FF,13,1 M45->Y:$10FF,14,1 M46->Y:$10FF,15,1 M47->Y:$10FF,16,1 M48->Y:$10FF,17,1 M49->Y:$10FF,18,1 M50->Y:$10FF,19,1 M51->Y:$10FF,20,1 M52->Y:$10FF,21,1 M53->Y:$10FF,22,1 M54->Y:$10FF,23,1 Link to comment Share on other sites More sharing options...
aTURBOPMAC2USER Posted January 8, 2014 Author Share Posted January 8, 2014 Are the inputs working ok? Are you using MI69/MI70 transfers? and which node(s) are you using for the transfers? Try this code while we look into the one in the manual: #define 16In M4015 ; M-Variable pointer to hold 16-bit inputs #define 8In8Out M4016 ; M-Variable pointer to hold 8-bit inputs and 8-bit outputs #define 16Out M4017 ; M-Variable pointer to hold 16-bit outputs 16In->X:$78421,8,16 ; I/O Node 2 1st 16-bit register (16 inputs) 8In8Out->X:$78422,8,16 ; I/O Node 2 2nd 16-bit register (8 inputs and 8 outputs) 16Out->X:$78423,8,16 ; I/O Node 2 3rd 16-bit register (16 outputs) #define InputsMirror M4115 InputsMirror->X:$10FF,0,24 InputsMirror = 0 #define OutputsMirror M4116 OutputsMirror->Y:$10FF,0,24 OutputsMirror = 0 Open plc 1 clear // 1 msec delay I5111 = 1 * 8388608/I10 WHILE (I5111 > 0) EndW // Inputs InputsMirror = 16In + 8In8Out&$FF * 65536 // Outputs 8In8Out = OutputsMirror&$FF * 256 16Out = OutputsMirror&$FFFF00 / 256 CLOSE // Bitwise Inputs M1->X:$10FF,0,1 M2->X:$10FF,1,1 M3->X:$10FF,2,1 M4->X:$10FF,3,1 M5->X:$10FF,4,1 M6->X:$10FF,5,1 M7->X:$10FF,6,1 M8->X:$10FF,7,1 M9->X:$10FF,8,1 M10->X:$10FF,9,1 M11->X:$10FF,10,1 M12->X:$10FF,11,1 M13->X:$10FF,12,1 M14->X:$10FF,13,1 M15->X:$10FF,14,1 M16->X:$10FF,15,1 M17->X:$10FF,16,1 M18->X:$10FF,17,1 M19->X:$10FF,18,1 M20->X:$10FF,19,1 M21->X:$10FF,20,1 M22->X:$10FF,21,1 M23->X:$10FF,22,1 M24->X:$10FF,23,1 // Bitwise Outputs M31->Y:$10FF,0,1 M32->Y:$10FF,1,1 M33->Y:$10FF,2,1 M34->Y:$10FF,3,1 M35->Y:$10FF,4,1 M36->Y:$10FF,5,1 M37->Y:$10FF,6,1 M38->Y:$10FF,7,1 M39->Y:$10FF,8,1 M40->Y:$10FF,9,1 M41->Y:$10FF,10,1 M42->Y:$10FF,11,1 M43->Y:$10FF,12,1 M44->Y:$10FF,13,1 M45->Y:$10FF,14,1 M46->Y:$10FF,15,1 M47->Y:$10FF,16,1 M48->Y:$10FF,17,1 M49->Y:$10FF,18,1 M50->Y:$10FF,19,1 M51->Y:$10FF,20,1 M52->Y:$10FF,21,1 M53->Y:$10FF,22,1 M54->Y:$10FF,23,1 Hello, Richard, thanks for attention. I use MI69, and node 2 to transfer. Only one ACC-11E in the MACRO rack, one MACRO, one Turbo Ultralite. I have not test the inputs. The configuration of ACC-11E is : I6841=$FB33F MS0,MI975=$CCC MS0,MI69=$10C0A1308800 MS0,MI19=$4 I have upload the picture, which can illustrate the conflict: 1.bmp2.bmp Link to comment Share on other sites More sharing options...
Recommended Posts