Seite 1
ADwin-light-16 Handbuch ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 2
Hier finden Sie immer einen Ansprechpartner für Ihre Fragen: Hotline: (0 62 51) 9 63 20 Fax: (0 62 51) 5 68 19 E-Mail: info@ADwin.de Jäger Computergesteuerte Messtechnik GmbH Internet www.ADwin.de Rheinstraße 2-4 D-64653 Lorsch ADwin-light-16 , Handbuch Version 3.5, November 2013...
Elemente eines Quelltextes wie Befehle, Variablen, Kommentar und sonstiger Var_1 Text werden im Schrifttyp Courier New und farbig dargestellt. In einem Datenwort (hier: 16 Bit) werden die Bits wie folgt nummeriert: Bit-Nr. … Wert des Bits … Bezeichnung ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 6
ADwin Typografische Konventionen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Beginnen Sie hier die Installation Ihres Systems! – die Beschreibung des Konfigurationsprogramms ADconfig, mit dem Sie die Kommunikation von der jeweiligen Schnittstelle zu Ihrem ADwin-light-16-Gerät einrichten. – das Handbuch ADbasic, das alle Befehle für den gleichnamigen Compiler ent- hält sowie das Funktionsprinzip von ADwin-Systemen erläutert.
ADwin-System schicken, wie z.B. „Prozess laden“, „Prozess starten“ oder „Parameter setzen“, zum anderen Kommandos, die von dem ADwin-System eine Ant- wort erwarten, wie z.B. „Variablen lesen“ oder „Datensätze lesen“. Beide Arten von Kommandos werden vom ADwin-System sofort bearbeitet beziehungsweise sofort und ADwin-light-16 , Handbuch Version 3.5, November 2013...
Inbetriebnahme ein großer Vorteil. Abb. 1 – Konzept der ADwin-Systeme ADwin-light-16 Das System ADwin-light-16 besitzt den digitalen 32 Bit-Signalprozessor ADSP 21062 Prozessor und Speicher (SHARC) von Analog Devices mit Floating-Point- und Integer-Verarbeitung. Er über- nimmt die gesamte Messwerterfassung, Online-Verarbeitung und Signalausgabe und kann in Verbindung mit dem A/D-Wandler jeden Messwert mit Abtastraten bis zu 100 kHz sofort verarbeiten;...
Seite 10
Abb. 2 – Funktionsschema (mit USB-Schnittstelle) Analoge Ausgänge ADwin-light-16 verfügt über 2 Analogausgänge mit 16 Bit Auflösung und einem Aus- gangsspannungsbereich von -10 V...+10 V. Per Software können Sie die Ausgabe der Spannung aller DAC synchronisieren sowie kalibrieren. Das Ausgangssignal durchläuft = 700 kHz.
Seite 11
L16-EURO-ENET Externes Gehäuse L16-EXT L16-EXT-ENET Abb. 4 – Liefervarianten der Basisversion ADwin-light-16 Beachten Sie bitte, dass die Spannungsversorgung für die Bauformen unterschiedlich ist: – +5 Volt für L16-PCI und L16-EURO – +10 ... +18 Volt für L16-EXT, ab Rev B +10 ... +36 Volt...
Zähler der Basisversion ersetzen. Die Zähler unterschied- licher Erweiterungen können deswegen nicht gemeinsam genutzt werden. 2.2.2 Zubehör Für das ADwin-light-16-System ist das folgende Zubehör (auch nachträglich) erhältlich; weitere Beschreibung siehe Seite ADbasic – ADbasic, Echtzeit-Entwicklungstool für alle ADwin-Systeme –...
Ableiten von Störungen über das Gehäuse mit der Verwendung von Schirmklemmen reduziert werden. Das ADwin-light-16-System wird intern mit einer Spannung von +5 V und ±15 V gegen Schutzkleinspannung GND betrieben und stellt von dieser Seite keine Gefahr für Leib und Leben dar. Für den Betrieb mit einem externem Netzteil gelten die Angaben des Herstellers.
Seite 14
ADwin Inbetriebnahme der Hardware 4 Inbetriebnahme der Hardware Schließen Sie bei der Inbetriebnahme keine Kabel an das ADwin-light-16-System an, bevor Sie nicht folgende Schritte durchgeführt haben: 1. Software-Installation / Einbau im PC oder 19“-Gehäuse: Folgen Sie der Anleitung im Handbuch: „ADwin-Installation“.
A.1 Technische Daten). Im Zweifel wenden Sie sich bitte an den Hersteller des Gerätes, das Sie an das ADwin-light-16-System anschließen wollen. Offene Eingänge können zu Fehlern führen – vor allem in einer nicht störungsfreien Umgebung. Zu Ihrer Sicherheit legen Sie nicht benutzte Eingänge möglichst nah an der Sub-D-Buchse auf einen definierten Pegel (z.B.
16-Bit Wertebereiches. Liegt der Wert innerhalb des 16-Bit Werteberei- ches, wird der angegebene Wert auf dem Ausgang ausgegeben. Liegt er Nummer außerhalb, wird der Maximal- bzw. Minimalwert ausgegeben (siehe auch DAC, Seite 66). ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 18
Ein- und Ausgänge 5.1.3 Berechnungsgrundlagen Spannungsbereich Das ADwin-light-16-System arbeitet bei den analogen Ein- und Ausgängen mit einem Spannungsbereich von –10 V bis +10 V (bipolar 10 V). Zuordnung von Digit und Die 65536 (2 ) Digits sind den jeweiligen Spannungsbereichen der ADCs und DACs...
Seite 19
Handbuch angegeben sind (in LSB): – Die integrale Nicht-Linearität (INL) beschreibt die maximale Abweichung von der Geraden über den gesamten Eingangsspannungsbereich. – Die differentielle Nicht-Linearität (DNL) beschreibt die maximale Abweichung von der Breite einer Quantisierungsstufe. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Änderungen oder Erweiterungen vorbehalten; Nichtbeachten kann das System beschädigen. Trigger-Eingang (EVENT) Das ADwin-light-16-System besitzt einen externen Trigger-Eingang (EVENT). Ein externes Signal (Trigger) mit steigender Flanke an diesem Eingang kann Prozesse aus- lösen, die sofort und vollständig abgearbeitet werden (siehe ADbasic-Handbuch oder -Online-Hilfe, Kapitel „Prozesse im Betriebssystem“).
ADwin Ein- und Ausgänge Impuls-/Ereigniszähler Das ADwin-light-16-System stellt 2 Impuls-/Ereigniszähler mit 32 Bit zur Verfügung, die Sie per Software einzeln oder gemeinsam konfigurieren und auslesen können. Bei den Lieferoptionen L16-CO1, L16-DIO1 und L16-DIO2 werden die hier beschrie- benen durch andere Zähler ersetzt. Sie finden die entsprechende Beschreibung in Kapitel 7 “CO1-Zählererweiterung“,...
Zur Vollständigkeit wird nachfolgend die Umwandlung zur Dezimalzahl beschrieben: Das höchste Bit (MSB) des Binärwerts stellt das Vorzeichen dar. Bei positivem Vorzei- chen werden die weiteren 31 Bits direkt als Zahl interpretiert, d.h. die Absolutwerte von ADwin-light-16 , Handbuch Version 3.5, November 2013...
Ein solcher Überlauf tritt bei einer Frequenz von 20 MHz nach etwas mehr als 3½ Minuten ein, bei 5MHz nach über 14 Minuten. LS-Bus ADwin-light-16 stellt einen Anschluss für den LS-Bus auf einem 9-poligen Sub-D-Ver- binder (Buchse LS-BUS ) zur Verfügung; die Pin-Belegung ist auf Seite 10 dargestellt.
Stellen Sie sicher, dass die Werte der Befehlsparameter innerhalb der zulässigen Bereichsgrenzen liegen. Die Hardware-Adressen der Register finden Sie nachfolgend, gruppiert nach analogen Eingängen, analogen Ausgängen, digitalen Ein-/Ausgängen und Zählern. Beachten Sie, dass manche Register mehrere Vorgänge gleichzeitig beeinflussen kön- nen. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 25
20 40 03 20 Zähler latchen (= Cnt_Latch()) 1 1 Zählerstand in Latch A übertragen *Nach der Befehlsausführung werden gesetzte Bits automatisch wieder gelöscht. Bei anderen Befehlen müssen gesetzte Bits durch einen neuen Befehlsaufruf gelöscht werden. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 26
ADwin Ein- und Ausgänge Adresse Funktion Bit Nr. Kommentar [HEX] 31:16 15:6 5 4 3 2 1 0 Abb. 18 – Zähler Hardware-Adressen der Steuer- und Datenregister ADwin-light-16 , Handbuch Version 3.5, November 2013...
Diese Verbindungen benötigen Sie auch für das Kalibrier-Diagramm. – Verbindungskabel von den Ein/Ausgängen zur Referenzspannungsquelle und zum Messgerät. Verbinden Sie Ihr ADwin-light-16-Gerät mit dem PC und konfigurieren Sie es mit dem Schritt 1 Programm <ADconfig.exe>. Starten Sie das Kalibrierprogramm <L16Calib.exe>. Es erscheint das Fenster Schritt 2 „ADwin-light-16 Calibration Tool“.
Seite 28
AGND DAC und DAC1 oder DAC2 an. (oder einen DAC-Ausgang) an den Ein- gang ADC 01 oder ADC 03 an. Beachten Sie bitte Abb. 9 – Pin-Belegung Ein-/Ausgänge (Buchse). Wählen Sie „Next Step >>“. 2. Offset einstellen: ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 29
Die Genauigkeit der eingestellten Kalibrierung können Sie anhand eines Diagramms Schritt 4 prüfen (Schaltfläche Diagram im Übersichtsfenster). Verbinden Sie zunächst den Ausgang DAC 1 mit dem Eingang ADC 01 sowie den Aus- gang DAC 2 mit dem Eingang ADC 03. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 30
Sie hierfür die Seriennummer Ihres ADwin-Systems ein, damit Sie den Ausdruck später zuordnen können. Auf dem Ausdruck sind außerdem die Kalibriereinstellungen und das Druckdatum enthalten. Mit Close kehren Sie zum Übersichtsfenster zurück. Schritt 5 Die Kalibrierung ist beendet. ADwin-light-16 , Handbuch Version 3.5, November 2013...
20 40 03 20 Cnt_Latch() Zähler latchen* *Nach der Befehlsausführung werden gesetzte Bits automatisch wieder gelöscht. Bei anderen Befehlen müssen gesetzte Bits durch einen neuen Befehlsaufruf gelöscht werden. Abb. 22 – CO1-Hardware-Adressen der Steuer- und Datenregister ADwin-light-16 , Handbuch Version 3.5, November 2013...
CAN(+) CLR/LATCH CAN-Bus- c) PWM-Analyse Controller CAN(-) A/CLK 32 Bit Vor-/Rückwärts-Zähler #2 Modi: a) Impuls-/Ereigniszählung B/DIR b) Periodendauermessung SSI, DATA CLR/LATCH c) PWM-Analyse SSI-Decoder SSI, CLK Abb. 23 – Schema L16-DIO1 (mit USB-Schnittstelle) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Entnehmen Sie bitte die Lage der DIP-Schalter der nachfolgenden Abbildung (achten Lage der DIP-Schalter Sie auf die Revision). Die gestrichelten Rahmen zeigen die Zuordnung der DIP-Schal- ter zu den Zählern 1 und 2 (obere Hälfte, halbrechts) und zur CAN-Schnittstelle (unten links). ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 36
XILINX-FPGA XCS20XL CAN- Controller AN82527 CAN-Term. L16-DIO1 Rev. B L16BD011002 250F CNTR #1 diff. s.e. diff. XCF04S s.e. CNTR #2 CNTR 16MHz LVC4245A LVC4245A 40MHz CAN- Controller AN82527 (CC770) DCR010505U C250 CAN- Term ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 37
ADwin DIO1-Erweiterung Abb. 25 – Lage der DIP-Schalter auf der DIO1-Platine Die technischen Daten der DIO1-Erweiterung sind im Anhang enthalten. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Befehle Ein-/Ausgänge konfigurieren Conf_DIO_E Digitaleingänge lesen D i g i n _ W o r d 1 _ E D i g i n _ W o r d 2 _ E Digin_Long_E ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 39
D i g o u t _ W o r d 1 _ E Digout_Word2_E Die Befehle sind in der Include-Datei <ADWL16.INC> enthalten und werden ab Seite 83 und in der Online-Hilfe erläutert. Näheres zur Programmierung zeitkritischer Aufgaben finden Sie im Kapitel 5.5 auf Seite ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 40
Abb. 25 – Lage der DIP-Schalter auf der DIO1-Platine). Für differentiellen Betrieb legen Sie alle 3 DIP-Schalter des entsprechenden Zählers nach oben um; für single ended-Betrieb legen Sie die Schalter nach unten um. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 41
Befehlsaufruf gelöscht werden. ** # = Zähler-Nummer 1 oder 2 Abb. 28 – DIO1-Zähler Befehle Kurzreferenz Sie können mit den Befehlen der Tabelle jeden Zähler einzeln oder beide Zähler gemeinsam konfigurieren. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 42
20 40 04 A4 DIO_Erweiterung Reset_Bit 16...31 x x x x x x x x x x x = 1: Ausgang <Bit-Nr.+16> löschen * * Funktion bei Eingängen ohne Einfluss Abb. 29 – DIO1 Hardware-Adressen der Steuer- und Datenregister ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 43
Bit 0: DIO 00...07; Bit 1: DIO 08...15 x = 1: Kanäle als Ausgang definieren Bit 2: DIO 16...23; Bit 3: DIO 24...31 * Funktion bei Eingängen ohne Einfluss Abb. 29 – DIO1 Hardware-Adressen der Steuer- und Datenregister ADwin-light-16 , Handbuch Version 3.5, November 2013...
Dieser Modus ermittelt Takt und Zählrichtung aus zwei Rechteck-Signalen, die an den Eingängen A und B um 90 Grad (ideal) versetzt anliegen. Die Zählrichtung ergibt sich logisch aus der zeitlichen Reihenfolge der steigenden / fallenden Flanken zueinander. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 45
Umschalter für die Signalfrequenz. Es können die Periodendauer oder die Pulsbreite eines Rechtecksignals am Eingang CLR/LATCH gemessen werden. In diesem Modus müssen Sie bei hohen Frequenzen berücksichtigen, dass Ihr ProcessDelay kleiner bleibt als eine Signalperiode, um jeden Zyklus zu erfassen. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 46
Messung von Pulsbreite und Pausenzeit Die Zähler besitzen je ein Latch A für positive Flanken und ein Latch B für negative Flanken. Aus der Zählerstandsdifferenz der Latches können Pulsbreite und Pausenzeit unabhängig voneinander ermittelt werden. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 47
... mit 5MHz Eingang CLR/LATCH auf LATCH-Modus stellen CNT_SET(0) Zähler 1 freigeben CNT_SET(1) CNT_INPUTMODE(1) Latch A auslesen Latch B auslesen CNT_ENABLE(1) Auswerten im Programm . . . EVENT: CNT_READLATCH(1) CNT_READFLATCH(1) . . . ADwin-light-16 , Handbuch Version 3.5, November 2013...
– Sie speichern die Nachricht im Feld can_msg. – Sie senden die Nachricht (Befehl Transmit). Die Nachricht im Feld can_msg wird an das Message-Objekt übergeben. Sobald der Bus frei ist, wird die Nach- richt gesendet (mit dem Identifier des Message-Objekts). ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 49
In Sonderfällen kann es vorteilhaft sein, die Einstellungen anders zu wählen, als es mit Busfrequenz für Sonderfälle möglich ist. Zu diesem Zweck müssen bestimmte Register mit Set_CAN_Baudrate dem Befehl gesetzt werden. Der Registeraufbau ist in der Dokumentation des Poke Controllers beschrieben. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 50
Setzen und Lesen von Registern Set_CAN_Reg, Get_CAN_Reg Initialisieren von Message Objekten En_Receive, En_Transmit Senden und Empfangen von Datensätzen Transmit Read_Msg, Read_Msg_Con Freigeben von Interrupts En_Interrupt Baudrate einstellen Set_CAN_Baudrate Abb. 30 – DIO1 Übersicht CAN-Befehle ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 51
Daten empfangen SSI_Read Encoder-Auflösung einstellen SSI_Set_Bits Encoder-Taktrate einstellen SSI_Set_Clock Auslesen des Encoders starten SSI_Start Lesestatus SSI_Status Die Befehle sind in der Include-Datei <ADWL16.INC> enthalten und werden ab Seite 125 und in der Online-Hilfe erläutert. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 52
Periodendauermessung LS High CLR/LATCH c) PWM-Analyse A/CLK 32 Bit Vor-/Rückwärts-Zähler #2 SSI, DATA Modi: a) Impuls-/Ereigniszählung SSI-Decoder B/DIR b) Periodendauermessung SSI, CLK CLR/LATCH c) PWM-Analyse Abb. 32 – Schema L16-DIO2 (mit USB-Schnittstelle) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 53
DIO-Bit 01 DIO-Bit 08 DIO-Bit 00 Signal GND reserviert reserviert Signal Low Signal High reserviert reserviert Abb. 33 – Übersichtsbild L16-EURO-DIO2 mit Pinbelegungen Die technischen Daten der DIO2- und DIO3-Erweiterung sind im Anhang enthalten. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 54
DIO 31 : DIO 24 DIO 23 : DIO 16 DIO 15 : DIO 08 DIO 07 : DIO 00 Digin_Word2_E Digin_Word1_E Digout_Word2_E Digout_Word1_E Anwendbare Digout_Set2_E Digout_Set1_E ADbasic-Befehle: Digout_Reset2_E Digout_Reset1_E Digin_Long_E, Digout_Long_E Abb. 34 – Konfigurationen mit Conf_DIO_E Näheres zur Programmierung zeitkritischer Aufgaben finden Sie im Kapitel auf Seite ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 55
Die Befehle sind in einer Include-Datei enthalten; binden Sie diese Datei am Beginn des Programms ein mit der Befehlszeile #INCLUDE ADWL16.INC Die Zähler-Befehle der folgenden Tabelle sind im ADbasic-Handbuch oder der Online- Hilfe vollständig beschrieben: ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 56
Peek direkt auf die Steuer- und Datenregister zugreifen (siehe auch Kapitel oder Poke ADbasic-Handbuch / Online-Hilfe). Die Hardware-Adressen der DIO2-Erweiterung können Sie folgender Tabelle entneh- men (vgl. Abb. 36 – DIO2-Zähler Befehle Kurzreferenz). ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 57
Bit 0: DIO 00...07; Bit 1: DIO 08...15 x = 1: Kanäle als Ausgang definieren Bit 2: DIO 16...23; Bit 3: DIO 24...31 * Funktion bei Eingängen ohne Einfluss Abb. 37 – DIO2 Hardware-Adressen der Steuer- und Datenregister ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 58
Dieser Modus ermittelt Takt und Zählrichtung aus zwei Rechteck-Signalen, die an den Eingängen A und B um 90 Grad (ideal) versetzt anliegen. Die Zählrichtung ergibt sich logisch aus der zeitlichen Reihenfolge der steigenden / fallenden Flanken zueinander. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 59
Umschalter für die Signalfrequenz. Es können die Periodendauer oder die Pulsbreite eines Rechtecksignals am Eingang CLR/LATCH gemessen werden. In diesem Modus müssen Sie bei hohen Frequenzen berücksichtigen, dass Ihr PROCESSDELAY kleiner bleibt als eine Signalperiode, um jeden Zyklus zu erfassen. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 60
Messung von Pulsbreite und Pausenzeit Die Zähler besitzen je ein Latch A für positive Flanken und ein Latch B für negative Flanken. Aus der Zählerstandsdifferenz der Latches können Pulsbreite und Pausenzeit unabhängig voneinander ermittelt werden. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 61
An den SSI-Decoder kann ein Inkremental-Encoder mit SSI-Schnittstelle angeschlos- sen werden. Die Signale sind differentiell und haben RS422/485-Pegel. Der Decoder kann entweder (auf Anforderung) einen einzelnen Wert auslesen oder aber kontinuierlich den aktuellen Wert bereit stellen. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 62
Daten empfangen SSI_Read Encoder-Auflösung einstellen SSI_Set_BITS Encoder-Taktrate einstellen SSI_Set_CLOCK Auslesen des Encoders starten SSI_START Lesestatus SSI_STATUS Die Befehle sind in der Include-Datei <ADWL16.INC> enthalten und werden im Hand- buch ADbasic und der Online-Hilfe erläutert. ADwin-light-16 , Handbuch Version 3.5, November 2013...
PWM Out / DIGOUT-05 SPI MOSI / DIO-Bit 30 SPI CLK / DIGOUT-04 SPI MOSI / DIGOUT-03 DIGIN-02 / SPI MISO Sub-D-Buchse ADwin I/O-Connector Sub-D-Buchse Digital I/O (nur bei DIO2 und DIO3) Abb. 39 – Pinbelegungen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 64
PWM_Enable PWM-Modus einstellen PWM_Write_Latch PWM-Modus und -Status lesen PWM_Get_Status PWM_Latch Die Befehle sind in der Include-Datei <ADwL16.inc> enthalten und werden in Kapitel 13.7 ab Seite 131 oder in der Online-Hilfe von ADbasic erläutert. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 65
SPI MISO gelegt, damit sie beim zweiten Flankenwechsel vom Master übernommen werden können. Mit jeder Taktperiode wird ein Bit übertragen. Beim üblichen Bytetransfer sind also 8 Taktperioden für eine vollständige Übertragung nötig. Es können auch mehrere Bytes 1. Quelle: Wikipedia ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 66
Status der Datenübertragung lesen SPI_Status TTL-Pegel auf der Datenleitung lesen SPI_Static_MISO Die Befehle sind in der Include-Datei <ADwL16.inc> enthalten und werden in Kapitel 13.8 Seite 141 oder in der Online-Hilfe von ADbasic erläutert. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 67
CD installieren, wird das Programm für die Bootloaderoption (ADethflash) automatisch kopiert. Die Version der CD sollte 3.00.2735 oder höher sein. Benutzen Sie für ein ADwin-light-16-System mit einem Ethernet-Interface das Pro- gramm ADethflash. Bei Standardinstallation finden Sie das Programm in dem Verzeichnis <C:\ADwin\Tools\Ethernet Interface\...>.
Seite 68
Gehäuse über die Masse abgeleitet werden (siehe auch Kapitel – Kabel-Stecker für eine externe Spannungsversorgung Jedem ADwin-light-16-Gerät ist ein Kabelstecker zur Montage an ein externes Spannungsversorgungs-Kabel beigelegt, falls Sie eine alternative Spannungs- quelle nutzen möchten. ADwin-light-16 , Handbuch Version 3.5, November 2013...
ADwin Software 13 Software Sie programmieren ADwin-light-16 inklusive aller Erweiterungen mit einfachen ADbasic-Befehlen. Die Basis-Befehle sind im ADbasic-Handbuch beschrie- ben. Befehle für den Zugriff auf Ein- und Ausgänge und Schnittstellen befinden sich auf folgenden Seiten: – Analoge Ein- und Ausgänge: Seite 65 –...
THEN 'Daraus die Nummer des Message objekt 'Objekts ermitteln, in dem die ELSE 'neue Nachricht steht objekt objekt ENDIF ergebnis = Read_Msg(objekt) 'Neue Daten auslesen REM Die Daten stehen im Feld CAN_Msg bereit ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 72
Beispiel Rem Digitaler P-Regler set_to, gain, diff, Long'Deklaration Init: Processdelay 10000 Event: set_to Par_1 'Sollwert gain Par_2 'Dimensionieren diff set_to - ADC(1) 'Regelabweichung berechnen diff gain 'Stellgröße berechnen DAC(1, out) 'Ausgabe der Stellgröße ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 73
-5V … 5V -2,5V … 2,5V -1,25V … 1,25V 2,5V Mit der folgenden Formel berechnen Sie aus dem zurückgegebenen Digitalwert die gemessene Spannung: Messbereich ⋅ ----------------------------- - Spannung Digits 32768 – bipolar 65536 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 74
ReadADC, Set_Mux, Start_Conv, Wait_EOC, L16_Mode Gültig für Beispiel As Long 'Deklaration Event: Rem Analogen Eingang 1 messen = ADC(1) * 10900 Rem Messwert in globale Variable schreiben, damit er Rem vom PC gelesen werden kann Par_1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 75
ADwin Analoge Ein- und Ausgänge L16_Mode L16_Mode stellt den Betriebsmodus für ADwin-light-16 Rev. B ein. L16_Mode Syntax #Include ADWL16.Inc L16_Mode(mode) Parameter Bitmuster zur Einstellung des Betriebsmodus. LONG mode Bits in Bedeutung mode Bit 0: Bit = 0: Standardbetrieb (Default). Bit = 1: Schnellbetrieb.
Seite 76
ADC, Set_Mux, Start_Conv, Wait_EOC, L16_Mode Gültig für Beispiel Event: Rem Multiplexer auf Kanal 3 setzen Set_Mux(001b) Rem MUX-Einschwingzeit überbrücken Rem ... Start_Conv(1) 'ADC-Wandlung starten Wait_EOC(1) 'Ende der Wandlung abwarten Par_1 = ReadADC(1) 'Wert einlesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 77
Befehl. Das Wandlungsende Start_Conv (für alle Kanäle) wird automatisch mit dem Beginn des Prozesszyklus synchonisiert. Daher können – und soll- ten auch – alle Messwerte zu Beginn des Prozesszyklus gelesen werden. Seq_Read ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 78
Rem Kanäle 1, 3, ..., 15, Standard-Einschwingzeit Seq_Init(3,1,5555h,0) Start_Conv(1) 'Messzyklus starten Event: Rem Die Wandlung ist für alle gewählten Kanäle gerade Rem beendet, die Messwerte werden abgeholt. Data_1[i] = SEQ_Read(i*2-1) 'Messwerte holen NEXT Rem Messwerte verarbeiten ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 79
Rem Kanäle 5, 7, 13, 15, Standard-Einschwingzeit Seq_Init(1,0,101000001010000b,0) Start_Conv(1) 'Messzyklus starten Event: Wait_EOC(1) 'Wandlungsende abwarten Rem Kanäle 5, 7, 13, 15 lesen Data_1[1] = Seq_Read(5) Data_1[2] = Seq_Read(7) Data_1[3] = Seq_Read(13) Data_1[4] = Seq_Read(15) Start_Conv(1) 'nächsten Messzyklus starten ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 80
As Long Event: Set_Mux(0) 'Multiplexer auf Kanal 1 setzen Rem Überbrücken Sie hier die Einschwingzeit des Rem Multiplexers mit Befehlszeilen Start_Conv(1) 'Start ADC1 A/D-Wandlung Wait_EOC(1) 'Ende der Wandlung abwarten val1 = ReadADC(1) 'Wert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 81
'Multiplexer auf Kanal 1 setzen Rem Überbrücken Sie hier die Einschwingzeit des Rem Multiplexers mit Befehlszeilen Start_Conv(1) 'Start ADC1 A/D-Wandlung Wait_EOC(1) 'Ende der Wandlung abwarten val1 = ReadADC(1) 'Wert auslesen Die Multiplexer-Einschwingzeit ist auf Seite 18 angegeben. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 82
'Multiplexer auf Kanal 1 setzen Rem Überbrücken Sie hier die Einschwingzeit des Rem Multiplexers mit Befehlszeilen Start_Conv(1) 'Start ADC1 A/D-Wandlung Wait_EOC(1) 'Ende der Wandlung abwarten val1 = ReadADC(1) 'Wert auslesen Die Multiplexer-Einschwingzeit ist auf Seite 18 angegeben. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 84
L16, L16-CO1, L16-DIO1, L16-DIO2, L16-DIO3 Beispiel As Long 'Deklaration Init: Set_Digout(0) 'Dig. Ausgang 0 auf Pegel high 'setzen Event: = ADC(1) 'Messwerterfassung (val > 3000) Then Clear_Digout(0) 'Dig. Ausgang 0 auf Pegel low 'zurücksetzen EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Anwendungen. Siehe auch Digin_Word, Digout_Word Gültig für Beispiel Data_1[10000] As Long As Fifo Event: Rem Ist der digitale Eingang 0 gesetzt? (Digin(0) = 1) Then Data_1 = ADC(1) 'Messwerterfassung EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 86
Siehe auch Digin, Digout_Word Gültig für Beispiel Data_1[10000] As Long As Fifo Event: Rem Abfrage, ob die Eingänge 0 und 1 gesetzt sind ((Digin_Word() 11b) = 11b) Then Data_1 = ADC(1) 'Messwerterfassung EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 87
Siehe auch Clear_Digout, Digin_Word, Set_Digout Gültig für Beispiel value As Long Event: value = ADC(1) 'Messwerterfassung (value > 3000) Then'Grenzwert überschritten? Digout_Word(101b) 'Ausgänge 0 und 2 setzen, alle 'anderen 'Ausgänge werden gelöscht! EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 88
Sie den Befehl Digout_Word. Siehe auch Clear_Digout, Digout_Word Gültig für Beispiel As Long Event: = ADC(1) 'Messwerterfassung (val > 3000) Then Set_Digout(0) 'Dig. Ausgang 0 auf TTL-Pegel 'high setzen EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 89
Schreibweise. Siehe auch Digin_Word1_E, Digin_Word2_E, Digout_Reset1_E, Digout_Reset2_ E, Digout_Set1_E, Digout_Set2_E, Digout_Word1_E, Digout_Word2_ Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(1100b) 'Konfiguriert DIOs 15:00 als 'Eingänge 'und DIOs 31:16 als Ausgänge ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 90
Conf_DIO_E, Digin_Word2_E, Digout_Reset1_E, Digout_Reset2_E, Digout_Set1_E, Digout_Set2_E, Digout_Word1_E, Digout_Word2_E Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(1100b) 'Konfiguriert DIOs 15:00 als 'Eingänge 'und DIOs 31:16 als Ausgänge Event: Par_1 Digin_Word1_E()'Unteres Wort (Bits 15:00) einlesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 91
Digout_Set1_E, Digout_Set2_E, Digout_Word1_E, Digout_Word2_E Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(0) 'Konfiguriert DIOs 31:00 als 'Eingänge '(auch power-up-Zustand!) Event: Par_1 Digin_Word1_E()'Unteres Wort (Bits 15:00) einlesen Par_2 Digin_Word2_E()'Oberes Wort (Bits 31:16) einlesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 92
Siehe auch Conf_DIO_E, Digin_Word1_E, Digin_Word2_E, Digout_Reset1_E, Digout_Reset2_E, Digout_Set1_E, Digout_Set2_E, Digout_Word1_E, Digout_Word2_E, Digout_Long_E Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(0) 'Konfiguriert DIOs 31:00 als 'Eingänge '(auch power-up-Zustand!) Event: Par_1 Digin_Long_E()'Bits 31:00 einlesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 93
'und DIOs 31:16 als Eingänge Init: Par_1 5555h 'Alle ungeraden Bits des unteren 'Worts 'bei der Ausgabe löschen Digout_Word1_E(0FFFFh)'DIO-Bits 15:00 ausgeben Event: Digout_Reset1_E(Par_1)'DIO-Bits entsprechend Par_1 löschen Par_1 Par_1 0FFFFh'Output-Word invertieren Digout_Word1_E(Par_1)'DIO-Bits 15:00 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 94
'und DIOs 31:16 als Ausgänge Init: Par_2 5555h 'Alle ungeraden Bits des 'High-Words 'bei der Ausgabe löschen Digout_Word2_E(0FFFFh)'DIO-Bits 31:16 ausgeben Event: Digout_Reset2_E(Par_2)'DIO-Bits entsprechend Par_2 löschen Par_2 Par_2 0FFFFh'Output-Word invertieren Digout_Word2_E(Par_2) 'DIO-Bits 31:16 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 95
'und DIOs 31:16 als Eingänge Par_1 0AAAAh 'Alle geraden Bits des unteren 'Worts 'bei der Ausgabe setzen Digout_Word1_E(0) 'DIO-Bits 15:00 ausgeben Event: Digout_Set1_E(Par_1) 'DIO-Bits entsprechend Par_1 'setzen Par_1 Par_1 0FFFFh'Output-Word invertieren Digout_Word1_E(Par_1)'DIO-Bits 15:00 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 96
'und DIOs 31:16 als Eingänge Par_1 0AAAAh 'Alle geraden Bits des unteren 'Worts 'bei der Ausgabe setzen Digout_Word2_E(0) 'DIO-Bits 31:16 ausgeben Event: Digout_Set2_E(Par_2) 'DIO-Bits entsprechend Par_1 'setzen Par_2 Par_2 0FFFFh'Output-Word invertieren Digout_Word2_E(Par_2) 'DIO-Bits 31:16 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 97
Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(0011b) 'Konfiguriert DIOs15:00 als 'Ausgänge 'und DIOs 31:16 als Eingänge Par_1 5555h 'Alle ungeraden Bits des unteren 'Worts 'setzen Event: Digout_Word1_E(Par_1) 'DIO-Bits 15:00 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 98
Gültig für L16-DIO1, L16-DIO2 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(12) 'Konfiguriert DIOs 15:00 als 'Eingänge 'und DIOs 31:16 als Ausgänge Par_2 0AAAAh 'Alle geraden Bits des unteren 'Worts 'setzen Event: Digout_Word2_E(Par_2) 'DIO-Bits 31:16 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 99
Conf_DIO_E, Digin_Word1_E, Digin_Word2_E, Digin_Long_E, Digout_Reset1_E, Digout_Reset2_E, Digout_Set1_E, Digout_Set2_E, Digout_Word1_E, Digout_Word2_E Gültig für L16-DIO1, L16-DIO2, L16-DIO3 Beispiel #Include ADWL16.Inc Init: Conf_DIO_E(1111b) 'Konfiguriert DIOs 31:00 als 'Ausgänge Par_2 0AAAAAAAAh 'Alle geraden Bits setzen Event: Digout_Long_E(Par_2) 'DIO-Bits 31:00 ausgeben ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 101
Bitmuster automatisch auf Cnt_Clear 0 (Null) zurückgesetzt, d. h. die zurückgesetzten Zähler beginnen zu zählen. Siehe auch Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_InputMode, Cnt_ Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_ Gültig für L16, L16-CO1, L16-DIO1, L16-DIO2 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 102
Cnt_ReadLatch(1)'Latch A Zähler 1 und… new_2 Cnt_ReadLatch(2)'Latch A Zähler 2 auslesen. PAR_1 new_1 old_1'Differenz bilden (f = Impulse / Zeit) PAR_2 new_2 old_2'-"- old_1 new_1 'Neuen Zählerstand als alten speichern old_2 new_2 '-"- ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 103
CLR-Modus eingestellt ist. Cnt_InputMode Verwenden Sie diesen Befehl möglichst nur bei gesperrtem Zähler. Siehe auch Cnt_Clear, Cnt_Enable, Cnt_GetStatus, Cnt_InputMode, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_Set Gültig für L16-DIO1, L16-DIO2 Beispiel siehe Cnt_Clear ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 104
Bit = 1: Zähler freigeben Bit-Nr. 31…2 Zähler-Nr. – a. nicht verfügbar bei L16- Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_GetStatus, Cnt_InputMode, Cnt_ Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_ Gültig für L16, L16-CO1, L16-DIO1, L16-DIO2 Beispiel siehe Cnt_Clear ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 105
Rx:Reset-Enable (Wert, der durch gesetzt wurde) Cnt_ClearEnable x:Zählernummer (1…2) * Auto-Reset (wird beim Auslesen zurückgesetzt) Bemerkungen - / - Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_InputMode, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_Set Gültig für L16-DIO1, L16-DIO2 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 107
Bit-Nr. 31…2 Zähler-Nr. – Bemerkungen Verwenden Sie diesen Befehl möglichst nur bei gesperrtem Zähler. Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_Set Gültig für L16-DIO1, L16-DIO2 Beispiel siehe Cnt_Clear ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 108
(Null) zurückgesetzt. Das Latch A wird mit in eine Variable ausgelesen. Cnt_ReadLatch Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Input- Mode, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_ Gültig für L16, L16-CO1, L16-DIO1, L16-DIO2 Beispiel siehe Cnt_Clear ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 109
Modus des gewählten Takteingangs fest. Cnt_Set Verwenden Sie möglichst nur bei gesperrtem Zähler. Cnt_Mode Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Input- Mode, Cnt_Latch, Cnt_Read, Cnt_ReadLatch, Cnt_ReadFLatch, Cnt_ Gültig für L16-DIO1, L16-DIO2 Beispiel siehe Cnt_Clear ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 110
'Reset counter 1 to 0 Cnt_Enable(1b) 'Start counter 1 Event: = Cnt_Read(1) 'read out Latch A counter 1 Par_1 'Calculate the difference (f = 'impulses / time) 'Save new counter values as old ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 111
Eingangssignals zwischengespeichert, während in Latch B (siehe Cnt_ReadFLatch) der Zählerstand bei der negativen Flanke des Eingangssignals gespeichert wird. Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Input- Mode, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadFLatch, Cnt_Set Gültig für L16, L16-CO1, L16-DIO1, L16-DIO2 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 112
50'Pausendauer in Nanosekunden ELSE 'Keine fallende Flanke detektiert high (fall - rise_old) * 50'Impulsdauer in Nanosekunden (rise - fall) * 'Pausendauer in Nanosekunden ENDIF ENDIF rise_old rise 'Latch-Inhalt speichern fall_old fall 'Latch-Inhalt speichern ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 113
Eingangssignals zwischengespeichert, während in Latch B (siehe Cnt_ReadFLatch) der Zählerstand bei der negativen Flanke des Eingangssignals gespeichert wird. Siehe auch Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Input- Mode, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadFLatch, Cnt_Set Gültig für L16-DIO1, L16-DIO2 Beispiel siehe Cnt_ReadLatch ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 114
Cnt_Clear, Cnt_ClearEnable, Cnt_Enable, Cnt_GetStatus, Cnt_Input- Mode, Cnt_Latch, Cnt_Mode, Cnt_Read, Cnt_ReadLatch, Cnt_Read- FLatch Gültig für L16-DIO1, L16-DIO2 Beispiel #INCLUDE ADWL16.Inc INIT: Cnt_Mode(0) 'Alle Zähler auf externen Takteingang Cnt_Set(00b) 'Zähler 1+2 mit Vierflankenauswertung Cnt_Enable(11b) 'Zähler 1+2 aktivieren ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 116
Anzahl (0…8) beleg- Objekt(e) = ter Datenbytes Datenbyte(s) Tragen Sie die zu übertragenden Werte in das Feld ein, be- CAN_Msg[] vor Sie diese mit übertragen. Transmit Siehe auch Init_CAN, Read_Msg, Read_Msg_Con, Transmit Gültig für L16-DIO1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 117
Rem Bitmuster (32 Bit) in 4 Bytes aufteilen CAN_Msg[4] = Par_1 0FFh 'LSB zuweisen CAN_Msg[4-i] = Shift_Right(Par_1,8*i) 0FFh Next CAN_Msg[9] = 'Länge der Nachricht in 'Bytes Event: Transmit(6) 'Message-Objekt 6 senden Empfangen einer Fließkomma-Zahl siehe Bsp. bei Read_Msg. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 118
Init: Init_CAN() 'CAN-Controller initialisieren En_Receive(1,200,0) 'Initialisiere das Message- Objekt 1 'zum Empfangen von CAN- Nachrichten mit 'dem Identifier 200 En_Interrupt(1) 'Gibt das Auslösen von Interrupts '(ext. EVENT) beim Empfang des 'Message-Objektes 1 frei ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 119
Das Message-Objekt empfängt nur Nachrichten mit dem von Ihnen an- gegebenen Identifier. Siehe auch CAN_Msg, En_Transmit, Read_Msg, Read_Msg_Con Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc Init: Init_CAN() 'CAN-Controller initialisieren En_Receive(1,200,0) 'Initialisiere Message-Objekt 1 'zum Empfangen von Nachrichten 'dem Identifier 200 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 120
Objekt Nachrichten auf dem CAN-Bus senden. Siehe auch CAN_Msg, En_Receive, Transmit Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc Init: Init_CAN() 'CAN-Controller initialisieren En_Transmit(6,40,0) 'Initialisiere das Message- Objekt 6 'zum Senden von CAN-Nachrichten 'dem Identifier 40 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 121
-Datenblatt. Beispiele sind: • Adresse 00h: Kontroll-Register • Adresse 01h: Status-Register • Adresse 5fh: Interrupt-Register Siehe auch Init_CAN, Set_CAN_Baudrate, Set_CAN_Reg Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc Init: Init_CAN() 'CAN-Controller initialisieren Par_1 Get_CAN_Reg(0)'Control-Register auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 122
CAN-Controller zugreifen. Wir empfehlen die Angabe im Prozessabschnitt oder Init:. LowInit: Siehe auch CAN_Msg, En_Interrupt, En_Receive, En_Transmit, Get_CAN_Reg, Set_CAN_Baudrate, Set_CAN_Reg Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc Init: Init_CAN() 'Initialisiere den CAN- Controller ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 123
Sooft erforderlich: Prüfen Sie auf eine neue Nachricht und – falls vorhanden – speichern die Nachricht in CAN_MSG mit Read_Msg. Sie können eine empfangene Nachricht nur einmal auslesen. Siehe auch CAN_Msg, En_Interrupt, En_Receive, En_Transmit, Read_Msg Gültig für L16-DIO1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 124
= Shift_Left(Par_1,8) + CAN_Msg[n] 'zusammenfügen Next Rem Das Bitmuster in Par_1 in den Datentyp FLOAT wandeln und Rem der Variablen FPar_1 zuweisen. FPar_1 = Cast_LongToFloat(Par_1) EndIf Senden einer Fließkomma-Zahl siehe Bsp. bei Transmit. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 125
Sooft erforderlich: Prüfen Sie auf eine neue Nachricht und – falls vorhanden – speichern die Nachricht in CAN_MSG mit Read_Msg. Sie können eine empfangene Nachricht nur einmal auslesen. Siehe auch CAN_Msg, En_Interrupt, En_Receive, En_Transmit, Read_Msg Gültig für L16-DIO1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 126
= Shift_Left(Par_1,8) + CAN_Msg[n] 'zusammenfügen Next Rem Das Bitmuster in Par_1 in den Datentyp FLOAT wandeln und Rem der Variablen FPar_1 zuweisen. FPar_1 = Cast_LongToFloat(Par_1) EndIf Senden einer Fließkomma-Zahl siehe Bsp. bei Transmit. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 127
Baudrate wieder mit der Standard- einstellung (1MBit/s) überschrieben wird. Siehe auch Get_CAN_Reg, Init_CAN, Set_CAN_Reg Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc status As Long Init: Init_CAN() 'CAN-Controller initialisieren status Set_CAN_Baudrate(125000)'Baudrate 125 kBit/s 'setzen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 128
Sie finden die Registernummern des CAN-Controllers AN82527 im In- ® -Datenblatt. Siehe auch Get_CAN_Reg, Init_CAN, Set_CAN_Baudrate Gültig für L16-DIO1 Beispiel #Include ADWL16.Inc Init: Init_CAN() 'CAN-Controller initialisieren Set_CAN_Reg(0,1) 'Control-Register auf den Wert 1 'setzen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 129
Rem Bitmuster (32 Bit) in 4 Bytes aufteilen CAN_Msg[4] = Par_1 0FFh 'LSB zuweisen CAN_Msg[4-i] = Shift_Right(Par_1,8*i) 0FFh Next CAN_Msg[9] = 'Länge der Nachricht in Bytes Event: Transmit(6) 'Message-Objekt 6 senden Empfangen einer Fließkomma-Zahl siehe Bsp. bei Read_Msg. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 131
Modus „single shot“ tritt dieser Fehler nicht auf. Siehe auch SSI_Read, SSI_Set_Bits, SSI_Set_Clock, SSI_Start, SSI_Status Gültig für L16-DIO1, L16-DIO2 Beispiel #Include ADWL16.Inc Init: SSI_Set_Clock(1,10) 'Taktrate 1.0 MHz einstellen SSI_Mode(1b) 'Continuous-Mode setzen SSI_Set_Bits(1,10) '10 Encoder-Bits Event: Par_1 = SSI_Read(1) 'Pos.wert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 132
'Pos.wert auslesen Rem Wert von Gray-Code in Binärwert wandeln: 'vorigen Wert löschen ' -"- 'Alle 32 mögl. Bits durchgehen (Shift_Right(PAR_1,(32 - n)) (Shift_Left(m,(32 - n))) NEXT Rem Das Ergebnis der Gray-/Binär-Wandlung in PAR_9 PAR_9 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 133
übereinstimmen. Siehe auch SSI_Mode, SSI_Read, SSI_Set_Clock, SSI_Start, SSI_Status Gültig für L16-DIO1, L16-DIO2 Beispiel #Include ADWL16.Inc Init: SSI_Set_Clock(1,10) 'Taktrate 1,0 MHz einstellen SSI_Mode(11b) 'Continuous-Mode setzen SSI_Set_Bits(1,10) '10 Encoder-Bits Event: Par_1 = SSI_Read(1) 'Pos.wert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 134
Kabellänge. Siehe auch SSI_Mode, SSI_Read, SSI_Set_Bits, SSI_Start, SSI_Status Gültig für L16-DIO1, L16-DIO2 Beispiel #Include ADWL16.Inc Init: SSI_Set_Clock(1,10) 'Taktrate 1,0 MHz einstellen SSI_Mode(11b) 'Continuous-Mode setzen SSI_Set_Bits(1,10) '10 Encoder-Bits Event: Par_1 = SSI_Read(1) 'Pos.wert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 135
Init: SSI_Set_Clock(1,250) 'Taktrate 40 kHz einstellen SSI_Mode(0) 'Single shot-Mode einstellen SSI_Set_Bits(1,23) '23 Encoder-Bits Event: SSI_Start(1b) 'Positionswert lesen Until (SSI_Status(1) = 0) Rem Wenn Positionswert komplett gelesen ist … Par_1 = SSI_Read(1) 'Positionswert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 136
Init: SSI_Set_Clock(1,250) 'Taktrate 40 kHz einstellen SSI_Mode(0) 'Single shot-Mode einstellen SSI_Set_Bits(1,23) '23 Encoder-Bits Event: SSI_Start(1b) 'Positionswert lesen Until (SSI_Status(1) = 0) Rem Wenn Positionswert komplett gelesen ist … Par_1 = SSI_Read(1) 'Positionswert auslesen ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 138
1: PWM-Ausgang. Bemerkungen Nach dem Einschalten der Hardware ist Pin 34 als digitaler Ausgang ge- schaltet. Siehe auch PWM_Enable, PWM_Get_Status, PWM_Init, PWM_Latch, PWM_Re- set, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 Beispiel siehe PWM_Init (Seite 135) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 139
Periodenende – hängt von der Einstellung ab, die mit PWM_Init gemacht wurde (Parameter mode). Siehe auch PWM_Activate, PWM_Get_Status, PWM_Init, PWM_Latch, PWM_Re- set, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 Beispiel siehe PWM_Init (Seite 135) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 140
Parameter Status des PWM-Ausgangs. LONG ret_val 0: PWM-Ausgabe ist abgeschlossen. 1: PWM-Ausgabe läuft. Bemerkungen - / - Siehe auch PWM_Activate, PWM_Enable, PWM_Init, PWM_Latch, PWM_Reset, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 Beispiel - / - ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 141
Anzahl der Perioden (1…32768), die ausgegeben count LONG werden. Nur relevant, wenn mode, bit 1 = 1. Bemerkungen - / - Siehe auch PWM_Activate, PWM_Enable, PWM_Get_Status, PWM_Latch, PWM_ Reset, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 142
PWM_Write_Latch(1,pw1,freq1)'set frequency and duty cycle PWM_Latch(1) 'enable output of PWM signal PWM_Enable(1) 'start output Event: PWM_Write_Latch(1,pw2,freq2)'set new frequency and duty cycle PWM_Latch(1) 'set frequency and duty cycle Finish: PWM_Activate(0) 'reset pin 34 as digital output ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 143
Periodenende – hängt von der Einstellung ab, die mit gemacht wurde (Parameter mode). PWM_Init Siehe auch PWM_Activate, PWM_Enable, PWM_Get_Status, PWM_Init, PWM_ Reset, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 Beispiel siehe PWM_Init (Seite 135) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 144
Die Ausgabe wird auch dann sofort gestoppt, wenn mit dem Parameter ein anderer Modus eingestellt ist. mode PWM_Init Siehe auch PWM_Activate, PWM_Enable, PWM_Get_Status, PWM_Init, PWM_ Latch, PWM_Standby_Value, PWM_Write_Latch Gültig für L16-PWM1 Beispiel siehe PWM_Init (Seite 135) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 145
PWM-Ausgang stoppt. Nach dem Einschalten ist der PWM-Ausgang zunächst auf TTL-Pegel low gesetzt. Siehe auch PWM_Activate, PWM_Enable, PWM_Get_Status, PWM_Init, PWM_ Latch, PWM_Reset, PWM_Write_Latch Gültig für L16-PWM1 Beispiel - / - ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 146
Die höchste Ausgangsfrequenz, bei der das Tastverhältnis noch in 1%-Schritten einstellbar ist, beträgt etwa 400kHz. Siehe auch PWM_Activate, PWM_Enable, PWM_Get_Status, PWM_Init, PWM_ Latch, PWM_Reset, PWM_Standby_Value Gültig für L16-PWM1 Beispiel siehe PWM_Init (Seite 135) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 148
Slaves falsch interpretiert werden. Dieser Fehler bringt die Datenübertragung durcheinander. Weitere Hinweise zum SPI-Protokoll finden Sie in Kapitel 10.2 „SPI-Schnittstelle“ auf Seite Siehe auch SPI_Enable, SPI_Get_MISO, SPI_Set_MOSI, SPI_Start, SPI_Static_ MISO, SPI_Status, SPI_Wait Gültig für L16-PWM1 ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 149
Rem Start slave select via TTL low on pin DIGOUT-1 Clear_Digout(0) SPI_Start() 'start data transfer SPI_Wait() 'wait until end of data transfer Set_Digout(0) 'end slave select Par_2 = SPI_Get_MISO() 'read received data value ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 150
(siehe Kapitel Clear_Digout Set_Digout 13.3 auf Seite 77). Siehe auch SPI_Config, SPI_Get_MISO, SPI_Set_MOSI, SPI_Start, SPI_Static_ MISO, SPI_Status, SPI_Wait, Conf_DIO_E, Clear_Digout, Set_Digout Gültig für L16-PWM1 Beispiel siehe SPI_Config (Seite 142) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 151
Sie können die SPI-Nachricht erst lesen, wenn die Datenübertragung beendet ist; fragen Sie dazu den Status mit oder SPI_Wait SPI_ Status Siehe auch SPI_Config, SPI_Enable, SPI_Set_MOSI, SPI_Start, SPI_Static_MI- SO, SPI_Status, SPI_Wait Gültig für L16-PWM1 Beispiel siehe SPI_Config (Seite 142) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 152
Die Anzahl der übertragenen Bits im Datenwort legen Sie mit dem Pa- rameter des Befehls fest. bits SPI_Config Siehe auch SPI_Config, SPI_Enable, SPI_Get_MISO, SPI_Start, SPI_Static_MI- SO, SPI_Status, SPI_Wait Gültig für L16-PWM1 Beispiel siehe SPI_Config (Seite 142) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 153
Datenübertragung; die Antwort lesen Sie mit aus. SPI_Get_MOSI Sie können das Ende der Datenübertragung mit oder mit SPI_Wait abfragen. SPI_Status Siehe auch SPI_Config, SPI_Enable, SPI_Get_MISO, SPI_Set_MOSI, SPI_Static_ MISO, SPI_Status, SPI_Wait Gültig für L16-PWM1 Beispiel siehe SPI_Config (Seite 142) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 154
übertragung, sondern übermitteln darüber auch Signale an den SPI-Master. Für diesen Fall können Sie mit SPI_Static_MISO TTL-Pegel der Datenleitung lesen und je nach SPI-Slave darauf ent- sprechend reagieren. Siehe auch SPI_Config, SPI_Enable, SPI_Get_MISO, SPI_Set_MOSI, SPI_Start, SPI_Status, SPI_Wait Gültig für L16-PWM1W ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 155
'check if command is transferred value = SPI_Status() (value = 0) Then state 'state: ADC value is ready EndIf (state = 5) Then Set_Digout(0) 'end Slave Select Par_2 = SPI_Get_MISO() 'read ADC value EndIf ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 156
Der Befehl kann als Alternative zu verwendet SPI_Status SPI_Wait werden, um das Ende einer Datenübertragung zu erkennen. Siehe auch SPI_Config, SPI_Enable, SPI_Get_MISO, SPI_Set_MOSI, SPI_Start, SPI_Static_MISO, SPI_Wait Gültig für L16-PWM1 Beispiel siehe SPI_Static_MISO (Seite 148) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 157
SPI-Datenübertragung beendet ist. SPI_Wait Syntax #Include ADWL16.inc SPI_Wait() Parameter - / - Bemerkungen - / - Siehe auch SPI_Config, SPI_Enable, SPI_Get_MISO, SPI_Set_MOSI, SPI_Start, SPI_Static_MISO, SPI_Status Gültig für L16-PWM1 Beispiel siehe SPI_Config (Seite 142) ADwin-light-16 , Handbuch Version 3.5, November 2013...
0,55 Einschaltstrombedarf L16, L16-CO1 L16-PCI, -EURO power-on L16-EXT bei U b, typ. L16-DIO1, -DIO2, -DIO3 L16-PCI, -EURO L16-EXT Betrieb Temperatur L16-PCI, -EURO °C Umgebung L16-EXT Gehäuse rel. Feuchte nicht kondensierend Lagerung Temperatur °C ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 159
Montage Standard L16-PCI: Einbau im PC L16-EURO: Einbau im 19"-Gehäuse L16-EXT: Tischgehäuse optional Hutschienen- und Wandmontage für L16-EXT Umrechnung für L16-EURO: 25,4mm = 5 TE; 50,8mm = 10 TE; 133,35mm = 3 HE ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 160
Integrale Nichtlinearität ±1 ±3 Differentielle ±0,25 ±0,5 Nichtlinearität Offset Drift ±2 ppm/°C Fehler abgleichbar Gain Drift ±20 ppm/°C Fehler abgleichbar DAC 16 Bit Anzahl Ausgangsspannung +9,999695 V Einschwingzeit 2V-Sprung µs settle FSR* (20V) ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 161
Ereigniszählung mit Takt / Richtung oder Vierflanken-Auswertung. Die Inkremental-Zähler der Grundversion werden ersetzt. Zählereingänge Je Zähler 3 Eingänge (A/CLK, B/DIR, CLR/LATCH); Zähler programmierbar mit dif- ferentiellen oder single-ended Eingängen. Eingangsbeschaltung siehe „Beschaltung digitaler Ein-/Ausgänge“, Seite A-6. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 162
Einheit Digitale Ein- / Ausgänge Anzahl DIO31:00 32 (in Gruppen zu 8 als Ein- oder Ausgang programmierbar) EVENT ext. Trigger-Eingang (pos. TTL-Logik) Beschaltungsdaten siehe „Beschaltung digitaler Ein-/Ausgänge“, TTL-Eingänge / TTL-Ausgänge. ADwin-light-16 , Handbuch Version 3.5, November 2013...
Seite 163
Spg. Zulässige differentielle für jeden Eingang ±3,9 Eingangsspannung TTL-Ausgänge Logik-Ausgangsspan- (High) = -6mA 3,84 nung (Low) = +6mA 0,17 0,33 Logik-Ausgangsstrom je DIO-Leitung ±35 je DIO-Gruppe (8) ±70 TOTAL über V / GND ADwin-light-16 , Handbuch Version 3.5, November 2013...
- - x x x x x = 1: Gruppe als Ausgang Bit 2: DIO 23:16; Bit 3: DIO 31:24 * Das Register wird nach der Durchführung automatisch wieder zurückgesetzt. ** Funktion bei Eingängen ohne Einfluss ADwin-light-16 , Handbuch Version 3.5, November 2013...
– Cadmium (Cd) – Hexavalentes Chrom (Cr VI) – Polybromierte Biphenyle (PBB) – Polybromierte Diphenylether (PBDE) – Quecksilber (Hg) Die Produktlinie ADwin-light-16 erfüllt seit der Revision B1 die Voraussetzungen der RoHS-Richtlinie in allen gelieferten Varianten. ADwin-light-16 , Handbuch Version 3.5, November 2013...