SFNC —— 采集控制(四)(中)

简介: SFNC —— 采集控制(四)

SFNC —— 采集控制(四)(上):https://developer.aliyun.com/article/1598541

5. 采集控制功能(Acquisition Control features)

    本节详细描述了所有与采集相关的特性。

(1)采集控制(AcquisitionControl)

  用于采集和触发控制特性的类别。

(2)采集模式(AcquisitionMode)

    设置设备的采集模式。它主要定义了在采集过程中要捕获的帧数以及采集停止的方式。可能的值是:

  • 单帧(SingleFrame):捕获一帧。
  • 多帧(MultiFrame):捕获由采集帧计数(AcquisitionFrameCount)所指定的帧数。
  • 连续(Continuous):连续捕获帧,直到使用采集停止(AcquisitionStop)命令停止。

  这一特性对于大多数传输层的发射机和收发器通常是必须具备的。

    <Enumeration NameSpace="Standard" Name="AcquisitionMode">
      <ToolTip>Sets the acquisition mode of the device.</ToolTip>
      <Description>Sets the acquisition mode of the device.</Description>
      <DisplayName>Acquisition Mode</DisplayName>
      <Visibility>Expert</Visibility>
      <Streamable>Yes</Streamable>
      <EnumEntry NameSpace="Standard" Name="Continuous">
        <pIsImplemented>AcqModeContinuousInq_Bit</pIsImplemented>
        <Value>2</Value>
      </EnumEntry>
      <EnumEntry NameSpace="Standard" Name="SingleFrame">
        <pIsImplemented>AcqModeSingleFrameInq_Bit</pIsImplemented>
        <Value>0</Value>
      </EnumEntry>
      <EnumEntry NameSpace="Standard" Name="MultiFrame">
        <pIsImplemented>AcqModeMultiFrameInq_Bit</pIsImplemented>
        <Value>1</Value>
      </EnumEntry>
      <pValue>AcquisitionMode_Reg</pValue>
    </Enumeration>

(3)开始采集(AcquisitionStart)

   开始采集该设备。捕获的帧数由采集模式(AcquisitionMode)指定。


   采集可能受到各种触发器的制约(参见触发器(Trigger)…特性)。在与采集相关的触发器生效之前,必须向设备发送采集启动命令。


   请注意,除非 AcquisitionArm 自上次特性更改后执行,否则在 AcquisitionStart 之前必须验证所有当前特性的一致性。除非设备中的特性被更改,否则不会在随后的采集中重复此验证。


   如果 AcquisitionStart 功能当前不可写(锁定),应用程序不能启动采集,并且必须避免使用该特性,直到功能再次成为可写。


   这一特性对于大多数传输层的发射机和收发器通常是必须具备的。

    <Command NameSpace="Standard" Name="AcquisitionStart">
      <ToolTip>Starts the Acquisition of the device.</ToolTip>
      <Description>Starts the Acquisition of the device.</Description>
      <DisplayName>Acquisition Start</DisplayName>
      <Visibility>Expert</Visibility>
      <pIsLocked>NOT_TLParamsLocked</pIsLocked>
      <ImposedAccessMode>WO</ImposedAccessMode>
      <pValue>AcquisitionStart_Reg</pValue>
      <CommandValue>1</CommandValue>
    </Command>
    <MaskedIntReg NameSpace="Custom" Name="AcquisitionStart_Reg">
      <pAddress>AcquisitionStart_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <Bit>0</Bit>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </MaskedIntReg>

(4)采集停止(AcquisitionStop)

    在当前帧的末端停止设备的采集。它主要用于连续采集模式,但可用于任何采集模式。

  如果相机正在等待触发器,待定的帧将被取消。如果没有正在进行的采集,则会忽略该命令。

    这一特性对于大多数传输层的发射机和收发器通常是必须具备的。

    <Command NameSpace="Custom" Name="AcquisitionStop">
      <ToolTip>Stops the acquisition of the device at the end of the current frame.</ToolTip>
      <Description>Stops the acquisition of the device at the end of the current frame.</Description>
      <DisplayName>Acquisition Stop</DisplayName>
      <Visibility>Expert</Visibility>
      <ImposedAccessMode>WO</ImposedAccessMode>
      <pValue>AcquisitionStop_Reg</pValue>
      <CommandValue>0</CommandValue>
    </Command>
    <MaskedIntReg NameSpace="Custom" Name="AcquisitionStop_Reg">
      <pAddress>AcquisitionStop_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <Bit>0</Bit>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </MaskedIntReg>

(5)采集停止模式(AcquisitionStopMode)

Name(名称) AcquisitionStopMode
Category(分类) AcquisitionControl
Level(级别) Optional
Interface(接口) IEnum
Access(访问) Read/Write
Unit (单位) -
Visibility(可见性) Expert
Values Complete
Immediate(立即)
ImmediateWithPadding

   控制采集停止(AcquisitionStop)命令和采集如何停止使用触发器(例如采集活动(AcquisitionActive)、帧突发活动(FrameBurstActive)、帧活动(FrameActive)或帧结束(FrameEnd)触发器),结束正在进行的帧。该特性主要用于线性扫描(Linescan)设备,其中一帧中的每一行都是按顺序采集的。


完成(Complete):在帧期间停止时,设备将继续采集行,直到达到指定的高度,以提供完整的默认大小帧。请注意,如果每行都从外部源触发,并且此行触发停止,则不交付帧,并且需要采集中止。

立即(Immediate):即使在一帧期间,采集也会立即停止,只有在当时采集的线路才会被交付。

立即填充(ImmediateWithPadding):即使在一帧内,采集也会立即停止,但帧的其余部分将被数据填充起来,以提供一个完整的默认高度帧。注意:接收方如何知道哪些数据是有效的,这超出了此特性的范围,例如,它可以使用块信息来完成。

(6)采集中止(AcquisitionAbort)

(7)AcquisitionArm

(8)采集帧计数(AcquisitionFrameCount)

    在多帧采集模式下要采集的帧数。

    <Integer NameSpace="Standard" Name="AcquisitionFrameCount">
      <ToolTip>Number of frames to acquire in multi-frame acquisition mode.</ToolTip>
      <Description>Number of frames to acquire in multi-frame acquisition mode.</Description>
      <DisplayName>Acquisition Frame Count</DisplayName>
      <Visibility>Expert</Visibility>
      <pIsImplemented>AcqModeMultiFrameInq_Bit</pIsImplemented>
      <pIsAvailable>AcquisitionFrameCountAvailableInq_Int</pIsAvailable>
      <pIsLocked>TLParamsLocked</pIsLocked>
      <Streamable>Yes</Streamable>
      <pValue>AcquisitionFrameCount_Reg</pValue>
      <pMin>AcqFrameCountMinInq_Reg</pMin>
      <pMax>AcqFrameCountMaxInq_Reg</pMax>
      <Inc>1</Inc>
    </Integer>
    <IntReg NameSpace="Custom" Name="AcquisitionFrameCount_Reg">
      <pAddress>AcquisitionFrameCount_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <pInvalidator>UserSetLoad_Reg</pInvalidator>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>
    <IntReg NameSpace="Custom" Name="AcqFrameCountMinInq_Reg">
      <pAddress>AcqFrameCountMinInq_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>
    <IntReg NameSpace="Custom" Name="AcqFrameCountMaxInq_Reg">
      <pAddress>AcqFrameCountMaxInq_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>

(9)AcquisitionBurstFrameCount

    为每个 FrameBurstStart 触发器要采集的帧数。

    只有在启用 FrameBurstStart 触发器并禁用 FrameBurstEnd 触发器时,才使用此功能。请注意,如果采集模式为多帧,则捕获的帧总数也受采集帧数的限制,如果采集模式为单帧,则忽略。

    <Integer NameSpace="Standard" Name="AcquisitionBurstFrameCount">
      <ToolTip>Number of frames to acquire for each FrameBurstStart trigger.</ToolTip>
      <Description>Number of frames to acquire for each FrameBurstStart trigger.</Description>
      <DisplayName>Acquisition Burst Frame Count</DisplayName>
      <Visibility>Expert</Visibility>
      <pIsAvailable>AcquisitionBurstFrameCountAvailableInq_Int</pIsAvailable>
      <pIsLocked>TLParamsLocked</pIsLocked>
      <Streamable>Yes</Streamable>
      <pValue>AcquisitionBurstFrameCount_Reg</pValue>
      <pMin>AcqBurstFrameCountMinInq_Reg</pMin>
      <pMax>AcqBurstFrameCountMaxInq_Reg</pMax>
      <Inc>1</Inc>
    </Integer>
    <IntReg NameSpace="Custom" Name="AcquisitionBurstFrameCount_Reg">
      <pAddress>AcquisitionBurstFrameCount_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <pInvalidator>UserSetLoad_Reg</pInvalidator>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>
    <IntReg NameSpace="Custom" Name="AcqBurstFrameCountMinInq_Reg">
      <pAddress>AcqBurstFrameCountMinInq_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>
    <IntReg NameSpace="Custom" Name="AcqBurstFrameCountMaxInq_Reg">
      <pAddress>AcqBurstFrameCountMaxInq_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>

(10)AcquisitionFrameRate(采集帧速率)

    控制捕获帧时的采集速率(以赫兹为单位)。

    帧触发器的触发模式(TriggerMode)必须关闭。

11)AcquisitionFrameRateEnable(采集帧速率启用)

    控制采集帧速率特性是否可写并用于控制采集速率。否则,采集率是由其他功能的组合,如曝光时间等。

    <Boolean Name="AcquisitionFrameRateEnable">
      <ToolTip>Enables manual control of the camera frame rate.</ToolTip>
      <Description>Enables manual control of the camera frame rate.</Description>
      <DisplayName>Acquisition Frame Rate Control Enable</DisplayName>
      <Visibility>Beginner</Visibility>
      <pIsImplemented>AcqFrameRateEnInq_Bit</pIsImplemented>
      <Streamable>Yes</Streamable>
      <pValue>AcqFrameRateEnCtrlVal_Reg</pValue>
      <OnValue>1</OnValue>
      <OffValue>0</OffValue>
    </Boolean>

(12)AcquisitionLineRate(采集线路速率)

Name(名称) AcquisitionLineRate
Category(分类) AcquisitionControl
Level(级别) Recommended
Interface(接口) IFloat
Access(访问) Read/Write
Unit (单位) Hz
Visibility(可见性) Beginner
Values Device-specific

    控制捕获一帧中的线的速率(单位为赫兹)。

    线路触发器(Line trigger)的触发模式(TriggerMode)必须已关闭。这通常只适用于线扫描相机。

(13)AcquisitionLineRateEnable(采集线路速率启用)


    控制采集线速率特性是否可写并用于控制采集速率。否则,采集率是由其他功能的组合,如曝光时间等。

(14)AcquisitionStatusSelector(采集状态选择器)

Name(名称) AcquisitionStatusSelector
Category(分类) AcquisitionControl
Level(级别) Recommended
Interface(接口) IEnumeration
Access(访问) Read/Write
Unit (单位) -
Visibility(可见性) Expert

image.png

  选择使用采集状态来读取的内部采集信号。具体情况见图 5-1 和图 5-3 。可能的值包括:

  • 采集触发器等待(AcquisitionTriggerWait):设备目前正在等待捕获一个或多个帧的触发器。
  • 采集活动(AcquisitionActive ):设备目前正在采集一个或多个帧。
  • 采集传输(AcquisitionTransfer):设备目前正在传输一个或多个帧的采集。
  • 帧触发器等待(FrameTriggerWait):设备当前正在等待帧启动触发器。
  • 帧活动(FrameActive):设备当前正在捕获一个帧。
  • 曝光活动(ExposureActive):设备正在曝光一个帧。
  • 帧传输(不用):请参见传输状态。

(15)AcquisitionStatus(采集状态)

    读取使用 AcquisitionStatusSelector 所选择的内部采集信号的状态。

6. 触发控制功能(Trigger Control features)

    触发器控制部分描述了使用触发器(s)与图像采集相关的所有特征。

   可以使用一个或多个触发器(Triggers)来控制采集(Acquisition)(图 5-1) 、突发帧爆发(Burst of Frames)(图 5-2) 、单个帧(图 5-3 ) 或设备每一行帧(Line of a Frame)(图5-4) 的开始。触发器还可以用于控制在帧开始时的曝光持续时间。


   TriggerSelector 用于选择要配置的触发器类型。标准触发类型是:AcquisitionStart, AcquisitionEnd, AcquisitionActive, FrameBurstStart, FrameBurstEnd, FrameBurstActive, FrameStart, FrameEnd, FrameActive, LineStart, ExposureStart, ExposureEnd 和 ExposureActive 。


   TriggerMode 激活/停用触发器操作。它可以是 On 或 Off 。


   TriggerSource 指定要用于选定触发器的物理输入线或内部信号。标准触发源是:Software, Line0, Line1, …, UserOutput0, UserOutput1, …, Counter0Start, Counter0End, …, Timer0Start, Timer0End , …, Encoder0, Encoder1, …, LogicBlock0, LogicBlock1, …, Action0, Action1, … , LinkTrigger0, LinkTrigger1, …。


   通过软件触发源,TriggerSoftware 命令可以被应用程序用来生成内部触发信号。


   对于硬件触发器源,TriggerActivation 指定了触发器的激活模式。这可以是 RisingEdge, FallingEdge, AnyEdge, LevelHigh 或 LevelLow 。


   TriggerOverlap 指定允许与前一帧/行重叠的触发器重叠的类型。这定义何时为新帧/行接受(或锁定)有效触发器。这可以关闭以使没有重叠,读出在曝光周期后立即接受触发器,或前帧/前行接受(锁存)在前一帧/行开始后的任何时间发生的触发器。如果基于触发器重叠控制和当前传感器状态丢弃一个触发器,则它将成为一个丢失的触发器。这表示一种过度触发的情况,通常被认为是一个可以连接到一个事件的错误。(TriggerOverlap specifies the type of trigger overlap permitted with the previous frame/ line. This defines when a valid trigger will be accepted (or latched) for a new frame/line. This can be Off for no overlap, ReadOut to accept a trigger immediately after the exposure period or PreviousFrame/PreviousLine to accept (latch) a trigger that happened at any time after the start of the previous frame/Line. If a trigger is discarded based on the trigger overlap control and the current sensor state, it becomes a missed trigger. This represents an over triggering situation and is typically considered as an error which can be connected to an Event.)


   TriggerDelay 指定在触发信号接收后有效激活前应用的延迟。


   TriggerDivider 和 TriggerMultiplier 用于控制被接受的触发器的比例。


   注意,在 Dividers, Multipliers, Delay,… 之后,一个触发器被认为是有效的。


   例如,为了设置硬件触发采集,将在来自物理 Line 1 的信号的上升边缘开始捕获每个帧,可以使用以下伪代码:

  Camera.TriggerSelector = FrameStart;
  Camera.TriggerMode = On;
  Camera.TriggerActivation = RisingEdge;
  Camera.TriggerSource = Line1;

  下图显示了 SFNC 中触发器生成的函数模型。

    它显示了在外部线路上接收的输入信号可以通过成为有效触发器(例如:FrameTrigger)。


       图 5-16 :触发器生成函数模型。


输入信号(Input Signal)表示在外部线路上接收到的电信号或内部信号。

线路I/O控制(Line I/O Control)表示如图 6-1 所示的线路控制块。

触发模式/激活(Trigger Mode/Activation)表示触发器模式和触发器激活功能的效果。

触发除法器/乘法器(Trigger Divider/Multiplier)表示触发除法器和触发乘法器特性的效果。

触发延迟(Trigger Delay)表示触发延迟特性的效果

触发重叠控制(Trigger Overlap Control)表示触发器重叠特性的效果。

有效触发器(Valid Trigger)表示传入信号成为有效触发器。

错过触发器(Missed Trigger)表示传入信号没有成为有效的触发器。

(1)TriggerSelector(触发器选择器)

    选择要配置的触发器的类型。具体情况见图 5-1 和图 5-3 。可能的值包括:

AcquisitionStart:根据采集模式(AcquisitionMode)选择启动一个或多个帧的触发器。

AcquisitionEnd:根据采集模式(AcquisitionMode)选择结束采集一个或多个帧的触发器。

AcquisitionActive:选择一个触发器,控制一个或多个帧的采集持续时间。

当触发信号变为活动时,采集被激活,当它返回到非活动状态时,采集被终止。

FrameStart:选择一个触发器来开始捕获一个帧。

FrameEnd:选择一个触发器来结束对一帧的捕获(主要用于线扫描模式)。

FrameActive:选择一个触发器来控制一帧的持续时间(主要用于线扫描模式)。

FrameBurstStart:选择一个触发器,来开始捕获采集中的帧突发。当 FrameBurstEnd 触发器激活时,AcquisitionBurstFrameCount 控制每个突发的长度 。如果采集模式是多帧的,则捕获的帧数总数也受到采集帧数的制约。

FrameBurstEnd:选择一个触发器,来结束捕获采集中的帧突发。

FrameBurstActive:选择一个触发器来控制采集中帧突发捕获的持续时间。

LineStart:选择一个触发器,开始捕获一个帧中的一行(主要用于线扫描模式)。

ExposureStart:选择一个触发器来控制一帧(或线)的曝光开始。

ExposureEnd:选择一个触发器来控制一个帧(或线)的曝光结束。

ExposureActive:选择一个触发器来控制一帧(或线)的曝光时间。

MultiSlopeExposureLimit1:选择个触发器来控制多坡曝光的第一个持续时间。根据预定义的多坡度设置继续曝光。

(2)TriggerMode(触发模式)

    控制所选的触发器是否处于活动状态。可能的值是:

  • Off:禁用所选的触发器。
  • 开启:启用所选的触发器。
    <Enumeration Name="TriggerMode" NameSpace="Standard">
      <!-- Recommended element -->
      <ToolTip>Controls if the selected trigger is active.</ToolTip>
      <Description>Controls if the selected trigger is active.</Description>
      <DisplayName>Trigger Mode</DisplayName>
      <Visibility>Beginner</Visibility>
      <ImposedAccessMode>RW</ImposedAccessMode>
      <EnumEntry Name="Off" NameSpace="Standard">
        <ToolTip>Disables the selected trigger.</ToolTip>
        <Description>Disables the selected trigger.</Description>
        <DisplayName>Off</DisplayName>
        <Value>0</Value>
      </EnumEntry>
      <EnumEntry Name="On" NameSpace="Standard">
        <ToolTip>Enable the selected trigger.</ToolTip>
        <Description>Enable the selected trigger.</Description>
        <DisplayName>On</DisplayName>
        <Value>1</Value>
      </EnumEntry>
      <Value>0</Value>
    </Enumeration>


SFNC —— 采集控制(四)(下):https://developer.aliyun.com/article/1598548

目录
相关文章
|
传感器
SFNC —— 采集控制(四)(上)
SFNC —— 采集控制(四)
316 3
|
算法 索引
SFNC —— 采集控制(四)(下)
SFNC —— 采集控制(四)
265 2
|
XML 传感器 测试技术
GIGE 协议摘录 —— 照相机的标准特征列表(五)
GIGE 协议摘录 —— 照相机的标准特征列表(五)
281 2
|
XML API 数据格式
GenICam标准(一)
GenICam标准(一)
641 1
|
XML 存储 网络安全
GIGE 协议摘录 —— GVCP 协议(二)(下)
GIGE 协议摘录 —— GVCP 协议(二)
852 3
GIGE 协议摘录 —— 引导寄存器(四)(下)
GIGE 协议摘录 —— 引导寄存器(四)
321 1
|
传感器 编解码 索引
SFNC —— 图像格式控制(三)(上)
SFNC —— 图像格式控制(三)
284 3
|
编解码 算法 BI
SFNC —— 图像格式控制(三)(下)
SFNC —— 图像格式控制(三)
494 3
|
XML 测试技术 API
SFNC —— 标准特征命名约定(一)
SFNC —— 标准特征命名约定(一)
233 3
|
监控
GIGE 协议摘录 —— GVCP 协议(二)(上)
GIGE 协议摘录 —— GVCP 协议(二)
932 2

热门文章

最新文章