PIKE F505B camera communication troubles

2 ビュー (過去 30 日間)
Baltam
Baltam 2018 年 2 月 20 日
編集済み: Baltam 2018 年 2 月 20 日
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.

回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by