FSoE Reset State PDU: Master ve Slave Yapısı

Reset durumu, her FSoE (Fail Safe over EtherCAT) bağlantısının giriş noktasıdır. Bağlantı bu duruma açılıştan sonra, yeniden başlatmadan sonra (reset connection) veya bir FSoE iletişim hatası tespit edildiğinde girer. Bağlantı bu durumdayken kullanıcı safety data’sı alışverişi yapılmaz — Safety PDU’ları Reset komutunu ve karşı tarafa bağlantının neden sıfırlandığını söyleyen tek baytlık bir hata kodunu taşımak için yeniden amaçlandırılır.

Bu makale, ETG.5100 S (D) V1.2.0 §8.2.2.2’de tanımlanan üç Reset durumu PDU’sunu, spesifikasyonun standart örneği olan 4 oktetlik safety data ile inceler. Tam 2/4/6/8 oktet düzenleri için bkz. FSoE Reset PDU: Master ve Slave Yapısı.

Not — safety data bayt sayısı yön başına sabittir. Her FSoE bağlantısının sabit bir safety data uzunluğu vardır (master→slave ve slave→master) ve her iki düğümde de aynı şekilde yapılandırılır. İzin verilen uzunluklar 1, 2, 4, 6 veya 8 oktettir. Belirli bir bağlantının gerçek uzunluğu FSoE slave cihazına bağlıdır ve slave’in dokümantasyonundan veya cihaz tanım dosyasından (ESI/EEPROM) alınmalıdır. Aşağıdaki örnekler spesifikasyondaki gibi 4 oktet kullanır; diğer uzunluklar için bayt düzeni FSoE Reset PDU: Master ve Slave Yapısı yazısında gösterilmiştir.

Not — tek ilgili veri baytı hata kodudur. Her Reset durumu PDU’sunda SafeData[0] (oktet 1), anlam taşıyan tek safety data baytıdır:

  • 0x00 — kasıtlı sıfırlama (açılış, yeniden başlatma / reset connection) veya slave’in bir master Reset’e onayı.
  • Sıfır olmayan — sıfırlamayı tetikleyen FSoE iletişim hata kodu (aşağıdaki Tablo 28’e bakın).

Diğer tüm SafeData oktetleri kullanılmaz ve 0’a ayarlanmalıdır. Conn_Id alanı da aynı şekilde kullanılmaz (0’a ayarlanır) — yalnızca bağlantı kurulduktan sonra kontrol edilir. CRC alanları yine de iletilir ve doğrulanması gerekir, ancak sıra numarası ve miras alınan CRC Reset’e girişte temizlendiği için sıfırlanmış başlangıç durumundan hesaplanır (bkz. FSoE: CRC mirası nasıl çalışır? ve FSoE PDU’ları için CRC sağlama toplamı nasıl hesaplanır?).

Reset durumuna ne zaman girilir ve çıkılır?

Reset durumu, açılıştan veya bir iletişim hatasından sonra FSoE bağlantısını yeniden başlatır. Girişte iki şey sıfırlanır:

  • sıra numarası ve
  • CRC hesaplamasında kullanılan son telgrafın CRC’si (yani CRC miras zinciri kırılır).

Durum geçişleri, master/slave rollerini yansıtacak şekilde asimetriktir:

YönKoşul
Master Reset’ten çıkarSlave’e Session komutlu bir Safety Master PDU gönderir.
Slave Reset’ten çıkarGeçerli bir Session komutlu Safety Master PDU alır.

Başka bir deyişle, master Session komutunu vererek Reset’ten çıkar ve slave o Session PDU’sunu kabul eder etmez Reset’ten çıkar. İki taraf hâlâ Reset’teyken, aşağıda gösterildiği gibi Reset komutunu taşıyan Safety PDU’ları değiş tokuş ederler.

Master Reset PDU (FSoE Master → Slave)

Master bu PDU’yu bir yeniden başlatmadan veya bir FSoE iletişim hatası tespit ettikten sonra gönderir. Aşağıdaki örnek, 4 oktetlik safety data için ETG.5100 S (D) V1.2.0’ın Tablo 10’udur.

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1Conn_Id
Reset
Oktet 0
hata kodu
Oktet 1 — yeniden başlatmada 0
0
Oktet 2 — kullanılmaz
CRC_0_Lo
Oktet 3
CRC_0_Hi
Oktet 4
0
Oktet 5 — kullanılmaz
0
Oktet 6 — kullanılmaz
CRC_1_Lo
Oktet 7
CRC_1_Hi
Oktet 8
0
Oktet 9 — kullanılmaz
0
Oktet 10 — kullanılmaz

Önemli noktalar:

  • Command (oktet 0) Reset‘tir.
  • SafeData[0] (oktet 1) hata kodunu taşır (bit 0–7). 0x00 değeri düz bir yeniden başlatma / reset connection demektir; sıfır olmayan herhangi bir değer, sıfırlamayı tetikleyen iletişim hatasını tanımlar (aşağıdaki tabloya bakın).
  • Diğer tüm SafeData oktetleri kullanılmaz ve 0’a ayarlanır.
  • CRC_0 ve CRC_1 yine 16 bitlik little-endian değerler olarak iletilir, ancak sıra numarası ve miras alınan CRC girişte sıfırlandığı için önceki çerçeveden zincirlenmez — sıfırlanmış başlangıç durumundan hesaplanırlar.
  • Conn_Id, Reset durumunda kullanılmaz ve 0’a ayarlanır. Connection ID yalnızca bağlantı kurulduktan sonra kontrol edilir.

Slave Reset PDU — bir master Reset’e onay (FSoE Slave → Master)

Slave, master’dan geçerli bir Reset komutu aldığında, Reset komutlu ve tüm SafeData oktetleri 0’a ayarlanmış — hata kodu konumu dahil — bir Safety Slave PDU göndererek onaylar. Bu, ETG.5100 S (D) V1.2.0’ın Tablo 11’idir.

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1Conn_Id
Reset
Oktet 0
0
Oktet 1 — onay
0
Oktet 2
CRC_0_Lo
Oktet 3
CRC_0_Hi
Oktet 4
0
Oktet 5
0
Oktet 6
CRC_1_Lo
Oktet 7
CRC_1_Hi
Oktet 8
0
Oktet 9 — kullanılmaz
0
Oktet 10 — kullanılmaz

Master Reset PDU’sundan tek farkı SafeData[0]‘ın her zaman 0 olmasıdır — slave onaylarken bir hata kodu yansıtmaz. Bu konumdaki sıfır hata kodu tam olarak master’ın onayı tanımak için kullandığı şeydir.

Slave Reset PDU — slave başlatmalı sıfırlama (FSoE Slave → Master)

Slave kendisi de bir Reset başlatabilir; ya yeniden başlatma sırasında (reset connection) ya da yerel olarak tespit ettiği bir hata durumunda. Bu durumda master Reset PDU’suyla yapısal olarak aynı bir Safety Slave PDU gönderir: Reset komutu ayarlıdır ve SafeData[0] slave’in kendi hata kodunu taşır (düz yeniden başlatmada 0x00). Bu, ETG.5100 S (D) V1.2.0’ın Tablo 12’sidir.

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1Conn_Id
Reset
Oktet 0
hata kodu
Oktet 1 — yeniden başlatmada 0
0
Oktet 2 — kullanılmaz
CRC_0_Lo
Oktet 3
CRC_0_Hi
Oktet 4
0
Oktet 5 — kullanılmaz
0
Oktet 6 — kullanılmaz
CRC_1_Lo
Oktet 7
CRC_1_Hi
Oktet 8
0
Oktet 9 — kullanılmaz
0
Oktet 10 — kullanılmaz

Master, bu slave başlatmalı Reset’i başka bir Reset PDU göndererek değil, Reset durumundan çıkarak onaylar: Session komutlu bir Safety Master PDU gönderir ve bu, iki tarafın da Reset’ten çıkması için sinyaldir.

Bir araya getirelim: Reset durumu alışverişi

Yukarıdaki üç PDU, sıfırlamayı kimin başlattığına bağlı küçük bir el sıkışma oluşturur:

  • Master başlatmalı sıfırlama: Master Reset gönderir (hata koduyla) → Slave Reset ile onaylar (SafeData = 0) → Master Reset’ten çıkmak için Session gönderir.
  • Slave başlatmalı sıfırlama: Slave Reset gönderir (hata koduyla) → Master Reset’ten çıkmak için Session gönderir (bu, master’ın onayıdır).

Her iki durumda da bağlantı yalnızca master Session komutunu verdiğinde Reset durumundan çıkar; o zamana kadar hattaki her PDU Reset komutunu taşır, Conn_Id alanı 0’dır ve anlamlı tek yük SafeData[0]‘daki tek baytlık hata kodudur.

FSoE iletişim hata kodları (Tablo 28)

Bir Reset PDU’sunun SafeData[0]‘ında taşınan hata kodu aşağıdaki tablodan gelir. 0x00 değeri “hata yok” demektir — yani yerel bir sıfırlama veya bir Reset komutunun onayı. 1–11 kodları standartta tanımlıdır; 0x80–0xFF cihaza özel SafePara hataları için ayrılmıştır.

Hata KoduAçıklama
0Yerel sıfırlama veya bir RESET komutunun onayı
1Beklenmeyen komut (INVALID_CMD)
2Bilinmeyen komut (UNKNOWN_CMD)
3Geçersiz connection ID (INVALID_CONNID)
4CRC hatası (INVALID_CRC)
5Watchdog süresi doldu (WD_EXPIRED)
6Geçersiz FSoE Slave Adresi (INVALID_ADDRESS)
7Geçersiz safety data (INVALID_DATA)
8Geçersiz iletişim parametre uzunluğu (INVALID_COMMPARALEN)
9Geçersiz iletişim parametre verisi (INVALID_COMPARA)
10Geçersiz uygulama parametre uzunluğu (INVALID_USERPARALEN)
11Geçersiz uygulama parametre verisi (INVALID_USERPARA)
0x80–0xFFGeçersiz SafePara (cihaza özel)

Özet

Reset durumunda FSoE Safety PDU fiilen tek baytlık bir tanı zarfıdır: Command alanı Reset‘tir, SafeData[0] hata kodunu taşır (veya onaylarken 0), diğer tüm SafeData oktetleri ve Conn_Id alanı 0’dır ve sıra numarası ile miras alınan CRC’nin ikisi de girişte temizlendiği için CRC’ler sıfırlanmış başlangıç durumundan yeniden hesaplanır. Bağlantı yalnızca master Session komutunu gönderdiğinde Reset’ten çıkar — slave asla Session göndermez, yalnızca SafeData’sını sıfırlayarak Reset’i onaylar.

Kaynaklar

  • ETG.5100 S (D) V1.2.0, §8.2.2.2 Reset state, Tablo 10–12 ve Tablo 28.

İlgili yazılar

Genel bakış ve temeller

Duruma göre PDU yapıları

CRC

Hata kodları ve veri biçimi


Check out similar posts by category: FSoE EtherCAT Emniyet