ich bin Anfänger in der SPS-Programmierung und möchte einen Teil eines CoDeSYS V2-Programm in ein
V3 übertragen. In dem V2 -Programm wurden die Bausteine CanOpenWriteMSG_FB und
MgrFindRecMessage verwendet.
Wo finde ich in der Version 3 etwas vergleichbares? Ich habe schon im Internet gesucht, aber leider nichts gefunden.
Vielen Dank und viele Grüße
Ute
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
generell wurde der V3 CANopen Stack in V3 völlig neu entwickelt, d.h diese von dir beschrieben Funktionen wirdst du nirgends finden
in V3.
CanOpenWriteMSG_FB hat man ja meist in CODESYS V2.3 verwendet wenn man selber über die Applikation CANLayer2 Kommunikation gemacht hat. d.h in V3 schaust du dir am besten das Beispiel aus dem Store an wenn du so was in CODESYS V3 machen willst:
Wenn es darum geht ganz normal einen CANopenSlave über ne IO Konfig anzubinden, dann muss man erst mal nichts weiteres tun außer diesen unterhalb der SPS anzuhängen - CANbus- CANOpenManager - CANSlave . ( die PDO's konfigurieren)
Will man selber in seiner Applikation Status vom Slave oder SDO Kommandoes verschicken, dann benötigt man die CAA 405 library.
Hier findet man Funktionen wie SDO_READ , NMT , GET_STATE die man verwenden kann.
vielen Dank. Ein Stückchen bin ich weiter.
Was ich allerdings nicht verstanden habe ist, wie nun die eigentliche CanLayer2-Kommunikation abläuft.
Ich möchte Befehle an den Slave schicken. Dazu brauche ich die Struktur bzw. (bei der muss
xIsTxMessage auf true sein?). Ist das so richtig?
Wie rufe ich das dann auf?
Könntest du mir evtl. (bitte) da ein Beispiel schreiben?
Sorry, ich bin wirklich auf allen Ebenen Anfänger.
DAnke.
Viele Grüße
Ute
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ja, ich habe es gefunden. Ich bin zwar zuerst daran gescheitert, dass es im Users-Verzeichnis steht, weil ich nicht die Rechte auf dem PC hatte, das Package zu installieren und es darum im User-Verzeichnis desjenigen lag, der installiert hatte ...
Und angeschaut hab ich es auch. Aber so richtig blicke ich nicht durch.
Wenn ich jetzt so eine Message erstmal zum Testen "händisch" schreiben möchte,
was muss ich jetzt wie in diese Datenstruktur schreiben?
Vielen Dank und viele Grüße
Ute Ferlein
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
danke für deine Hilfe. Es funktioniert soweit. Jetzt muss ich das ganze noch über eine Web-Visu parametrierbar machen ...
Falls du mir einen Tipp hast, wo ich dazu was finde, wäre ich dir sehr dankbar.
Viele Grüße
Ute
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen,
ich bin Anfänger in der SPS-Programmierung und möchte einen Teil eines CoDeSYS V2-Programm in ein
V3 übertragen. In dem V2 -Programm wurden die Bausteine CanOpenWriteMSG_FB und
MgrFindRecMessage verwendet.
Wo finde ich in der Version 3 etwas vergleichbares? Ich habe schon im Internet gesucht, aber leider nichts gefunden.
Vielen Dank und viele Grüße
Ute
Hallo Ute,
generell wurde der V3 CANopen Stack in V3 völlig neu entwickelt, d.h diese von dir beschrieben Funktionen wirdst du nirgends finden
in V3.
CanOpenWriteMSG_FB hat man ja meist in CODESYS V2.3 verwendet wenn man selber über die Applikation CANLayer2 Kommunikation gemacht hat. d.h in V3 schaust du dir am besten das Beispiel aus dem Store an wenn du so was in CODESYS V3 machen willst:
http://store.codesys.com/can-bus-example.html
Wenn es darum geht ganz normal einen CANopenSlave über ne IO Konfig anzubinden, dann muss man erst mal nichts weiteres tun außer diesen unterhalb der SPS anzuhängen - CANbus- CANOpenManager - CANSlave . ( die PDO's konfigurieren)
Will man selber in seiner Applikation Status vom Slave oder SDO Kommandoes verschicken, dann benötigt man die CAA 405 library.
Hier findet man Funktionen wie SDO_READ , NMT , GET_STATE die man verwenden kann.
ich hoffe das hilft so weiter.
Edwin Schwellinger
3S-Smart Software Solutions GmbH
Hallo Edwin,
vielen Dank. Ein Stückchen bin ich weiter.
Was ich allerdings nicht verstanden habe ist, wie nun die eigentliche CanLayer2-Kommunikation abläuft.
Ich möchte Befehle an den Slave schicken. Dazu brauche ich die Struktur bzw. (bei der muss
xIsTxMessage auf true sein?). Ist das so richtig?
Wie rufe ich das dann auf?
Könntest du mir evtl. (bitte) da ein Beispiel schreiben?
Sorry, ich bin wirklich auf allen Ebenen Anfänger.
DAnke.
Viele Grüße
Ute
Hallo Ute,
hast du dir das Beispiel angeschaut?
"c:\Users\<deinusername>\CODESYS Examples\CAN Bus API\CANbusAPIExample.project" </deinusername>
oder hast du das nicht gefunden nach Installation des Store Packages?
Grüße
Edwin
Hallo Edwin,
ja, ich habe es gefunden. Ich bin zwar zuerst daran gescheitert, dass es im Users-Verzeichnis steht, weil ich nicht die Rechte auf dem PC hatte, das Package zu installieren und es darum im User-Verzeichnis desjenigen lag, der installiert hatte ...
Und angeschaut hab ich es auch. Aber so richtig blicke ich nicht durch.
Wenn ich jetzt so eine Message erstmal zum Testen "händisch" schreiben möchte,
was muss ich jetzt wie in diese Datenstruktur schreiben?
Vielen Dank und viele Grüße
Ute Ferlein
denke in etwa so:
g_busConfig : CAN.DRIVER_CONFIG := (usiNetwork:= 0, uiBaudrate:= 500, ctMessages:= 10);
Message : CAN.Message;
Message.udiCANID := 16#201;
Message.usiDataLength := 1;
Message.abyData[0] := 5;
driver11bit.SendMessage(Message:= Message, eError=> );
Grüße
Edwin
Hallo Edwin,
danke für deine Hilfe. Es funktioniert soweit. Jetzt muss ich das ganze noch über eine Web-Visu parametrierbar machen ...
Falls du mir einen Tipp hast, wo ich dazu was finde, wäre ich dir sehr dankbar.
Viele Grüße
Ute