Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Impor contoh metadata
Bagian ini menunjukkan cara membuat file metadata untuk mengimpor model aset dan aset dengan operasi impor massal tunggal.
Contoh impor massal
Anda dapat mengimpor banyak model aset dan aset dengan satu operasi impor massal. Contoh berikut menunjukkan cara membuat file metadata untuk melakukan hal ini.
Dalam skenario contoh ini, Anda memiliki berbagai situs kerja yang berisi robot industri dalam sel kerja.
Contoh mendefinisikan dua model aset:
-
RobotModel1
: Model aset ini mewakili jenis robot tertentu yang Anda miliki di lokasi kerja Anda. Robot memiliki properti pengukuran,Temperature
. -
WorkCell
: Model aset ini mewakili kumpulan robot dalam salah satu situs kerja Anda. Model aset mendefinisikan hierarki,robotHierarchyOEM1
, untuk mewakili hubungan bahwa sel kerja berisi robot.
Contoh ini juga mendefinisikan beberapa aset:
-
WorkCell1
: sel kerja dalam situs Boston Anda -
RobotArm123456
: robot di dalam sel kerja itu -
RobotArm987654
: robot lain di dalam sel kerja itu
File JSON metadata berikut mendefinisikan model dan aset aset ini. Menjalankan impor massal dengan metadata ini menciptakan model aset dan aset di dalamnya AWS IoT SiteWise, termasuk hubungan hierarkisnya.
{ "assetModels": [ { "assetModelExternalId": "Robot.OEM1.3536", "assetModelName": "RobotModel1", "assetModelProperties": [ { "dataType": "DOUBLE", "externalId": "Temperature", "name": "Temperature", "type": { "measurement": { "processingConfig": { "forwardingConfig": { "state": "ENABLED" } } } }, "unit": "fahrenheit" } ] }, { "assetModelExternalId": "ISA95.WorkCell", "assetModelName": "WorkCell", "assetModelProperties": [], "assetModelHierarchies": [ { "externalId": "workCellHierarchyWithOEM1Robot", "name": "robotHierarchyOEM1", "childAssetModelExternalId": "Robot.OEM1.3536" } ] } ], "assets": [ { "assetExternalId": "Robot.OEM1.3536.123456", "assetName": "RobotArm123456", "assetModelExternalId": "Robot.OEM1.3536" }, { "assetExternalId": "Robot.OEM1.3536.987654", "assetName": "RobotArm987654", "assetModelExternalId": "Robot.OEM1.3536" }, { "assetExternalId": "BostonSite.Area1.Line1.WorkCell1", "assetName": "WorkCell1", "assetModelExternalId": "ISA95.WorkCell", "assetHierarchies": [ { "externalId": "workCellHierarchyWithOEM1Robot", "childAssetExternalId": "Robot.OEM1.3536.123456" }, { "externalId": "workCellHierarchyWithOEM1Robot", "childAssetExternalId": "Robot.OEM1.3536.987654" } ] } ] }
Contoh on-boarding awal model dan aset
Dalam skenario contoh ini, Anda memiliki berbagai situs kerja yang berisi robot industri di sebuah perusahaan.
Contoh mendefinisikan beberapa model aset:
-
Sample_Enterprise
— Model aset ini mewakili perusahaan yang menjadi bagian dari situs tersebut. Model aset mendefinisikan hierarki,Enterprise to Site
, untuk mewakili hubungan situs dengan perusahaan. -
Sample_Site
— Model aset ini mewakili lokasi manufaktur di dalam perusahaan. Model aset mendefinisikan hierarki,Site to Line
, untuk mewakili hubungan garis ke situs. -
Sample_Welding Line
— Model aset ini mewakili jalur perakitan di dalam lokasi kerja. Model aset mendefinisikan hierarki,Line to Robot
, untuk mewakili hubungan robot dengan garis. -
Sample_Welding Robot
— Model aset ini mewakili jenis robot tertentu di lokasi kerja Anda.
Contoh ini juga mendefinisikan aset berdasarkan model aset.
-
Sample_AnyCompany Motor
— Aset ini dibuat dari modelSample_Enterprise
aset. -
Sample_Chicago
— Aset ini dibuat dari modelSample_Site
aset. -
Sample_Welding Line 1
— Aset ini dibuat dari modelSample_Welding Line
aset. -
Sample_Welding Robot 1
— Aset ini dibuat dari modelSample_Welding Robot
aset. -
Sample_Welding Robot 2
— Aset ini dibuat dari modelSample_Welding Robot
aset.
File JSON metadata berikut mendefinisikan model dan aset aset ini. Menjalankan impor massal dengan metadata ini menciptakan model aset dan aset di dalamnya AWS IoT SiteWise, termasuk hubungan hierarkisnya.
{ "assetModels": [ { "assetModelExternalId": "External_Id_Welding_Robot", "assetModelName": "Sample_Welding Robot", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Welding_Robot_Serial_Number", "name": "Serial Number", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Cycle_Count", "name": "CycleCount", "type": { "measurement": {} }, "unit": "EA" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Current", "name": "Joint 1 Current", "type": { "measurement": {} }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current", "name": "Max Joint 1 Current", "type": { "metric": { "expression": "max(joint1current)", "variables": [ { "name": "joint1current", "value": { "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current" } } ], "window": { "tumbling": { "interval": "5m" } } } }, "unit": "Amps" } ] }, { "assetModelExternalId": "External_Id_Welding_Line", "assetModelName": "Sample_Welding Line", "assetModelProperties": [ { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Line_Availability", "name": "Availability", "type": { "measurement": {} }, "unit": "%" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "name": "Line to Robot", "childAssetModelExternalId": "External_Id_Welding_Robot" } ] }, { "assetModelExternalId": "External_Id_Site", "assetModelName": "Sample_Site", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Site_Street_Address", "name": "Street Address", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "name": "Site to Line", "childAssetModelExternalId": "External_Id_Welding_Line" } ] }, { "assetModelExternalId": "External_Id_Enterprise", "assetModelName": "Sample_Enterprise", "assetModelProperties": [ { "dataType": "STRING", "name": "Company Name", "externalId": "External_Id_Enterprise_Company_Name", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" } ], "assetModelHierarchies": [ { "externalId": "External_Id_Enterprise_TO_Site", "name": "Enterprise to Site", "childAssetModelExternalId": "External_Id_Site" } ] } ], "assets": [ { "assetExternalId": "External_Id_Welding_Robot_1", "assetName": "Sample_Welding Robot 1", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S1000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S1000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S1000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Robot_2", "assetName": "Sample_Welding Robot 2", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S2000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S2000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S2000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Line_1", "assetName": "Sample_Welding Line 1", "assetModelExternalId": "External_Id_Welding_Line", "assetProperties": [ { "externalId": "External_Id_Welding_Line_Availability", "alias": "AnyCompany/Chicago/Welding Line/Availability" } ], "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_1" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_2" } ] }, { "assetExternalId": "External_Id_Site_Chicago", "assetName": "Sample_Chicago", "assetModelExternalId": "External_Id_Site", "assetHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_1" } ] }, { "assetExternalId": "External_Id_Enterprise_AnyCompany", "assetName": "Sample_AnyEnterprise Motor", "assetModelExternalId": "External_Id_Enterprise", "assetHierarchies": [ { "externalId": "External_Id_Enterprise_TO_Site", "childAssetExternalId": "External_Id_Site_Chicago" } ] } ] }
Screenshot berikut adalah model yang ditampilkan Konsol AWS IoT SiteWise setelah Anda menjalankan contoh kode sebelumnya.
Screenshot berikut adalah model, aset, dan hierarki yang ditampilkan di Konsol AWS IoT SiteWise setelah Anda menjalankan contoh kode sebelumnya.
Contoh orientasi aset tambahan
Contoh ini mendefinisikan aset tambahan untuk diimpor ke model aset yang ada di akun Anda:
-
Sample_Welding Line 2
— Aset ini dibuat dari modelSample_Welding Line
aset. -
Sample_Welding Robot 3
— Aset ini dibuat dari modelSample_Welding Robot
aset. -
Sample_Welding Robot 4
— Aset ini dibuat dari modelSample_Welding Robot
aset.
Untuk membuat aset awal untuk contoh ini, lihatContoh on-boarding awal model dan aset.
File JSON metadata berikut mendefinisikan model dan aset aset ini. Menjalankan impor massal dengan metadata ini menciptakan model aset dan aset di dalamnya AWS IoT SiteWise, termasuk hubungan hierarkisnya.
{ "assets": [ { "assetExternalId": "External_Id_Welding_Robot_3", "assetName": "Sample_Welding Robot 3", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S3000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S3000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S3000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Robot_4", "assetName": "Sample_Welding Robot 4", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S4000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S4000/Count" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S4000/1/Current" } ] }, { "assetExternalId": "External_Id_Welding_Line_1", "assetName": "Sample_Welding Line 1", "assetModelExternalId": "External_Id_Welding_Line", "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_1" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_2" }, { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_3" } ] }, { "assetExternalId": "External_Id_Welding_Line_2", "assetName": "Sample_Welding Line 2", "assetModelExternalId": "External_Id_Welding_Line", "assetHierarchies": [ { "externalId": "External_Id_Welding_Line_TO_Robot", "childAssetExternalId": "External_Id_Welding_Robot_4" } ] }, { "assetExternalId": "External_Id_Site_Chicago", "assetName": "Sample_Chicago", "assetModelExternalId": "External_Id_Site", "assetHierarchies": [ { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_1" }, { "externalId": "External_Id_Site_TO_Line", "childAssetExternalId": "External_Id_Welding_Line_2" } ] } ] }
Screenshot berikut adalah model, aset, dan hierarki yang ditampilkan di Konsol AWS IoT SiteWise setelah Anda menjalankan contoh kode sebelumnya.
Contoh orientasi properti baru
Contoh ini mendefinisikan properti baru pada model aset yang ada. Lihat Contoh orientasi aset tambahan untuk memasukkan aset dan model tambahan.
-
Joint 1 Temperature
— Properti ini ditambahkan ke modelSample_Welding Robot
aset. Properti baru ini juga akan menyebar ke setiap aset yang dibuat dari modelSample_Welding Robot
aset.
Untuk menambahkan properti baru ke model aset yang ada, lihat contoh file JSON metadata berikut. Seperti yang ditunjukkan dalamJSON, seluruh definisi model Sample_Welding Robot
aset yang ada harus disediakan bersama dengan properti baru. Jika seluruh daftar properti dari definisi yang ada tidak disediakan, AWS IoT SiteWise menghapus properti yang dihilangkan.
Contoh ini menambahkan properti baru Joint 1 Temperature
ke model aset.
{ "assetModels": [ { "assetModelExternalId": "External_Id_Welding_Robot", "assetModelName": "Sample_Welding Robot", "assetModelProperties": [ { "dataType": "STRING", "externalId": "External_Id_Welding_Robot_Serial_Number", "name": "Serial Number", "type": { "attribute": { "defaultValue": "-" } }, "unit": "-" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Cycle_Count", "name": "CycleCount", "type": { "measurement": {} }, "unit": "EA" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Current", "name": "Joint 1 Current", "type": { "measurement": {} }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current", "name": "Max Joint 1 Current", "type": { "metric": { "expression": "max(joint1current)", "variables": [ { "name": "joint1current", "value": { "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current" } } ], "window": { "tumbling": { "interval": "5m" } } } }, "unit": "Amps" }, { "dataType": "DOUBLE", "externalId": "External_Id_Welding_Robot_Joint_1_Temperature", "name": "Joint 1 Temperature", "type": { "measurement": {} }, "unit": "degC" } ] } ] }
Contoh mengelola aliran data
Contoh ini menunjukkan dua cara mengelola aliran data yang terkait dengan properti aset. Saat mengganti nama alias properti aset, ada dua opsi untuk data historis yang saat ini disimpan dalam aliran data properti aset.
-
Opsi satu - Simpan aliran data saat ini dan ganti nama alias saja, memungkinkan data historis dapat diakses dengan alias baru.
Dalam contoh file JSON metadata, properti aset dengan ID
External_Id_Welding_Robot_Cycle_Count
mengubah aliasnya menjadi.AnyCompany/Chicago/Welding Line/S3000/Count-Updated
Data historis untuk properti aset ini tetap sama setelah perubahan ini. -
Opsi dua — Tetapkan aliran data baru ke properti aset yang dapat diakses dengan alias baru. Aliran data lama bersama dengan data historisnya masih dapat diakses dengan alias lama, tetapi tidak terkait dengan properti aset apa pun.
Dalam contoh file JSON metadata, properti aset dengan ID
External_Id_Welding_Robot_Joint_1_Current
mengubah aliasnya menjadi.AnyCompany/Chicago/Welding Line/S4999/1/Current
Kali ini nilai tambahanretainDataOnAliasChange
hadir dan diatur keFalse
. Dengan pengaturan ini, aliran data asli dipisahkan dari properti aset, dan aliran data baru dibuat tanpa data historis.
Untuk mengakses aliran data lama dengan data historis asli, di AWS Console Home, buka halaman Data Streams dan cari alias AnyCompany/Chicago/Welding Line/S3000/1/Current
lama.
{ "assetExternalId": "External_Id_Welding_Robot_3", "assetName": "Sample_Welding Robot 3", "assetModelExternalId": "External_Id_Welding_Robot", "assetProperties": [ { "externalId": "External_Id_Welding_Robot_Serial_Number", "attributeValue": "S3000" }, { "externalId": "External_Id_Welding_Robot_Cycle_Count", "alias": "AnyCompany/Chicago/Welding Line/S3000/Count-Updated" }, { "externalId": "External_Id_Welding_Robot_Joint_1_Current", "alias": "AnyCompany/Chicago/Welding Line/S4999/1/Current", "retainDataOnAliasChange": "FALSE" } ] }