CP341 ASCII lesen

halorenzen

Level-1
Beiträge
47
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr da draussen :lol:

spiele gerade mit dem CP341 (315-DP2) ...
und habe das Siemens Beispiel geladen...
Senden : OK !

Empfangen: nachdem ich DBB_NO auf den Start des Arrays (14) des DB43 (statt 0...) ersetzt habe ...
( Siemens Beispiel = DBB_NO=0 ??? / ARRAY[1..100] ab DW14 ! )
kann ich auch Zeichen lesen
( als Protokoll habe ich ASCII (ohne Datenflusskontrolle) gewählt....
a. Nach Ablauf von 4ms
b. nach 10 Bytes
)

zu a.
hier empfange ich einzelne Zeichen im DB43.dbb14 ( ....Array[1] )
und der OK Zähler wird mit jedem Zeichen hochgezählt
das 100Byte bleibt somit bis auf 1 Byte ungenutzt.....

jedoch funktioniert es nicht bei fester Zeichenzahl.... ?
(egal weil nicht sinnvoll...)

werde mal die OK Zeichen Zähler nutzen um Ziel Array Adresse hochzuzählen....

oder gibt es andere sinnvollere Möglichkeiten ?
 
Hallo Hans,

erstens habe ich Deine Frage nicht verstanden,

zweitens habe ich zwar schon Erfahrungen mit dem CP341 sammeln dürfen, habe aber die Siemens beispiele beiseite gelassen.

Vielleicht hilft Dir aber ein kleiner Erfahrungsbericht weiter:

Ich habe die Kommunikation zwischen einer S7 315 2DP und einem PC aufgebaut.
Nach dem ich das beiliegende Softwarepaket installiert hatte, habe ich auch das Protokoll auf ASCII ohne Datenflusskontrolle eingestellt. Und als Erkennung für das Daten ende 10ms eingestellt.
In meinem Kommunikations-FC habe ich dann die beiden Siemens FC´s für send and receive eingefügt. Dabei war zu beachten Das der eine vor dem anderen aufgerufen wurde (steht in der Hilfe zu den Bausteinen). Mein größtes Problem bei der Sache war das ich mich auch das erste Mal mit Strings in der S7 auseinander setzen musste. Der Auf bau eines Strings in der S7 muss Dir also bekannt sein. Ein String ist ein Array von Bytes das so groß ist wie die Maximale Länge an Zeichen die er aufnehmen kann plus zwei Byte das Byte im Feld 0 gibt an wie groß der String Maximal werden kann und das Byte im Feld 1 wie viele aktuell belegt sind. Es gab da noch an jedem FC noch Bit Flags beim send Baustein die Freigabe zum Senden und beim receive Baustein Freigabe Zum empfangen (TRUE) und eine Ausgabe neue Daten erhalten.
Da war noch beim receive Baustein ein LEN ausgang der angab wie Lange der empfangene String ist.

War aber im Großen und Ganzen nicht wirklich schwer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
CP341 Test

Hallo Zotos !

dank erst mal für deine Antwort !!!


zotos schrieb:
erstens habe ich Deine Frage nicht verstanden,

zweitens habe ich zwar schon Erfahrungen mit dem CP341 sammeln dürfen, habe aber die Siemens beispiele beiseite gelassen.
.......snipp...

ja so richtig habe ich MEINE Frage auch nicht verstanden.... :roll:
und die Siemens Beispiele habe ich jetzt auch wechgelassen :shock:

Da ich seit einieger Zeit Datenfunkverbindungen mache....
( in der Regel zum übertragen von Meßwerten u.ä. )
habe ich gerade ein kleines und kostengünstiges GSM/GPRS Modem an den CP341 angeschlossen....

Daher benutze ich Hardware RTS/CTS zum Händeschütteln....

Ich sende SMS ...
und erkenne eingehende Anrufer durch die angezeigte Rufnummer ohne "Gebührenbelastung"
( dies werte ich aus um diesen Anruf als Meldungs/Störungsquittierung
zu nutzen.... )

Nachdem ich die Kabel und Protokolle auf einander abgestimmt habe läuft es .... :D

Bin am probieren mit email und Fax als auch am einlesen einer SMS um ggf. auf diesem Weg "Befehle" an die Steuerung zu übertragen....

Mit einem zweiten CP soll dann ein Funmodem ( im 800MHz Bereich )
mehrer weitere Funkmodems auf einem größeren Firmengelände abfragen um div. Meßwerte zu übertragen ......
( an die Modems wird ein Adapter für digitale und analoge E/A´s angeschlossen....)
Vorteil: Datenverbindungen sind Lizenzfrei und kostenfrei......

also Danke erstmal...
(muß hier ja nicht immer NUR Probleme geben :lol: )
 
Zurück
Oben