Record Sourcedata [PickMaster 3]

Hello,

I have add a data to the Record (bPresent) but my problem is to fill this data. I want to add the status of a sensor at the moment when we store the data in the queue ! I think that the record is executed on the trigger signal but I do not know how to include the status of my sensor in this record. Can somebody help me about this ?

Configuration of my line : 4 x IRB260 on multimove(independant) cabinet with 4 cnv traking, the record is linked to one of these cnv.

RECORD Sourcedata
bool Used;
itmsrc ItemSource;
itmsrctype SourceType;
triggdata Ack;
triggdata Nack;
triggdata VacuumAct1;
triggdata VacuumAct2;
triggdata VacuumRev1;
triggdata VacuumRev2;
triggdata VacuumOff1;
triggdata VacuumOff2;
wobjdata Wobj;
num VacActDelay;
num VacRevDelay;
num VacOffDelay;
pos TunePos;
stoppointdata TrackPoint;
num OffsZ;
bool bPresent;
ENDRECORD

BR,

Fabrice

The record sourcedata is originally only used as:
VAR sourcedata ItmSrcData{MaxNoSources};

The ItmSrcData array is filled when a project is started and is a robot is stopped and started. Some components are also updated when tuning.

The number of used instances of the array is the same as the number of workareas, and the order of the workarea/itemsource information in the array is more or less random.

If you want to keep any of your own information in the record, you should access it like:
ItmSrcData{i}.bPresent:=TRUE;

/Mats

Is the Record not executed each time with the trigger signal of the cnv traking ?

My problem is that I will trigger on each cam of my machine but sometimes it could happen that no product is present and there for I want to add the status of product present or not to a traking cnv.

Is this possible to include this data to the queue of cnv traking ?

Thanks in advance.

Fabrice

The record is not exected at every trig.

You can define a signal to the Queue Idle or Position Available functionality in the line configuration to determine if thwere are any positions in the queue.

You can also use the function GetQueueLevel to check if there are any products in the queue.

Please read the manual for a detailed description of the functionalities.

/Mats

Sorry but I think there is a misunderstandig.

I do not want to know if there is something in the queue, I only want to add to the queue a extra status signal so that when I am doing a getitemtarget I can make different action according to this status.

BR,

Fabrice

Hello Fabrice,

I believe you need to explain what you want to achieve for the application. I do not understand your question.

BR, Erik

Hello Erik,

Sorry for the late reply, today is my first day after holiday.

My problem is:

I have a cnv with cam and I will sent a trigger signal at each cam but some times there is no products present at the cam so I want to put an extra detection and store this status with the correct cam.

Is it possible with the configuration that I have ?

BR, Fabrice

Hello,

If I understand you correct you can do the following.

  1. Create a new digital output signal, doSimQueueIdle1 (for camera 1)

  2. In the work area connected to camera one, enter the doSimQueueIdle1 as the queue idle signal (in the line file)

  3. In RAPID, check if the doSimQueueIdle1 signal is set high (1), if yes, pulse the doTrigVis1 signal.

BR, Erik

Nooooo :slight_smile:

A cam is not a camera for me. I will try to explain in an other way.

The cnv is equipement with cam each 400mm (it is like of 1 bukket each 400mm), between 2 cams we have normaly always products present that we need to pick but sometimes it can happend that we have some empty bukkets and we will sent a trigger at each buckets and not at each product present (for accuracy problem) therefor I want to add a status signal “product present” when I get the trigger so that we I do an GetItmTarget, I get also the status product present or not.

BR, Fabrice

I am sorry, but I do not understand. Please call your local ABB support to receive quick and good answers to your questions.

BR, Erik

Hi,

I did something similar, we had a conveyor with pockets. A machine would put pots into the pockets and the FlexPicker only puts the product into pockets with pots, as some pockets could be missing pots. We had a tag on each pocket with a fork sensor photocell looking at the tag. We then had a second photocell in series detecting the pot. The fork sensor gave us the accuracy for triggering the object into the place queue, but we only received trigs for pockets with pots. Does this sound similar? Hope this helps.

Regards,

Alistair.

Hello Alistair,

Yes it sound similar and Not.

For placing one product at the time this will work but in my case I take 4 product at the time, sometimes it could be a gab of 2 products and in this case I do not want to do a pick of the 2 first empty gabs.

With you solution it will trigger only if a product is present, with this solution you do not know if there are missing products. I want to trigger on each pockets and add the information of product present or not so that I can decide to drop the pocket or not.

It is a really special application but I believe there are solutions for my problem but for the moment I do not have one.

BR, Fabrice

Hello , I also have a similar problem on which it could be usefull to be able to set a new record every trigger.

I have an infeeder conveyor with objects.

The trigger is given only if I have an object inside the box.

But the lead could be in to different side ( straight and rotated of 180’ ).There is a signal that chect the side.

The robot behaviour is different in the 2 cases.

When I get the trigger , using a trap routine I can read the “side” signal and I want to link this info to the new itemtarget generated.

How can I “save” the side information on the itmtargets?

It shoud be useful at least to overwite the type record.

(the alternatine should be to create a parallel queue in rapid with the risk of mismatchin informations.