# 数学工具函数

数学工具提供了一个全面的数学运算词典：

- 定时数据存储函数存储一段时间内来自一个单元格的值流。每当指定事件更新电子表格时，每个函数都会返回从值流中选择的单个值。

- 使用几何和测量函数，您可以轻松计算标准几何构造（包括圆、点和线段）之间的距离。
- 图形：
  - 控制函数将交互式元素插入到电子表格中，让用户能够对作业进行简单的配置更改，而无需使用“插入函数”对话框或属性表。
  - 图像函数在图像之上绘制重叠图形。
- 数学函数：
  - 逻辑函数提供布尔代数和条件测试功能。对于所有逻辑函数，0 值表示 FALSE 结果，任何非零结果表示 TRUE。
  - 使用查找函数在一系列值中搜索最大值、最小值或索引号；返回 X 和 Y 坐标，以及 #ERR 数据；抑制 #ERR 单元格以避免错误通过多个函数传播。
  - 算术函数提供各种数学函数，例如绝对值、幂、截断、舍入和生成随机数。
  - 统计：返回一组值的最大值、最小值、平均值和标准差数据。
  - 三角学：提供用于正弦、余弦、正切、圆周率、度数和弧度（以及与之相关）的函数。
- 运算符函数提供关系运算符，包括 =、<>、>、<、>=、<=。

- 字符串函数对字母数字数据设置格式，以用于显示以及 In-Sight 视觉系统和远程设备之间的通信。

- 视觉数据访问 (VDA) 函数从数据结构、函数和其他单元格引用中提取单个值。

- 视觉工具函数用于提取和处理图像特征以用于进一步的数据分析和决策。

注意： 类别名称不显示在插入函数列表中。函数按字母顺序显示为一个列表。

## 函数列表

组 | 类型 | 函数 | 说明
--- | --- | --- | ---
定时数据存储函数 | Accumulate（累计） | 语法：Accumulate(Event,Value,Reset,Preset) 对无限区间的值求和。该函数返回每次发生指定事件时采样的数据流的积分。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取指定值的事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： Accumulate 函数在引用值被任何其他依赖于指定事件的函数更新之前缓存该值的状态。
Value（值） | 对包含要累加的数据流来源的单元格的引用。（-16777216 至 16777216 默认值 = 1.000）
Reset（重置） | 强制累加器重置为预设值。
0 = OFF（默认） | 累加器将无限地继续对指定值求和。
1 = ON | 累加器将立即重置。
Preset（预设） | 指定重置状态为 ON 时累加器重置为的最小值（-16777216 至 16777216；默认值 = 0.000）。
#### 输出
返回 | 表示自上次重置后一个时间区间内数据流求和的值。
ClockedMax | 语法：ClockedMax(Event,Value,Reset,Preset) 在无限区间内对值流进行采样，然后返回在该区间内从流中采样的最大值。 ## 输入
参数 | 说明
--- | ---
Event（事件） | 指定强制更新的事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： 与引用值被任何其他依赖于指定事件的函数更新之前对其状态进行采样的 Maximum 函数不同，ClockedMax 在引用值被任何其他函数更新之后对其状态进行采样。
Value（值） | 对从中寻找最小值的数据流对应的源单元格的引用。（-16777216 至 16777216；默认值 = 0）。
Reset（重置） | 强制函数将其内部寄存器重置为 Preset 指定的值。
0 = OFF（默认） | 该函数将继续对当前数据流中的值进行采样。
1 = ON | 该函数将重置它返回的最小值并开始一个从中进行采样的新数据流。
Preset（预设） | 指定函数重置为的最小值（-16777216 至 16777216；默认值 = -16777216）。
#### 输出
返回 | 从重置到当前时间的区间内数据流的最小值。
ClockedMin | 语法：ClockedMin(Event,Value,Reset,Preset) 在无限区间内对值流进行采样，然后返回在该区间内从值流中采样的最小值。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取值的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： 与引用值被任何其他依赖于指定事件的函数更新之前对其状态进行采样的 Minimum 函数不同，ClockedMin 函数在引用值被任何其他函数更新之后对其状态进行采样。
Value（值） | 对从中寻找最小值的数据流对应的源单元格的引用（-16777216 至 16777216；默认值 = 0）。
Reset（重置） | 强制函数将其内部寄存器重置为 Preset 指定的值。
0 = OFF（默认） | 该函数将继续对当前数据流中的值进行采样。
1 = ON | 该函数将重置它返回的最小值并开始一个从中进行采样的新数据流。
Preset（预设） | 指定函数重置为的最小值（-16777216 至 16777216；默认值 = -16777216）。
#### 输出
返回 | 从重置到当前时间的区间内数据流的最小值。
ClockedSum | 语法：ClockedSum(Event,Value,Reset,Preset)
计数 | 语法：Count(Event,Max Value,Reset,Preset) 对无限区间内的事件进行计数。该函数返回预设值加上自上次重置以来发生的事件数。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要递增计数器的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。
Max Value（最大值） | 指定计数器允许达到的最高值，之后会自动重置为最小预设值。（-16777216 至 16777216；默认值 = 16777216）
Reset（重置） | 强制计数器重置为预设值。
0 = OFF（默认） | 计数器将被允许在重置之前达到最大值。
1 = ON | 即使没有达到最大值，计数器也会立即重置。
Preset（预设） | 指定当达到最大值或重置为 ON 时计数器重置到的最小值。（-16777216 至 16777216；默认值 = 0）
#### 输出
返回 | 一个值，它是预设值加上自上次重置以来发生的事件数。
CountPassFail | 语法：CountPassFail(Event,Value,CountWhen Offline,ResetEvents.Manual,ResetEvents.Online,ResetEvents.Job Load) 计数并返回给定引用值的通过、失败和总事件数。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要递增计数器的事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。
Value（值） | 指定所要求的对要计数数据流来源所在单元格的引用。如果未引用任何单元格，则该函数为所有结果返回 #ERR。递增的计数器（通过、失败或 #ERR）基于返回的值，如下所示：
通过 | 值 > 0
失败 | 值 = 0
#ERR | 值 < 0
Count When Offline（脱机时计数） | 指定当传感器脱机时计数器是否递增。
0 = OFF | 传感器脱机时计数器不递增。
1 = ON （默认） | 传感器脱机时计数器递增。
Reset Events（重置事件） | 强制计数器根据特定事件重置。
Manual（手动） | 指定在指定事件发生时计数器是否重置为零。此参数自动引用重置按钮，在最初创建该函数时这个按钮即被插入到电子表格。 注意： 如果在属性页中手动切换此复选框，则对重置按钮的引用将被删除。要使用重置按钮，此参数必须引用包含重置按钮的单元格。
0 = OFF（默认） | 发生指定事件时不重置计数器。
1 = ON | 发生指定事件时重置计数器。
Online（联机） | 当传感器联机时，指定在第一个事件发生后是否将计数器重置为零。
0 = OFF | 当传感器联机时，在第一个事件发生后不重置计数器。
1 = ON（默认） | 当传感器联机时，在第一个事件发生后重置计数器。
Job Load（作业加载） | 指定加载作业时计数器是否重置为零。
0 = OFF | 加载作业时不重置计数器。
1 = ON（默认） | 加载作业时重置计数器。
#### 输出
返回 | 包含递增计数器或 #ERR（如果任何输入参数无效）的一个 Count 数据结构。
结果 | 最初将 CountPassFail 插入单元格时，会在电子表格中创建结果表和重置按钮。按下重置按钮时，所有计数器将重置为零。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。.
Passes（通过数） | GetPassCount(Count) | 通过的递增计数。当返回值大于零时，计数器将递增。
Failures（失败数） | GetFailCount(Count) | 失败的递增计数。当返回值等于零时，计数器将递增。
Errors（错误数） | GetErrorCount(Count) | 错误的递增计数。当返回值小于零时，计数器将递增。
Total（合计） | GetTotalCount(Count) | 通过、失败和错误的总数。
Latch（锁存） | 语法：Latch(Event,Value) 对于指定事件存储（锁存）一个输入值。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取值的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。
Value（值） | 对要存储的数据所包含于的单元格的引用（-16777216 至 16777216；默认值 = 0.000）。
#### 输出
返回 | 发生最后一个事件时存储的值。
LatchString | 语法：LatchString(Event,"String") 发生指定事件时存储（锁定）一个字母数字输入字符串。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取字符串的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。
String（字符串） | 对要存储的字符串所包含于的单元格的引用。
#### 输出
返回 | 最后一个事件时存储的字符串。
Maximum（最大值） | 语法：Maximum(Event,Value,Reset,Preset) 在无限区间内对值流进行采样，然后返回在该区间内从流中采样的最大值。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取值的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： Maximum（最大值）函数在引用值被任何其他依赖于指定事件的函数更新之前采样该值的状态。
Value（值） | 对从中寻找最大值的数据流对应的源单元格的引用。
Reset（重置） | 强制函数将其内部寄存器重置为 Preset 指定的值。
0 = OFF（默认） | 该函数将继续对当前数据流中的值进行采样。
1 = ON | 该函数将重置它返回的最大值并开始一个从中进行采样的新数据流。
Preset（预设） | 指定函数重置为的最大值（-16777216 至 16777216；默认 = -16777216）。
#### 输出
返回 | 一个值，它是自上次重置以来数据流中的最大值。
Minimum（最小值） | 语法：Minimum(Event,Value,Reset,Preset) 在无限区间内对值流进行采样，然后返回在该区间内从值流中采样的最小值。 #### 输入
参数 | 说明
--- | ---
Event（事件） | 指定要读取值的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： Minimum（最小值）函数在引用值被任何其他依赖于指定事件的函数更新之前采样该值的状态。
Value（值） | 对从中寻找最小值的数据流对应的源单元格的引用。
Reset（重置） | 强制函数将其内部寄存器重置为 Preset 指定的值。
0 = OFF（默认） | 该函数将继续对当前数据流中的值进行采样。
1 = ON | 该函数将重置它返回的最小值并开始一个从中进行采样的新数据流。
Preset（预设） | 指定函数重置为的最小值（-16777216 至 16777216；默认值 = 16777216）。
#### 输出
返回 | 从重置到当前时间的区间内数据流的最小值。
ShiftRegister | 语法：ShiftRegister (Event,Value,Number of Steps,Reset) 实现移位寄存器数组或数据“流”，发生每个事件后单元格的值将在其中缓存。 注意： 重置后会用读取的第一个值填充移位寄存器。 #### 输入
Event（事件） | 指定要读取值的更新事件。此参数必须是对以下参数之一的引用： “已采集”关键字，表示最近的图像采集。 包含事件函数的单元格。 包含按钮函数的单元格。 注意： 与引用值被任何其他依赖于指定事件的函数更新之前缓存该值状态的 DelayLine 函数不同，ShiftRegister 在引用值被任何其他函数更新之后缓存该值状态。
Value（值） | 对源数据所包含于的单元格的引用（-16777216 至 16777216；默认值 = 0）。
Number of Steps（步数） | 指定函数内部移位寄存器数组中值的数量（1 到 5000；默认值 = 10）。
Reset（重置） | 强制函数清除以前读取的值。重置后读取的第一个值将有效地“填充”移位寄存器。
0 = OFF（默认） | 该函数将继续读取数据流中的值。
1 = ON | 该函数将清除所有来自数据流的值。
#### 输出
返回 | 一个 Buffer（缓冲区）数据结构，包含从重置到当前时间的区间内指定值的统计信息。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
Last（最后一个） | GetValue(Delay, Index) | 结构中包含的最后一个值。
Mean（均值） | GetMean(Delay) | 结构中所有值的平均值。
SDev（标准偏差） | GetSDev(Delay) | 结构中所有值的标准偏差。
Min（最小值） | GetMin(Delay) | 结构中包含的最小值。
Max（最大值） | GetMax(Delay) | 结构中包含的最大值。
可以通过以下视觉数据访问函数访问更多数据元素：
Count（计数） | GetCount(Delay) | 结构中包含的值的数量。
Sum（总和） | GetSum(Delay) | 结构中包含的所有值之和。
几何 | 拟合函数 注意： 如果几何函数使用世界坐标数据作为引用，则生成的图形将无法正确显示。 | CircleFromNPoints | 语法：CircleFromNPoints(Point X 0,Point Y 0,Point X 1,Point Y 1,Point X 2,Point Y 2,...,Point X N,Point Y N,Show) 使用三个或更多输入点拟合一个圆。 #### 输入
参数 | 说明
--- | ---
Point 0（点 0） | 指定第一个点的坐标。
Point X 0（点 X 0） | 第一个点的 x 坐标。
Point Y 0（点 Y 0） | 第一个点的 y 坐标。
Point 1（点 1） | 指定第二个点的坐标。
Point X 1（点 X 1） | 第二个点的 x 坐标。
Point Y 1（点 Y 1） | 第二个点的 y 坐标。
Point 2（点 2） | 指定第三个点的坐标。
Point X 2（点 X 2） | 第三个点的 x 坐标。
Point Y 2（点 Y 2） | 第三个点的 y 坐标。
Point 3..N（点 3..N） | （可选）指定任何其他点的坐标。
Point X N（点 X N） | 第 N 个点的 x 坐标。
Point Y N（点 Y N） | 第 N 个点的 y 坐标。
Show（显示） | 指定要永久显示的图形项目。
0 = 全部隐藏 | 所有图形项都将被隐藏，除非包含 CircleFromNPoints 函数的单元格是电子表格中启用的单元格。
1 = 仅结果图形 | 将始终显示拟合圆图形。仅当包含 CircleFromNPoints 函数的单元格是电子表格中启用的单元格时，才会显示输入点。
2 = 输入和结果图形 | 拟合圆和输入点将始终显示。
#### 输出
返回 | 包含拟合圆的 X、Y、半径和 σ 的 CircleFit 数据结构。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X | GetX(CircleFit) | 圆心的 x 坐标。
Y | GetY(CircleFit) | 圆心的 y 坐标。
Radius | GetRadius(CircleFit) | 圆的半径。
Sigma | GetSigma(CircleFit) | 点到圆的距离的平方和除以点的数量的平方根。
更多的数据元素可以通过以下视觉数据访问函数访问：
Distance（距离） | GetDistance(CircleFit, Index) | 索引点和圆之间的距离。如果这个值为负值，则该点位于圆内。如果索引点无效，则返回 #ERR。
MaxDist | GetMaxDist(CircleFit) | 圆与距离圆最远的点之间的距离。如果这个值为负值，则该点位于圆内。
MaxDistIndex | GetMaxDistIndex(CircleFit) | 距离圆最远的点的索引。
NPointsUsed | GetNPointsUsed(CircleFit) | 用于拟合圆的点数。
LineFromNPoints | 语法：LineFromNPoints(Point X 0,Point Y 0,Point X 1,Point Y 1,[...Point X N,Point Y N,Show]) 使用两个或多个输入点拟合一条直线。 #### 输入
参数 | 说明
--- | ---
Point 0（点 0） | 指定第一个点的坐标。
Point X 0（点 X 0） | 第一个点的 x 坐标。
Point Y 0（点 Y 0） | 第一个点的 y 坐标。
Point 1（点 1） | 指定第二个点的坐标。
Point X 1（点 X 1） | 第二个点的 x 坐标。
Point Y 1（点 Y 1） | 第二个点的 y 坐标。
Point 2..N（点 2..N） | 指定任何其他点的坐标。
Point X N（点 X N） | 第 N 个点的 x 坐标。
Point Y N（点 Y N） | 第 N 个点的 y 坐标。
Show（显示） | 指定要永久显示的图形项目。
0 = 全部隐藏 | 所有图形项都将被隐藏，除非包含 LineFromNPoints 函数的单元格是电子表格中启用的单元格。
1 = 仅结果图形 | 将始终显示拟合直线图形。仅当包含 LineFromNPoints 函数的单元格是电子表格中启用的单元格时，才会显示输入点。
2 = 输入和结果图形 | 将始终显示拟合直线和输入点。
#### 输出
返回 | 如果数据中包含两个或多个有效点，则为 LineFit 数据结构；如果数据中只包含一个或没有有效点，则为 #ERR。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X0 | GetX(LineFit, 0) | 第一个端点的 x 坐标。
Y0 | GetY(LineFit, 0) | 第一个端点的 y 坐标。
X1 | GetX(LineFit, 1) | 第二个端点的 x 坐标。
Y1 | GetY(LineFit, 1) | 第二个端点的 y 坐标。
Chi2 | GetChi2(LineFit) | 点到直线距离的平方和。
更多的数据元素可以通过以下“视觉数据访问”函数访问。
Distance（距离） | GetDistance(LineFit, Index) | 索引点和直线之间的距离。
MaxDist | GetMaxDist(LineFit) | 距离直线最远的点。
MaxDistIndex | GetMaxDistIndex(LineFit) | 距离直线最远的点的索引。
NPointsUsed | GetNPointsUsed(LineFit) | 用于计算直线的点数。
测量 | PointToCircle | 语法：PointToCircle(Point.X,Point.Y,Circle.X,Circle.Y,Circle.Radius,Show) 计算从一个点到圆上最近点的最小距离。如果这个点位于圆内，则该距离报告为负数。 #### 输入
参数 | 说明
--- | ---
Point（点） | 指定将用作原点的点的坐标。
X | 点的 x 坐标。
Y | 点的 y 坐标。
Circle（圆） | 指定圆的坐标和大小。
X | 圆心的 x 坐标。
Y | 圆心的 y 坐标。
Radius（半径） | 圆的半径。
Show（显示） | 指定函数在图像上的图形叠加显示模式。
0 = 全部隐藏 | 所有图形都将隐藏，除非包含函数的单元格在电子表格中突出显示。
1 = 仅结果图形 | 表示点与圆之间最小距离的线段将始终显示。
2 = 输入和结果图形 | 点和圆以及它们之间的线段将始终显示。
#### 输出
返回 | Dist 数据结构，包含点与圆上最近点之间的有向距离。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X0 | GetX(Dist, 0) | 点的 x 坐标。
Y0 | GetY(Dist, 0) | 点的 y 坐标。
X1 | GetX(Dist, 1) | 圆上最近点的 x 坐标。
Y1 | GetY(Dist, 1) | 圆上最近点的 y 坐标。
Angle（角度） | GetAngle(Dist) | 点到点的角度。
Distance（距离） | GetDistance(Dist) | 点到点的距离。
PointToLine | 语法：PointToLine(Point.X,Point.Y,Line.X 0,Line.Y 0,Line.X 1,Line.Y 1,Show) 计算点到直线的最小距离。 在本例中，PointToLine 函数用于测量点与线之间的距离。该点是原点，角度是根据其相对于直线的位置来计算。 #### 输入
参数 | 说明
--- | ---
Point（点） | 指定将用作原点的点的坐标。
X | 点的 x 坐标。
Y | 点的 y 坐标。
Line（直线） | 指定线的坐标。
X 0 | 线的第一个终点的 x 坐标。
Y 0 | 线的第一个终点的 y 坐标。
X 1 | 线的第二个终点的 x 坐标。
Y 1 | 线的第二个终点的 y 坐标。
Show（显示） | 指定函数在图像上的图形叠加显示模式。
0 = 全部隐藏 | 所有图形都将隐藏，除非包含函数的单元格在电子表格中突出显示。
1 = 仅结果图形 | 表示点与输入线之间最小距离的线段将始终显示。
2 = 输入和结果图形 | 点、输入直线以及它们之间的线段将始终显示。
#### 输出
返回 | Dist 数据结构，包含点与直线上最近点之间的有向距离。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X0 | GetX(Dist, 0) | 点的 x 坐标。
Y0 | GetY(Dist, 0) | 点的 y 坐标。
X1 | GetX(Dist, 1) | 直线上最近点的 x 坐标。
Y1 | GetY(Dist, 1) | 直线上最近点的 y 坐标。
Angle（角度） | GetAngle(Dist) | 点到直线的角度。
Distance（距离） | GetDistance(Dist) | 点到直线的距离。
PointToPoint | 语法：PointToPoint(Point 0.X,Point 0.Y,Point 1.X,Point 1.Y,Show) 计算两点之间的有向距离。 在本例中，PointToPoint 函数用于测量两点之间的距离。角度是基于第一个点相对于第二个点的位置计算的。 #### 输入
参数 | 说明
--- | ---
Point 0（点 0） | 指定将用作原点的第一个点的坐标。
X | 第一个点的 x 坐标。
Y | 第一个点的 y 坐标。
Point 1（点 1） | 指定第二个点的坐标。
X | 第二个点的 x 坐标。
Y | 第二个点的 y 坐标。
Show（显示） | 指定函数在图像上的图形叠加显示模式。
0 = 全部隐藏 | 所有图形都将隐藏，除非包含函数的单元格在电子表格中突出显示。
1 = 仅结果图形 | 表示两个输入点之间最小距离的线段将始终显示。
2 = 输入和结果图形 | 两个输入点及其之间的线段将始终显示。
#### 输出
返回 | Dist 数据结构，包含点之间的有向距离。
结果 | 当把函数插入到一个单元格时，会在电子表格中创建一个结果列表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X0 | GetX(Dist, 0) | 第一个点的 x 坐标。
Y0 | GetY(Dist, 0) | 第一个点的 y 坐标。
X1 | GetX(Dist, 1) | 第二个点的 x 坐标。
Y1 | GetY(Dist, 1) | 第二个点的 y 坐标。
Angle（角度） | GetAngle(Dist) | 点到点的角度。
Distance（距离） | GetDistance(Dist) | 点到点的距离。
PointToPointAngle | 语法：PointToPointAngle(Point 0.X,Point 0.Y,Point 1.X,Point 1.Y) 计算两点之间的角度。 #### 输入
参数 | 说明
--- | ---
Point 0（点 0） | 指定将用作原点的第一个点的坐标。
X | 第一个点的 x 坐标。
Y | 第一个点的 y 坐标。
Point 1（点 1） | 指定第二个点的坐标。
X | 第二个点的 x 坐标。
Y | 第二个点的 y 坐标。
#### 输出
返回 | 一个值，包含两点之间相对于图像 X 轴的角度。
注意： 与几何图形类别中的大多数其他度量函数不同，PointTopInAngle 不会在电子表格中插入 Dist 数据结构或结果表。
PointToPointDistance | 语法：PointToPointDistance(Point 0.X,Point 0.Y,Point 1.X,Point 1.Y) 计算两点之间的距离。 #### 输入
参数 | 说明
--- | ---
Point 0（点 0） | 指定第一个点的坐标。
X | 第一个点的 x 坐标。
Y | 第一个点的 y 坐标。
Point 1（点 1） | 指定第二个点的坐标。
X | 第二个点的 x 坐标。
Y | 第二个点的 y 坐标。
#### 输出
返回 | 包含两点之间距离的值。
注意： 与几何图形类别中的大多数其他度量函数不同，PointToPointDistance 不会在电子表格中插入 Dist 数据结构或结果表。
图形 | 控制 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 | Button（按钮） | 语法：Button(Name,Trigger) 将带标签的按钮控件插入电子表格。（可选）可以配置一个按下按钮操作来向电子表格事件触发器发送信号。 提示： 要访问按钮的属性表，请右键单击该按钮并选择编辑函数。 注意： 可以使用 EV SetCellValue 命令通过 In-Sight 本机模式命令以编程方式控制按钮控件。输入 1 可按下按钮，输入 0 可释放按钮。确保按下按钮后发送释放按钮的命令，否则该按钮将保持按下状态。 单击一次按钮会生成两个事件。按下按钮时按钮状态从 0 变为 1，释放按钮时按钮状态从 1 变为 0。如果一个按钮被配置为生成软事件，该事件只会在按下按钮时触发一次。 #### 输入
参数 | 说明
--- | ---
Name（名称） | 指定一个文本字符串标签；此名称将出现在按钮本身上。
Trigger（触发器） | （可选）指定按下按钮时发生的触发器信号。
-1 = 无（默认值） | 不发出触发器信号。
32 = manual | 将发出手动触发器信号。
（80 到 87） = 软（0 到 7） | 将发出软触发器事件信号。
#### 输出
返回 | 按下按钮时返回值为 1；否则返回值为 0。
结果 | 带标签的按钮控件。
CheckBox（复选框） | 语法：CheckBox(Name) 将标记的复选框控件插入电子表格。 注意： 要访问复选框的属性表，请右键单击复选框并选择编辑函数。 #### 输入
参数 | 说明
--- | ---
Name（名称） | 指定显示在复选框旁的文本字符串标签。
#### 输出
返回 | 清除（未选中）时值为 0，选中（勾选）时值为 1。
结果 | 带标签的复选框控件。
#### 示例 电子表格的配置如下所示： A3=CheckBox("On") A4=A3 单元格 A4 引用单元格 A3 确定“On”复选框的开/关状态。清除复选框后，单元格 A4 中将返回值 0.000。当复选框被选中时，返回值 1.000。
EditFloat | 语法：EditFloat(Min,Max) 将浮点编辑控件插入电子表格。该控件的行为类似于其他交互式数字输入控件。 注意： 要访问 EditFloat 控件的属性表，请右键单击该控件并选择编辑函数。 #### 输入
参数 | 说明
--- | ---
Min（最小值） | 指定编辑框控件将接受的最小值（-16777216 至 16777216；默认值 = 0）。
Max（最大值） | 指定编辑框控件将接受的最大值（-16777216 至 16777216；默认值 = 100）。
#### 输出
返回 | 输入到控件中的值。
结果 | 一个 EditFloat控件。
EditInt | 语法：EditInt(Min,Max) 将整数编辑控件插入电子表格。该控件的工作方式与所有其他 In-Sight 交互式数字输入控件一样。 注意： 要访问 EditInt 控件的属性表，请右键单击该控件并选择编辑函数。 #### 输入
参数 | 说明
--- | ---
Min（最小值） | 指定编辑框控件将接受的最小值（-16777216 至 16777216；默认值 = 0）。
Max（最大值） | 指定编辑框控件将接受的最大值（-16777216 至 16777216；默认值 = 255）。
#### 输出
返回 | 输入到控件中的值。
结果 | 一个 EditInt 控件。
EditString | 语法：EditString(Max String Length) 将整数编辑控件插入电子表格。该控件的工作方式与所有其他 In-Sight 交互式数字输入控件一样。 注意： 要访问 EditInt 控件的属性表，请右键单击该控件并选择编辑函数。 #### 输入
参数 | 说明
--- | ---
Min（最小值） | 指定编辑框控件将接受的最小值（-16777216 至 16777216；默认值 = 0）。
Max（最大值） | 指定编辑框控件将接受的最大值（-16777216 至 16777216；默认值 = 255）。
#### 输出
返回 | 输入到控件中的值。
结果 | 一个 EditInt 控件。
ListBox（列表框） | 语法：ListBox("String0","String1","String2",...) 在电子表格中插入一个下拉列表控件。 注意： 由于 ListBox 函数可以接受可变数量的字符串，因此该函数不是通过属性表配置的。可以直接在单元格中或在作业编辑工具栏上的公式栏中配置此函数。 #### 输入
参数 | 说明
--- | ---
String0, 1, 2, ... | 多个文本字符串的可变长度列表，当用户从下拉列表选择每个文本字符串时，它们会返回不同的值。
#### 输出
返回 | 一个值，表示所选项目的索引号（从零开始）。
结果 | 一个列表框控件。 注意： 当前从列表中选择的文本字符串也可以使用 GetString 视觉数据访问函数访问。
#### 示例 电子表格的配置如下所示： A3=ListBox("Item1","Item2","Item3") A4=A3 单元格 A3 中的函数创建列表控件，默认选定项为“Item1”。Item1 的索引值为0，因此单元格 A4 中的值为 0.000。 如果用户选择“Item2”，则单元格 A4 中的值将为 1.000。如果选择“Item3”，则单元格 A4 中的值将为 2.000。 #### 视觉数据访问函数 可以通过以下视觉数据访问函数访问更多数据元素：
GetString | GetString(ListBox) | 返回文本字符串。
图像 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 | PlotCircle | 语法：PlotCircle(Circle.X,Circle.Y,Circle.Radius,Name,Color,Show) 在图像上绘制一个圆。 #### 输入
参数 | 说明
--- | ---
Circle（圆） | 指定要绘制的圆的图像坐标 (-16777216 至 16777216)。
X | 圆心的 X 坐标。
Y | 圆心的 Y 坐标。
Radius（半径） | 圆的半径。
Name（名称） | 指定与图像上的图形一起显示的文本标签。
Color（颜色） | 指定绘制图形的颜色。（默认值：0x32cd32，石灰绿；最大值：0xffffff）
Show（显示） | 指定图像上图形叠加的显示模式。
0 = OFF | 图形将被隐藏，除非在电子表格中突出显示包含函数的单元格。
1 = ON（默认） | 图形将始终显示。
#### 输出
返回 | 包含图形的绘制数据结构。
PlotCross | 语法：PlotCro(Cross.X,Cross.Y,Cross.Angle,Cross.High,Cross.Wide,Name,Color,Show) 在图像上绘制一个交叉。 #### 输入
参数 | 说明
--- | ---
Cross（交叉） | 指定要绘制的交叉的图像坐标 (-16777216 至 16777216)。
X | 交叉中心的 X 坐标。
Y | 交叉中心的 Y 坐标。
Angle（角度） | 交叉的方向。
High（高度） | 交叉的高度。
Wide（宽度） | 交叉的宽度。
Name（名称） | 指定与图像上的图形一起显示的文本标签。
Color（颜色） | 指定绘制图形的颜色。（默认值：0x32cd32，石灰绿；最大值：0xffffff）
Show（显示） | 指定图像上图形叠加的显示模式。
0 = OFF | 图形将被隐藏，除非在电子表格中突出显示包含函数的单元格。
1 = ON（默认） | 图形将始终显示。
#### 输出
返回 | 包含图形的绘制数据结构。
PlotLine | 语法：PlotLine(Line.X 0,Line.Y 0,Line.X 1,Line.Y 1,Name,Color,Show,Start Point Adornment,End Point Adornment) 在图像中绘制线段。 #### 输入
参数 | 说明
--- | ---
Line（直线） | 指定要绘制的直线的图像坐标 ()。
X 0 | 直线第一个端点的 X 坐标。
Y 0 | 直线第一个端点的 Y 坐标。
X 1 | 直线第二个端点的 X 坐标。
Y 1 | 直线第二个端点的 Y 坐标。
Name（名称） | 指定与图像上的图形一起显示的文本标签。
Color（颜色） | 指定绘制图形的颜色。（默认值：0x32cd32，石灰绿；最大值：0xffffff）
Show（显示） | 指定图像上图形叠加的显示模式。
0 = OFF | 图形将被隐藏，除非在电子表格中突出显示包含函数的单元格。
1 = ON（默认） | 图形将始终显示。
Start Point Adornment（起点装饰） | 指定直线起点的装饰。
0 = 无（默认）
1 = 箭头
End Point Adornment（终点装饰） | 指定直线终点的装饰。
0 = 无（默认）
1 = 箭头
#### 输出
返回 | 包含图形的绘制数据结构。
PlotPoint | 语法：PlotPoint(Point.X,Point.Y,Name,Color,Show) 在图像中绘制一个点十字准线。 #### 输入
参数 | 说明
--- | ---
Point（点） | 指定要绘制的点的图像坐标 (-16777216 至 16777216)。
X | 点的 X 坐标。
Y | 点的 Y 坐标。
Name（名称） | 指定与图像上的图形一起显示的文本标签。
Color（颜色） | 指定绘制图形的颜色。（默认值：0x32cd32，石灰绿；最大值：0xffffff）
Show（显示） | 指定图像上图形叠加的显示模式。
0 = OFF | 图形将被隐藏，除非在电子表格中突出显示包含函数的单元格。
1 = ON（默认） | 图形将始终显示。
#### 输出
返回 | 包含图形的绘制数据结构。
PlotString | 语法：PlotString(String,Point.X,Point.Y,Color,Show) 在图像上绘制文本字符串。 提示： 将 PlotString 函数插入电子表格后，突出显示该函数的电子表格单元格，并使用“设置单元格”对话框来设置 PlotString 单元格和绘制的文本字符串的字体、字体大小和字体样式。 #### 输入
参数 | 说明
--- | ---
String（字符串） | 指定要绘制的文本字符串。
Point（点） | 指定要绘制的字符串的图像坐标 (-16777216 至 16777216)。
X | 字符串的 X 坐标。
Y | 字符串的 Y 坐标。
Color（颜色） | 指定绘制图形的颜色。（默认值：0x32cd32，石灰绿；最大值：0xffffff）
Show（显示） | 指定图像上图形叠加的显示模式。
0 = OFF | 图形将被隐藏，除非在电子表格中突出显示包含函数的单元格。
1 = ON（默认） | 图形将始终显示。
#### 输出
返回 | 包含图形的绘制数据结构。
数学 | 逻辑 | And | 语法：And(Value1, Value2, ...) 返回可变长度值列表的逻辑与运算结果。
BitAnd | BitAnd(Value1, Value2, ...) 返回值的按位与运算结果。 注意： 仅处理低 16 位。 示例 BitAnd(45, 77) 返回 13。 45 = 0000 0000 0010 1101 二进制。 77 = 0000 0000 0100 1101 二进制。 使用与运算分别比较这两个 16 位二进制数中的每个公共位会得到 0000 0000 0000 1101，即十进制的 13。
BitNot | 语法：BitNot(Value) 返回值的按位取反运算结果。 注意： 仅处理低 16 位。 示例 BitNot(45) 返回 65490。 45 = 0000 0000 0010 1101 二进制。 将每个 0 反转为 1 且每个 1 反转为 0 会得到二进制的 1111 1111 1101 0010，即十进制的 65490。
BitOr | 语法：BitOr(Value1, Value2, ...) 返回值的按位或运算结果。 注意： 仅处理低 16 位。 示例 BitOr(45, 77) 返回 109。 45 = 0000 0000 0010 1101 二进制。 77 = 0000 0000 0100 1101 二进制。 使用或运算分别比较这两个 16 位二进制数中的每个公共位会得到 0000 0000 0110 1101，即十进制的 109。
BitXor | 语法：BitXor(Value1, Value2, ...) 返回值的按位 XOR（异或）运算结果。（逻辑 XOR 如果一个位且仅有一个位为 TRUE，则结果为 TRUE。如果 2 个或更多位相等，则结果为 FALSE。） 注意： 仅处理低 16 位。 示例 BitXor(45, 77) 返回 96。 45 = 0000 0000 0010 1101 二进制 77 = 0000 0000 0100 1101 二进制。 0110 0000 是 45 到 77 之间唯一的非公共位，如下所示。
45 | 77 | 按位 XOR | XOR 位
--- | --- | --- | ---
0 | 0 | 两个 0 ≥ XOR FALSE | 0 (FALSE)
0 | 1 | 只有一个 1 ≥ XOR TRUE | 1 (TRUE)
1 | 0 | 只有一个 1 ≥ XOR TRUE | 1 (TRUE)
0 | 0 | 两个 0 ≥ XOR FALSE | 0 (FALSE)
1 | 1 | 两个 1 ≥ XOR FALSE | 0 (FALSE)
1 | 1 | 两个 1 ≥ XOR FALSE | 0 (FALSE)
0 | 0 | 两个 0 ≥ XOR FALSE | 0 (FALSE)
1 | 1 | 两个 0 ≥ XOR FALSE | 0 (FALSE)
0110 0000 = 96 十进制。
If | 语法：If(Cond, Value1, Value2) 如果 Cond 非零，则返回 Value1；否则返回 Value2。 注意： 如果条件或参数引用空单元格，它们将被解释为零 (FALSE)。
InRange | 语法：InRange(Value, Start, End) 如果 Min(Start,End) ≤ Value ≤ Max(Start,End)，则返回 TRUE。
InTolerance | 语法：InTolerance(actual, expected, tolerance %, margin) 确定实际值是否在预期值的相对公差范围内，以及两个值之间的差值是否超过界定的范围。
Not | 语法：Not(Value) 如果值为非零，则返回 0；如果值为 0，则返回 1。（逻辑取反） 示例 Not(-12345) 返回 0。 Not(3.14) 返回 0。 Not(2-1) 返回 0。 Not(1-1) 返回 1。
OneShot | 语法：OneShot(Val) 如果 Val 在本次执行中为 1 且在前一次执行中为 0，则返回 true。
Or | 语法：Or(Value1, Value2, ...) 如果所有值都为零，则返回 0；否则返回 1。（逻辑或 如果任何值为 TRUE，则结果为 TRUE。) 示例 Or(45, -77) 返回 1。 Or(-1, 0, 1) 返回 1。 Or(0, 1-1) 返回 0。
查找 注意： 对于需要文本字符串的函数参数，您不能直接通过 If、Switch 或 Choose 提供字符串。无效文本字符串的示例：, Len(If(...))要解决此问题，请将 If、Switch 或 Choose 放入一个单独的单元格中并创建对该单元格的引用。或者您可以更改语法中的顺序：您可以在一个单元格中输入 “If(Len( ) )”，这会给出一个有效的文本字符串。 | Choose（选择） | 语法：Choose(Index, Value0, [Value1, ...]) 返回长度可变列表中索引参数的值。
CountError | 语法：CountError(Cell1, [Cell2, ...]) 返回一个或多个单元格或单元格范围中的错误数。
ErrFree | 语法：ErrFree(Cell or Cell Range) 将 #ERR 单元格转换为空单元格，以消除错误传播。
If | 语法：If(Cond, Value1, Value2) 如果测试为非零，则返回值 1；如果测试为零，则返回值 2。
MaxI | 语法：MaxI(Value0, [Value1, ...]) 返回长度可变值列表中最大值的索引。
MinI | 语法：MinI(Value0, [Value1, ...]) 返回长度可变值列表中最小值的索引。
NthMaxI | 语法：NthMaxI(N, Value0, [Value1, ...]) 返回长度可变值列表中第 N 大的值的索引。
NthMinI | 语法：NthMinI(N, Value0, [Value1, ...]) 返回长度可变值列表中第 N 小的值的索引。
Switch（切换） | 语法：Switch(FindCase, Default, Case0, Value0, [Case1, Value1, ...]) 返回与 FindCase 的第一个匹配项对应的值。如果索引项为 FALSE，则将返回指定的 Default 值。如果公式中有多个 FindCase 匹配项，则返回与第一个匹配项对应的值。 Switch 示例 A4 = Switch(A2,-1,2,"C",3,"B",A3,"A") 如果单元格 A2=2，则单元格 A4 中返回的值将是 C。 如果单元格 A2=3，则单元格 A4 中返回的值将为 B。 如果单元格 A2=5，则返回到单元格 A4 的值将是默认值 -1，因为公式中没有与 FindCase 匹配的实例。
X | 语法：X(Cell) 返回电子表格单元格的 X 坐标数。
Y | 语法：Y(Cell) 返回电子表格单元格的 Y 坐标数。 注意： YA = 0.0 和 YZ = 25.0
算术 | Abs | 语法：Abs(Value) 返回 Value 的绝对值。
Exp | 语法：Exp(Value) 返回 e 的 Value 次方。
Mod | 语法：Mod(Value1, Value2) 返回 Value1 除以 Value2 所得的余数。
Power | 语法：Power(Base, Exp) 返回 Base 的 Exp 次方。
Rand | 语法：Rand(Event) 对输入事件返回一个随机数（0.0 到 1.0）。每个事件触发一个新的随机数字。 注意： Rand 必须是单元格中的唯一项。
Round | 语法：Round(Value) 返回 Value 四舍五入所得的最接近的整数。
RoundDown | 语法：RoundDown(Value) 返回值向下截断为次小整数。
RoundUp | 语法：RoundUp(Value) 返回 Value 向上舍入所得的次大整数。
Sqrt | 语法：Sqrt(Value) 返回 Value 的平方根。
Sum（总和） | 语法：Sum(Value1, [Value2, ...]) 返回长度可变列表中各值之和。
Trunc | 语法：Trunc(Value) 返回值向零截断为整数。结果是没有任何分数的值。
运算符 注意： 当某些片段插入电子表格时，在作业编辑工具栏中出现的公式可能包含字符，例如：！，&&，|，==，<>，> =，< =，！=。这些字符是以下逻辑和比较运算符的替代代码： | 非 | 语法：! 逻辑非
与 | 语法：&& 逻辑与
或 | 语法：|| 逻辑或
等于 | 语法：== 等于
不等于 | 语法：<>（或 !=） 不等于
相等 | 语法：= 相等
不相等 | 语法：<> 不相等
大于 | 语法：> 大于
小于 | 语法：< 小于
大于等于 | 语法：>= 大于等于
小于等于 | 语法：<= 小于等于
百分比 | 语法：% 百分比
加 | 语法：+ 加
减 | 语法：- 减
乘 | 语法：* 乘
除 | 语法：/ 除
统计 | ComputeStats | 语法：ComputeStats 计算所引用值的统计信息。
Max（最大值） | 语法：Max(Value0, [Value1, ...]) 返回长度可变值列表中的最大值。
Mean（均值） | 语法：Mean(Value0, [Value1, ...]) 返回长度可变值列表的平均值。
Min（最小值） | 语法：Min(Value0, [Value1, ...]) 返回长度可变值列表中的最小值。
NthMax | 语法：NthMax(N, Value0, [Value1, ...]) 返回长度可变值列表中的第 N 大值。
NthMin | 语法：NthMin(N, Value0, [Value1, ...]) 返回长度可变值列表中的第 N 小值。
SDev（标准偏差） | 语法：SDev(Value0, Value1, [Value2, ...]) 返回长度可变值列表的有偏标准偏差（其中分母为 N-1）。
SDevUnbiased | 语法：SDevUnbiased(Value0, Value1, [Value2, ...]) 返回长度可变值列表的无偏标准偏差（其中分母为 N）。
三角学 | ACos | 语法：ACos(Value) 返回 Value 的反余弦值（以度为单位）。 注意： -1 ≤ Value ≤ 1
ASin | 语法：ASin(Value) 返回 Value 的反正弦值（以度为单位）。 注意： -1 ≤ Value ≤ 1
ATan | 语法：ATan(Value) 返回 Value 的反正切值（以度为单位，±90）。
ATan2 | 语法：ATan2(DY,DX) 返回向量 (x,y) = (DY,DX) 的反正切值（以度为单位，±180）。
Cos | 语法：Cos(Angle) 返回 Angle（以度为单位）的余弦值。
Degrees | 语法：Degrees(Radians) 给定以弧度为单位的值，返回以度为单位的角度。
Pi | 语法：Pi 返回圆周率 ≈ 3.142 的值。
Radians | 语法：Radians(Degrees) 给定以度为单位的值，返回以弧度为单位的角度。
Sin | 语法：Sin(Angle) 返回 Angle（角度，以度为单位）的正弦值。
Tan | 语法：Tan(Angle) 返回 Angle（角度，以度为单位）的正切值。
结构 | Circle（圆） | 语法：Circle(Fixture.X,Fixture.Y,Fixture.Theta,Circle.X,Circle.Y,Circle.Radius,Show) 创建固定的圆形结构。 #### 输入 注意： Fixture（定位器）和 Circle（圆）参数必须在图像边界内定义；否则，该函数将返回 #ERR。
参数 | 说明
--- | ---
Fixture（定位器） | 指定定义圆的图像坐标系。
X | x 偏移。
Y | y 偏移。
Theta | 方向。
Circle（圆） | 以固定坐标指定圆的大小和位置。
X | 圆的 x 偏移。
Y | 圆的 y 偏移。
Radius（半径） | 圆的半径（1 到 16777216；默认值 = 100）。
Show（显示） | 指定图像上圆形重叠图形的显示模式。
0 = 隐藏所有（默认） | 除非包含 Circle 函数的单元格在电子表格中突出显示，否则不会显示圆结构。
2 = 仅输入图形 | 圆结构将始终显示。
#### 输出
返回 | 圆数据结构，或如果任何输入参数无效，则为 #ERR。
结果 | 最初将圆插入到单元格中时，系统会在电子表格中创建结果表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X | GetX(Circle) | 圆心的 x 偏移，以图像坐标表示。
Y | GetY(Circle) | 圆心的 y 偏移，以图像坐标表示。
Radius（半径） | GetRadius(Circle) | 圆的半径。
固定 | 语法：Fixture(Fixture.X,Fixture.Y,Fixture.Theta,Show 创建一个 Fixture（定位器）结构。 #### 输入
参数 | 说明
--- | ---
Fixture（定位器） | 指定定义定位器所用的图像坐标系。
X | x 偏移。
Y | y 偏移。
Theta | 方向。
Show（显示） | 指定图像上定位器点重叠图形的显示模式。
0 = 全部隐藏（默认） | 除非包含 Fixture 函数的单元格在电子表格中突出显示，否则不会显示定位器点图形。
2 = 仅输入图形 | 将始终显示定位器点图形。
#### 输出
返回 | Fixture 数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将定位器插入单元格时，会在电子表格中创建一个结果表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X | GetX(Fixture) | 返回定位器的 x 偏移，以图像坐标表示。
Y | GetY(Fixture) | 返回定位器的 y 偏移，以图像坐标表示。
Angle（角度） | GetAngle(Fixture) | 返回以图像坐标表示的方向角。
Line（直线） | 语法：Line(Fixture.X,Fixture.Y,Fixture.Theta,Line.X 0,Line.Y 0,Line.X 1,Line.Y 1,Show) 创建固定的直线结构。 #### 输入 注意： Fixture 和 Line 参数必须在图像边界内定义；否则，该函数将返回 #ERR。
参数 | 说明
--- | ---
Fixture（定位器） | 指定定义直线所用的图像坐标系。
X | x 偏移。
Y | y 偏移。
Theta | 方向。
Line（直线） | 指定直线的端点。
X 0 | 第一个端点的 x 偏移。
Y 0 | 第一个端点的 y 偏移。
X 1 | 第二个端点的 x 偏移。
Y 1 | 第二个端点的 y 偏移。
Show（显示） | 指定图像上直线重叠图形的显示模式。
0 = 全部隐藏（默认） | 除非在电子表格中突出显示包含 Line 函数的单元格，否则不会显示直线结构。
2 = 仅输入图形 | 直线结构将始终显示。
#### 输出
返回 | Line 数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将直线插入单元格时，会在电子表格中创建一个结果表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X0 | GetX(Line, 0) | 第一个端点的 x 偏移，以图像坐标表示。
Y0 | GetY(Line, 0) | 第一个端点的 y 偏移，以图像坐标表示。
X1 | GetX(Line, 1) | 第二个端点的x偏移，以图像坐标表示。
Y1 | GetY(Line, 1) | 第二个端点的 y 偏移，以图像坐标表示。
Point | 语法：Point(Fixture.X,Fixture.Y,Fixture.Theta,Point.X,Point.Y,Show) 创建固定的点结构。 #### 输入
参数 | 说明
--- | ---
Fixture（定位器） | 指定定义点所用的图像坐标系。
X | x 偏移。
Y | y 偏移。
Theta | 方向。
Point（点） | 以定位器坐标指定点的位置。
X | 交叉的 x 偏移量。
Y | 交叉的 y 偏移。
注意： Fixture 和 Point 参数必须在图像边界内定义；否则，该函数将返回 #ERR。
Show（显示） | 指定图像上点重叠图形的显示模式。
0 = 全部隐藏（默认） | 点结构将被隐藏，除非在电子表格中突出显示包含 Point 函数的单元格。
2 = 仅输入图形 | 点结构将始终显示。
#### 输出
返回 | Point 数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将点插入单元格时，会在电子表格中创建一个结果表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X | GetX(Point) | 点的 x 偏移，以图像坐标表示。
Y | GetY(Point) | 点的 y 偏移，以图像坐标表示。
区域 | 语法：Region(Fixture.X,Fixture.Y,Fixture.Theta,Region.X,Region.Y,Region.High,Region.Wide,Region.Angle,Region.Curve,Show) 创建固定的区域结构。 #### 输入 注意： 固定和区域参数必须在图像的范围内定义；否则，该函数将返回 #ERR。
参数 | 说明
--- | ---
Fixture（定位器） | 指定定义区域所用的图像坐标系。
X | x 偏移。
Y | y 偏移。
Theta | 方向。
Region（区域） | 指定位置、大小、旋转和曲率（如果是环形扇区，形状类似于圆或环）。区域始终在定位器的坐标系内定义。
X | 在固定坐标中，偏移原点的 x 值。
Y | 在固定坐标中，偏移原点的 y 值。
High（高度） | 沿着区域的 x 轴的维度。
Wide（宽度） | 沿着区域的 y 轴的维度。
Angle（角度） | 在固定坐标上的方向。
Curve（曲率） | 在区域 x 轴和相对的边界线之间的角度偏差。
Show（显示） | 指定图像上区域重叠图形的显示模式。
0 = 全部隐藏（默认） | 区域结构图形将被隐藏，除非在电子表格中突出显示包含 Region 函数的单元格。
2 = 仅输入图形 | 区域结构图将始终显示。
#### 输出
返回 | Region（区域）数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将区域插入单元格时，会在电子表格中创建一个结果表。
#### 视觉数据访问函数 以下视觉数据访问函数被自动插入到电子表格中以创建结果列表。
X | GetX(Structure, [Index1], [Index2]) | 返回一个 X 坐标。 注意： Index2，仅限边，指定一个端点（0 或 1）。Index2，ReadIDMax 指定符号角。
Y | GetY(Structure, [Index1], [Index2]) | 返回 Y 坐标。 注意： Index2，仅限边，指定一个端点（0 或 1）。Index2，ReadIDMax 指定符号角。
High（高度） | GetHigh(Region) | 沿着区域的 x 轴的维度。
Wide（宽度） | GetWide(Region) | 沿着区域的 y 轴的维度。
Angle（角度） | GetAngle(Region) | 图像坐标中的方向。
Curve（曲率） | GetCurve(Region) | 在区域 x 轴和相对的边界线之间的角度偏差。
文本 | 字符串 | Code | 语法：Code(Text) 返回与字符串中第一个字符的 ASCII 码对应的整数值。 Code 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Code(A2) 返回“A”的 ASCII 码 65.000。
Concatenate | 语法：Concatenate(Arg1, [Arg2, Arg3, ...]) 返回多个字母数字文本字符串的串接。数字参数会自动转换为文本。 注意： In-Sight 2000-110/120/120C 视觉传感器只能将通过/失败数据作为输出数据返回，且返回值转换为 0 或 1。 Concatenate 示例 如果单元格 A2 包含字母数字字符串“A1B1”，单元格 A3 包含字母数字字符串“C1D2”，单元格 A4 包含浮点数 4.556，则函数 Concatenate(A2,A3,A4) 返回“A1B1C1D24.556”
Exact | 语法：Exact(Text1, Text2) 如果 Text1 和 Text2 相同，则返回 1，否则返回 0。 注意： Exact 区分大小写。 Exact 示例 如果单元格 A2 包含字符串“ABC123”，单元格 A3 包含字符串“ABC1234”，则 Exact(A2,A3) 返回 0.000。 如果单元格 A2 包含字符串“VISION”，单元格 A3包含字符串“VISION”，则 Exact(A2,A3) 返回 1.000
Find | 语法：Find(FindText, SrcText, [StartChar]) 返回字符串 Text2 中所含字符串 Text1 的索引位置。在 Text2 中指定的 StartChar 位置（可选）开始搜索 Text1。 注意： Find 区分大小写。 Find 示例 如果单元格 A2 包含字符串“123”，单元格 A3 包含字符串“ABC123”，则 Find(A2,A3,2) 返回（从零开始的）索引值 3.000。 函数 Find(A2,A3,4) 返回-1.000，因为如果搜索从索引 4 开始，则无法在字符串“ABC123”中找到整个字符串“123”。
Left | 语法：Left(Text, NumChars) 返回 Text 字符串最左边的 NumChars 个字符。 Left 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Left(A2,2) 返回字符串“AB”。
Len | 语法：Len(Text) 返回 Text 字符串中的字符（字节）数。 Len 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Len(A2) 返回整数值 6.000。
Lower | 语法：Lower(Text) 返回转换为小写的 Text。 Lower 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Lower(A2) 返回字符串“abc123”。
Mid | 语法：Mid(Text, StartChar, NumChars) 返回字母数字字符串中从索引的 StartChar 位置开始的 Text，字符数由 NumChars 指定。 Mid 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Mid(A2,2,2) 返回字符串“C1”。
Replace | 语法：Replace(SrcText, StartChar, NumChars, NewText) 返回 StartChar 索引位置处被 NewText 替换后的 ScrText。 Replace 示例 如果单元格 A2 包含字母数字字符串“ABC123”，单元格 A3 包含字符串“123”，则 Replace(A2,0,3,A3) 返回字符串“123123”。
Right | 语法：Right(Text, NumChars) 返回文本字符串中最右边的指定数量 (NumChars) 的字符。 Right 示例 如果单元格 A2 包含字符串“ABC123”，则 Right(A2,2) 返回字符串“23”。
Strcspn | 语法：Strcspn(SrcText, CharList) 返回 SrcText 中同样包含在 CharList（字符列表）中的第一个字符的索引。如果 SrcText 中的所有字符都不在 CharList（字符列表）中，则该函数返回 SrcText 的长度。 注意： Strcspn 区分大小写。 Strcspn 示例 如果单元格 A2 包含字符串“BLUE”，单元格 A3 包含字符“RED”，则 Strcspn(A2,A3) 返回的索引值为 3.000，因为“E”是 CharList（字符列表）中包含的 SrcText 文本中的第一个字符。
Stringf | 语法：Stringf(Format-string, [Text or Value, ...]) 返回使用“C”库标准格式字符串构造的文本字符串。 提示： FormatString 函数支持大多数格式字符串参数；使用 FormatString 对话框可在 In-Sight Explorer 中自动配置参数。 注意： In-Sight 2000-110/120/120C 视觉传感器只能将通过/失败数据作为输出数据返回，且返回值转换为 0 或 1。 格式字符串必须放入引号（"）。 格式字符串参数区分大小写。 使用 Stringf 函数时，反斜杠“\”用于指示后跟一个格式控制字符。如果反斜杠后面没有控制字符（“n”、“r”或“t”），则反斜杠将被忽略。要显示单个反斜杠，必须输入两个反斜杠（例如：Stringf("C:\\InSight2\\") = "C:\InSight2\"). 不可打印/控制代码 ASCII 字符将显示为符号或“乱码”文本。 可用的格式字符串参数有：
%c | 返回对应于整数值的 ASCII 字符。当提供字母数字文本字符串时，会返回第一个字符。 Stringf %c 示例 如果单元格 A2 包含整数值 65.000，则 Stringf("%c",A2) 返回字符“A”，即 ASCII 码 65 对应的字符。函数 Stringf("Value = %c",A2) 返回字符串“Value = A”。 如果单元格 A2 包含字符串“123ABC”，则 Stringf("%c",A2) 返回字符“1”。
%d | 返回一个包含整数值的字符串。 Stringf %d 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%d",A2) 返回数字字符串“123”。函数 Stringf("Value = %d",A2) 返回字母数字字符串“Value=123”。 如果单元格 A2 包含字符串“ABC123”，则 Stringf("%d",A2) 返回数字字符串“65”，即字符“A”的 ASCII 码。
%e | 返回包含科学符号值的字符串。小数位数可以通过在 % 和 e 参数之间插入一个小数点 (.) 和一个数字来指定。 Stringf %e 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%e",A2) 返回数字字符串“1.234560e+02”。函数 Stringf("%.1e",A2) 返回数字字符串“1.2e+02”，因为小数点后只指定了一位数。
%f | 返回包含浮点值的字符串。小数位数可以通过在 % 和 f 参数之间插入一个小数点 (.) 和一个数字来指定。 Stringf %f 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%f",A2) 返回数字字符串“123.456001”。函数 Stringf("%.1f",A2) 返回数字字符串“123.5”，因为小数点后只指定了一位数。
%H | 返回一个字符串，其中包含 In-Sight 传感器的特定主机名。 Stringf %H 示例 对于主机名为“is3k010203”的 In-Sight 传感器，如果一个单元格包含函数 Stringf("Host Name: %H")，该函数将返回字母数字字符串“Host Name: is3k010203”。
%I | 返回一个字符串，其中包含 In-Sight 传感器的特定 IP 地址。 Stringf %I 示例 对于 IP 地址为“198.232.26.1”的 In-Sight 传感器，如果一个单元格包含函数 Stringf("IP Address: %I")，该函数将返回字母数字字符串“IP Address:198.232.26.1”。
%M | 返回一个字符串，其中包含 In-Sight 传感器的特定媒体访问控制 (MAC) 地址。MAC 地址是标识特定网络节点的硬件地址。每个 In-Sight 视觉系统都分配有一个唯一的 MAC 地址，该地址不能更改。例如，00-d0-24-01-02-03。要找到 In-Sight 视觉系统的 MAC 地址，请查看粘贴在视觉系统上的序列号标签。或者，您可以打开“关于 In-Sight Explorer”对话框。 Stringf %M 示例 对于 MAC 地址为“00-d0-24-01-02-03”的 In-Sight 传感器，如果一个单元格包含函数 Stringf("MAC Address: %M")，则该函数返回字母数字字符串“MAC Address: 00:d0:24:01:02:03”。
%N | 返回一个字符串，其中包含 In-Sight 传感器的特定序列号。 Stringf %N 示例 对于序列号为“Z01020304”的 In-Sight 传感器，如果一个单元格包含含函数 Stringf("Serial Number: %N")，则该函数返回字母数字字符串“Serial Number:Z01020304”。
%o | 返回一个字符串，其中包含整数的八进制值或字母数字字符串中的第一个字符。 Stringf %o 示例 如果单元格 A2 包含整数值 123.000，则 Stringf("%o",A2) 返回数字字符串“173”，即整数 123 的八进制值。如果单元格 A2 包含字符串“ABC123”，则 Stringf("%o",A2) 返回数字字符串“101”，即字符“A”的八进制值。
%s | 返回一个附加了字母数字字符的字符串。 Stringf %s 示例 如果单元格 A2 包含字符串“ABC”，则 Stringf("%s123",A2) 返回字母数字字符串“ABC123”。如果单元格 A2 包含数字字符串“123”，则 Stringf("%s.450",A2) 返回数字字符串“123.450”。
%T | 返回一个字符串，其中包含 In-Sight 传感器的特定型号。 Stringf %T 示例 对于 In-Sight 5400 s传感器，如果一个单元格包含函数 Stringf("Model Type: %T")，该函数将返回字母数字字符串“Model Type: 5400”。
%u | 返回一个包含无符号整数值的字符串。 Stringf %u 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%u",A2) 返回数字字符串“123”。函数 Stringf("Value = %u",A2) 返回字母数字字符串“Value = 123”。 如果单元格 A2 包含字符串“ABC123”，则 Stringf("%u",A2) 返回数字字符串“65”，即字符“A”的 ASCII 码。
%V | 返回一个字符串，其中包含 In-Sight 传感器的特定固件版本。 Stringf %V 示例 对于运行固件版本 3.40.01 的 In-Sight 传感器，如果一个单元格包含函数 Stringf("Firmware Version: %V")，则该函数返回字母数字字符串“Firmware Version:3.40.01 (475)”。
%x 或 %X | 返回一个字符串，该字符串包含整数值的十六进制值，或字母数字字符串中的第一个字符。 Stringf %x 示例 如果单元格 A2 包含整数值 123.000，则 Stringf("%x",A2) 返回字符串“7b”，即整数 123 的十六进制值。如果单元格 A2 包含字符串“ABC123”，则Stringf("%x",A2) 返回数字字符串“41”，即字符“A”的十六进制值。
以下格式字符串参数主要用于设置文本格式。例如，在 WriteSMTP 函数中设置电子邮件文本格式：
\x## | 将十六进制数字 ## 指定的 ASCII 字符插入到文本中。 Stringf \x## 示例 如果单元格 A2 包含 Stringf("\x02123\x1bABC\x03456")，则该单元格将显示：("<STX>123<ESC>ABC<ETX>456")。
\n | 在文本中插入换行符。该参数通常与 \r（回车）结合使用。
\r | 在文本中插入回车。该参数通常与 \n（换行符）一起使用。
\t | 在文本中插入制表符。
Strspn | 语法：Strspn(SrcText, CharList) 返回 SrcText 中不包含在 CharList（字符列表）中的第一个字符的索引。如果 SrcText 中的所有字符也都在 CharList（字符列表）中，则该函数返回 SrcText 的长度。 注意： Strspn 区分大小写。 Strspn 示例 如果单元格 A2 包含字符串“RED”，单元格 A3 包含字符“GREEN”，则 Strspn(A2,A3) 返回一个索引值 2.000（从零开始），因为“D”是 CharList（字符列表）中未包含的 SrcText 中的第一个字符。
Strtol | 语法：Strtol(IntegerText) 将字母数字字符串开始处的数字字符（十进制、十六进制和八进制）转换为整数。十六进制字符必须以“0x”开头；八进制字符必须以“0”开头。 Strtol 示例 十进制：如果单元格 A2 包含文本字符串“123ABC”，则函数 Strtol(A2) 返回整数值 123.000。 十六进制：如果单元格 A2 包含文本字符串“0x123”，则 Strtol(A2) 返回整数值 291.000。 "0x12AB" = 4,779.000，因为“A”和“B”是十六进制字符。 "0x12GB" = 18.000，因为“G”不是十六进制字符。 八进制：如果单元格 A2 包含文本字符串“0123ABC”，则 Strtol(A2) 返回整数值 83.000。
Substitute | 语法：Substitute(SrcText, OldText, NewText, [Instance]) 返回通过用 NewText 代替 SrcText 中出现的每个 OldText 而得到的文本字符串。如果指定可选的 Instance 索引，则将仅替换该文本实例。 Substitute 示例 如果单元格 A2 包含文本字符串“ABC123123”，单元格 A3 包含字符串“123”，单元格 A4 包含字符串“abc”，则 Substitute(A2,A3,A4,1) 会替换SrcText 中的“123”的第二个实例，并返回字符串“ABC123abc”。
Token | 语法：Token(Text, Delimiter, Instance) 返回位于分隔字符串指定 Instance 索引（出现）处的文本。在该函数中，分隔符必须放入引号 (")。 Token 示例 如果单元格 A2 包含逗号分隔的字符串“A,B,C,1,2,3”，则 Token(A2,",",2) 返回“C”，因为 C 在文本中的索引 2 处。
Trim | 语法：Trim(Text) 返回去掉前导和尾随空格的 Text，仅在单词之间留一个空格（如果有）。还会删除所有控制字符（回车、换行等）。 Trim 示例 如果单元格 A2 包含字符串“ ABC 123 ”，则 Trim(A2) 返回字符串“ABC 123”。
Upper | 语法：Upper(Text) 返回转换为大写的 Text。 Upper 示例 如果单元格 A2 包含字母数字字符串“abc123”，则函数 Upper(A2) 返回字符串“ABC123”。
值 | 语法：Value(NumericText) 返回 NumericText 的浮点值。忽略随后的非数字字符。 Value 示例 如果单元格 A2 包含数字字符串“123.4”，则函数值 Value(A2) 返回浮点值 123.400。 注意： In-Sight 单元格允许您输入最高 7 位的数值。如果 Value 函数引用的数字文本超过 8 位，则由于浮点数据类型的限制，该值可能不准确。例如： A2 = '68456668 A3 = Value(A2) 在这种情况下，函数返回 68456672.000。
视觉数据访问函数 | AutoLearnClassify | GetClassLabel | 语法：GetClassLabel (Structure, [Index], [Model]) 要使用此函数，请添加类，然后向每个类添加图像 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 GetClassLabel 返回与每个类关联的字符串。
GetModelHealth | 语法：GetModelHealth(Structure) 要使用此函数，请添加类，然后向每个类添加图像。 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 GetModelHealth 返回一个数字 (0-100)，该数字表示模型的“运行状况”，即其正确的可能性。
GetNClasses | 语法：GetNClasses(Structure) 要使用此函数，请添加类，然后向每个类添加图像。 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 GetNClasses 返回类的数量。
GetNImages | 语法：GetNImages(Structure, [Index], [Model]) 要使用此函数，请添加类，然后向每个类添加图像。 注意： 确保使用“Acquired”（已采集）关键字来指定当前图像。 GetNImages 返回每个类中的图像数。
Blobs | GetAngle | 语法：GetAngle(Blobs, Index) 返回斑点质心相对于关注区域 (ROI) 中心的角度，该区域定义了要检查的图像区域。 斑点的质心代表斑点的平衡点。如果把一片均匀的材料切成斑点的形状，斑点的平衡点就是质心。请注意，斑点的质心实际上可能不在斑点内部。 例如，假设下图中描绘的黑色区域是一个斑点，由 ExtractBlobs 函数标识。红点代表斑点的质心。 质心的 x 坐标和y 坐标分别由 GetX 和 GetY 视觉数据访问函数返回。
GetArea | 语法：GetArea(Blobs, Index) 返回斑点的面积（以像素为单位）。 通过计算斑点中包含的像素数来计算斑点的面积。例如，考虑放大的斑点，如下图所示： 通过计算像素数，我们可以看到这个斑点的面积为 8 像素。
GetHeight | 语法：GetHeight(Blobs, Index) 返回索引斑点的高度。
CircleFit | GetDistance | 语法：GetDistance(CircleFit, Index) 返回索引点和圆之间的距离。如果这个值为负值，则该点位于圆内。如果索引点无效，则返回 #ERR。
GetMaxDist | 语法：GetMaxDist(CircleFit) 返回圆与距离圆最远的点之间的距离。如果这个值为负值，则该点位于圆内。
GetMaxDistIndex | 语法：GetMaxDistIndex(CircleFit) 返回距离圆最远的点的索引。
GetNPointsUsed | 语法：GetNPointsUsed(CircleFit) 返回用于拟合圆的点数。
GetRadius | 语法：GetRadius(CircleFit) 返回圆的半径。
GetSigma | 语法：GetSigma(CircleFit) 返回点到圆的距离的平方和除以点的数量的平方根。
定时数据存储 | GetCount | 语法：GetCount(Delay) 返回延时结构中的计数值。
GetErrorCount | 语法：GetErrorCount(Count) 返回计数结构中错误的递增计数。当返回值小于零时，计数器将递增。
GetFailCount | 语法：GetFailCount(Count) 返回计数结构中失败的递增计数。当返回值等于零时，计数器将递增。
GetPassCount | 语法：GetPassCount(Count) 返回计数结构中传递的递增计数。当返回值大于零时，计数器将递增。
GetTotalCount | 语法：GetTotalCount(Count) 返回计数结构中通过、失败和错误的总数。
颜色 | GetActiveMatchClrColorName | 语法：GetActiveMatchClrColorName(Colors, Index) 返回 MatchColor 函数的索引活动颜色的名称。
GetBlue | 语法：GetBlue(Colors) 返回 MatchColor 函数的关注区域 (ROI) 中平均颜色的蓝色分量。
GetColorLibraryName | 语法：GetColorLibraryName(Color Structure) 与 TrainExtractColor、TrainMatchColor、ExtractColor 和 MatchColor 配合使用。对于 TrainExtractColor 和 TrainMatchColor 函数而言，返回函数存储的颜色库的名称。对于 ExtractColor 和 MatchColor 函数而言，返回所引用 Train 函数的名称（例如，分别为 TrainExtractColor 或 TrainMatchColor）。
GetConfidenceScore | 语法：GetConfidenceScore(Colors) 返回 MatchColor 函数当前检查的置信度得分。置信度得分 = ( s1 * (M - s2) - s2 * (M - s1)) / ( (M - s2) + (M - s1)) ；其中 s1 为最佳得分，s2 为次优得分，M 为等于 1.01 的常数。置信度得分越高，选择了最佳匹配的可能性就越大。
GetGreen | 语法：GetGreen(Colors) 返回 MatchColor 函数的关注区域中平均颜色的绿色分量。
GetHue | 语法：GetHue(Colors) 返回 MatchColor 函数的关注区域中平均颜色的色调分量。
GetIntensity | 语法：GetIntensity(Colors) 返回 MatchColor 函数的关注区域中平均颜色的强度分量。
GetMatchClrColorByRank | 语法：GetMatchClrColorByRank(Colors, Rank) 返回与 MatchColor 函数的分级（0 到 n-1）匹配的颜色索引。分级为 0 的颜色得分最高。
GetMatchClrColorState | 语法：GetMatchClrColorState(Colors, ColorName) 返回 MatchColor 函数的指定颜色的状态。
GetMatchClrDistByIndex | 语法：GetMatchClrDistByIndex(Colors, Index) 返回 MatchColor 函数的索引颜色的颜色距离。
GetMatchClrDistByName | 语法：GetMatchClrDistByName(Colors, Name) 返回 MatchColor 函数的指定颜色的颜色距离。
GetMatchClrScoreByIndex | 语法：GetMatchClrScoreByIndex(Colors, Index) 返回 MatchColor 函数的索引颜色的得分。
GetMatchClrScoreByName | 语法：GetMatchClrScoreByName(Colors, Name) 返回 MatchColor 函数的指定颜色的得分。
GetNActiveMatchClrColors | 语法：GetNActiveMatchClrColors(MatchColorLib) 返回在所引用 MatchColor 函数中处于活动状态的引用颜色的数量。
GetNTrainMatchClrColors | 语法：GetNTrainMatchClrColors(MatchColorLib) 返回 TrainMatchColor 函数存储的颜色数。
GetRed | 语法：GetRed(Colors) 返回 MatchColor 函数的关注区域中平均颜色的红色分量。
GetSaturation | 语法：GetSaturation(Colors) 返回 MatchColor 函数的关注区域中平均颜色的饱和度分量。
GetTrainMatchClrColorName | 语法：GetTrainMatchClrColorName(MatchColorLib, Index) 返回 MatchColor 函数的索引存储颜色的名称。
SetMatchClrColorState | 语法：SetMatchClrColorState(Colors, Enable, ColorName1, [ColorName2,...]) 返回 MatchColor 函数的已启用或已禁用的颜色数。此函数的单元格状态在首次插入电子表格时被禁用；它必须由 Button 函数有条件地启用。
控件 | GetString | 语法：GetString(ListBox) 返回文本字符串。如果引用了包含 ListBox 函数的单元格，则返回当前从列表中选择的文本字符串。
Dist | GetDistance | 语法：GetDistance(Dist) 返回距离值。
GetErrorCode | 语法：GetErrorCode(Structure) GetErrorCode 是一种视觉数据访问函数，可从大多数结构和函数返回诊断代码。 注意： 如果 #ERR 没有可用的错误代码，GetErrorCode 将返回 -1。
GetErrorString | 语法：GetErrorString(Structure) GetErrorString 是一种视觉数据访问函数，可从大多数结构和函数返回诊断信息。
GetValue | 语法：GetValue(Structure,[Index],[Color]) 其中，Structure 是对包含 ColorHist、Delay 或Hist 数据结构的单元格的引用。 Index 可选地指定从中计算计算直方图值（仅 ColorHist 和 Hist）的 bin。 Color 可选地确定用于提取直方图数据的颜色分量（仅 ColorHist） GetValue 是一种视觉数据访问函数，可从以下结构返回信息： ColorHist Delay Hist
输入/输出 | GetClock | 语法：GetClock(Time, Format String, [Local/GMT]) 以字符串的形式返回当前日期和时间，该字符串使用来自 Time 数据结构且由 Now 函数返回的一个“C”库标准格式字符串来构造。
Format String | 指定日期和时间的显示格式。默认格式字符串为：月/日/年 小时:分钟:秒，表示为：%m/%d/%Y %H:%M:%S 允许使用以下变量：
%m | 月
%d | 日
%Y | 年
%H | 小时
%M | 分钟
%S | 秒
%3N | 毫秒
%6N | 微秒
%9N | 纳秒
Local/GMT | 0 = 本地夏令时（默认） 1 = 格林尼治标准时间 (UTC) 2 = 本地标准时间
检查边缘 | GetWidth | 语法：GetWidth(InspectEdgeWidth, Caliper Index) 返回索引卡尺中的边缘宽度值；如果在索引卡尺中没有找到边缘，则返回 0。
LineFit | GetChi2 | 语法：GetChi2(LineFit) 返回点到直线距离的平方和。
GetDistance | 语法：GetDistance(LineFit, Index) 返回索引点和直线之间的距离。
GetMaxDist | 语法：GetMaxDist(LineFit) 返回距离直线最远的点。
GetMaxDistIndex | 语法：GetMaxDistIndex(LineFit) 返回距离直线最远的点的索引。
GetNPointUsed | 语法：GetNPointUsed(LineFit) 返回用于计算直线的点数。
GetX | 语法：GetX(Structure, [Index1], [Index2]) 返回一个 X 坐标。
GetY | 语法：GetY(Structure, [Index1], [Index2]) 返回 Y 坐标。
脚本编写 | Get | 语法：Get(Script/Get,Object Property and or Array,[Array Index]) 返回由 Script 函数或另一个 Get 函数输出的数组和/或对象的属性。 注意： 此函数仅适用于运行 In-Sight 固件 5.1.0 及更高版本的 In-Sight 视觉系统。 #### 概述 Get 函数用于访问由 Script 函数返回的对象的属性。它至少需要两个参数：对 Script 函数的引用，或另一个返回对象或数组的 Get 函数；以及表示对象属性的字符串，或指向子对象属性的点分隔路径。（可选）当引用数组时，可以指定第三个参数来访问从零开始的数组索引。 Get 函数的返回值是属性（或索引数组元素）的值，可以是以下任何类型： 数字 true (1) 或 false (0) 字符串 Binary 数据结构 Blob、Edge、Hist、IDMax 或 Pattern 数据结构 形状对象。 Object 或 Array 数据结构 注意： Get 函数不支持返回 null 或 undefined（未定义）。 #### Get 示例 在本例中，单元格 B3 中的 Script 函数有一个返回对象的运行方法：
    Tool.prototype.run = function(n) {
      this.updateStats(n);
      return {
        total: this._total;
    	stats: {
    	  avg: this._avg,
    	  range: {
    	    max: this._max,
    	    min: this._min
    	  },
    	  values: this._valueArray
    	}
       };
    };
以下 Get 函数将返回简单的数字（假设返回的值是数字）： Get(B3, "total") Get(B3, "stats.avg") Get(B3, "stats.range.max") Get(B3, "stats.range.min") 下面的 Get 函数将返回“range”子对象，它可以被传递到另一个脚本或 Get 函数中： Get(B3, "stats.range") 下面的 Get 函数将从值数组返回元素 37： Get(B3, "stats.values", 37) #### 输入
参数 | 说明
--- | ---
Script/Get | 指定对返回 Object 或 Array 数据结构的 Script 函数或另一个 Get 函数的引用。
对象属性和/或数组 | 指定对 Object 数据结构的属性的引用，可以是字符串（属性的名称）或子对象属性的点分隔路径；也可以是 Array 数据结构。
[Array Index] | 当引用 Array 数据结构时，指定数组索引的可选参数。
#### 输出
返回 | 该函数将返回属性（或索引数组元素）的值，并且可能返回以下任何类型： 数字 true (1) 或 false (0) 字符串 Binary 数据结构 Blobs、Edges、Hist、IDMax 或 Pattern 数据结构 形状对象 Object 或 Array 数据结构
注意： 该函数不会从 Script 函数返回以下内容：null、undefined（未定义）或无返回语句（被视为与空对象相同）。
Stats | GetLatest | 语法：GetLatest(Stats) 返回用于计算统计信息的最新值。
GetMax | 语法：GetMax(Stats) 返回用于计算统计信息的最大值。
GetMean | 语法：GetMean(Stats) 返回值的平均值。
GetMin | 语法：GetMin(Stats) 返回用于计算统计信息的最小值。
GetErrorCount | 语法：GetErrorCount(Stats) 返回引用值的错误总数。
GetNumSamples | 语法：GetNumSamples(Stats) 返回用于计算的样本总数。
GetRange | 语法：GetRange(Stats) 返回最小值和最大值之间的范围。
GetSDev | 语法：GetSDev(Stats) 返回值的标准偏差。
GetSum | 语法：GetSum(Stats) 返回值的总和。
GetVariance | 语法：GetVariance(Stats) 返回值的方差。
结构 注意： 以下函数的 Structure（结构）参数必须是对 Annulus、Circle、Cross、Fixture、Line、Mask、Point 或 Region 函数返回的数据结构的引用。描述中指明了每种函数的有效结构。 | GetCurve | 语法：GetCurve(Structure) 从索引区域结构返回曲线值
GetNPoints | 语法：GetNPoints(Structure) GetNPoints 适用于多边形并返回点数。
Timer | GetAllTime | 语法：GetAllTime(Image) 返回要获取图像和要执行作业的时间（以毫秒为单位），如果输入值无效，则返回 #ERR。 注意： 此参数必须使用“Acquired”（已采集）关键字，它表示最近获取的图像。 返回的 GetAllTime 值不包括传感器胶片的执行时间。 GetAllTime 函数和状态栏计算时间的方式与“配置文件作业”对话框不同。“配置文件作业”对话框还用于构建结果图形。 如果在公式中使用此函数，将根据单元格位置返回不同的值。例如，当 GetAllTime(A0) 为 80 时，1*GetAllTime(A0) 也应为 80。但是，如果包含 1*GetAllTime(A0) 的单元格位于作业的开头，它返回的值几乎与 GetTime(A0)相同，其中不包括其他工具的执行时间。如果 1*GetAllTime(A0) 位于作业的结尾，它将包括所有作业执行时间。要返回正确的值，请为 GetAllTime(A0) 创建一个单独的单元格，并在公式中为其使用单元格引用。例如，如果您在单元格 B2 中创建 GetAllTime(A0)，则 1*B2 将返回正确的值，而无论该单元格位置如何。 当“HMI 设置对话框”的“最大视图连接数”设置设为 2 或更多时，与使用 In-Sight 固件 4.xx 的视觉系统相比，使用 In-Sight 固件 5.xx 的视觉系统返回的 GetAllTime 值将更长。除了图像采集和作业执行时间之外，运行 In-Sight 固件 5.xx 的视觉系统返回的 GetAllTime 值会将多个视图更新时间添加到最终值，而对于运行 In-Sight 固件 4.xx 的视觉系统而言则不包含该值。
GetTime | 语法：GetTime(Cell1, [Cell2, ...]) 返回要执行可变长度单元格列表的时间（以毫秒为单位），如果输入值无效，则返回 #ERR。如果选择了多个单元格，则返回所有执行时间的总和。