Lineareinheit über S7-200 und Controller steuern, Freeport

woodiii

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich versuche gerade meine Lineareinheit von der S7-200 steuern zu lassen.
Habe mir dafür das PPI/Multimaster-Kabel mit RS232-Anschluß besorgt, damit ich es direkt an den IT 116G Controller der Lineareinheit anschließen kann.
Nur leider weiß ich nicht, wie ich dem Controller über Port 1 den entsprechenden ASCII-Code übertrage.
Habe das ganze mal nach "Tip005A" mit MOV_B nachgebaut; da passiert leider nichts, wenn ich das Programm laufen lasse -> keine Reaktion Lineareinheit.
Ich müßten einen Befehl senden der wie folgt aussieht:
Code:
@01
@0M 1000,1000
Hat jemand ne Idee oder einen Tipp für mich?
Vielen Dank!

Aufbau:
- S7-200, CPU 224 XP,
- EM 222
- Isel IT 116G + Isel Lineareinheit
- RS232/PPI Multi-Master-Kabel
 
Hallo
Habe das ganze mal nach "Tip005A" mit MOV_B nachgebaut; da passiert leider nichts,
für RS232 geht movb sowieso nicht. (Aus der CPU kommt natürlich RS485 - und der Adapter muss dazwischen sein !)
Die Kommunikation über freeport bedarf eines speziellen Ablaufs - konfigurieren der Schnittstelle (Port0 --> SMB30 || Port1 -->SMB130) ; konfiguration des Ablaufes Sendevorganges (SMB irgendwas um 89/189 siehe Handbuch), Freigabe der Schnittstelle und dann wird über XMT, Table, Port aus einer Tabelle versandt.
In deinem Fall sähe die Tabelle etwa so aus:
VB1000 Anzahl zu sendender Zeichen
VB 1001 '@'
VB 1002 '1'
VB 1003 '....'
Bei meiner Isel ist nach dem Senden der 'Deviceansprecher' dann generell eine Wartezei erforderlich - da kommt erst ein ACK zurück. Dieses muss normal dann in die Kommunikation mit aufgenommen werden, bevor der zweite Teil des Befehls über einen zweiten Sendevorgang aus einer zweiten Tabelle heraus gestartet wird.
Damit wird die Kommunikation kompliziert - es musste folglich immer zuerst gesendet werden, dann dier Schnittstelle geschlossen und auf 'Empfang' umgeschaltet der Eingang des ACK abgewartet/ausgewertet werden und dann auf 'Senden' zurückgeschaltet der Befehl(sequenz) nachgeschoben werden.
Testweise geht's auch das per (warte)Zeit zu lösen, also das ACK einfach als 'schon okay' anzunehmen. Zusätzlich eingehende Signale (wie Endschalter, Fehlermeldungen etc.) werden damit aber u.U. gnadenlos 'überfahren'. Insofern nur als Test ob da überhaupt was reagiert.

Bei meiner (Bj. 90) Iseliette war das Rausfummeln es per CPU seriell anzusteuern seinerzeit jedenfalls recht heavy. Es gibt da jedoch massig Controllertypen womit das wohl nicht vereintheitlicht und generell zu übertragen ist.
Viel Spass:rolleyes:
tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Tobias,

nochmals vielen Dank für den Hinweis.
Hast Du zufällig noch Dein altes Programm und kannst es mal bitte hier Posten oder mir zukommen lassen?
Bin hier nämlich gerade ein wenig am verzweifeln mit dem Kasten.

Vielen Dank.
woodiii
 
Hallo
Bin hier nämlich gerade ein wenig am verzweifeln mit dem Kasten.
Das ist wohl generell so
Wir haben übrigends die UIC116-C5. (von 1x85 ...)
Abgesehen das der RS485-Freeport halbduplex auch nicht immer optimal geeignet ist den eher vollduplex RS232 Datenaustausch zum Iselcontroller zu bewerkstelligen gibts mehrere Ansätze es einigermassen hinkommen, aber Direktkommandos wird mittlerweile zumeist der Fall sein (und am Anfang der Erfahrung nach: eher nur).
Als wir da aber begannen waren die 21x-CPU's verbreiteter. Da ohne Unterprogramme (gab noch keine Parameterübergabe wie bei den 22x) konnte fast alles indirekt adressiert werden. Auch um der, in mehren 'Projekten' seinerzeit gerade als grosse Mode grassierenden 'Poke&Peekerietis' genüge zu leisten. (die Iselcontroller lassen den seriellen Zugriff auf die Speicherstellen zu). Bei der 21x machte die Sache auch teilweise Sinn, weil's so die geringen Rechenkünste der 21x CPU's kompensierte. Bei 'ner 22x incl. Kreisfunktion lassen sich Kurveninterpolationen ja auch anders lösen ...
Hast Du zufällig noch Dein altes Programm und kannst es mal bitte hier Posten oder mir zukommen lassen?
Die Programme habe ich wie gesagt natürlich - aber aus vorgenannten Gründen fange ich da jetzt nicht bei an den alten Kram 'auseinanderzufleddern'.
Was man vielleicht machen könnte ist als 'Grundlagenübung' dazu ein kleineres Zubehörteil auf 'ne 224XP oder 226XM um zu programmieren. Ich denke da gerade an die Fortsetzung unseres hier schon ewig liegenden elek.Handrades. Das wäre insofern sinnvoll weil ich das auch immer bräuchte und seit Jahren schon mit meinem Provisorium rumeier :D
Dazu muss ich aber zuerst mal gucken wie das zeitlich hinkommt und meine Mitkämpfer 'belobigen' ein paar Mark mit für die uns dazu noch fehlenden Teile auf den Tisch zu legen. Und auch die Steuerung wieder in den Keller zurück schleppen. Die steht im Moment woanders, zum Probieren weniger ideal - so auf die Schnelle geht da aber auch nichts.
Kannst ja mal sehen ob dein Controller da überhaupt identisch ist, mal sagen ob du dazu das Handbuch dazu hast und da kann ich dir erstmal die Seiten sagen wozu wir da die grundsätzliche Kommunikation rausfummelten:rolleyes:
Gruss
tobias
 
Zurück
Oben