FSoE TxPDO 0x1B00, LW2 with safe torque çalıştıran Synapticon SOMANET sürücülerinde slave’den master’a güvenlik durum çerçevesi, FSoE RxPDO 0x1700 ise master’dan slave’e güvenlik komut çerçevesidir.
- RxPDO (11 byte) FSoE komutunu, bit-paketlenmiş güvenlik komut flag’lerini, güvenli çıkışları, iki CRC’yi ve bağlantı ID’sini taşır.
- TxPDO (35 byte) bir FSoE komut byte’ını, güvenlik durum sözcüklerini, güvenli konum/hız/tork değerlerini, bir CRC zincirini ve FSoE bağlantı ID’sini taşır.
Güvenlik uyarısı: Bu yazı kolaylık amaçlı bir genel bakıştır. Güvenlikle ilgili herhangi bir çalışmada her zaman resmi Synapticon dokümantasyonuna başvur: Safe Data via FSoE - LW2 with safe torque. Aşağıdaki bilgiler bu kaynaktan türetilmiştir.
Tüm çok-byte’lı alanlar little-endian byte sırasıyla iletilir. Slave’den master’a TxPDO‘daki durum bitleri one-active’tir (1 = aktif/bildirilen). Master’dan slave’e RxPDO komut bitleri aşağıdaki tabloda aktif seviyeleriyle listelenmiştir (zero-active veya one-active).
Tam 35-byte TxPDO 0x1B00 yerleşimi
Sürücü güvenli tork bildirdiğinde Synapticon SOMANET FSoE TxPDO 0x1B00 35 byte uzunluğundadır.
Octet 0–16
| Command | Status Word 0 | CRC 0 | Status Word 1 | CRC 1 | Status Word 2 | CRC 2 | Status Word 3 | CRC 3 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FSoE CMD Octet 0 | Safety state flags Octets 1–2 | CRC0_Lo Octet 3 | CRC0_Hi Octet 4 | Diagnostic flags Octets 5–6 | CRC1_Lo Octet 7 | CRC1_Hi Octet 8 | Safe position single turn Octets 9–10 | CRC2_Lo Octet 11 | CRC2_Hi Octet 12 | Safe position multiturn Octets 13–14 | CRC3_Lo Octet 15 | CRC3_Hi Octet 16 | ||||
Octet 17–34
| Status Word 4 | CRC 4 | Status Word 5 | CRC 5 | Status Word 6 | CRC 6 | Status Word 7 | CRC 7 | Conn ID | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Safe velocity part low Octets 17–18 | CRC4_Lo Octet 19 | CRC4_Hi Octet 20 | Safe velocity part high Octets 21–22 | CRC5_Lo Octet 23 | CRC5_Hi Octet 24 | Safe scaled analog input Octets 25–26 | CRC6_Lo Octet 27 | CRC6_Hi Octet 28 | Safe torque actual value Octets 29–30 | CRC7_Lo Octet 31 | CRC7_Hi Octet 32 | Conn ID Lo Octet 33 | Conn ID Hi Octet 34 | ||||
Önemli noktalar:
- Command (octet 0) FSoE protokol komutudur (
ProcessData,FailSafeDatavb.). - Status Words 0 ve 1 bit-eşlenmiş güvenlik durumu ve tanılama flag’lerini taşır.
- Status Words 2 ve 3 güvenli konumu oluşturur: tek tur (octet 9–10) ve çoklu tur (octet 13–14).
- Status Words 4 ve 5 güvenli hızı oluşturur: düşük sözcük (octet 17–18) ve yüksek sözcük (octet 21–22).
- Status Word 7 güvenli tork gerçek değeridir (octet 29–30).
- Conn ID (octet 33–34) FSoE bağlantı ID’sidir.
11-byte FSoE RxPDO 0x1700 yerleşimi
Synapticon SOMANET FSoE RxPDO 0x1700, master’dan slave’e güvenlik komut çerçevesidir. 11 byte uzunluğundadır.
| Command | Safety flags | CRC 0 | Res | Safe outputs | CRC 1 | Conn ID | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| FSoE CMD Octet 0 | Safety flags Octets 1–2 | CRC0_Lo Octet 3 | CRC0_Hi Octet 4 | Res Octet 5 | Safe outputs Octet 6 | CRC1_Lo Octet 7 | CRC1_Hi Octet 8 | Conn ID Lo Octet 9 | Conn ID Hi Octet 10 | |
Önemli noktalar:
- Command (octet 0,
0x6770:01) FSoE protokol komutudur (ProcessData,FailSafeDatavb.). - Safety flags (octet 1–2) bit-paketlenmiş güvenlik komut istekleridir.
- CRC 0 (
0x6770:03, octet 3–4) FSoE komutunu ve güvenlik flag’lerini korur. - Res (octet 5) ayrılmış padding byte’ıdır.
- Safe outputs (octet 6) güvenli dijital çıkışları kontrol eder.
- CRC 1 (
0x6770:04, octet 7–8) ayrılmış byte ve güvenli çıkışları korur. - Conn ID (
0x6770:02, octet 9–10) FSoE bağlantı ID’sidir.
Güvenlik flag’leri bit referansı
16-bit safety_flags alanı octet 1–2’dedir. Offset’ler B.b (byte.bit) olarak verilir.
| Total bit | B.b (word) | B.b (frame) | B.b (safe data) | Name | Active level | Contents | FSoE Object ID | ||
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.0 | 1.0 | 0.0 | STO | zero-active | 0 = request STO, 1 = no STO request | 0x6640:00 | ||
| 1 | 0.1 | 1.1 | 0.1 | SS1 | zero-active | 0 = request SS1, 1 = no SS1 request | 0x6650:01 | ||
| 2 | 0.2 | 1.2 | 0.2 | SS2 | zero-active | 0 = request SS2, 1 = no SS2 request | 0x6670:01 | ||
| 3 | 0.3 | 1.3 | 0.3 | SOS | zero-active | 0 = request SOS, 1 = no SOS request | 0x6668:01 | ||
| 4 | 0.4 | 1.4 | 0.4 | reserved | — | — | — | ||
| 5 | 0.5 | 1.5 | 0.5 | reserved | — | — | — | ||
| 6 | 0.6 | 1.6 | 0.6 | reserved | — | — | — | ||
| 7 | 0.7 | 1.7 | 0.7 | Error acknowledge | one-active | 1 = acknowledge error, 0 = no error acknowledge | 0x6632:00 | ||
| 8 | 1.0 | 2.0 | 1.0 | SLS instance 1 | zero-active | 0 = request SLS1, 1 = no SLS1 request | 0x6690:01 | ||
| 9 | 1.1 | 2.1 | 1.1 | SLS instance 2 | zero-active | 0 = request SLS2, 1 = no SLS2 request | 0x6690:02 | ||
| 10 | 1.2 | 2.2 | 1.2 | SLS instance 3 | zero-active | 0 = request SLS3, 1 = no SLS3 request | 0x6690:03 | ||
| 11 | 1.3 | 2.3 | 1.3 | SLS instance 4 | zero-active | 0 = request SLS4, 1 = no SLS4 request | 0x6690:04 | ||
| 12 | 1.4 | 2.4 | 1.4 | Restart acknowledge | one-active | 1 = restart acknowledge, 0 = no restart acknowledge | 0x6630:00 | ||
| 13 | 1.5 | 2.5 | 1.5 | SBC command | zero-active | 0 = SBC command active, 1 = no SBC request | 0x6660:00 | ||
| 14 | 1.6 | 2.6 | 1.6 | Reset position | one-active | 1 = reset position, 0 = no reset | 0x26A0:00 | ||
| 15 | 1.7 | 2.7 | 1.7 | reserved | — | — | — |
Güvenli çıkışlar bit referansı
8-bit safe_outputs alanı octet 6’dadır.
| Total bit | B.b (word) | B.b (frame) | B.b (safe data) | Name | Active level | Contents | FSoE Object ID | ||
|---|---|---|---|---|---|---|---|---|---|
| 24 | 0.0 | 6.0 | 3.0 | Safe output 1 | one-active | 1 = output ON, 0 = output OFF | 0x26F0:01 | ||
| 25 | 0.1 | 6.1 | 3.1 | Safe output 2 | one-active | 1 = output ON, 0 = output OFF | 0x26F0:02 |
Status Word 0 bit referansı
Status Word 0, 16-bit safety_state_flags alanıdır. Offset’ler B.b (byte.bit) olarak verilir.
| Total bit | B.b (word) | B.b (frame) | B.b (safe data) | Name | Contents | FSoE Object ID | |||
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.0 | 1.0 | 0.0 | STO state | 0 = STO inactive, 1 = STO active | 6640:00 | |||
| 1 | 0.1 | 1.1 | 0.1 | reserved | (SSM_1) | — | |||
| 2 | 0.2 | 1.2 | 0.2 | reserved | (SSM_2) | — | |||
| 3 | 0.3 | 1.3 | 0.3 | SOS state | 0 = SOS inactive, 1 = SOS active | 6668:01 | |||
| 4 | 0.4 | 1.4 | 0.4 | reserved | (SSR_1) | — | |||
| 5 | 0.5 | 1.5 | 0.5 | reserved | (SDIp) | — | |||
| 6 | 0.6 | 1.6 | 0.6 | reserved | (SDIn) | — | |||
| 7 | 0.7 | 1.7 | 0.7 | Error active | 0 = no error, 1 = error active | 6632:00 | |||
| 8 | 1.0 | 2.0 | 1.0 | SS1 state | 0 = SS1 inactive, 1 = SS1 active | 6650:01 | |||
| 9 | 1.1 | 2.1 | 1.1 | SS2 state | 0 = SS2 inactive, 1 = SS2 active | 6670:01 | |||
| 10 | 1.2 | 2.2 | 1.2 | unused | — | — | |||
| 11 | 1.3 | 2.3 | 1.3 | unused | — | — | |||
| 12 | 1.4 | 2.4 | 1.4 | SLS instance 1 | 0 = SLS inactive, 1 = SLS active | 6690:01 | |||
| 13 | 1.5 | 2.5 | 1.5 | SLS instance 2 | 0 = SLS inactive, 1 = SLS active | 6690:02 | |||
| 14 | 1.6 | 2.6 | 1.6 | SLS instance 3 | 0 = SLS inactive, 1 = SLS active | 6690:03 | |||
| 15 | 1.7 | 2.7 | 1.7 | SLS instance 4 | 0 = SLS inactive, 1 = SLS active | 6690:04 |
Status Word 1 bit referansı
Status Word 1, 16-bit diagnostic_flags alanıdır.
| Total bit | B.b (word) | B.b (frame) | B.b (safe data) | Name | Contents | FSoE Object ID | |||
|---|---|---|---|---|---|---|---|---|---|
| 16 | 0.0 | 5.0 | 2.0 | Restart acknowledge required | 0 = restart not required, 1 = restart required | 6630:00 | |||
| 17 | 0.1 | 5.1 | 2.1 | SBC state | 0 = brake may be released, 1 = brake engaged | 0x6660:00 | |||
| 18 | 0.2 | 5.2 | 2.2 | Temperature OK | 0 = temperature warning, 1 = temperature OK | 0x2600:00 | |||
| 19 | 0.3 | 5.3 | 2.3 | Safe position valid | 0 = position data invalid, 1 = position data valid | 0x2601:00 | |||
| 20 | 0.4 | 5.4 | 2.4 | Safe velocity valid | 0 = velocity data invalid, 1 = velocity data valid | 0x2602:00 | |||
| 21 | 0.5 | 5.5 | 2.5 | Safe torque valid | 0 = torque data invalid, 1 = torque data valid | 0x26B0:01 | |||
| 22 | 0.6 | 5.6 | 2.6 | Safe torque sign valid | 0 = torque sign invalid, 1 = torque sign valid | 0x26B0:02 | |||
| 23 | 0.7 | 5.7 | 2.7 | SLT state | 0 = SLT inactive, 1 = SLT active | 0x66B0:01 | |||
| 24 | 1.0 | 6.0 | 3.0 | Safe input 1 | 0 = input low, 1 = input high | 0x2603:01 | |||
| 25 | 1.1 | 6.1 | 3.1 | Safe input 2 | 0 = input low, 1 = input high | 0x2603:02 | |||
| 26 | 1.2 | 6.2 | 3.2 | reserved | — | — | |||
| 27 | 1.3 | 6.3 | 3.3 | reserved | — | — | |||
| 28 | 1.4 | 6.4 | 3.4 | Safe output 1 | 0 = output low, 1 = output high | 0x2604:01 | |||
| 29 | 1.5 | 6.5 | 3.5 | reserved | User Defined | — | |||
| 30 | 1.6 | 6.6 | 3.6 | Analog input diagnostic active | 0 = single channel only, 1 = dual channel | 0x2605:01 | |||
| 31 | 1.7 | 6.7 | 3.7 | Analog input value valid | 0 = analog data invalid, 1 = analog data valid | 0x2605:02 |
Veri sözcükleri referansı (Status Words 2–7)
Bu durum sözcükleri bit-eşlenmemiştir; her biri 16-bit güvenli veri değeridir.
| Status word | Frame bytes | Safe data bytes | Name | FSoE Object ID |
|---|---|---|---|---|
| 2 | 9–10 | 4–5 | Safe position single turn value | 0x6611:11 |
| 3 | 13–14 | 6–7 | Safe position multiturn value | 0x6611:00 |
| 4 | 17–18 | 8–9 | Safe velocity part low | 0x6613:00 |
| 5 | 21–22 | 10–11 | Safe velocity part high | 0x6613:00 |
| 6 | 25–26 | 12–13 | Safe scaled analog input | 0x2605:03 |
| 7 | 29–30 | 14–15 | Safe torque actual value | 0x6616:00 |
Güvenli veri offset’i hakkında notlar
Güvenli veri, komut byte’ını izleyen FSoE payload’ıdır.
- TxPDO 0x1B00‘de (35 byte) güvenli veri, Status Words 0–7’nin oluşturduğu 16 byte’tır. TxPDO tablolarındaki B.b (safe data) sütunu, bu bitişik 16-byte güvenli veri payload’ı içindeki byte.bit offset’idir. Total bit sütunu aynı payload içindeki sıfır-tabanlı doğrusal bit indeksidir.
- RxPDO 0x1700‘de (11 byte) güvenli veri,
safety_flagsalanı, ayrılmış pad vesafe_outputsalanının oluşturduğu 4 byte’tır (iki CRC ve bağlantı ID’si overhead’dir). RxPDO tablolarındaki B.b (frame) sütunu tam 11-byte çerçeve içindeki offset’i verirken, B.b (safe data) ve Total bit 4-byte güvenli veri payload’ına göredir.
CRC’ler ve bağlantı ID’si FSoE protokol overhead’idir ve güvenli verinin kendisinin parçası değildir.
Kaynaklar
- Synapticon documentation: Safe Data via FSoE - LW2 with safe torque — the official reference this overview is based on.
- FSoE frame structure explained by examples — general FSoE frame layout.