12.07.2015 Aufrufe

(deutsch) R360 ClassicController | CR0020, CR0505 - IFM Electronic

(deutsch) R360 ClassicController | CR0020, CR0505 - IFM Electronic

(deutsch) R360 ClassicController | CR0020, CR0505 - IFM Electronic

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

CAN im ecomatmobil-Controllerifm System Manual ecomatmobile <strong>ClassicController</strong> (<strong>CR0020</strong>, <strong>CR0505</strong>) V05Beschreibung der CAN-Funktionsblöcke9.6.10 Funktion CANx_RECEIVE_RANGEx = Nr. 1...n der CAN-Schnittstelle (je nach Gerät, → Datenblatt)Enthalten in Bibliothek:ab ifm_CRnnnn_V05yyzz.LIBverfügbar für:• <strong>ClassicController</strong>: <strong>CR0020</strong>, <strong>CR0505</strong>• ExtendedController: CR0200• SmartController: CR2500, CR2501, CR2502• SafetyController: CR7020, CR7021, CR7505, CR7506, CR7200, CR7201Funktion NICHT für Sicherheitssignale!(Für Sicherheitssignale → Funktion CAN_SAFETY_RECEIVE)• CabinetController: CR0301, CR0302, CR0303• Platinensteuerung: CS0015• PDM360 smart: CR1070, CR1071Funktionssymbol:CANx_RECEIVE_RANGECONFIGIDCLEARDATAFIRST_IDDLCLAST_IDAVAILABLEOVERFLOWBeschreibungCANx_RECEIVE_RANGE konfiguriert eine Folge von Datenempfangsobjekten und liest denEmpfangspuffer der Datenobjekte aus.Für die 1. CAN-Schnittstelle sind max. 2048 IDs je 11 Bits möglich.Für die 2. CAN-Schnittstelle sind max. 256 IDs je 11 ODER 29 Bits möglich.Die 2. CAN-Schnittstelle benötigt eine lange Initialisierungszeit. Damit der Watchdog nicht anspricht,sollte bei größeren Bereichen der Vorgang auf mehrere Zyklen verteilt werden (→ Beispiel:Initialisieren von CANx_RECEIVE_RANGE in 4 Zyklen, Seite 90).Die Funktion muss für jede Folge von Datenobjekten in der Initialisierungsphase einmalig aufgerufenwerden, um dem CAN-Controller die Identifier der Datenobjekte bekannt zu machen.Die Funktion darf für die selben IDs an den selben CAN-Schnittstellen NICHT gemischt eingesetztwerden mit der Funktion CANx_RECEIVE (→ Seite 85) oder der Funktion CANx_RECEIVE_RANGE.Im weiteren Programmzyklus wird CANx_RECEIVE_RANGE zum Auslesen des jeweiligenEmpfangspuffers aufgerufen, bei langen Programmzyklen auch mehrfach. Der Programmierer mussdurch Auswertung des Bytes AVAILABLE dafür Sorge tragen, dass neu eingegangene Datenobjekteaus dem Puffer SOFORT abgerufen und weiterverarbeitet werden, da die Daten nur einen Zyklus langbereitstehen.Jeder Aufruf der Funktion dekrementiert das Byte AVAILABLE um 1. Ist der Wert von AVAILABLEgleich 0, sind keine Daten im Puffer.88

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!