Mengonfigurasi akselerator solusi Connected Factory

Penting

Saat kami memperbarui artikel ini, lihat IoT Industri Azure untuk konten terbaru.

Akselerator solusi Connected Factory menunjukkan dasbor simulasi untuk perusahaan fiktif Contoso. Perusahaan ini memiliki pabrik di berbagai lokasi global secara global.

Artikel ini menggunakan Contoso sebagai contoh untuk menjelaskan cara mengonfigurasi topologi solusi Connected Factory.

Konfigurasi pabrik yang disimulasikan

Setiap pabrik Contoso memiliki lini produksi yang masing-masing terdiri dari tiga stasiun. Setiap stasiun adalah server agen pengguna OPC nyata dengan peran tertentu:

  • Stasiun assembly
  • Stasiun uji
  • Stasiun pengemasan

Server agen pengguna OPC ini memiliki simpul agen pengguna OPC dan Penerbit OPC mengirimkan nilai simpul ini ke Connected Factory. Ini termasuk:

  • Status operasional saat ini seperti konsumsi daya saat ini.
  • Informasi produksi seperti jumlah produk yang dihasilkan.

Anda dapat menggunakan dasbor untuk menelusuri topologi pabrik Contoso dari tampilan global ke tampilan tingkat stasiun. Dasbor Connected Factory memungkinkan:

  • Visualisasi figur OEE dan KPI untuk setiap lapisan dalam topologi.
  • Visualisasi nilai simpul agen pengguna OPC saat ini di stasiun.
  • Agregasi figur OEE dan KPI dari tingkat stasiun hingga tingkat global.
  • Visualisasi pemberitahuan dan tindakan yang akan dilakukan jika nilai mencapai ambang tertentu.

Topologi Connected Factory

Topologi pabrik, lini produksi, dan stasiun bersifat hierarkis:

  • Tingkat global memiliki simpul pabrik sebagai elemen anak.
  • Pabrik-pabrik memiliki simpul lini produksi sebagai elemen anak.
  • Lini produksi memiliki simpul stasiun sebagai elemen anak.
  • Stasiun (server agen pengguna OPC) memiliki simpul agen pengguna OPC sebagai elemen anak.

Setiap simpul dalam topologi memiliki sekumpulan properti umum yang mendefinisikan:

  • Pengidentifikasi unik untuk simpul topologi.
  • Sebuah nama.
  • Sebuah deskripsi.
  • Sebuah gambar.
  • Anak-anak dari simpul topologi.
  • Nilai minimum, target, dan maksimum untuk figur OEE dan KPI serta tindakan pemberitahuan untuk dijalankan.

File konfigurasi topologi

Untuk mengonfigurasi properti yang tercantum di bagian sebelumnya, solusi Connected Factory menggunakan file konfigurasi yang disebut ContosoTopologyDescription.json.

Anda dapat menemukan file ini di kode sumber solusi di folder WebApp/Contoso/Topology.

Cuplikan berikut menunjukkan kerangka file konfigurasi ContosoTopologyDescription.json:

{
  <global_configuration>,
  "Factories": [
    <factory_configuration>,
    "ProductionLines": [
      <production_line_configuration>,
      "Stations": [
        <station_configuration>,
        <more station_configurations>
      ],
      <more production_line_configurations>
    ]
    <more factory_configurations>
  ]
}

Sifat umum dari <global_configuration>, <factory_configuration>, <production_line_configuration>, dan <station_configuration> adalah:

  • Nama (jenis string)

    Mendefinisikan nama deskriptif, yang seharusnya hanya satu kata untuk simpul topologi untuk ditampilkan di dasbor.

  • Deskripsi (jenis string)

    Menjelaskan simpul topologi secara lebih rinci.

  • Gambar (jenis string)

    Jalur ke gambar di solusi WebApp untuk menunjukkan kapan informasi tentang simpul topologi ditampilkan di dasbor.

  • OeeOverall, OeePerformance, OeeAvailability, OeeQuality, Kpi1, Kpi2 (jenis <performance_definition>)

    Properti ini mendefinisikan nilai minimal, target, dan maksimal dari angka operasional yang digunakan untuk menghasilkan pemberitahuan. Properti ini juga menentukan tindakan yang akan dijalankan jika pemberitahuan terdeteksi.

Item <factory_configuration> dan <production_line_configuration> memiliki properti:

  • Guid (jenis string)

    Secara unik mengidentifikasi simpul topologi.

<factory_configuration> memiliki properti:

  • Lokasi (jenis<location_definition>)

    Menentukan tempat pabrik berada.

<station_configuration> memiliki properti:

  • OpcUri (jenis string)

    Properti ini harus diatur ke URI Aplikasi agen pengguna OPC dari server agen pengguna OPC. Karena harus bersifat unik secara global dengan spesifikasi agen pengguna OPC, properti ini digunakan untuk mengidentifikasi simpul topologi stasiun.

  • OpcNodes, yang merupakan array dari simpul agen pengguna OPC (jenis <opc_node_description>)

<location_definition> memiliki properti:

  • Kota (jenis string)

    Nama kota yang paling dekat dengan lokasi

  • Negara (jenis string)

    Negara/wilayah lokasi

  • Garis lintang (jenis ganda)

    Garis lintang lokasi

  • Garis bujur (jenis ganda)

    Garis bujur lokasi

<performance_definition> memiliki properti:

  • Minimum (jenis ganda)

    Ambang bawah yang dapat dicapai nilai. Jika nilai saat ini berada di bawah ambang ini, pemberitahuan akan dihasilkan.

  • Target (jenis ganda)

    Nilai target yang ideal.

  • Maksimum (jenis ganda)

    Ambang atas yang dapat dicapai nilai. Jika nilai saat ini berada di atas ambang ini, pemberitahuan akan dihasilkan.

  • MinimumAlertActions (jenis <alert_action>)

    Menentukan kumpulan tindakan, yang dapat diambil sebagai respons terhadap pemberitahuan minimum.

  • MaximumAlertActions (jenis <alert_action>)

    Menentukan kumpulan tindakan, yang dapat diambil sebagai respons terhadap pemberitahuan maksimum.

<alert_action> memiliki properti:

  • Jenis (jenis string)

    Jenis tindakan pemberitahuan. Jenis berikut ini diketahui:

    • AcknowledgeAlert: status pemberitahuan harus berubah menjadi diakui.
    • CloseAlert: semua pemberitahuan lama dengan jenis yang sama seharusnya tidak lagi ditampilkan di dasbor.
    • CallOpcMethod: metode agen pengguna OPC harus dipanggil.
    • OpenWebPage: jendela browser harus dibuka yang menampilkan informasi kontekstual tambahan.
  • Deskripsi (jenis string)

    Deskripsi tindakan yang diperlihatkan di dasbor.

  • Parameter (jenis string)

    Parameter yang diperlukan untuk menjalankan tindakan. Nilai tergantung pada jenis tindakan.

    • AcknowledgeAlert: tidak ada parameter yang diperlukan.
    • CloseAlert: tidak ada parameter yang diperlukan.
    • CallOpcMethod: informasi simpul dan parameter metode agen pengguna OPC untuk memanggil dalam format "NodeId dari simpul induk, NodeId metode untuk memanggil, URI dari server agen pengguna OPC."
    • OpenWebPage: URL untuk ditampilkan di jendela browser.

<opc_node_description> berisi informasi tentang simpul agen pengguna OPC di stasiun (server agen pengguna OPC). Simpul yang tidak mewakili simpul agen pengguna OPC yang ada, tetapi digunakan sebagai penyimpanan dalam logika komputasi Connected Factory juga valid. Menampilkan properti berikut ini:

  • NodeId (jenis string)

    Alamat simpul agen pengguna OPC di ruang alamat stasiun (server agen pengguna OPC). Sintaks harus seperti yang ditentukan dalam spesifikasi agen pengguna OPC untuk NodeId.

  • SymbolicName (jenis string)

    Nama yang akan ditampilkan di dasbor ketika nilai simpul agen pengguna OPC ini ditampilkan.

  • Relevance (array dari jenis string)

    Menunjukkan komputasi OEE atau KPI mana nilai simpul agen pengguna OPC yang relevan. Setiap elemen array bisa menjadi salah satu nilai berikut ini:

    • OeeAvailability_Running: nilainya relevan untuk perhitungan Ketersediaan OEE.
    • OeeAvailability_Fault: nilainya relevan untuk perhitungan Ketersediaan OEE.
    • OeePerformance_Ideal: nilainya relevan untuk perhitungan Performa OEE dan biasanya merupakan nilai konstan.
    • OeePerformance_Actual: nilainya relevan untuk perhitungan Performa OEE.
    • OeeQuality_Good: nilainya relevan untuk perhitungan Kualitas OEE.
    • OeeQuality_Bad: nilainya relevan untuk perhitungan Kualitas OEE.
    • Kpi1: nilainya relevan untuk perhitungan KPI1.
    • Kpi2: nilainya relevan untuk perhitungan KPI2.
  • OpCode (jenis string)

    Menunjukkan bagaimana nilai simpul agen pengguna OPC ditangani dalam kueri Time Series Insight dan perhitungan OEE/KPI. Setiap kueri Time Series Insight menargetkan jangka waktu tertentu, yang merupakan parameter kueri dan memberikan hasil. OpCode mengontrol bagaimana hasilnya dihitung dan bisa menjadi salah satu nilai berikut:

    • Diff: perbedaan antara nilai terakhir dan pertama dalam jangka waktu.
    • Avg: rerata nilai dalam jangka waktu.
    • Sum: jumlah seluruh nilai dalam jangka waktu.
    • Last: saat ini tidak digunakan.
    • Count: jumlah nilai dalam jangka waktu.
    • Max: jumlah nilai maksimal dalam jangka waktu.
    • Min: jumlah nilai minimal dalam jangka waktu.
    • Const: hasilnya adalah nilai yang ditentukan oleh properti ConstValue.
    • SubMaxMin: perbedaan antara nilai maksimal dan minimal.
    • Timespan: rentang waktu.
  • Units (jenis string)

    Menentukan satuan nilai untuk ditampilkan di dasbor.

  • Visible (jenis boolean)

    Mengontrol apakah nilai harus ditampilkan di dasbor.

  • ConstValue (jenis ganda)

    Jika OpCode adalah Const, maka properti ini adalah nilai simpul.

  • Minimum (jenis ganda)

    Jika nilai saat ini berada di bawah nilai ini, maka pemberitahuan minimum dihasilkan.

  • Maksimum (jenis ganda)

    Jika nilai saat ini berada di atas nilai ini, maka pemberitahuan maksimum dihasilkan.

  • MinimumAlertActions (jenis <alert_action>)

    Menentukan kumpulan tindakan, yang dapat diambil sebagai respons terhadap pemberitahuan minimum.

  • MaximumAlertActions (jenis <alert_action>)

    Menentukan kumpulan tindakan, yang dapat diambil sebagai respons terhadap pemberitahuan maksimum.

Di tingkat stasiun, Anda juga melihat objek Simulasi. Objek-objek ini hanya digunakan untuk mengkonfigurasi simulasi Connected Factory dan tidak boleh digunakan untuk mengonfigurasi topologi nyata.

Bagaimana data konfigurasi digunakan pada runtime bahasa umum

Semua properti yang digunakan dalam file konfigurasi dapat dikelompokkan ke dalam kategori yang berbeda tergantung pada cara properti digunakan. Kategorinya adalah:

Tampilan visual

Properti dalam kategori ini menentukan tampilan visual dasbor Connected Factory. Contoh meliputi:

  • Nama
  • Deskripsi
  • Gambar
  • Lokasi
  • Unit-unit
  • Terlihat

Mengatasi pohon topologi internal

WebApp mempertahankan kamus data internal yang berisi informasi semua simpul topologi. Properti Guid dan OpcUri digunakan sebagai kunci untuk mengakses kamus ini dan harus bersifat unik.

Komputasi OEE/KPI

Figur OEE/KPI untuk simulasi Connected Factory di parameter dengan:

  • Nilai simpul agen pengguna OPC yang akan dimasukkan dalam perhitungan.
  • Bagaimana angka tersebut dihitung dari nilai telemetri.

Connected Factory menggunakan rumus OEE seperti yang diterbitkan oleh http://www.oeefoundation.org.

Objek simpul agen pengguna OPC di stasiun memungkinkan penandaan untuk penggunaan dalam perhitungan OEE/KPI. Properti Relevansi menunjukkan angka OEE/KPI mana yang harus digunakan oleh nilai simpul agen pengguna OPC. Properti OpCode menentukan bagaimana nilai disertakan dalam komputasi.

Penanganan pemberitahuan

Connected Factory mendukung mekanisme pembuatan pemberitahuan berbasis ambang minimum/maksimum yang sederhana. Ada sejumlah tindakan yang telah ditentukan sebelumnya yang dapat Anda konfigurasi sebagai respons terhadap pemberitahuan tersebut. Properti berikut mengontrol mekanisme ini:

  • Maksimum
  • Minimum
  • MaximumAlertActions
  • MinimumAlertActions

Berkorelasi dengan data telemetri

Untuk operasi tertentu, seperti memvisualisasikan nilai terakhir atau membuat kueri Time Series Insight, WebApp memerlukan skema penanganan alamat untuk data telemetri yang terserap. Telemetri yang dikirim ke Connected Factory juga perlu disimpan dalam struktur data internal. Dua properti yang memungkinkan operasi ini berada di stasiun (server agen pengguna OPC) dan tingkat simpul agen pengguna OPC:

  • OpcUri

    Mengidentifikasi (unik secara global) server agen OPC dari telemetri. Dalam pesan yang diserap, properti ini dikirim sebagai ApplicationUri.

  • NodeId

    Mengidentifikasi nilai simpul di server agen pengguna OPC. Format properti harus sebagaimana ditentukan dalam spesifikasi agen pengguna OPC. Dalam pesan yang diserap, properti ini dikirim sebagai NodeId.

Lihat Apa itu Penerbit OPC untuk informasi selanjutnya tentang bagaimana data telemetri disincar ke Connected Factory.

Contoh: Cara KPI1 dihitung

Konfigurasi dalam file ContosoTopologyDescription.json mengontrol bagaimana figur OEE/KPI dihitung. Contoh berikut menunjukkan bagaimana properti dalam file ini mengontrol komputasi KPI1.

Di Connected Factory KPI1 digunakan untuk mengukur jumlah produk yang berhasil diproduksi dalam satu jam terakhir. Setiap stasiun (server agen pengguna OPC) dalam simulasi Connected Factory menyediakan simpul agen pengguna OPC ( NodeId: "ns=2;i=385"), yang menyediakan telemetri untuk menghitung KPI ini.

Konfigurasi untuk simpul agen pengguna OPC ini terlihat seperti cuplikan berikut:

{
  "NodeId": "ns=2;i=385",
  "SymbolicName": "NumberOfManufacturedProducts",
  "Relevance": [ "Kpi1", "OeeQuality_Good" ],
  "OpCode": "SubMaxMin"
},

Konfigurasi ini memungkinkan kueri nilai telemetri dari simpul ini menggunakan Time Series Insights. Kueri Time Series Insights mengambil:

  • Jumlah nilai.
  • Nilai minimal.
  • Nilai maksimal.
  • Rata-rata semua nilai.
  • Jumlah semua nilai untuk semua pasangan OpcUri (ApplicationUri), NodeId yang unik dalam jangka waktu tertentu.

Salah satu karakteristik dari nilai simpul NumberOfManufactureredProducts adalah bahwa nilai ini hanya meningkat. Untuk menghitung jumlah produk yang diproduksi dalam jangka waktu, Connected Factory menggunakan OpCodeSubMaxMin. Perhitungan mengambil nilai minimum pada awal jangka waktu dan nilai maksimum di akhir jangka waktu.

OpCode dalam konfigurasi mengonfigurasi logika komputasi untuk menghitung hasil selisih nilai maksimum dan minimum. Hasil tersebut kemudian diakumulasikan ke bawah hingga tingkat akar (global) dan ditunjukkan di dasbor.

Langkah berikutnya

Langkah selanjutnya yang disarankan adalah mempelajari cara Menyesuaikan solusi Connected Factory.