Jump to content
OMRON Forums

Recommended Posts

Posted

Is it possible to select which motor will be affected when the Power PMAC receives an "abort all" input?

 

I'm working in a system that has an air pressure bearing with a reed switch (Normally Closed contact). When the pressure goes down I must kill 1 of the 8 axes which the PowerPMAC is driving. The others must be able to move.

 

I thought about a PLC program polling a Digital Input, but I'm concerned about IEC machine safety standards, this is why I prefer to handle the Abort Pin.

 

So what I'm choosing is a .pmh file which set tup 2 coordinates systems. One CS which will be affected by abort pin and the other one not affected as below:

 

--------------------------------------------------------------------------------------

global_definition.pmh

undefine all

 

//setup CS1

&1

#1 -> X

//setup CS2

&2

#2 -> X

#3 -> A

#4 -> XX

#5 -> YY

#6 -> ZZ

#7 -> U

#8 -> V

 

Sys.pAbortAll = PowerBrick[0].GpioData[0].a

Sys.AbortAllBit = 31

Sys.AbortAllLimit = 5

Coord[1].AbortAllMode = 1 // CS1 motors killed after abortAll

Coord[2].AbortAllMode = 3 // CS2 dont affected by abortall

--------------------------------------------------------------------------------------

 

Is there a better way to do this?

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

  • 1 year later...
Posted

I am implementing this solution and have tried some similars approaches, but without success

 

Sys.pAbortAll = PowerBrick[0].GpioData[0].a

Sys.AbortAllBit = 31

Sys.AbortAllLimit = 5

Coord[0].AbortAllMode = 3 // CS0 dont affected by abortall

Coord[1].AbortAllMode = 1 // CS1 motors killed after abortAll

 

1)

 

&1

#8->I

 

As I can see using Motor[x].Coord, the remaining motors are allocated in the Coord[0] by default, but when Sys.AbortAll=1 all the motors are aborted.

 

Also tried to change the remaining motors of the system to Coord[2]

 

2)

 

Coord[2].AbortAllMode = 3 // CS2 dont affected by abortall

&2

#1->I

#2->I

#3->I

#6->I

#5->I

 

And I defined an axis for each motor:

 

3)

 

Coord[2].AbortAllMode = 3 // CS2 dont affected by abortall

&2

#1->A

#2->B

#3->C

#6->X

#5->Y

 

but none these attempts worked as I expected.

There is something that I am missing?

 

FW 2.5.4.0

CPU PowerPC,APM86xxx

Posted

Yes, the behavior that a I expect is Motor 8 being killed while the rest remain controllable.

 

The Motor 8 is always in Coordinate System 1.

 

I repeated the tests with simulated motor in another Powerbrick and all the cases results in the expected behavior. Perhaps when the problem occurred some statement could have been missing, I am trying to reproduce the error.

 

Anyway, I will test again with the real motors on the first controller at an opportune time

Guest
This topic is now closed to further replies.

×
×
  • Create New...