Jump to content
OMRON Forums

Macro activation problem on Brick LV power on


jnasri
 Share

Recommended Posts

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

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

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

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).

SlaveStatus2.PNG.d144aa405ddf1534a9adbeb32aae7358.PNG

MasterStatus2.PNG.793729772b0f48281c597b5089044a2b.PNG

Link to comment
Share on other sites

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

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

  • 2 weeks later...

$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

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...