How to avoid wrong overlapping with Availability Atoms
How to avoid wrong overlapping with Availability Atoms
Hello,
I have 2 conveyors (AAC), each with a Switch-Availability + Availibility-Control Atom. When I stop the second conveyor the first conveyor ignores the spacing rule:
(When the second conveyor is full, the spacing works right.)
How can I this problem? In my case the right visualizaion is really important.
Thanks
I have 2 conveyors (AAC), each with a Switch-Availability + Availibility-Control Atom. When I stop the second conveyor the first conveyor ignores the spacing rule:
(When the second conveyor is full, the spacing works right.)
How can I this problem? In my case the right visualizaion is really important.
Thanks
Re: How to avoid wrong overlapping with Availability Atoms
Hi,
As you're manually interferring with the conveyor functionality, the spacing is indeed not working automatically.
It could be repaired by using the following functions:
1. Conveyors_StopConveyor to stop the previous conveyor when the availability control switches to down.
2. Conveyors_Start_NAConveyor to restart the previous conveyor when the availability control switches to up.
See attached for a small example.
Regards, Marlies
As you're manually interferring with the conveyor functionality, the spacing is indeed not working automatically.
It could be repaired by using the following functions:
1. Conveyors_StopConveyor to stop the previous conveyor when the availability control switches to down.
2. Conveyors_Start_NAConveyor to restart the previous conveyor when the availability control switches to up.
See attached for a small example.
Regards, Marlies
- Attachments
-
- 20130603_ConveyorSpacing.mod
- (21.37 KiB) Downloaded 285 times
Re: How to avoid wrong overlapping with Availability Atoms
Hi marlies,
thanks for your small example. I already tried StopConveyor and Start_NAConveyor. StopConveyor worked fine and also works fine in your example. But I had/have problems with Start_NAConveyor. In your example, like in my own tries, the conveyor doesn't start again. (I guess the start should works fine in your example.)
Do you have any ideas why Conveyors_StopConveyor(in(1, out(1, c))) doesn't work (for me)?
Thanks
thanks for your small example. I already tried StopConveyor and Start_NAConveyor. StopConveyor worked fine and also works fine in your example. But I had/have problems with Start_NAConveyor. In your example, like in my own tries, the conveyor doesn't start again. (I guess the start should works fine in your example.)
Do you have any ideas why Conveyors_StopConveyor(in(1, out(1, c))) doesn't work (for me)?
Thanks
Re: How to avoid wrong overlapping with Availability Atoms
Hi,
See attached for a new suggestion, think that this one works a bit better. It requires some detailed knowledge about the working of the conveyors and availability control.
The main issue was:
- The availability control changes the status of an atom to not available (12).
- The stop conveyor function only works for regular conveyor statuses (which is not nr 12..).
I changed the trigger on up and on down of the availability control. The explanation is added in comments. I hope that's clear to you, if not just let me know! Note that I unchecked all checkboxes of the availability control.
Regards, Marlies
See attached for a new suggestion, think that this one works a bit better. It requires some detailed knowledge about the working of the conveyors and availability control.
The main issue was:
- The availability control changes the status of an atom to not available (12).
- The stop conveyor function only works for regular conveyor statuses (which is not nr 12..).
I changed the trigger on up and on down of the availability control. The explanation is added in comments. I hope that's clear to you, if not just let me know! Note that I unchecked all checkboxes of the availability control.
Regards, Marlies
- Attachments
-
- 20130603_ConveyorSpacing_V02.mod
- (22.16 KiB) Downloaded 267 times
Re: How to avoid wrong overlapping with Availability Atoms
Hi marlies,
that was exactly what I want. You saved me a lot of work on a workaround or a new conveyor. Many many thanks!
that was exactly what I want. You saved me a lot of work on a workaround or a new conveyor. Many many thanks!
Re: How to avoid wrong overlapping with Availability Atoms
Hello,
I won't start a new thread for that, but the your trick doesn't work for the AAC Curved: The products doesn't stop. Everything else seems to work (Events, I/O...).
How can I solve this problem?
Thanks
I won't start a new thread for that, but the your trick doesn't work for the AAC Curved: The products doesn't stop. Everything else seems to work (Events, I/O...).
How can I solve this problem?
Thanks
Re: How to avoid wrong overlapping with Availability Atoms
Found it!
The bug has to be in StopAtom(). In Conveyors_StopConveyor:
the stop-command doesn't work -> it doesn't reset RotationSpeedAc to 0. With that fix all works fine.
P.S.: I should be mentioned in the credits for bugfinding &-fixing in the next release
The bug has to be in StopAtom(). In Conveyors_StopConveyor:
Code: Select all
{**4: AC curved**}
do(
ForAtomLayerUnder(
atmC,
do(
trace([stop #4 @ products]),
Sets,
{StopAtom(s),}
RotationSpeedAc(s):=0,
label([MoFa_Conveyors_NextSensor], s) := 0
)
),
DestroyEventsOfAtom(atmC, MoFa_AC_STOP_ATOM_EVENT)
)
P.S.: I should be mentioned in the credits for bugfinding &-fixing in the next release
Re: How to avoid wrong overlapping with Availability Atoms
Hi,
Good that you found out yourself! I didn't have the time to dig into the problem yet.
Thanks for reporting the fix too....
Regards, Marlies
Good that you found out yourself! I didn't have the time to dig into the problem yet.
Thanks for reporting the fix too....
Regards, Marlies