Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan fungsi temporal dalam ekspresi rumus
Gunakan fungsi temporal untuk mengembalikan nilai berdasarkan cap waktu titik data.
Gunakan fungsi temporal dalam metrik
Dalam metrik saja, Anda dapat menggunakan fungsi berikut yang mengembalikan nilai berdasarkan cap waktu titik data.
Argumen fungsi temporal harus berupa properti dari model aset lokal atau ekspresi bersarang. Ini berarti Anda tidak dapat menggunakan properti dari model aset anak dalam fungsi temporal.
Anda dapat menggunakan ekspresi bersarang dalam fungsi temporal. Saat Anda menggunakan ekspresi bersarang, aturan berikut berlaku:
-
Setiap argumen hanya dapat memiliki satu variabel.
Misalnya,
latest( t*9/5 + 32 )didukung. -
Argumen tidak bisa menjadi fungsi agregasi.
Misalnya,
first( sum(x) )tidak didukung.
| Fungsi | Deskripsi |
|---|---|
|
|
Mengembalikan nilai variabel yang diberikan dengan stempel waktu paling awal selama interval waktu saat ini. |
|
|
Mengembalikan nilai variabel yang diberikan dengan stempel waktu terbaru selama interval waktu saat ini. |
|
|
Mengembalikan nilai terakhir variabel yang diberikan sebelum dimulainya interval waktu saat ini. Fungsi ini menghitung titik data untuk setiap interval waktu, jika properti input memiliki setidaknya satu titik data dalam sejarahnya. Lihat time-range-defintion untuk detail. |
|
|
Mengembalikan nilai terakhir variabel yang diberikan dengan stempel waktu terbaru sebelum akhir interval waktu saat ini. Fungsi ini menghitung titik data untuk setiap interval waktu, jika properti input memiliki setidaknya satu titik data dalam sejarahnya. Lihat time-range-defintion untuk detail. |
|
|
Mengembalikan jumlah waktu dalam detik yang variabel yang diberikan positif selama interval waktu saat ini. Anda dapat menggunakan fungsi per bandingan untuk membuat properti transformasi untuk digunakan Misalnya, jika Anda memiliki Fungsi ini tidak mendukung properti metrik sebagai variabel input. Fungsi ini menghitung titik data untuk setiap interval waktu, jika properti input memiliki setidaknya satu titik data dalam sejarahnya. |
|
|
Mengembalikan rata-rata data input tertimbang dengan interval waktu antar titik. Lihat Param eter fungsi tertimbang waktu untuk detail perhitungan dan interval.Argumen opsional
|
|
|
Mengembalikan standar deviasi data input tertimbang dengan interval waktu antar titik. Lihat Param eter fungsi tertimbang waktu untuk detail perhitungan dan interval. Perhitungan menggunakan algoritma komputasi Last Obected Carry Forward untuk interval antara titik data. Dalam pendekatan ini, titik data dihitung sebagai nilai terakhir yang diamati sampai stempel waktu titik data input berikutnya. Berat dihitung sebagai interval waktu dalam detik antara titik data atau batas jendela. Argumen opsional
Rumus berikut digunakan untuk perhitungan di mana:
Persamaan untuk standar deviasi populasi:
Persamaan untuk standar deviasi frekuensi:
|
Diagram berikut menunjukkan bagaimana AWS IoT SiteWise menghitung fungsi temporalfirst,,last, dan earliestlatest, relatif terhadap interval waktu saat ini.
catatan
Rentang waktu untuk
first(x),last(x)adalah (awal jendela saat ini, akhir jendela saat ini].Rentang waktu untuk
latest(x)adalah (awal waktu, akhir jendela saat ini].Rentang waktu untuk
earliest(x)adalah (awal waktu, akhir jendela sebelumnya].
Time-weighted parameter fungsi
Time-weighted fungsi yang dihitung untuk jendela agregat memperhitungkan hal berikut:
-
Poin data di dalam jendela
-
Interval waktu antara titik data
-
Titik data terakhir sebelum jendela
-
Titik data pertama setelah jendela (untuk beberapa algoritma)
Ketentuan:
-
Titik data buruk - Setiap titik data dengan kualitas tidak baik atau nilai non-angka. Ini tidak dipertimbangkan dalam perhitungan hasil jendela.
-
Interval buruk — Interval setelah titik data buruk. Interval sebelum titik data pertama yang diketahui juga dianggap sebagai interval yang buruk.
-
Titik data yang baik — Setiap titik data dengan kualitas yang baik dan nilai numerik.
catatan
-
AWS IoT SiteWise hanya mengkonsumsi data
GOODberkualitas ketika menghitung transformasi dan metrik. Ini mengabaikanUNCERTAINdan titikBADdata. -
Interval sebelum titik data pertama yang diketahui dianggap sebagai interval buruk. Untuk informasi selengkapnya, lihat Tutorial ekspresi formula.
Interval setelah titik data terakhir yang diketahui berlanjut tanpa batas waktu, mempengaruhi semua jendela berikut. Ketika titik data baru tiba, fungsi menghitung ulang interval.
Mengikuti aturan di atas, hasil jendela agregat dihitung dan terbatas pada batas jendela. Secara default, fungsi hanya mengirimkan hasil jendela jika seluruh jendela adalah interval yang baik.
Jika interval jendela yang baik lebih kecil dari panjang jendela, fungsi tidak mengirim jendela.
Ketika titik data yang mempengaruhi hasil jendela berubah, fungsi menghitung ulang jendela, bahkan jika titik data berada di luar jendela.
Jika properti input memiliki setidaknya satu titik data dalam sejarahnya dan perhitungan telah dimulai, fungsi menghitung fungsi agregat berbobot waktu untuk setiap interval waktu.
contoh Contoh skenario statetime
Pertimbangkan contoh di mana Anda memiliki aset dengan properti berikut:
-
Idle— Pengukuran yang0atau1. Ketika nilainya1, mesin tidak aktif. -
Idle Time— Metrik yang menggunakan rumusstatetime(Idle)untuk menghitung jumlah waktu dalam detik di mana mesin tidak aktif, per interval 1 menit.
Pro Idle perti ini memiliki titik data berikut.
| Stempel waktu | 2:00:00 SORE | 2:00:30 SORE | 2:01:15 SORE | 2:02:45 SORE | 2:04:00 SORE |
| Idle | 0 | 1 | 1 | 0 | 0 |
AWS IoT SiteWise menghitung Idle Time properti setiap menit dari nilai-nilaiIdle. Setelah perhitungan ini selesai, Idle Time properti memiliki titik data berikut.
| Stempel waktu | 2:00:00 SORE | 2:01:00 SORE | 2:02:00 SORE | 2:03:00 SORE | 2:04:00 SORE |
| Idle Time | N/A | 30 | 60 | 45 | 0 |
AWS IoT SiteWise melakukan perhitungan berikut untuk Idle Time di akhir setiap menit.
-
Pukul 2:00 PM (untuk 13:59 hingga 2:00 PM)
-
Tidak ada data
Idlesebelum pukul 14.00, jadi tidak ada titik data yang dihitung.
-
-
Pada 14:01 PM (untuk 2:00 PM hingga 2:01 PM)
-
Pada 14:00:00 PM, mesin aktif (
Idleis0). -
Pada 14:00:30, mesin diam (
Idleis1). -
Idletidak berubah lagi sebelum akhir interval pada 2:01:00 PM, begituIdle Timejuga 30 detik.
-
-
Pada 14:02 PM (untuk 14:01 PM ke 14:02 PM)
-
Pada pukul 2:01:00 PM, mesin tidak aktif (per titik data terakhir pukul 14:00:30).
-
Pukul 2:01:15, mesin masih diam.
-
Idletidak berubah lagi sebelum akhir interval pada 2:02:00 PM, begituIdle Timejuga 60 detik.
-
-
Pada 14:03 PM (untuk 14:02 hingga 14:03 PM)
-
Pada pukul 2:02:00 PM, mesin tidak aktif (per titik data terakhir pukul 2:01:15 PM).
-
Pukul 2:02:45, mesin aktif.
-
Idletidak berubah lagi sebelum akhir interval pada 2:03:00 PM, begituIdle Timejuga 45 detik.
-
-
Pada 14:04 PM (untuk 14:03 PM ke 14:04 PM)
-
Pada pukul 2:03:00 PM, mesin aktif (per titik data terakhir pukul 2:02:45 PM).
-
Idletidak berubah lagi sebelum akhir interval pada 2:04:00 PM, begituIdle Timejuga 0 detik.
-
contoh Contoh TimeWeightedAvg dan TimeWeightedStDev skenario
Tabel berikut memberikan contoh input dan output untuk metrik jendela satu menit ini:Avg(x), TimeWeightedAvg(x), TimeWeightedAvg(x, "linear"), stDev(x), timeWeightedStDev(x),
timeWeightedStDev(x, 'p').
Sampel masukan untuk jendela agregat satu menit:
catatan
Semua titik data ini memiliki GOOD kualitas.
| 03:00:00 | 4.0 |
| 03:01:00 | 2.0 |
| 03:01:10 | 8.0 |
| 03:01:50 | 20.0 |
| 03:02:00 | 14.0 |
| 03:02:05 | 10.0 |
| 03:02:10 | 3.0 |
| 03:02:30 | 20.0 |
| 03:03:30 | 0,0 |
Output hasil agregat:
catatan
Tidak ada — Hasil tidak dihasilkan untuk jendela ini.
| Waktu | Avg(x) |
TimeWeightedAvg(x) |
TimeWeightedAvg(X, "linear") |
stDev(X) |
timeWeightedStDev(x) |
timeWeightedStDev(x, 'p') |
|---|---|---|---|---|---|---|
| 3:00:00 | 4 | Tidak ada | Tidak ada | 0 | Tidak ada | Tidak ada |
| 3:01:00 | 2 | 4 | 3 | 0 | 0 | 0 |
| 3:02:00 | 14 | 9 | 13 | 6 | 5.430610041581775 | 5.385164807134504 |
| 3:03:00 | 11 | 13 | 12.875 | 8.54400374531753 | 7.724054437220943 | 7.659416862050705 |
| 3:04:00 | 0 | 10 | 2.5 | 0 | 10.084389681792215 | 10 |
| 3:05:00 | Tidak ada | 0 | 0 | Tidak ada | 0 | 0 |
Gunakan fungsi temporal dalam transformasi
Dalam transform asi saja, Anda dapat menggunakan pretrigger() fungsi untuk mengambil nilai GOOD kualitas untuk variabel sebelum pembaruan properti yang memulai perhitungan transformasi saat ini.
Pertimbangkan contoh di mana pabrikan menggunakan AWS IoT SiteWise untuk memantau status mesin. Pabrikan menggunakan pengukuran dan transformasi berikut untuk mewakili proses:
-
Pengukuran,
current_state, itu bisa 0 atau 1.-
Jika mesin dalam keadaan pembersihan,
current_statesama dengan 1. -
Jika mesin dalam keadaan manufaktur,
current_statesama dengan 0.
-
-
Sebuah transformasi,
cleaning_state_duration, yang samaif(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none). Transformasi ini mengembalikan berapa lama mesin telah dalam keadaan pembersihan dalam hitungan detik, dalam format zaman Unix. Untuk informasi selengkapnya, lihat Gunakan fungsi kondisional dalam ekspresi rumus dan fungsi timestamp ().
Jika mesin tetap dalam keadaan pembersihan lebih lama dari yang diharapkan, pabrikan mungkin menyelidiki mesin.
Anda juga dapat menggunakan pretrigger() fungsi dalam transformasi multivariat. Misalnya, Anda memiliki dua pengukuran bernama x dany, dan transformasi,z, yang samax + y +
pretrigger(y). Tabel berikut menunjukkan nilai untukx,y, dan z dari jam 9:00 pagi sampai 9:15.
catatan
-
Contoh ini mengasumsikan bahwa nilai untuk pengukuran tiba secara kronologis. Misalnya, nilai
xuntuk 09:00 AM tiba sebelum nilaixuntuk 09:05 AM. -
Jika titik data untuk 9:05 pagi tiba sebelum titik data untuk pukul 9:00 pagi,
ztidak dihitung pada 9:05 AM. -
Jika nilai
xuntuk 9:05 pagi tiba sebelum nilaixuntuk 09:00 AM dan nilai-nilaiytiba secara kronologis,zsama dengan22 = 20 + 1 + 1pukul 9:05 AM.
| 09:00 PAGI | 09:05 PAGI | 09:10 PAGI | 09:15 PAGI | |
|---|---|---|---|---|
|
|
10 |
20 |
30 |
|
|
|
1 |
2 |
3 |
|
|
|
|
23 = 20 + 2 + 1
|
25 = 20 + 3 + 2
|
36 = 30 + 3 + 3
|