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
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;
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 ?
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.
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.
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 ?
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.
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.
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.