Skip to content

导入和使用高频仿真数据

简介

本指南介绍了如何在 MindSphere 中使用高频仿真数据。

仿真广泛应用于在虚拟环境中测试和分析新产品,以便对物理产品在其生命周期中的预期行为进行早期测量和预测。另一方面,IoT 数据可用作优化仿真运行的输入,这两个数据集均可用于预测机器的潜在弱点,从而实现更好的前期设计和预测性维护等用例。

先决条件

创建仿真 Asset

仿真数据只能导入到仿真 assets 中。这些仿真 assets 不代表导入数据的实际设备,而是完全虚拟的。但是,它们还需要一个 aspect 类型,用于映射导入的仿真数据。有关如何创建 aspect 类型和 asset types 的详细信息,请参见 Assets 建模

仿真 assets 不能从基本代理(例如,Nanobox、IoT2040)、子租户 asset types 和层级 assets 中派生。

Asset Manager

要使用 Asset Manager 创建仿真 asset,请执行以下步骤:

  1. 在 MindSphere Launchpad 中打开 Asset Manager
  2. Types 选项卡中,从列表选择中 BasicDevice
  3. 单击加号以创建自定义 asset type,该 type 派生core.basicdevice

    创建自定义 Asset Type

  4. 切换到 Assets 选项卡上,单击加号以新建一个 asset。
    显示用于选择 asset type 的画面。

  5. 选择由 core.basicdevice 派生的自定义 asset type。
  6. 输入 asset 的所有相关信息,然后启用仿真复选框,如下所示:

注意

asset 的分类只能在创建时设置。创建之后则无法更改其分类。

Create Simulation Asset

有关 Asset Manager 的详细信息,请参见 Asset Manager 文档

Asset Management API

要使用 Asset Management Service 创建一个仿真 asset,请使用可选参数 twinType。该属性的有效值是 performancesimulation。在这里,使用 simulation,例如:

POST /api/assetmanagement/v3/assets HTTP/1.1
Host:gateway.{region}.{mindsphere-domain}
Content-Type:application/json
Accept:application/json
Authorization:Bearer {token}
{
 "name":"SimulationAsset",
 "description":"Asset for simulated data",
 "typeId": "{core.basicdevice}",
 "parentId": "{parentAssetId}",
 "twinType": "simulation"
}

准备仿真数据

仿真数据必须以文件的形式提供。内容必须采用 JSON 格式,结构如下:

[
 {
 "_time":"2018-11-01T10:00:00.050000Z",
 "pressure":"382.12638",
 "temperature":"52.785329",
 "humidity":"80.89459",
 },
 ...
]

单个文件可以包含多个时间序列记录,这些记录按时间戳升序排序。一个小时间隔的数据最多可以分布在 10 个文件中,这些文件的时间段必须互不重叠。Time Series Bulk Import Service 以小时对齐方式工作,并要求单个导入作业只包含开始和结束时间在同一小时内的数据。即,一个文件中所有时间戳的小时部分必须相等。

将仿真数据上传到 MindSphere

使用 IoT File Service 将包含仿真数据的文件上传到 MindSphere,例如:

PUT /api/iotfile/v3/files/978528e7a124458f87c8f1d38fd9400f/simulationData.json HTTP/1.1
Host:gateway.{region}.{mindsphere-domain}
Content-Type:application/octet-stream
Accept:application/octet-stream
Authorization:Bearer {token}

上传成功后,该服务将返回 HTTP 201。

导入数据

使用 IoT Time Series Bulk Service 将仿真数据从 IoT File Service 导入到某一 asset 中。单个导入作业最多可以导入 10 个输入文件,这些文件最多可以包含一个小时的数据,如上文所述。对于每个输入文件,必须为其指定 IoT File Service 的相对路径以及文件中的第一个和最后一个时间戳。以下请求可将两个文件中的仿真数据导入某一 asset 的 aspect tireMonitor

POST /api/iottsbulk/v3/importJobs HTTP/1.1
Host:gateway.{region}.{mindsphere-domain}
Content-Type:application/json
Accept:application/json
Authorization:Bearer {token}
{
 "data": [
 {
 "entity":"978528e7a124458f87c8f1d38fd9400f",
 "propertySetName": "tireMonitor",
 "timeseriesFiles": [
 {
 "filePath":"Demo/SampleFile1.json",
 "from":"2018-09-21T15:00:01.787000Z",
 "to":"2018-09-21T15:05:50.633015Z"
 },
 {
 "filePath":"Demo/SampleFile2.json",
 "from":"2018-09-21T15:07:00.795015Z",
 "to":"2018-09-21T15:11:40.417015Z"
 }
 ]
 }
 ]
}

同一小时内导入的多个文件可以分为多个导入请求。这允许导入具有重叠时间段的文件。请注意,此服务不会在同一小时内并行处理来自多个导入请求的数据。特定小时的导入请求将按接收请求的顺序处理。

检索仿真数据

要检索特定时间范围内特定 aspect 的仿真数据,请使用 IoT Time Series Bulk Service,例如:

GET /api/iottimeseries/v3/iottsbulk/978528e7a124458f87c8f1d38fd9400f/tireMonitor?from=2018-11-01T10:00:00.050000Z&to=2018-11-01T10:00:05.000000Z&select=pressure,temperature HTTP/1.1
Host:gateway.{region}.{mindsphere-domain}
Accept:application/json
Authorization:Bearer {token}

还有问题?

向社区提问


除非另行声明,该网站内容遵循MindSphere开发许可协议.


Last update: July 11, 2019