使用软件管理与KPM一起工作的示例 «节奏»
节奏*是实时运行模型的硬件解决方案。 它允许您将工作场景与物理设备集成,并直接从 *AnyMath .
开始使用目标平台 «节奏»:
-
安装*Engee子系统。集成*,如图所示 文章.
-
之后,一个用于与外部设备一起工作的模块变得可用,该模块提供KPM的软件管理。 «节奏». 要连接模块,请输入以下命令:
using Main.EngeeDeviceManager.Targets: RITM_API -
添加节奏机 AnyMath 通过应用程序 RITM.管理器
或通过 RITM_API.[医. -
安装支持 节奏块:
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-返回基于节奏分析模型的结果。
| 文中提供了每种方法的详细描述。 节奏软件控制. |
使用节奏模型的分步示例
-
连接模块并添加机器-导入模块并添加节奏机器:
using Main.EngeeDeviceManager.Targets: RITM_API if !RITM_API.isMachineExists("RITM 1") RITM_API.addMachine("RITM 1", "192.168.56.3") end -
检查节奏的可用性-检查是否与节奏设备建立连接:
RITM_API.isConnected("RITM 1")如果方法返回
错误然后检查机器名称,并确保客户端程序在RITM上运行。 -
固件和支持包版本-找出固件和支持包版本。:
RITM_API.version("RITM 1") -
大会开放于 AnyMath 基于节奏的模型 独立模式:
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; is_interactive_mode=false)启动后,模型将以先前设置的模式(在我们的例子中,以独立模式)开始执行。
-
停止模型-停止在节奏上执行所有正在运行的模型:
RITM_API.stopModel("RITM 1") -
输出目录的内容到节奏-我们得到指定目录下的文件列表(
/home/ritm/):RITM_API.listFiles("RITM 1", "/home/ritm/build/example_ritm_extmodel") -
读取文件内容-输出文件内容
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/") -
获取文件到当前目录-下载指定文件(
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="") -
获取有关内存的信息-我们将请求模型的内存消耗数据:
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") -
查看最后10行日志-获取模型执行日志的最后10行:
ritm_log = RITM_API.getLog("RITM 1", 10); print(ritm_log)它们可用于调试和诊断模型。
-
创建一个截图,并得到它的路径-采取汽车的截图。:
screenshot_path = RITM_API.getScreenshot("RITM 2", "example.png")文件上传到 AnyMath ,并且该函数返回到它的本地路径。
using FileIO using Images load("example.png") -
检查模型的状态-确保模型以节奏运行:
RITM_API.isRunning("RITM 1", "example_ritm_extmodel")如果函数返回
真的,则模型被执行。 -
获取剖析数据-我们将以文件或字符串的形式从节奏中获取模型的剖析数据:
RITM_API.getProfileData("RITM 1", "example_ritm_extmodel") -
文件上传-下载文件
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") -
文件删除-删除上传的文件
example_ritm_data。jld2在节拍上:RITM_API.removeFile("RITM 1", "/home/ritm/data/example_ritm_data.jld2") -
接收诊断-我们将接收节奏机器的诊断:
RITM_API.getDiagnostic("RITM 1")档案
ritm_diagnostic.拉链它将被写入当前目录。 -
重新启动-重新启动计算机。:
RITM_API.reboot("RITM 1") -
关机-关闭节奏机:
RITM_API.poweroff("RITM 1") -
配置以太网接口-配置节奏机的以太网接口:
RITM_API.setupEthernet("RITM 1", ethernetNumber, "192.168.0.10", 24) -
使用autorun
将模型放入autorun:
RITM_API.setAutostart("RITM 1", model.name)获取autorun中的模型列表(如果未配置autorun,则为空):
RITM_API.getAutostart("RITM 1")从自动运行中删除模型:
RITM_API.disableAutostart("RITM 1")
一个管理机器的例子 AnyMath
-
汽车列表-我们将在以下位置显示已知汽车列表 AnyMath :
RITM_API.getMachines() -
机器名称和IP地址-获取机器的IP地址由它的名字或机器的名字由它的IP地址:
RITM_API.getIPByName("RITM 1") RITM_API.getNameByIP("192.168.56.3") -
添加汽车-将汽车添加到已知汽车列表中 AnyMath 如果尚未添加:
if !RITM_API.isMachineExists("RITM 2") RITM_API.addMachine("RITM 2", "192.168.56.4") end -
删除汽车-如果汽车在已知汽车列表中,我们将按其确切名称删除汽车。 AnyMath :
if RITM_API.isMachineExists("RITM 2") RITM_API.removeMachine("RITM 2") end