AnyMath 文档

使用软件管理与KPM一起工作的示例 «节奏»

节奏*是实时运行模型的硬件解决方案。 它允许您将工作场景与物理设备集成,并直接从 *AnyMath .

开始使用目标平台 «节奏»:

  1. 安装*Engee子系统。集成*,如图所示 文章.

  2. 之后,一个用于与外部设备一起工作的模块变得可用,该模块提供KPM的软件管理。 «节奏». 要连接模块,请输入以下命令:

    using Main.EngeeDeviceManager.Targets: RITM_API
  3. 添加节奏机 AnyMath 通过应用程序 RITM.管理器 ritm icon 或通过 RITM_API.[医.

  4. 安装支持 节奏块:

    engee.package.install("RITM-Engee-Blocks")

节奏工作的基本方法

以下方法可用于在节奏上使用设备:

  • RITM_API。建造模型 -根据节奏建立模型。

  • RITM_API。runModel的 -开始的节奏模型。

  • RITM_API。停止模型 -停止模型的节奏。

  • RITM_API。连接,连接 -检查节奏的可用性。

  • RITM_API。isRunning -检查节奏模型是否正在运行。

  • RITM_API。列表文件 -检索指定目录中的文件列表。

  • RITM_API。阅读文件 -从指定目录返回指定文件的内容。

  • RITM_API。下载文件 -从指定目录检索指定的文件。

  • RITM_API。记忆信息 -返回有关模型消耗的内存的信息。

  • RITM_API。获取日志 -返回节奏上模型执行日志的指定行数。

  • RITM_API。[医]射击 -在节奏上创建屏幕截图并返回图像文件的路径。

  • RITM_API。getProfileData -返回基于节奏分析模型的结果。

文中提供了每种方法的详细描述。 节奏软件控制.

使用节奏模型的分步示例

  1. 连接模块并添加机器-导入模块并添加节奏机器:

    using Main.EngeeDeviceManager.Targets: RITM_API
    
    if !RITM_API.isMachineExists("RITM 1")
        RITM_API.addMachine("RITM 1", "192.168.56.3")
    end
  2. 检查节奏的可用性-检查是否与节奏设备建立连接:

    RITM_API.isConnected("RITM 1")

    如果方法返回 错误 然后检查机器名称,并确保客户端程序在RITM上运行。

  3. 固件和支持包版本-找出固件和支持包版本。:

    RITM_API.version("RITM 1")
  4. 大会开放于 AnyMath 基于节奏的模型 独立模式:

    engee.open("/user/Engee-Device-Manager-demos/example_RITM/example_ritm_extmodel.engee")
    model = engee.gcm()
    RITM_API.buildModel("RITM 1", model)
  5. 启动模型-在节奏机器上启动模型:

    RITM_API.runModel("RITM 1", model; is_interactive_mode=false)

    启动后,模型将以先前设置的模式(在我们的例子中,以独立模式)开始执行。

  6. 停止模型-停止在节奏上执行所有正在运行的模型:

    RITM_API.stopModel("RITM 1")
  7. 输出目录的内容到节奏-我们得到指定目录下的文件列表(/home/ritm/):

    RITM_API.listFiles("RITM 1", "/home/ritm/build/example_ritm_extmodel")
  8. 读取文件内容-输出文件内容 example_ritm_extmodel_profile。txt的 从目录 /home/ritm/build/example_ritm_extmodel/:

    RITM_API.readFile("RITM 1", "example_ritm_extmodel_profile.txt"; path="/home/ritm/build/example_ritm_extmodel/")
  9. 获取文件到当前目录-下载指定文件(example_ritm_extmodel_profile。txt的)从目录 /home/ritm/build/example_ritm_extmodel/ 到当前目录 AnyMath :

    RITM_API.downloadFile("RITM 1", "example_ritm_extmodel_profile.txt"; from="/home/ritm/build/example_ritm_extmodel/", to="")
  10. 获取有关内存的信息-我们将请求模型的内存消耗数据:

    engee.open("/user/Engee-Device-Manager-demos/example_RITM/example_ritm_extmodel.engee")
    
    model = engee.gcm()
    
    RITM_API.buildModel("RITM 1", model)
    RITM_API.runModel("RITM 1", model)
    
    memInfoBytes = RITM_API.memInfo("RITM 1", "example_ritm_extmodel")
    memInfoMb = memInfoBytes / 1024
    println("Used memory: $(memInfoMb) MB")
  11. 查看最后10行日志-获取模型执行日志的最后10行:

    ritm_log = RITM_API.getLog("RITM 1", 10);
    print(ritm_log)

    它们可用于调试和诊断模型。

  12. 创建一个截图,并得到它的路径-采取汽车的截图。:

    screenshot_path = RITM_API.getScreenshot("RITM 2", "example.png")

    文件上传到 AnyMath ,并且该函数返回到它的本地路径。

    using FileIO
    using Images
    
    load("example.png")
  13. 检查模型的状态-确保模型以节奏运行:

    RITM_API.isRunning("RITM 1", "example_ritm_extmodel")

    如果函数返回 真的,则模型被执行。

  14. 获取剖析数据-我们将以文件或字符串的形式从节奏中获取模型的剖析数据:

    RITM_API.getProfileData("RITM 1", "example_ritm_extmodel")
  15. 文件上传-下载文件 example_ritm_data。jld2 从目录 AnyMath /用户/工程师-设备管理器-演示/example_RITM/ 到节奏目录 /home/ritm/数据:

    RITM_API.uploadFile("RITM 1", "example_ritm_data.jld2"; from="/user/Engee-Device-Manager-demos/example_RITM/", to="/home/ritm/data")
  16. 文件删除-删除上传的文件 example_ritm_data。jld2 在节拍上:

    RITM_API.removeFile("RITM 1", "/home/ritm/data/example_ritm_data.jld2")
  17. 接收诊断-我们将接收节奏机器的诊断:

    RITM_API.getDiagnostic("RITM 1")

    档案 ritm_diagnostic.拉链 它将被写入当前目录。

  18. 重新启动-重新启动计算机。:

    RITM_API.reboot("RITM 1")
  19. 关机-关闭节奏机:

    RITM_API.poweroff("RITM 1")
  20. 配置以太网接口-配置节奏机的以太网接口:

    RITM_API.setupEthernet("RITM 1", ethernetNumber, "192.168.0.10", 24)
  21. 使用autorun

    将模型放入autorun:

    RITM_API.setAutostart("RITM 1", model.name)

    获取autorun中的模型列表(如果未配置autorun,则为空):

    RITM_API.getAutostart("RITM 1")

    从自动运行中删除模型:

    RITM_API.disableAutostart("RITM 1")

一个管理机器的例子 AnyMath

  1. 汽车列表-我们将在以下位置显示已知汽车列表 AnyMath :

    RITM_API.getMachines()
  2. 机器名称和IP地址-获取机器的IP地址由它的名字或机器的名字由它的IP地址:

    RITM_API.getIPByName("RITM 1")
    RITM_API.getNameByIP("192.168.56.3")
  3. 添加汽车-将汽车添加到已知汽车列表中 AnyMath 如果尚未添加:

    if !RITM_API.isMachineExists("RITM 2")
        RITM_API.addMachine("RITM 2", "192.168.56.4")
    end
  4. 删除汽车-如果汽车在已知汽车列表中,我们将按其确切名称删除汽车。 AnyMath :

    if RITM_API.isMachineExists("RITM 2")
        RITM_API.removeMachine("RITM 2")
    end