系列文章目录
SFNC —— 标准特征命名约定(一)
文章目录
- 系列文章目录
- 1、介绍
- 1.1 约定(Conventions)
- 功能名称和接口(Feature Name and Interface)
- 功能类别(Feature Category)
- 功能级别(Feature Level)
- 特征可见性(Feature Visibility)
- 选择器(Selector)
- 1.2 标准单位(Standard Units)
- 1.3 缩略语(Acronyms)
- 1.4 标准定义(Standard Definitions)
- 1.5 设备通信模型(Device Communication Model)
- 1.6 设备采集模型(Device Acquisition Model)
- 2、特性摘要
- 2.1 设备控制(Device Control)
- 2.2 图像格式控制(Image Format Control)
- 2.3 采集控制(Acquisition Control)
- 2.4 模拟控制(Analog Control)
- 2.5 LUT控制(LUT Control)
- 2.6 颜色转换控制(Color Transformation Control)
- 2.7 数字输入输出控制(Digital I/O Control)
- 2.8 计数器和计时器控制(Counter and Timer Control)
- 2.9 编码器控制(Encoder Control)
- 2.10 逻辑块控制(Logic Block Control)
- 2.11 软件信号控制(Software Signal Control)
- 2.12 动作控制(Action Control)
- 2.13 事件控制(Event Control)
- 2.14 用户设置控制(User Set Control)
- 2.15 排序器控制(Sequencer Control)
- 2.16 文件访问控制(File Access Control)
- 2.17 源控制(Source Control)
- 2.18 传输控制(Transfer Control)
- 2.19 扫描 3D 控制(Scan 3D Control)
- 2.20 灯光控制(Light Control)
- 2.21 光学控制(Optic Control)
- 2.22 块数据控制(Chunk Data Control)
- 2.23 测试控制(Test Control)
- 2.24 GenICam 控制(GenICam Control)
- 2.25 传输层控制(Transport Layer Control)
1、介绍
本文档包含了 GenICam 的 “标准特性命名约定(SFNC)”,该协议为基于 GenICam 标准的设备提供了标准特性命名约定和标准行为模型。所有 GenICam 标准文档的最新发布版本都可以在 EMVA 网站 上的 GenICam 下载页面上找到(特别请参见 “SFNC(标准特性命名约定)” 一节)。
仅使用 GenApi 就足以使相机或设备的所有功能都可以通过 GenICam API 进行访问。然而,如果用户想要为整类相机或设备编写通用和便携式软件,并能够互操作,那么仅凭 GenApi 是不够的,软件和设备供应商必须就标准特性的通用命名约定达成一致。这是 GenICam 的 “标准特性命名约定(SFNC)” 的角色,它将提供一组共同的特性、它们的名称,并为它们定义一个标准行为。
要符合 GenICam 标准,产品必须提供 GenICam XML 文件。
- GenICamXML 文件必须与最新的 GenApi 和模式兼容。
- GenICamXML 文件必须包含它所描述的产品的所有公共特性。
- GenICamXML 特性必须尽可能遵循标准特性命名约定。
这些要求确保用户可以为其设备依赖完整、一致和便携的功能集,并且这些功能总是以标准的方式访问。
1.1 约定(Conventions)
功能名称和接口(Feature Name and Interface)
根据 GenICam 标准,一个设备的所有公共特性都必须包含在 GenICam XML 文件中,并且如果存在这些特性,则必须使用 SFNC 名称和接口类型。可以包括其他没有映射到现有 SNFC 特性的供应商特定或专用特性,但必须位于 GenICam XML 中的供应商特定的名称空间中,并且可能使用供应商特定的名称。
此文档列出了必须使用的每个特性、名称和接口类型。
功能类别(Feature Category)
对于 GenICam 标准,每个特性都应该包含在一个 “类别” 中。类别元素定义了特征将位于哪一组特征中。
类别不会影响特性的功能,但 GUI 在显示功能时对功能进行分组。其目的主要是为了确保 GUI 能够以更有组织的方式呈现特性。
本文档列出了每个特性,建议使用的类别。
功能级别(Feature Level)
在本文档中,特性根据以下需求级别进行标记:
- M:强制性(Mandatory)—— 必须实现,以实现符合 GenICam 标准。
- R:推荐(Recommended)—— 此特性为用例增加了重要方面,如果使用,必须尊重命名约定。
- O:可选(Optional)—— 此功能不那么重要。然而,如果使用它,就必须考虑并必须尊重命名约定。
特征可见性(Feature Visibility)
根据 GenICam 的标准,每个特征都可以被分配一个 “可见性”。可见性定义了应该访问该功能的用户类型。可能的值是:初学者(Beginner)、专家(Expert)、大师(Guru) 和 隐形人(Invisible)。最后一个要求特性可以从 API 中访问,但在 GUI 中不可见。
分配推荐的可见性:
- B: 初学者(Beginner) —— 所有特性应该通过 GUI 和 API 对所有用户都可见。这是 GenICam XML 文件中的默认可见性,如果为特性省略了可见性元素,将使用。具有 “初学者” 可见性的特性的数量应该限制在设备的所有基本特性上,因此 GUI 显示器组织良好,易于使用。
- E:专家(Expert) —— 需要更深入地了解相机功能的功能。这是相机中所有高级功能的首选可见性级别。
- G:Guru(Guru) —— 高级功能,如果对相机当前的操作模式设置错误,可能会使相机进入一种无法正常工作的状态。
- I:隐形(Invisible)—— 应该为GUI用户保持隐藏的特性,但仍然可以通过API使用。
本文档列出了每个特性,一个应该使用的可见性。
选择器(Selector)
选择器用于索引在存在多个特征实例的情况下(例如,彩色相机的红/绿/蓝组件的每个单独通道的模拟增益)。
选择器是一个单独的特性,通常是一个整数枚举或一个整数。选择器必须仅用于选择后续更改的目标特性。不允许根据选择器值的更改而改变设备的行为。
1.2 标准单位(Standard Units)
以下缩写被用作本文档中描述的特性的标准单位。请注意,所有单元都使用纯 ASCII 字符。
缩写 | 含义 |
---|---|
ns | 纳秒(nanoseconds) |
us | 一百万分之一秒,微秒( microseconds ) |
ms | 毫秒 ( milliseconds ) |
m | 米(meter) |
mm | 毫米(millimeter) |
in | 英寸(相当于 2.54 厘米,一英尺有12英寸)(inch) |
s | 秒(seconds) |
B | 字节( Bytes ) |
Bps | 每秒字节数(Bytes per second) |
MBps | 百万字节每秒(Mega Bytes per second) |
Mbps | 每秒百万位(Mega bits per second) |
Fps | (电视图像的)每秒帧数 (Frames per second) |
dB | 分贝(decibels) |
C | 摄氏度(Celsius) |
Hz | 赫兹(Hertz) |
% | 百分比(Percent) |
dpt | 屈光度(diopter) |
1.3 缩略语(Acronyms)
在本文档中使用了以下定义。
缩写 | 含义 |
---|---|
ADC | Analog to Digital Converter( 模数转换器) |
AGC | Automatic Gain Control( 自动增益调整,自动增益控制) |
AIA | Automated Imaging Association(自动成像协会) |
CRT | Cathode Ray Tube( 电子射线管) |
DC | Direct Current(n. 直流电) |
DHCP | Dynamic Host Configuration Protocol( 动态主机配置协议) |
EMVA | European Machine Vision Association(欧洲机器视觉协会) |
ID | Identifier(标识符) |
I/O | Input/Output(adj. 输入输出) |
IP | Internet Protocol( 互联网协议) |
LLA | Link-Local Address(链接本地地址) |
LUT | Look-Up Table( 查表,查表法) |
M | Mandatory(adj. 强制的;命令的;受委托的) |
O | Optional(adj. 可选择的,非强制的) |
PTP | Precision Time Protocol(精确时间协议) |
R | Recommended or Read (depends on the context)(推荐或阅读(取决于上下文)) |
ROI | Region Of Interest( 感兴趣区) |
URL | Uniform Resource Locator( 统一资源定位系统) |
W | Write(写) |
XML | eXtensible Markup Language( 可延伸[可扩充]标记语言) |
1.4 标准定义(Standard Definitions)
本节定义了本文档中使用的术语。下面的设备通信模型部分说明了它们之间的相互关系(参见图 1-1 )。
名称 | 含义 |
---|---|
Entity | An Entity is an end point located at either side (Host or Device) of a Communication. 实体是位于通信两侧(主机或设备)的端点。 |
Host System | The Host System is the Entity which takes control over a Device. A Host System can be the sink or the source for the data being streamed. Under GenICam the Host System must read and use the GenICam compliant XML file of the Device to control it. 主机系统是控制设备的实体。主机系统可以发送或接收流数据。 在 GenICam 下,主机系统必须读取并使用设备的兼容 GenICam 的 XML 文件来控制它。 |
Device | The Device is an Entity which is controlled by a Host System. A Device can be the source or the sink for streaming data. It can be remote (outside the Host System) or local (in the Host System). Under GenICam the Device must provide a GenICam compliant XML file and a register-based control access. 该设备是一个由主机系统控制的实体。设备可以发送或接收流数据。它可以是远程(在主机系统外部),也可以是本地(在主机系统中)。 在 GenICam 下,设备必须提供一个与 GenICam 兼容的 XML 文件和一个基于寄存器的控制访问。 |
Link | A Link is the virtual binding between a Host System and a Device to establish a Communication. A Link is logical and may use one or more physical Connections. 链路是在主机系统和设备之间的虚拟绑定来建立通信。一个链接是合乎逻辑的,可以使用一个或多个物理连接。 |
Connection | A Connection is the physical binding between a Host System and a Device. 连接是主机系统和设备之间的物理绑定。 |
Interface | A virtual end point of the Link between a Device and a Host System. 设备和主机系统之间的链接的虚拟端点。 |
Adapter | A physical entity located in the Host System that has one or many Interfaces. |
Communication | A Communication is an exchange of information between two Entities using a Link. |
Channel | A logical point-to-point Communication over a Link. There may be multiple Channels on a single Link. |
Transport Layer | The layer of Communication responsible to transport information between Entities. |
Transmitter | An Entity which acts as the source for streaming data. This may apply to a Host System or a Device. |
Receiver | An Entity which acts as the sink for streaming data. This may apply to a Host System or a Device. |
Transceiver | An Entity which can receive and transmit streaming data. This may apply to a Host System or a Device. |
Peripheral | An Entity which neither acts as a source nor as a sink for streaming data but can be controlled. |
Stream | A flow of data that comes from a source and goes to a sink. A data Stream can be composed of images or chunk of data. |
Stream Channel | A Communication Channel used to transmit a data Stream from a Transmitter (or Transceiver) to a Receiver (or Transceiver). |
Event Channel | A Communication Channel used by the Device to notify the Host System asynchronously of Events. The Host System could also use a Event Channel to communicate events to the Device. |
Control Channel | A Communication Channel used to configure and control a Device. For a Control Channel the Device acts as a server that provides the initial point of Communication for the Host System that acts as a Client. The Communication on a Control Channel is bidirectional and initiated by the Host System. |
Event | An asynchronous notification of the occurrence of a fact. Events are transmitted on an Event Channel. |
1.5 设备通信模型(Device Communication Model)
本节介绍了使用 SFNC 控制的设备的一般通信模型。它介绍了主机系统和采集设备之间的控制和数据流通信所涉及的主要元素。
一般来说,设备通信模型是:
- 远程设备和主机系统使用虚拟链路进行通信。
- 虚拟链接是通过一个或多个物理连接建立的。
- 主机系统使用其 GenICam XML 文件中存在的特性来控制远程设备。
- 远程发射器设备具有一个生成数据流的数据源。
- 数据流被发送到虚拟链路的流通道上的主机系统。
- 主机接口上的数据流的接收由本地接收设备处理。
- 本地接收器设备将数据流写入主机系统内存。
1.6 设备采集模型(Device Acquisition Model)
介绍了通过设备采集数据所涉及的主要元素和用于传输到主机系统的图像的典型数据流。它涵盖了具有单一数据源的典型设备和具有多源、多感兴趣区域和数据传输控制的更复杂的设备。
具有一个数据源、一个感兴趣的区域和数据传输的自动控制,如图 1-2 所示,是该模型的简单特例,其中源、区域和传输特性是固定的,不能改变(因此相应的固定特性可以被省略)。
图 1-2:固定配置的基本采集装置。(Figure 1-2: Basic acquisition device with fixed configuration.)
对于源、区域和传输控制流值固定的基本设备的典型特征设置通常简化为:
Width = 320
Height = 240
AcquisitionStart
…
AcquisitionStop
但一般来说,对于更复杂的设备,采集和数据传输模型是:
- 一个设备有一个或多个源。
- 一个源有一个或多个感兴趣的区域。
- 一个感兴趣的区域指向一个数据流。
- 源上数据生成由 “采集控制” ( “Acquisition Control” )特性进行控制。
- 感兴趣区域的尺寸由 “图像格式控制” ( “Image Format Control” )特性控制。
- 流的传出数据流由 “传输控制” ( “Transfer Control” )特性进行控制。
- 传输控制模块的输出进入流通道。(The output of the Transfer Control module goes to a Stream Channel.)
- 流通道在虚拟链路上传输。
- 虚拟链接是通过使用一个或多个设备的物理连接与主机系统建立的。
下面的图 1-3 展示了一个更复杂的设备的例子,它支持多源、多区域的数据流传输控制。
2、特性摘要
2.1 设备控制(Device Control)
包含与设备的控制和信息相关的功能(详情请参见设备控制章节)。
2.2 图像格式控制(Image Format Control)
包含与传输图像格式相关的功能(详情请参见图像格式控制章节)。
2.3 采集控制(Acquisition Control)
包含与图像采集相关的功能,包括触发和曝光控制(详情请参见采集控制章节)。
2.4 模拟控制(Analog Control)
包含模拟域中与视频信号调节相关的功能(详情请参见模拟控制章节)。
2.5 LUT控制(LUT Control)
包含与查找表(LUT)控件相关的功能(有关详细信息,请参见 LUT 控件章节)。
2.6 颜色转换控制(Color Transformation Control)
包含与颜色转换控制相关的特性(详细信息请参见颜色转换控制章节)。
2.7 数字输入输出控制(Digital I/O Control)
包含与设备输入和输出引脚控制相关的功能(详情请参见数字I/O控制章节)。
2.8 计数器和计时器控制(Counter and Timer Control)
包含与可编程计数器和计时器的使用相关的特性(详细信息请参阅计数器和计时器控制章节)。
2.9 编码器控制(Encoder Control)
包含与正交编码器使用相关的特性(详细信息请参阅编码器控制章节)。
2.10 逻辑块控制(Logic Block Control)
包含与逻辑块使用相关的特性(详细信息请参见逻辑块控制章节)。
2.11 软件信号控制(Software Signal Control)
包含与软件信号控制相关的功能(详情请参见软件信号控制章节)。
2.12 动作控制(Action Control)
包含与操作命令机制的控制相关的特性(有关详细信息,请参阅操作控制章节)。
2.13 事件控制(Event Control)
包含与设备生成事件通知相关的功能(有关详细信息,请参阅事件控制章节)。
2.14 用户设置控制(User Set Control)
包含与要保存和加载用户设备设置的用户设置控制相关的功能(有关详细信息,请参阅用户设置控制章节)。
2.15 排序器控制(Sequencer Control)
包含与排序器的控制相关的特性(详情请参阅排序器控制章节)。
2.16 文件访问控制(File Access Control)
包含与设备的通用文件访问相关的特性(详细信息请参见文件访问控制章节)。
2.17 源控制(Source Control)
包含与多个源设备控制相关的功能(详细信息请参阅源控制章节)。
2.18 传输控制(Transfer Control)
包含与传输控制相关的特性(有关详细信息,请参阅传输控制章节)。
2.19 扫描 3D 控制(Scan 3D Control)
包含与 3D 扫描功能控制相关的功能(详情请参见3D扫描控制章节)。
2.20 灯光控制(Light Control)
包含与灯光控制相关的功能(有关详细信息,请参阅灯光控制章节)。
2.21 光学控制(Optic Control)
包含与光学控制相关的特性(有关详细信息,请参见光学控制章节)。
2.22 块数据控制(Chunk Data Control)
包含与块数据控制相关的特性(详细信息请参见块数据控制章节)。
2.23 测试控制(Test Control)
包含与测试特性的控制相关的特性(详情请参见测试控制章节)。
2.24 GenICam 控制(GenICam Control)
包含与 GenICam 控制和访问相关的特性(详细信息见 GenICam 控制章节)。
2.25 传输层控制(Transport Layer Control)
包含与传输层控制相关的特性(有关详细信息,请参阅“传输层控制”章节)。
☆