Siemens S7 iletişim protokolünün temel ilkesi ve paket yakalama analizi

Köklü bir endüstriyel kontrol şirketi olan Siemens, Çin pazarında yüksek bir pazar payına sahiptir. Siemensin iletişim protokolleri hakkında konuşmak isterseniz, MPI, PPI, USS, Profibus, Profinet, S7 vb. Gibi az çok bir şey söyleyebileceğinize inanıyorum. Bununla birlikte, Siemens hala protokol açıklığı açısından nispeten kapalıdır, pek çok kez Bu protokollerin altında yatan iletişim ilkelerini bilmenin hiçbir yolu yok.

Burada, Wireshark paket yakalama aracını, Siemens S7 iletişim protokolünün altında yatan iletişim mesajlarını adım adım nasıl yakalayacağınızı sizinle paylaşmak için esas olarak birleştiriyorum.Umarım adım adım analizim sayesinde herkes Siemens S7 protokolünü anlayabilir. Biraz anlarken, temel paket yakalama işlemlerini ve mesaj analizini de öğrenin.

1

Ortam kurulumu

1. Öncelikle bir Siemens PLC hazırlamalı ve PLC ile PC arasında normal ağ bağlantısını sağlamalıyız. Not: Elinizde PLC bulunmayan çocuk ayakkabıları için, ilgili makaleleri kendiniz kontrol edebilirsiniz: TIA'ya dayalı Siemens PLC simülasyon ortamını ve iletişim şemasını kurun.

2. Haberleşme mesajını yakalamak için PC ile PLC arasındaki haberleşmenin gerçekleştirilmesi gerekiyor Burada kullandığım yöntem KepServer V6.4 ile bunu gerçekleştirmek.

3. Wireshark paket yakalama yazılımını kurun.

4. S7 protokolünün ağ modelini bilin.

2

Adımlar

1. İlk olarak, KepServer ile PLC arasındaki iletişim bağlantısını yapılandırın;

Not: KepServer yazılım uygulamaları için lütfen ilgili makalelere bakın: KepServer V6.4 tabanlı Mitsubishi FX3U PLC ile iletişimi gerçekleştirin.

2. Wireshark yazılımını açın ve mesajları izleme durumunda olun;

3. KepServer'ı PLC'ye bağlayın Bu sırada mesaj verileri Wireshark yazılımında görünecektir KepServer bağlantısını durdurun ve yazılımı kapatın Aynı zamanda, sonraki mesaj analizi için Wireshark izlemesini durdurun;

3

ilk analiz

Kendi TCP iletişimi anlayışınızı birleştirerek, yakalanan mesaj türlerini ayırt edebilirsiniz:

TCP üç yönlü el sıkışma süreci

S7 protokolünün ilk bağlantı doğrulaması

S7 protokolü ikinci bağlantı doğrulaması

TCP dört kez salladı

Analiz sayesinde, Siemens'in S7 iletişiminin basit bir TCP iletişimi olmadığını gördük.TCP üç yönlü el sıkışma gerçekleştirdikten sonra, iki bağlantı doğrulaması göndermesi gerekiyor.İki bağlantı doğrulamasından sonra gerçek veri alışverişi gerçekleştirilebilir.

4

Paket yakalama analizi

(1) İlk el sıkışma için mesaj gönderin

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x0016

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 18 bayt kaplar:

Uzunluk: 0x11

PDU tipi (CRConnect İsteği bağlantı isteği): 0x0E

Hedef referans: 0x0000

Kaynak referans: 0x0001

Genişletilmiş biçim / akış denetimi: 0x00

Parametre kodu TPDU-Boyutu: 0xC0

Parametre uzunluğu: 0x01

TPDU boyutu: 0x0A

Parametre kodu SRC-TASP: 0xC1

Parametre uzunluğu: 0x02

KaynakTSAP: 0x0201

Parametre kodu DST-TASP: 0xC2

Parametre uzunluğu: 0x02

HedefTSAP: 0x0201

(2) İlk el sıkışma cevap mesajı

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x0016

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 18 bayt kaplar:

Uzunluk: 0x11

PDU tipi (CCConnect Bağlantı onayı onayı): 0x0D

Hedef referans: 0x0001

Kaynak referans: 0x0006

Genişletilmiş biçim / akış denetimi: 0x00

Parametre kodu TPDU-Boyutu: 0xC0

Parametre uzunluğu: 0x01

TPDU boyutu: 0x0A

Parametre kodu SRC-TASP: 0xC1

Parametre uzunluğu: 0x02

KaynakTSAP: 0x0201

Parametre kodu DST-TASP: 0xC2

Parametre uzunluğu: 0x02

HedefTSAP: 0x0201

(3) İkinci el sıkışmada mesaj gönder

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x0019

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 3 bayt kaplar:

Uzunluk: 0x02

PDU tipi (DT Verileri): 0XF0

Hedef referans: 0x80

S7Communication (yedinci katman: uygulama katmanı)

Bu katman toplamda 18 bayt yer kaplar ve iki bölüme ayrılır:

Üstbilgi:

Protokol Kimliği (Protokol Kimliği): 0x32

ROSCTR: 0x01

Ayrılmış: 0x0000

Protokol veri birimi referansı: 0x037C

Parametre uzunluğu: 0x0008

Veri uzunluğu: 0x0000

Parametre:

İşlev kodu: 0xF0

Ayrılmış: 0x00

Maks AmQ (Arama): 0x0001

Maks AmQ (Aranan): 0x0001

PDU uzunluğu: 0x03C0

(4) İkinci el sıkışma dönüş mesajı

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x0019

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 3 bayt kaplar:

Uzunluk: 0x02

PDU tipi (DT Verileri): 0XF0

Hedef referans: 0x80

S7Communication (yedinci katman: uygulama katmanı)

Bu katman toplamda 20 bayt yer kaplar ve iki bölüme ayrılır:

Üstbilgi:

Protokol Kimliği (Protokol Kimliği): 0x32

Ack_Data: 0x03

Ayrılmış: 0x0000

Protokol veri birimi referansı: 0x037C

Parametre uzunluğu: 0x0008

Veri uzunluğu: 0x0000

Hata seviyesi: 0x00

Hata kodu: 0x00

Parametre:

İşlev kodu: 0xF0

Ayrılmış: 0x00

Maks AmQ (Arama): 0x0001

Maks AmQ (Aranan): 0x0001

PDU uzunluğu: 0x00F0

(5) Veri aktarım mesajını okuyun:

Yalnızca VD0 yapılandırıldığından, DB1.DBX0.0'dan başlayan 4 bayt okunur

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x001F

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 3 bayt kaplar:

Uzunluk: 0x02

PDU tipi (DT Verileri): 0XF0

Hedef referans: 0x80

S7Communication (yedinci katman: uygulama katmanı)

Bu katman toplamda 24 bayt yer kaplar ve iki bölüme ayrılır:

Üstbilgi:

Protokol Kimliği (Protokol Kimliği): 0x32

Ack_Data: 0x01

Ayrılmış: 0x0000

Protokol veri birimi referansı: 0x037D

Parametre uzunluğu: 0x000E

Veri uzunluğu: 0x0000

Parametre:

Fonksiyon kodu Var: 0x04 Oku

İletişim öğelerinin sayısı: 0x01

İletişim öğesi 1:

İletişim öğesi Üstbilgi

Değişken özellikleri: 0x12

Adres uzunluğu: 0x0A

Sözdizimi Kimliği: 0x10

İletim veri türü baytı: 0x02

İletişim öğesi Param

Okuma uzunluğu: 0x04

DB numarası: 0x01

Depolama alanı türü DB depolama alanı: 0x84

Bayt başlat: 0x000000

(6) Veri iade mesajını okuyun:

Mesaj açıklaması:

TPKT (Katman 5: Oturum Katmanı)

Bu katman toplam 4 bayt kaplar:

Sürüm numarası: 0x03

Ayrılmış: 0x00

Uzunluk: 0x001D

COTP (altıncı katman: sunum katmanı)

Bu katman toplam 3 bayt kaplar:

Uzunluk: 0x02

PDU tipi (DT Verileri): 0XF0

Hedef referans: 0x80

S7Communication (yedinci katman: uygulama katmanı)

Bu katman toplamda 22 bayt yer kaplar ve iki kısma ayrılır:

Üstbilgi:

Protokol Kimliği (Protokol Kimliği): 0x32

Ack_Data: 0x03

Ayrılmış: 0x0000

Protokol veri birimi referansı: 0x037D

Parametre uzunluğu: 0x0002

Veri uzunluğu: 0x0008

Hata seviyesi: 0x00

Hata kodu: 0x00

Parametre:

Fonksiyon kodu Var: 0x04 Oku

İletişim öğelerinin sayısı: 0x01

İletişim öğesi 1:

Dönüş sonucu Başarı: 0xFF

İletim veri türü Byte / Word / DWord: 0x04

Uzunluk: 0x0020

Veri: 0x00000000

Dönüş mesajı, okunan 4 baytın hepsinin 0 olduğunu gösterir

Buradaki mesajlar sıralanır ve ilgili Soket iletişimi bilgisi ile birleştirilirse, Siemens PLC ile iletişim sorunu kolayca çözülecektir.

Maskelerden sonra, tüm dünyada vantilatörler takıldı ve tüm çizimler size verildi
önceki
İki S7-1200 PLC ve bir HMI cihaz konfigürasyonu ağ bağlantı yöntemi
Sonraki
PLC projesi yapan eski bir mühendisin deneyimi
Motor kontrol döngüsü tasarımı, bu makaleyi anlamanız yeterli
Siemens TIA Portal projesinden nakledilen birkaç özel durum için çözümler!
Frekans dönüştürücünün dinamik frenleme enerjisinin hesaplanması
Qingming'i Anma | Qingming Festivali'ni Anma
Çalınan Van Gogh tablosu ne kadar değerli? Aynı dönemde 120 milyon yuan iş
Jinyintan Jiangsu Tıp Ekibi: Neyse ki "kapanış" savaşında "muhafız" olmak, asla pes etmeyin
Peru'daki Çin Büyükelçiliği, Peru'daki Çinli öğretmenlere ve uluslararası öğrencilere anti-salgın maskeler dağıtıyor
Sanatçı Zhang Shuang "Invasion" San Francisco Sanat Fuarı'nda sergilendi
Omar ciddi zorluklarla karşı karşıya! Federal ceza soruşturması sessizce başlatılmış olabilir
PLC temel bilgisine giriş PPT eğitim yazılımı
Saniyeler, voltaj ve akımın öncülüğünün ve gecikmesinin ne olduğunu anlar (sinema filmi)
To Top