Feeder communication

Started by Greasemonkey, January 18, 2015, 03:58:39 PM

Previous topic - Next topic

Greasemonkey

Does any one know how the RV communicates with the feeders?
Im given to understand that the feeders have an RS232 driver.
I am assuming that the RV sends a serial command which includes 3 things which bank, which lane and index.
I am intrested in knowing because I am adding a single lane feeder to my RV.
I was going to operate in auto mode with a "break beam" setup, but I would much rather have the RV operate it.

Many thanks to any one that can help.

phonoplug

Hokay... here goes.

Comms to the feeders is one way. PC talks to the first feeder its connected to, which then resends the data it received on to the next feeder. This isn't ideal as it adds a lag (albeit very small) and means that if that feeder is turned off or fails it then blocks data to the feeders down stream.

From my notes, baud rate is 9600, N-8-1.

To request an index, PC sends 0x66, 0x02, 0x4y, 0x0z.

Where y defines the feeder bank address: bank A = 1, B = 2...  ...H = 8.

And z defines the lane address as follows:
0 = Lane 0
1 = Lane 8
2 = Lane 7
3 = Lane 6
4 = Lane 4
5 = Lane 3
6 = Lane 2
7 = Lane 1
8 = Lane 9
9 = Lane 5

Can't explain the somewhat random relationship of lane addresses - like many things with the RV you just accept that's how it is!

Any data received by the feeder while its in the middle of actioning an index is ignored (very helpful) which means it can then get out of sync and end up discarding the next index command too. Ever clicked the index button too quickly when loading tapes and wondered why you have to click it 3 times for it to index? Thats why.

Greasemonkey

Hello phonoplug,

Thank you for all the information just what I needed.
I got to have a bit of a go with it this evening but unfortunatley no luck yet.
Will try again tomorrow.

I am starting by trying to control a versatronics feeder with a computer and realterm.

Mike

Just looked at the output of the feedertest utility and it corresponds to what Phonoplug posted above
(feedertest.exe is in the RV install directory)

phonoplug

Don't know about Realterm, but ages ago when I used to use HyperTerminal I had loads of problems when trying to send or receive control characters. The 2nd and 4th bytes fall into that category. Might be worth trying another terminal program in case thats the issue. I use TeraTerm now. Don't think it suffers from these problems.

Greasemonkey

Hi guys,

Tonight was much more successful.
Last night I was having troubles remembering the correct dip settings for the different feeder positions so that didn't help.
My main problem was that I was using a serial extension lead which has an issue.
I hooked up with the right cable, confirmed my dip settings and hey presto.
So next thing is grabbing a micro to interface my fuji feeder.

Thanks again for all the info.

LeoBodnar

I had a look at the code of the original feeder driver and I can see the commands in the form of 0x66 0x02 0x4y 0xkk,
where kk is a lane number plus 10 (i.e. 10 to 19) decimal.

It seems to have much longer delay before withdrawing the pin after tape advance.

Is this supposed to help not disturbing the tape until after pickup head took the component off?

Leo

Quote from: phonoplug on January 18, 2015, 11:41:47 PMHokay... here goes.

Comms to the feeders is one way. PC talks to the first feeder its connected to, which then resends the data it received on to the next feeder. This isn't ideal as it adds a lag (albeit very small) and means that if that feeder is turned off or fails it then blocks data to the feeders down stream.

From my notes, baud rate is 9600, N-8-1.

To request an index, PC sends 0x66, 0x02, 0x4y, 0x0z.

Where y defines the feeder bank address: bank A = 1, B = 2...  ...H = 8.

And z defines the lane address as follows:
0 = Lane 0
1 = Lane 8
2 = Lane 7
3 = Lane 6
4 = Lane 4
5 = Lane 3
6 = Lane 2
7 = Lane 1
8 = Lane 9
9 = Lane 5

Can't explain the somewhat random relationship of lane addresses - like many things with the RV you just accept that's how it is!

Any data received by the feeder while its in the middle of actioning an index is ignored (very helpful) which means it can then get out of sync and end up discarding the next index command too. Ever clicked the index button too quickly when loading tapes and wondered why you have to click it 3 times for it to index? Thats why.