PIKE F505B camera communication troubles

2 vues (au cours des 30 derniers jours)
Baltam
Baltam le 20 Fév 2018
Modifié(e) : Baltam le 20 Fév 2018
In Matlab 2017b I am having some troubles using the Pike F505B camera of Allied Vision Technologies. I did not seem to have these troubles on a 32 bit computer with an older version of Matlab (I think 2013 or 2015, but I do not have access to this computer anymore so I cannot check) In 2017b, I get the following warnings after using this code:
vid = videoinput('gentl', 1, 'Mono8');
src = getselectedsource(vid);
vid.FramesPerTrigger = 1;
preview(vid);
Warning: AcquisitionFrameRate property adjusted from 13.008130081300813 to 12.987012987012987 by the camera.
Warning: The DeviceAccessRegisterAddress property could not be set. Check the current value before continuing your work.
  1. If I change the acquisition frame rate to for example 6 Matlab changes it back to about 13 although the frame rate limits are 0.13-13.01.
  2. The second warning seems to be due to some format type mismatch according to the support team of Allied Vision Technologies, they responded with:
"I just noticed that the Register-Address "DeviceAccessRegisterAddress" is represented as a signed 32-element (-2147483647 2147483647) in Matlab. But the "DeviceAccessRegisterAddress" is a 32bit unsigned-Feature. Therefore an address like 4042262560(gain) or 4043310528 (shutter mode) is not accessible in Matlab."
tf = isa((src.DeviceAccessRegisterAddress),'int32')
tf =
logical
1
Matlab does indeed use a signed 32-element for the DeviceAccessRegisterAddress and this number is limited to [2147483647 2147483647].
propinfo(src,'DeviceAccessRegisterAddress')
ans =
struct with fields:
Type: 'integer'
Constraint: 'bounded'
ConstraintValue: [2147483647 2147483647]
DefaultValue: 2147483647
ReadOnly: 'notCurrently'
DeviceSpecific: 1
Accessible: 1
I have an xml file containing information about the camera. It says the DeviceAcessRegisterAddress is limited to [4026532864 4076863484] which are totally different numbers.
<DisplayName>Device Access Register Address</DisplayName>
<Visibility>Guru</Visibility>
<ImposedAccessMode>RW</ImposedAccessMode>
<Value>4042293260</Value>
<!-- 0xF0F0800C -->
<Min>4026532864</Min>
<!-- 0xF0000000 -->
<Max>4076863484</Max>
<!-- 0xF2FFFFFC -->
<Inc>4</Inc>
<Representation>HexNumber</Representation>
<pSelected>DeviceAccessRegisterValue</pSelected>
</Integer>
<IntReg Name="DeviceAccessRegisterValue" NameSpace="Custom">
<ToolTip>Value of a register on the device.</ToolTip>
<Description>Value of a register on the device. AVT feature.</Description>
<DisplayName>Device Access Register Value</DisplayName>
<Visibility>Guru</Visibility>
<ImposedAccessMode>RW</ImposedAccessMode>
<pAddress>DeviceAccessRegisterAddress</pAddress>
<Length>4</Length>
<AccessMode>RW</AccessMode>
<pPort>Device</pPort>
<Cachable>WriteAround</Cachable>
<Sign>Unsigned</Sign>
<Endianess>BigEndian</Endianess>
<Representation>HexNumber</Representation>
</IntReg>
I'm quite clueless here. Somewhere in there it says Sign>Unsigned</Sign, does this make it an unsigned integer?
Is there anyway for me to make Matlab communicate correctly with the cameras? I can make images but taking a snapshot seems to be slowed down.

Réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by