Problem Connecting to a GigEVision Camera

2 views (last 30 days)
Ali Irturk
Ali Irturk on 5 Sep 2012
Commented: 文 沈 on 30 Apr 2022
Dear Members;
I am trying to connect to my GigEVision camera using the Image Acquisition Toolbox version 4.3. (Matlab V7.14 - R2012a & Image Processing Toolbox V8.0).
I have followed the listed steps in http://www.mathworks.com/help/toolbox/imaq/bsm6i5f.html.
My camera is custom designed, and I can connect to my camera using my own GUI and other GigEVision Viewers.
However Image acquisition toolbox cannot find any connected gigeVision camera to my PC. I use two ethernet cards, one just for this communication, and it is a Gigabit ethernet. I am making sure that the other viewers are closed before trying to connect to the camera with the matlab.
Here is the gige adaptor part from imaqsupport.txt.
----------GIGE ADAPTOR----------
Adaptor Name: gige
Adaptor DLL: C:\Program Files\MATLAB\R2012a\toolbox\imaq\imaqadaptors\win64\mwgigeimaq.dll
IMAQHWINFO:
AdaptorDllName: [1x77 char]
AdaptorDllVersion: '4.3 (R2012a)'
AdaptorName: 'gige'
DeviceIDs: {1x0 cell}
DeviceInfo: [1x0 struct]
Available Devices:
-----------
Though when I run the function imaqsupport, I can see that there is communication in wireshark. I get this communication only if I call this function right after Matlab initializes. If I call it again, I don't get it.
Here is the communication:
3 channel data turn messages broadcasted with pong replies from the camera
write request 0xa00 = 0x02 to get the control channel control
write req to 0x938 = 0x328 to set the heartbeat timeout
read req to 0x934, gets 0x01f which is the setting for GCVP capability
read req to 0x200 and 0x400 to get the address of the xml file
there are a lot of reads to get the xml file, I calculated and matlab completely reads it.
after completing the read of the xml:
read request to 0x0a00 and gets the answer 0x02 and knows that matlab still has the privilege.
read request to 0x0904 to check the number of available streaming channels - gets the answer 0x001
and all of a sudden tries to read the reg 0xa018 which is user defined, which I believe shouldn't happen
then write req to 0xa00 = 0x00 to release the control of the control channel.
Any recommendation is appreciated! Thanks,

Answers (1)

Walter Roberson
Walter Roberson on 5 Sep 2012
There are no available devices because the device id information returned by the DLL is empty.
  2 Comments
Ali Irturk
Ali Irturk on 5 Sep 2012
Edited: Walter Roberson on 5 Sep 2012
Hello Walter;
How did you understand that the device id is empty? Just by looking at the imaqsupport.txt, the returned ID is empty. What if there was another problem in the communication, and Matlab just don't do the right thing to get it?
Device ID is Optional in the standard, not one of the mandatory features. Is Matlab based their discovery process on an optional feature? And is there no way to connect if this optional feature is not available?
Regards,
文 沈
文 沈 on 30 Apr 2022
请问你怎么处理了呢?

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!