Yeni bir proje oluşturulursa veya task yapılandırmasına yeni bir task eklenirse , task "varsayılan task ayarları" öncelik = 15 ve döngü süresi = 10 ms ile oluşturulur. Watchdog etkinleştirilir, 20 ms'ye ve hassasiyet = 1'e ayarlanır.
Watchdog kullanımı aynı zamanda CPU parametresi "Missed cycle behavior" ayarına da bağlıdır:
Bu parametre, task’in işlem süresi döngü süresinden uzunsa gerçek zamanlı bir task’in davranışını yapılandırır.
"Sonraki" - kaçırılan döngüyü atlayın ve task’i bir sonraki döngüde zamanında başlatın anlamına gelir. Bu atlanan task’lere neden olabilir, ancak en azından en yüksek öncelikli task atlanmadıysa (= varsayılan değer) her zaman zamanında başlatılır.
"ASAP" - mümkün olduğunda task’i hemen başlatın anlamına gelir.
Bu parametre tüm gerçek zamanlı task’ler için geçerlidir (öncelikler 0 ... 15) PLC uygulaması.
Örnek 1: varsayılan task ayarları, tTask - [ms] cinsinden task’in işlem süresi
|
tTask |
Par. |
![]() |
|
6 |
Sonraki |
|
|
12 |
EN KISA SÜREDE |
|
|
12 |
Sonraki |
Task’in işlem süresi döngü süresinden uzunsa da (durum 2 ve 3) işlem süresi bekçi köpeği süresinden kısa olduğu için bekçi köpeği oluşmaz.
Örnek 2: varsayılan task ayarları, tTask - task’in işlem süresi 24 ms, SWD - watchdog'un hassasiyeti
|
SWD |
Par. |
![]() |
|
1 |
Sonraki |
|
|
3 |
EN KISA SÜREDE |
|
|
3 |
Sonraki |
Task’in işlem süresi watchdog süresinden daha uzun olduğu için watchdog her 3 durumda da gerçekleşir. Hassasiyet ayarına göre watchdog 1 veya 3 döngüden sonra gerçekleşir.
Task bekçisinin yanı sıra "ihmal edilen döngü bekçisi" (OMCW) de vardır. İhmal edilen döngü bekçi köpeği yalnızca task için bir bekçi köpeği yapılandırılmışsa etkindir.
"Normal" Watchdog yalnızca task’in işlem süresi ayarlanan Watchdog değerini aştığında tetiklenir.
Diğer yandan atlanan döngü bekçisi tamamen "başarısız" döngüleri kontrol eder. Örneğin, zamanlayıcıda bir sorun varsa ve task döngüsünü bir daha asla yürütmezse, "normal" bekçi köpeği tetiklenmeyecektir. Bu nedenle, çalışma zamanı, bir task’in çift döngü süresi veya çift bekçi köpeği süresi (her ikisinden büyük olanı geçerlidir) içinde yürütülüp yürütülmediğini ek bir kontrol yapar. Değilse, ihmal edilen döngü bekçi köpeği tetiklenir.
Örnek 3: varsayılan task ayarları, tTask - ms cinsinden task’in işlem süresi, Ckayıp - kayıp döngüler
|
tTask |
Ckayıp |
![]() |
|
6 |
3 ... 6 |
|
|
12 |
3 ... 6 |
|
|
¥ |
2ff |
Atlanan çevrim watchdog iki kat watchdog süresinden sonra gerçekleşir (2 x 20 ms = 40 ms).
Örnek 4: Aşağıdaki ayarlara sahip iki task:
|
Task |
Öncelik |
Çevrim süresi [ms] |
Watchdog süresi [ms] |
Hassasiyet |
Parametre |
Task işleme süresi [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
Sonraki |
6 |
|
2 |
15 |
50 |
50 |
1 |
30 |
|
Task |
![]() |
|
1 |
|
|
2 |
Task 2'nin Watchdog'u tetiklenir çünkü task tanımlanan task döngüsünde çalışamaz.
Örnek 5: Aşağıdaki ayarlara sahip iki task
|
Task |
Öncelik |
Çevrim süresi [ms] |
Watchdog süresi [ms] |
Hassasiyet |
Parametre |
Task işleme süresi [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
EN KISA SÜREDE |
12 |
|
2 |
15 |
30 |
60 |
1 |
6 |
|
Task |
![]() |
|
1 |
|
|
2 |
Task 2'nin Watchdog'u, task tanımlanan task döngüsünde başlayamadığı için tetiklenir.
Örnek 6: Aşağıdaki ayarlara sahip iki task
|
Task |
Öncelik |
Çevrim süresi [ms] |
Watchdog süresi [ms] |
Hassasiyet |
Parametre |
Task işleme süresi [ms] |
|---|---|---|---|---|---|---|
|
1 |
10 |
10 |
20 |
1 |
Sonraki |
12 |
|
2 |
15 |
30 |
60 |
1 |
6 |
|
Task |
![]() |
|
1 |
|
|
2 |
Watchdog tetiklenmez, ancak task 1 yapılandırılmış 10 ms döngüsü yerine 20 ms döngüsünde çalışır. Task 2 her 20 ms veya 40 ms'de bir dönüşümlü olarak çalışıyor.







