Home > Forum > Controller SlimLine e Netsyst (LogicLab) > Informationen zur CAN-Bus-Verwaltung
- Dieses Thema hat 9 Antworten, 3 Teilnehmer und wurde zuletzt aktualisiert 4 Jahre, 10 Monate da Sergio Bertana.
-
AutorPost
-
September 6, 2013 bei 9: 50 #35409RubenPartecipante
Hallo, ich brauche detailliertere Informationen zum CAN-Bus des Slimline. Ich habe das Programmierhandbuch gelesen, kann es aber nicht vollständig verstehen.
SYSCANMESSAGE.MsgID: Was bedeutet FF: Bit 31?
SysCANTSetMode: Filter und Maske beziehen sich auf die Nachrichten-ID? Logik zwischen ihnen? Handelt es sich um Rx- und Tx-Filter?
SysCANRxMsg: Im Beispiel ist Mask 16 # 3FFFFFFF. Für 29 Bits sollte es nicht 16 # 1FFFFFFF sein? ID im Beispiel ist 16 # 00000000. Dies ermöglicht nur das Empfangen von Paketen mit SYSCANMESSAGE.MsgID 16 # 00000000, nicht alle Pakete. Das ist wahr ?
Haben Sie eine detailliertere Dokumentation?
Was sind die Ausführungszeiten für SysCANTxMsg () und SysCANRxMsg ()?
Der CAN-Bus Controller und der des Freescale MX257?September 10, 2013 bei 9: 06 #37760Sergio BertanaAdministrator des ForumsIch versuche zu klären, wie der CAN - Bus auf dem PC funktioniert SlimLineBeginnen wir damit, dass der CAN 1 - Controller im ARM - Controller als CAN - Controller verwendet wird (Allego Datenblatt extrahieren). Das 31-Bit-Bit (FF) von SYSCANMESSAGE.MsgID gibt an, ob die Nachricht eine Kennung für das 11-Bit oder für das 29-Bit hat.
Um den CAN zu verwenden, muss er durch Definieren der Geschwindigkeit und der Filter initialisiert werden. In der Regel ist er so eingestellt, dass er alle Nachrichten empfängt SysCANSetMode(CAN_500KBIT, 16#00000000, 16#00000000);
Empfangen von CAN-Nachrichten
Die Nachrichten werden unterbrochen empfangen und im Empfangspuffer gespeichert (32-Nachrichten bis zu jeweils 8-Datenbytes). Das Anwenderprogramm mit der Funktion SysCANRxMsg(Mask, ID, ADR(Msg)); Es extrahiert die gewünschte Nachricht aus dem Puffer und speichert sie in der Variablen Msg. Die Funktion muss ausgeführt werden, bis der Empfangspuffer vollständig leer ist, und alle empfangenen Nachrichten werden verwaltet. Die Ausführungszeit der Funktion beträgt einige us, aber um keine Nachrichten zu verlieren, muss sie zyklisch in einer Zeit ausgeführt werden, die kürzer als die Pufferfüllzeit (32 Nachrichten) ist.Übertragung von CAN-Nachrichten
Die Nachrichten werden mit der Funktion in den Übertragungspuffer geladen (32-Nachrichten mit jeweils bis zu 8-Datenbytes) SysCANTxMsg(ADR(Msg)); Die Nachrichten werden dann vom System unterbrochen übertragen.Juni 15, 2019 bei 6: 12 am #48173RuboxPartecipanteIch habe Zweifel an der Verwendung der CAN-Kommunikation, ich habe eine erweiterte RS485-CPU (damit wird CAN nicht verwaltet, oder?) Und ein PCB126C130-Erweiterungsmodul mit CAN / RS485-Feldbus-Eigenschaften.
Kann ich mit dem Erweiterungsmodul Werte über CAN lesen?
Wie wird alles verwaltet? In den CAN-Lese- / Schreibfunktionen sehe ich keine Art Moduladresse, an der gelesen und geschrieben werden kann: Wird diese Adresse automatisch von der CPU verwaltet?
Vielen Dank für die Hilfe, die Sie mir geben möchten.
Juni 15, 2019 bei 6: 21 am #48178Sergio BertanaAdministrator des ForumsDas CPU-Modul mit RS485-Port kann den CAN nicht verwalten. Der Platz auf dem CPU-Modul wird reduziert, sodass wir den Platz zwischen RS485 und CAN geteilt haben. Wir müssen die gewünschte Version auswählen.
Auf dem PCB126C130-Erweiterungsmodul befindet sich ein RS232-Port, der für den Programmzugriff verwendet werden kann. Er entspricht genau dem der Ports auf dem CPU-Modul, die den FB verwenden SysSerialPort, Definition der Definition im COM-Feld PCOMx.y Dabei ist x die Adresse des Moduls und mit y die Portnummer auf dem Formular in Ihrem Fall die 0-Nummer.
Juni 15, 2019 bei 6: 47 am #48191RuboxPartecipanteHallo, danke für die Antwort: Ich hatte noch nie gefunden, wie ich die serielle Schnittstelle der Module ansprechen soll. So kann ich den P1-Anschluss am Erweiterungsmodul verwenden.
Wie kann ich den P12-Anschluss dieses Moduls für die CAN-Kommunikation verwenden, immer wenn dies möglich ist?
Juni 15, 2019 bei 6: 50 am #48194Sergio BertanaAdministrator des ForumsJa, der serielle RS232-Anschluss kann verwendet werden, aber das Modul, das Sie haben (Modell PCB126C130), hat 1 als erste Nummer nach Stufe C, es ist ein Modul mit nur RS232, die 3-Nummer gibt 10-Analogeingangskanäle an.
Tatsächlich ist in Ihrem Modul der P12-Anschluss nicht montiert.
Juni 15, 2019 bei 8: 02 am #48198RuboxPartecipanteEmh ... (gibt es das Gesicht, das sich selbst vergräbt?): Dies sind die Fragen, die man stellt, wenn man die Hardware nicht zur Hand hat, sondern nur das, was der Kunde Ihnen sagt, dass er über die Funktionen gelesen hat.
Ich hatte Zweifel, ob ich auf das System zugreifen soll, das mit CAN und RS232 herauskommt… und ich habe alle Zweifel beseitigt 🙂
Bevor ich als Idiot weitere Fragen stelle, werde ich die Dokumentation zweimal lesen, das verspreche ich!
Danke und gute Arbeit
Juni 15, 2019 bei 8: 04 am #48202Sergio BertanaAdministrator des ForumsKundenfragen sind immer nützlich. Eine Frage kann nützliche Antworten geben, um die Funktionsweise des Systems besser zu verstehen.
Juni 17, 2019 bei 6: 06 am #48208RuboxPartecipanteAlso erlaube ich mir eine andere Frage, vorausgesetzt, dass ich den CAN noch nie benutzt habe. Ich habe etwas im Internet gelesen, um etwas mehr zu verstehen.
Wenn ich ein Erweiterungsmodul mit dem CAN-Port hatte und ein System angeschlossen habe, das über CAN kommuniziert, ist es richtig, dass in den FBs keine "Adressierung" des CAN-Ports vorhanden ist? Es sollte eine Art "TCP" sein, der das Datenpaket über die CAN-Ports sendet und auf die Antwort wartet, oder?
Allerdings sollte ich noch die Haupt-CPU haben, die das CAN-Protokoll verwaltet, sonst könnte ich sowieso nichts lesen?
Juni 17, 2019 bei 6: 14 am #48225Sergio BertanaAdministrator des ForumsDerzeit besteht die einzige Möglichkeit zur Verwaltung des CAN-Busses in der CAN-Version des CPU-Moduls (Council) MPS054B200). Wenn Sie sich das anschauen IEC61131-3 ProgrammierhandbuchHier finden Sie Anweisungen zur Verwendung der Funktionen SysCANTxMsg e SysCANRxMsg.
Eine CAN-Nachricht besteht aus einer eindeutigen Kennung mit 11 oder 29 Bit und einem Datenrahmen, der maximal 8 Byte erreichen kann. Alle Geräte im Netzwerk sind sowohl Master als auch Slave. Jede übertragene Nachricht wird von allen Systemen im Netzwerk empfangen, die sie mit der gewünschten ID filtern.
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.