主题
仿真模式
选中通道后,可修改仿真模式选项,如果启用了“仿真模式”,通道将停止与设备进行通讯,不再采集设备数据,改为模拟生成仿真数据。 我们可以通过配置点表的【仿真表达式】来定义仿真数据的生成规则。
仿真表达式格式支持以下几种:
- 斜坡函数:RAMP(速率, 下限, 上限, 增量)
- 随机函数:RANDOM(速率, 下限, 上限)
- 正弦函数:SINE(速率, 下限, 上限, 频率, 相位)
- 用户函数:USER(速率, 用户值 1, 用户值 2, 用户值 3, …用户值 N)
斜坡函数:RAMP(速率, 下限, 上限, 增量) 斜坡函数用于创建指定数字范围内递增或递减的值。应使用下限和上限设置所需的范围。可调整下限或上限,以对生成的数据应用偏移。增量值可为正数或负数。如果增量值为正,则值将以所需速率生成由下限到上限的斜坡。如果增量值为负,则值将以所需速率生成由上限到下限的斜坡。输入的下限、上限和增量值可为整数或浮点格式。 示例:
kotlin
RAMP(120, 35, 100, 4)
将创建增量为每 120 毫秒递增 4 的 35 到 100 的值。
RAMP(301, 150.75, 200.50, -0.25)
将创建增量为每 300 毫秒递减 0.25 的 200.50 到 150.75 的值。
随机函数:RANDOM(速率, 下限, 上限) 斜坡函数用于创建指定数字范围内可随意更改的项。应使用下限和上限设置所需的范围。可调整下限或上限,以对生成的数据应用偏移。 示例:
kotlin
RANDOM(30, -20, 75)
将创建速率为 30 毫秒的从 -20 到 75 随机变化的值。
正弦函数:SINE(速率, 下限, 上限, 频率, 相位) 正弦函数可用于创建遵循正弦值更改的项。应使用下限和上限设置所需的范围。可调整下限或上限,以对生成的数据应用偏移。“频率”属性可用于指定每秒产生的波形数量 (以赫兹为单位)。最大的有效频率大约为 5 赫兹。“频率”属性的有效范围为 0.001 至 5 赫兹。“相位”属性可用于偏移由特定角度生成的正弦波。输入“相位”的范围应在 0.0 到 360.0 之间。在这种情况下,对于模拟函数的运行方式,“速率”属性起到了关键作用。为了获得此函数的良好正弦输出,“速率”必须至少比所需“频率”快两倍。例如,对于在 200 毫秒的速率下发生变化的正弦波,如果用户想要得到 5 赫兹的正弦波,则“速率”属性的最大值应设置为 100 毫秒。为了获得最佳的正弦波结果,建议将“速率”设置为 10 或 20 毫秒。正弦函数“速率”的有效范围为 10-1000 毫秒。 示例:
kotlin
SINE(10、-40、40、2、0)
这将创建频率为 2 赫兹的正弦值,其范围介于 -40 至 40 之间,并且不具有相位偏移。
用户函数:USER(速率, 用户值 1, 用户值 2, 用户值 3, …用户值 N) USER 函数为定义模拟函数返回的数据类型。此参数用于指定在物理设备中找到此标记时,该标记的数据格式。与其他函数在指定范围内进行操作有所不同,USER 函数可用于指定一组数字或字符串值以指定速率进行循环。输入的值用于确定项目的数据类型。 示例:
kotlin
USER(200, Hello, World, this, is, a, test)
这会创建以 200 毫秒速率从序列中的一个文本自动更改为下一个的字符串数据类型值。
USER(100, 1.25, 100.56, 200.11,75.1)
这会创建以 100 毫秒速率从序列中的一个浮点值更改为下一个的浮点数据类型值。
USER(100, 1,1,0,1,0,1,0,0,1,1,1,0,0,0)
这会生成以 100 毫秒速率从序列中的一个布尔状态更改为下一个的布尔状态。这可用于创建非常复杂的位阵列。
速率单位为毫秒,最快速率支持 100ms。