jnasri Posted February 18, 2021 Share Posted February 18, 2021 Hi all, I am having some trouble with the Macroactivation on power on of a Brick LV: The hardware setting is as follow: 1 Powerbrick LV as Master & 1 Powerbrick LV as Slave. the config of the Master PowerBrick[0].MacroModeA =$00403000; PowerBrick[0].MacroModeB =$00000000; PowerBrick[0].MacroEnableA =$0FFFFF00; PowerBrick[0].MacroEnableB =$0; PowerBrick[1].MacroModeA =$0; PowerBrick[1].MacroModeB =$0; PowerBrick[1].MacroEnableA =$0; PowerBrick[1].MacroEnableB =$0; Macro.TestPeriod =10/Sys.ServoPeriod; Macro.TestMaxErrors =Macro.TestPeriod/10; Macro.TestReqdSynchs =Macro.TestPeriod-Macro.TestMaxErrors; Macro.IOTimeout =0; config of the slave PowerBrick[0].MacroModeA =$00408000; PowerBrick[0].MacroModeB =$0; PowerBrick[0].MacroEnableA =$0FFFFF00; PowerBrick[0].MacroEnableB =$0; PowerBrick[1].MacroModeA =$0; PowerBrick[1].MacroModeB =$0; PowerBrick[1].MacroEnableA =$0; PowerBrick[1].MacroEnableB =$0; Macro.TestPeriod = 10/Sys.ServoPeriod; Macro.TestMaxErrors = Macro.TestPeriod/10; Macro.TestReqdSynchs = Macro.TestPeriod-Macro.TestMaxErrors; Randomly on power on , the master macro status never pass to Active. I have the following macro status: on the On master: Macro.status[0].active=0 Macro.Status[0].SynchMaster =1 Macro.Status[0].TestEnabled=0 On the slave: Macro.status[0].active=1 Macro.Status[0].SynchMaster =0 Macro.Status[0].TestEnabled=1 From the master side, I issued some line command as follow: Macro.RingTest[0].PwrOnErrCntr Macro.RingTest[0].PwrOnErrCntr=0 Macro.Status[0].RingError Macro.Status[0].RingError=0 Macro.Status[0].ErrorsFault Macro.Status[0].ErrorsFault=0 clrf stdin:6:5: error #50: MACRO COM TIMEOUT: clrf Macro.RingTest[0] stdin:7:2: error #20: ILLEGAL CMD: Macro.RingTest[0] Macro.Rings Macro.Rings=1 Macro.ICs Macro.ICs=4 Macro.IC3s Macro.IC3s=2 Ldata.CmdStatus Ldata.CmdStatus=0 Macro.RingTest[0].RingBrkStationNum Macro.RingTest[0].RingBrkStationNum=0 MacroControllerDetect Error: PowerBrick[0] isn't in a connected Ring Error: PowerBrick[1] isn't in a connected Ring MacroControllerDetect Error: PowerBrick[0] isn't in a connected Ring Error: PowerBrick[1] isn't in a connected Ring When I disconnect/ reconnect the fiber optics With the brick lv powered on the status of the macro change to active. Please help me to diagnose the problem. Best regards Link to comment Share on other sites More sharing options...
Omron Forums Support Posted February 19, 2021 Share Posted February 19, 2021 Try setting PowerBrick[0].MacroModeA =$808000 on the Slave. Copied from the Power PMAC User manual: Slave IC An IC used as a slave on the ring, as in a Power Brick drive used as a slave device, should have bits 12 and 13 both set to 0 to disable any master functionality. Bit 15 should be set to 1 to lock in the IC’s phase clock on receipt of the sync packet. Bit 23 should be set to 1 to disable the “master-number check” on the Node 23 packet. This means that Gate3.MacroMode should be set to $808000 for this IC (Node 15 master-number check disable, sync packet receipt lock). Link to comment Share on other sites More sharing options...
jnasri Posted February 19, 2021 Author Share Posted February 19, 2021 I tried your suggestion : "PowerBrick[0].MacroModeA =$808000 on the Slave". unfortunately it doesn't change the activation pb on power on of the master side. on power on: slave side: i have auxslaveconfigfault ( see Slavestatus2.png) PowerBrick[0].MacroModeA =$808200 on the master side: see MasterStatus2.PNG note: the macro status leds are green on both sides ( master and slave). Link to comment Share on other sites More sharing options...
Richard Naddaf Posted February 21, 2021 Share Posted February 21, 2021 One workaround is to issue MacroControllerInit from a PLC until the ring is active. Something like: GLOBAL MacroInitCtr OPEN PLC MacroInitPLC MacroInitCtr = 0 WHILE(Macro.Status[0].Active == 0 && MacroInitCtr < 10) { CMD"MacroControllerInit" CALL DelayTimer.msec(1000) IF(Macro.Status[0].Active == 1){DISABLE PLC MacroInitPLC} MacroInitCtr++ } DISABLE PLC MacroInitPLC CLOSE Also, note that: - It is recommended to only enable used nodes - Node 14 on the slave should be left off, PowerBrick[0].MacroEnableA =$0BFFFF00 Link to comment Share on other sites More sharing options...
jnasri Posted February 22, 2021 Author Share Posted February 22, 2021 I added MacroinitPLC and changed the PowerBrick[0].MacroEnableA value to $0BFFFF00 on the slave but the following command that i use in one of my PLCs didnt repond : macro timeout MacroAuxiliaryRead 0,P555, P556 it responds only if the PowerBrick[0].MacroEnableA = $0FFFFF00 OR PowerBrick[0].MacroEnableA = $0FBFFF00 I added a ctr to see in how much time the active status is reached and it is about 30 second +/- 20 seconds i added also a ctr to see in how mush time the MacroAuxiliaryRead Command is successfull and the result is 5 to 30 retry ( 1 second between each command) do you have an explanation for that? Link to comment Share on other sites More sharing options...
Richard Naddaf Posted March 2, 2021 Share Posted March 2, 2021 $0FBFFF00 is correct. $0BFxxxxx was a typo. We have seen this issue with the UMAC counterpart accessory (ACC-5E3). It turned out to be a hardware ECO. We had not seen it with the Brick series, but it may be susceptible to environment and installation conditions. I have already asked the design team to look into it. Link to comment Share on other sites More sharing options...
Recommended Posts