System Events¶
trexMes panelindeki sistem seviyesi olaylarına abone olur. Panel açılması, kapanması ve periyodik işlemler gibi sistem tetiklemelerini yakalar.
Property Tablosu¶
| Alan | Tip | Varsayılan | Açıklama |
|---|---|---|---|
name |
string | — | Canvas üzerinde gösterilecek ad |
event |
string | (boş) | Abone olunacak sistem olayı |
ishandled |
boolean | false |
Node-RED bu olayı handle ediyor mu? |
Olay Listesi¶
| Olay | Açıklama |
|---|---|
OnApplicationClosing |
Uygulama kapanma aşamasında ana form kapatılmadan hemen önce tetiklenir. |
OnApplicationStarted |
Uygulama ayağa kalktığında ana ekran gösteriminden hemen önce tetiklenir. |
OnGlobalTimerTicked |
Arka planda gerçekleşen periyodik işlemler için kullanılan Timer Tick olayında tetiklenir. Benzer periyodik işlemler için kullanılabilir. |
msg.payload Yapısı¶
System Events, payload'u 4 item içeren bir nesne olarak gönderir:
| Alan | Model | Açıklama |
|---|---|---|
Item1 |
WorkStationStatusEntryModel |
İstasyonun anlık üretim durumu |
Item2 |
ProductionPlanDetailModel |
Aktif üretim planı detayı (stok, iş emri, operasyon) |
Item3 |
EmployeeInfo[] |
Aktif operatör listesi |
Item4 |
StoppageStateContext |
Duruş yönetim durumu ve aktif duruş bilgisi |
{
"Item1": {
"WorkStationId": 0,
"IsPlanLoaded": false,
"IsStopped": false,
"ProductionQuantity": 0.0,
"ShiftId": 0,
"ClientVersion": "",
"...": "..."
},
"Item2": {
"PlanId": 0,
"Stock": { "StockId": 0, "StockNo": "", "StockName": "" },
"Operation": { "OperationId": 0, "OperationName": "" },
"PlannedQuantity": 0.0,
"...": "..."
},
"Item3": [
{ "EmployeeId": 0, "EmployeeNo": "", "EmployeeName": "" }
],
"Item4": {
"CurrentStoppage": { "StoppageCauseId": 0, "StoppageCauseName": "" },
"CurrentStoppageDuration": 0,
"IsPlannedStoppage": false,
"...": "..."
}
}
Editörde önizleme
Event seçildiğinde editör içinde tam msg.payload yapısı collapse edilebilir JSON ağacı olarak görüntülenir.
Argüman Referansı¶
System Events'e özgü EventArgs modelleri yalnızca WorkStationId içerir; asıl veri Item1–Item4 aracılığıyla taşınır.
| Event | EventArgs modeli | Not |
|---|---|---|
OnApplicationClosing |
ApplicationClosingEventArgs |
EventArgs alanı yoktur — veri Item1–Item4 ile gelir |
OnApplicationStarted |
ApplicationStartedEventArgs |
EventArgs alanı yoktur — veri Item1–Item4 ile gelir |
OnGlobalTimerTicked |
GlobalTimerEventArgs |
IsHandled alanı bulunur |
Örnek Kullanım¶
flowchart LR
A[System Events<br/>OnApplicationStarted] --> B[Custom Form<br/>Karşılama Ekranı]
B --> C[Responser]
style A fill:#ccffcc,color:#000
style B fill:#ccffcc,color:#000
style C fill:#ccffcc,color:#000
İpuçları¶
Başlangıç konfigürasyonu
OnApplicationStarted ile panel ayağa kalktığında varsayılan form yükleyebilir, bağlantıları kontrol edebilir veya ilk verileri çekebilirsiniz.
Periyodik görevler
OnGlobalTimerTicked saniye bazında tetiklenir. Bu event ile InfluxDB'ye OEE verisi yazmak, Modbus poll yapmak gibi periyodik işlemler gerçekleştirebilirsiniz. IsHandled özelliği yoktur, akışı kesmez.
Kapanma öncesi işlemler
OnApplicationClosing ile panel kapanmadan önce açık bağlantıları kapatabilir, son durumu kaydedebilirsiniz.