@mariob
ich glaube du verstehst das ganze nicht - es ist eine Industrie-Röstgerät für Kaffe - ein geschlossenes käufliches Produkt das Morris Beume gerne umfangreicher nutzen will
-er WILL nicht die fest in das Gerät verbaute SPS verändern
-das SPS-Programm bekommt er nicht weil es ein Standard-Produkt von der Stange ist und der Hersteller da nichts rausgibt - hat er schon geschrieben
-das Protokoll bekommt er auch nicht da der Hersteller da nichts rausgibt - hat er auch schon geschrieben
-wenn er das SPS-Programm eigenwillig ändert erlischt die Garantie definitiv sofort und gnadenlos - bei einer Software von aussen wird es wohl nicht möglich sein das von Hersteller-Seite zu erkennen
-die Giesen-eigene Software nutzt auch nur die S7-Variablen lese/schreibe Schnittstelle - warum also tiefer rein?
-am liebsten würde er die andere Fremdsoftware laufen lassen - die hatte nettere Features - und die will er sicher nicht in der SPS nachprogrammieren
-wenn er das Protokoll versteht kann man das einfach in die andere Software einbauen und fertig
das kann man in der SPS, C#, C++, Java oder sonstwas - schnell und einfach - programmieren - wenn man kann - nur die Analyse des Protokolls dauert ein wenig
und es könnte sich ja auch mit der nächsten Firmware ändern
@Morris Beume
die Ausgabe von meinem Analyse-Tool zeigt folgenden Variablen-Zugriffe über alle pcaps
sonst wird in den Protkollen absolut nichts gemacht - also nur read/write von 5 Variablen - für diese 3 Fälle
Code:
zyklisch wohl eine Ueberwachung des Ist-Zustandes:
ReadItem Item(ePLC_TypeBYTE,count=88,db_nr=2,area=ePLC_AreaDATA,adress=byte(0)) <- hier wird ein 88-Byte-Blob gelesen?
diese werden immer zusammen geschrieben:
WriteItem Item(ePLC_TypeBYTE,count=2,db_nr=2,area=ePLC_AreaDATA,adress=byte(10))<- wird immer 240 geschrieben
WriteItem Item(ePLC_TypeBYTE,count=2,db_nr=2,area=ePLC_AreaDATA,adress=byte(14))<- Brenner (wie schon von Fabpicard gemeldet)
WriteItem Item(ePLC_TypeBYTE,count=2,db_nr=2,area=ePLC_AreaDATA,adress=byte(16))<- Airflow
WriteItem Item(ePLC_TypeBYTE,count=2,db_nr=2,area=ePLC_AreaDATA,adress=byte(18)<- Trommel
Herausforderung:
-vollständigere Wireshark-Logs(Connect->Arbeit->Disconnect), mehr Logs - mit allen Features?
-was ist der 88-Byte Blob der gelesen wird - Kennung/Firmware/irgendwas verschluesseltes?
-gibt es schon ein eingebautes Rezept in der SPS und man stellt nur die Startwerte ein?
-kleine Kommunikations-Simulation und damit die Giesen-Software testen
-was sind die min/max-Werte-Bereiche von Airflow,Brenner,Trommel?
-gibt es noch mehr Funktionen in der Giesen-Software?
klar ist das nicht ganz einfach - aber so extrem schwierig oder unmöglich ist es meistens nicht - dieser Fall sieht sogar releativ einfach aus - und es gibt ja hier auch Leute die mit sowas ihr Geld verdienen