2

使用以下代码;我正在尝试调整天线的范围;

Antennas.Config config = new Antennas.Config();
config.TransmitPowerIndex = (ushort)myreader.TransmitPowerIndex;
config.TransmitFrequencyIndex = (ushort)myreader.TransmitFrequencyIndex;
config.ReceiveSensitivityIndex = (ushort)myreader.ReceiveSensitivityIndex;
myreader.ReaderAPI.Config.Antennas.SetConfig(config);

问题是,它不会让我改变TransmitPowerIndexReceiveSensitivityIndex 除了 0,我得到的异常是“超出范围的配置值”

如果我在默认设置下运行天线(不使用上面的代码),它们会以全功率运行。

如果我使用以下设置:

Antennas.Config config = new Antennas.Config();
config.TransmitPowerIndex = 10;
config.TransmitFrequencyIndex = 1;
config.ReceiveSensitivityIndex = 0;
myreader.ReaderAPI.Config.Antennas.SetConfig(config);

天线以非常低的功率运行,但这对于我的设置来说太低了,例如,如果我想将功率指数更改为 20,则没有任何变化。如果我将发射频率指数或接收灵敏度指数更改为上述值以外的任何值,我会得到“配置值超出范围错误”。

如何根据一些线性值调整天线的范围?不幸的是,EMDK 帮助文件没有关于这方面的特定数据......

4

2 回答 2

3

有点晚了,但总比没有好。

摩托罗拉使用表格来分配天线的功率。此表位于此属性中:

Symbol.RFID3.Reader MyReader;

int[] table = MyReader.ReaderCapabilities.TransmitPowerLevelValues;

现在,table 是一个 int 数组,这些值是天线可用的功率电平。

例如,假设包含 50 个项目。

如果您希望天线处于 50%:

config.TransmitPowerIndex = 24;

如果您希望天线在 ~75%:

config.TransmitPowerIndex = 36;

如果您想要 100% 的天线:

config.TransmitPowerIndex = 49;

请记住,您必须分配所需值的INDEX

希望这可以帮助某人。问候。

于 2015-04-07T09:37:50.620 回答
3

天线读取范围由设置config.TransmitPowerIndex

然后对于最大读取范围:

config.TransmitPowerIndex = 160;

对于最小读取范围:

config.TransmitPowerIndex = 0;
于 2015-01-26T12:51:20.090 回答