Fatek fabrika seri numarası

(Fatek - FBs/B1/B1z/HB1)
matsumoto
Mesajlar: 5
Kayıt: Cmt Eyl 18, 2021 9:53 pm

Fatek fabrika seri numarası

Mesaj gönderen matsumoto »

Merhabalar,
Fatek haberleşme protokolü dökümanında plc normal durum sorgulama için 40 detaylı durum sorgulama için 53 gönderilmesi söylenmiş.
Her iki sorgulamada da seri numarası döndürülmüyor.
Winproladder haberleşmesini izlediğimde listede olmayan operasyon kodları ile çalıştığını gördüm.
Fabrika seri numarassı için 39 gönderiyor.
Paket yapısı aşağıdaki gibi
stx + station number + 39 + login code + checksum + etx (Stx paket başlangıcı etx paket sonu hex 02 ve hex 03, checksum doğrulama kodudur)

Buradaki login code kısımı nasıl hesaplanıyor?

Plc haberleşmesi için bir oturum açma kodu kullanıyor. İlk önce iki adet sabit sorgu gönderiyor.
Bunlar :
1 : stx + 0102C5 + etx
2 : stx + 012AD6 + etx

Sonrasında oturum açmak için aşağıdaki sorgu gönderiliyor.
stx + 0100C3 + etx

Buradan dönen değer (5 byte veri) bir hesaplamaya tabi tutulup yine 5 bytelık bir oturum kodu oluşturuluyor.
Bütün sorgularda bu kod ile haberleşme sağlanıyor.

Buradaki oturum açma algoritması nasıl hesaplanıyor?
Kullanıcı avatarı
Volkan
Mesajlar: 1055
Kayıt: Prş Tem 29, 2021 8:40 am
Konum: İstanbul
İletişim:

Re: Fatek fabrika seri numarası

Mesaj gönderen Volkan »

Merhaba;

Öncelikli olarak 40 ve 53 numaralı komutlar PLC seri no bilgisini içermezler.

WinProladder ile PLC arasındaki haberleşme üreticinin oluşturmuş olduğu ve yapısını son kullanıcılarla paylaşmadığı bir yapıdır. Operasyon kodlarının ilgili dokümanda olmamasının sebebi budur.

Yine de size yardımcı olması amacıyla biraz araştırma yaptık ve seri no cevabının nasıl alındığını bulduk. Ancak paket yapısı konusunda herhangi bir bilgimiz yok.

Gönderin (hex):
02 30 31 33 39 38 38 32 38 31 30 31 33 42 03

Gelen cevap (PLC Seri No: I4H059F00286)
01390DI4H059F00286F9

Bazı PLC'lerin seri numarası saklamadığı unutulmamalıdır. Kontrol etmek için, PLC'ye ilk bağlantı yapıldığı durum sayfasında seri no kısmı kontrol edilmelidir.
matsumoto
Mesajlar: 5
Kayıt: Cmt Eyl 18, 2021 9:53 pm

Re: Fatek fabrika seri numarası

Mesaj gönderen matsumoto »

Merhabalar;

Öncelikle cevabınız için teşekkür ederim.
Denedim sonuç aynı hata kodu dönderiyor.
Daha öncede belirttiğim gibi bir login kod üretiliyor.
Sizin sorgunuz da benim belirttiğim gibidir hex olarak yazmışsınız string karşılığı aşağıdaki gibidir.
hex : 02 30 31 33 39 38 38 32 38 31 30 31 33 42 03

string : stx + 01 + 39 + 88281 + 01 + 3B + etx

Açıklayacak olursak başlangıç karakteri + plc istasyon numarası + işlenecek komut + 5 byte oturum kodu + 01 sabit + 2 byte doğrulama kodu + sonlandırma karakteri.
Zaten winproladder exesini decompile edip baktığımda gördüğüm formatta '39%04X1%02X' olarak alınmış.
Buda demek oluyor ki 39 komut numarası artı 4 byte değişken artı 1 byte sabit ve 2 byte doğrulama kodu.

Siz winproladder ile bağlanıp onun gönderdiğini direk gönderirseniz winproladder oturum açtığı için gönderilen paket işleniyor ve seri numarasını geri dönderiyor. Plc ye elektrik verip direk sorgunuzu gönderdiğinizde hata cevabı alacaksınız.
Kullanıcı avatarı
Volkan
Mesajlar: 1055
Kayıt: Prş Tem 29, 2021 8:40 am
Konum: İstanbul
İletişim:

Re: Fatek fabrika seri numarası

Mesaj gönderen Volkan »

Merhaba;

Araştırdım ve seri numarası için bir çözüm yolu buldum. Öncelikli olarak FUN 190 kullanılmalıdır. Bu fonksiyon PLC seri numarasını 6 adet register içerisine depolamaktadır. Daha sonrasında ilgili registerlar okunarak işlem tamamlanabilir. Örnekte seri numarası R12-17 aralığında depolanmaktadır.

SWAP fonksiyonu ters gelen string sıralamasını düzeltmek içindir. Zorunlu değildir.
resim_2021-09-19_010241.png
resim_2021-09-19_010241.png (20.26 KiB) 4333 kere görüntülendi
Aşağıdaki hex gönderirseniz R12-17 aralığını okuyacaksınız.
02 30 31 34 36 30 36 52 30 30 30 31 32 37 38 03

Gelen cevap (Seri nosu I4H059F00286 olan PLC'den)
01 46 0 4934 4830 3539 4630 3032 3836 DD

Sadeleştirirsek;
4934 4830 3539 4630 3032 3836hex= I4H059F00286 ascii

Fatek Haberleşme Protokolü CheckSum Hesabı Nasıl Yapılır?

viewtopic.php?f=12&t=9&p=9&hilit=checksum#p9
resim_2021-09-19_010315.png
resim_2021-09-19_010315.png (20.26 KiB) 4333 kere görüntülendi
resim_2021-09-19_010335.png
resim_2021-09-19_010335.png (48.91 KiB) 4333 kere görüntülendi
matsumoto
Mesajlar: 5
Kayıt: Cmt Eyl 18, 2021 9:53 pm

Re: Fatek fabrika seri numarası

Mesaj gönderen matsumoto »

Cevabınız için teşekkür ederim.

Bunu zaten biliyordum. Benim yapmak istediğim plc bazlı bir lisanslama sistemi eğer böyle birşey yaparsam çok kolay manipüle edilebilir. Tek plc seri numarasına lisans alıp registerlara sabit olarak yazılıp sorgu sonucu hep aynı seri numarası gönderilebilir. Bunun önüne geçmek için direk sorgulama yaparak almak istemiştim.

Fatek Taiwan teknik servisine (Albert Chen / Application Engineer) mail atmıştım onlarda bizim açık kaynak sunduğumuzun dışında sorgulamalar halka açık değildir.
Bu konuda bilgi paylaşımı yapılmayacaktır dediler.
Aslında ben winproladder debug ederek sorgulama yerini buldum ama pek zamanım olmadığı için detaya giremedim.
Boş bir zamanda algoritmasını çıkarmaya çalışacağım.

Yardımlarınız için teşekkür ederim.
Cevapla

“FBs-PLC” sayfasına dön