Görev tanımlama
-
Betiği hazırlayın
Betikler bölümünde görevin çalıştıracağı betiği yazın: VBS modülü ya da aksiyonu, C, JavaScript fonksiyonu ya da Python. Ayrıntı için betikler sayfasına bakın.
-
Görevi ekleyin
Zamanlanmış Görevler bölümünde Ekle’ye basın ve Ad girin.
-
Tetikleyiciyi seçin
Tetikleyici listesinden bir tür seçin. Türe göre saat, tarih, gün ya da tag alanları açılır.
-
Betiği bağlayın
Çalıştırılacak betik listesinden betiği seçin. VBS modülünde, C ve Python betiğinde çağrılacak prosedür / işlev Prosedür / İşlev kolonundan seçilir. Boşsa betikle aynı adlı prosedür ya da işlev çağrılır.
-
Denetleyin
F7 eksik betik, saat, tag, tarih ve gün seçimini hata ya da uyarı olarak listeler.
Tetikleyiciler
| Tetikleyici | Ne zaman çalışır | Alanlar |
|---|---|---|
| Döngüsel | Seçilen döngü süresi her dolduğunda (en sık 100 ms). | Döngü |
| Her gün belirli saatte | Her gün o saatte. | Saat (SS:DD, örnek 07:30) |
| Haftanın belirli günlerinde | Seçilen günlerde o saatte. Varsayılan hafta içi. | Saat, Pazartesi … Pazar anahtarları |
| Ayın belirli gününde | Her ay o gün ve saatte. Ayda o gün yoksa (örnek 31) ayın son günü çalışır. | Saat, Ayın günü (1 – 31) ya da Ayın son günü |
| Yılın belirli gününde | Her yıl o ay, gün ve saatte. 29 Şubat görevi artık olmayan yılda 28 Şubat’ta çalışır. | Saat, Ay, Ayın günü |
| Tek seferlik | Bir kez. Çalışınca tamamlandı olur ve bir daha çalışmaz. | Saat, Tarih |
| Tag değişince | Seçilen tag’in değeri her değiştiğinde. Yeni değer betiğe ilk parametre olarak verilir. | Tag |
| Tag koşulu | Koşul sağlanmaya başladığında bir kez. Koşul bozulup yeniden sağlanınca yine çalışır. Live başlarken koşul zaten sağlanıyorsa çalışmaz. | Tag, Koşul, Eşik değeri |
| Live başlayınca | Proje açılınca bir kez. | – |
| Live kapanırken | Live kapanırken bir kez. Kapanış, görevin bitmesini bekler. | – |
Tag koşulunda Koşul, Yükselen kenar, Düşen kenar, Değeri değişince ya da değerin eşikle karşılaştırması olabilir: >, ≥, <, ≤, =, ≠. Metin tag’inde yalnızca eşit ve farklı kullanılır. Koşul sürdükçe her değişimde açıksa görev, koşul sürerken tag her değiştiğinde de çalışır.
Zaman tetikleyicilerinde saat ve tarih, Live bilgisayarının yerel takvimidir. Zamanlama kartı seçili görevin sonraki beş çalışma zamanını listeler.
Zamanlama örnekleri
| İş | Tetikleyici |
|---|---|
| Tank seviyesini her saniye denetlemek | Döngüsel, 1 sn döngüsü |
| Vardiya başında parti sayacını sıfırlamak | Haftanın belirli günlerinde, 06:00 |
| Sayacı her gece yarısı sıfırlamak | Her gün belirli saatte, 00:00 |
| Her ayın son günü bakım notu yazmak | Ayın belirli gününde, Ayın son günü |
| Filtre fark değeri eşiği aşınca uyarı bitini 1’e çekmek | Tag koşulu, KS1_Filtre_Fark > 230
|
| Parti bitince parti numarasını artırmak | Tag değişince, Parti_Bitti
|
| Açılışta sayaçları hazırlamak, kapanışta kayıt düşmek | Live başlayınca ve Live kapanırken |
| Belirli saatte rapor kaydı almak | Saatli görev bir tag’i 1’e çeker, rapor bu tag’i tetik olarak kullanır |
Bir betik birden çok göreve bağlanabilir. Örnek projede (Tanitim_Tesisi) vardiya sayacını sıfırlayan tek betik haftalık, günlük ve kapanış görevlerinden çalışır.
Live’da çalışma
- Zaman tetikleyicileri birkaç saniyede bir denetlenir. Görev planlı zamandan en çok yaklaşık 5 sn sonra başlar.
- Aynı betik önceki çağrısı sürerken yeniden tetiklenirse yeni çağrı atlanır.
- Yaz saati geçişinde var olmayan saat (örnek 02:30) geçiş anında bir kez çalışır. Tekrarlanan saat yalnızca ilk yaşanışta çalışır.
- Her çalışma olay günlüğüne yazılır. Durum (son çalışma, sonuç, çalışma ve hata sayısı) projenin veri klasöründe saklanır ve Live yeniden açılınca korunur.
- Başlangıç Dizisi’nde Zamanlanmış görevler kapatılırsa hiçbir görev çalışmaz.
Kaçırılan görevler
Live kapalıyken ya da bilgisayar uykudayken planlı bir zaman geçerse görev o an çalışamaz. Zaman tetikleyicili görevde Kaçırılırsa açılışta çalıştır açıksa görev Live açılınca bir kez çalışır. Kaçan her zaman için ayrı çalışmaz. Kapalıysa kaçan zaman atlanır ve olay günlüğüne “kaçırıldı” yazılır.
Planlı zamandan en çok 2 dakika sonra başlayan çalışma gecikmiş sayılmaz. Yeni eklenen görev için geçmiş zamanlar telafi edilmez. Görevin tanımı değişirse tamamlandı ve telafi durumu sıfırlanır.
Görev durum penceresi
Live’da Sistem menüsü › Görevler… tüm görevlerin durumunu gösterir: tetikleyici, son çalışma ve kaynağı, sonuç (Tamam, Hata ve iletisi, Atlandı, Tamamlandı, Çalışıyor, Pasif, Henüz çalışmadı), sonraki planlı zaman ve çalışma sayısı. Pencere saniyede bir yenilenir.
Betik hata verirse görevin sonucu Hata olur ve iletide betik, prosedür ve satır yazar. Hata görevin sonraki çalışmalarını durdurmaz.
Sınırlar
- Süresi 0 ms olan Değişince döngüsüyle döngüsel görev hiç zamanlanmaz ve Studio bunu uyarmaz. Döngüsel görevde 100 ms ve üzeri bir döngü seçin. Değere göre çalıştırmak için Tag değişince ya da Tag koşulu tetikleyicisini kullanın.
- Çalıştırılacak betik seçilmemişse ya da Etkin kapalıysa görev çalışmaz.
- Zamanlanmış rapor yazdırma görevi yoktur. Sessiz yazdırma desteklenmez.
- Görevler yalnızca Live’ın çalıştığı bilgisayarda çalışır, tarayıcıdan izlemede çalışmaz.
Sık sorulanlar
Görev Live kapalıyken çalışır mı?
Hayır. Görevler Live içinde çalışır. Kaçan zaman için Kaçırılırsa açılışta çalıştır açılırsa görev Live açılınca bir kez çalışır.
Bir görevde hata olursa sonraki çalışmalar durur mu?
Hayır. Sonuç Hata olur, ileti olay günlüğüne ve durum penceresine yazılır, görev bir sonraki zamanında yine çalışır.
İlgili sayfalar
Betikler
VBScript, JavaScript, C ve Python; editör, derleme, örnek galerisi ve varsayılan kapalı izinler.
StudioHMI tag’leri
Harici ve dahili tag’ler, ölçekleme, kalite, yapılar (UDT) ve Excel ile toplu aktarım.
StudioRaporlar
Tetikli kayıt, dönem özeti, onay ve imza, baskı düzeni, rapor sayfası tasarımı, Excel / CSV / PDF çıktısı.
LiveBetik ve görevler
Betik ve görevler yalnız Live’da çalışır: betik izinleri, süre sınırı, görev tetikleyicileri.