Home
C-Control Station - C
Contents
1. Ausf hren des Anwenderprogramms Programmieren des Moduls Die Programmierung des unmontierten Moduls erfolgt am PC Arbeitsplatz Alternativ kann ein bereits montiertes Modul im Schaltschrank umprogrammiert werden wenn die n tige Verbindung zum PC hergestellt werden kann Anderenfalls mu das Modul ausgebaut werden e Installieren Sie zun chst die Programmiersoftware von der der Station beiliegenden CD Beachten Sie die Installationshinweise auf der CD Datei install txt bzw readme txt e Verbinden Sie die Station mit dem PC und der Spannungsversorgung wie im Kapitel Anschlu klemmen beschrieben Schalten Sie die Spannungsversorgung ein e Schreiben Sie ein Anwenderprogramm um festzulegen was die Station im Betrieb tun soll Lesen Sie dazu die Kapitel zur Programmierung des Moduls e Compilieren Sie das Anwenderprogramm mit Hilfe der Programmiersoftware e Testen Sie die Funktion des Anwenderprogramms mit Hilfe des Simulators in der Programmiersoftware e bertragen Sie das getestete Programm in Station mit Hilfe der Programmiersoftware Die C Control Station ist jetzt programmiert und kann montiert werden Handhabung Montage F r den Betrieb mu die C Control Station auf einer DIN Schiene montiert werden zum Beispiel in einem Verteilerkasten wie er zur Aufnahme von Sicherungen Schutzschaltern und Relais in der Hausinstallation blich ist Montieren Sie zun chst das Tr gersystem zum Beispiel den Ve
2. NP1 Bit 7 und 6 enthalten einen f r Sender und Empf nger gemeinsamen Vorteiler NP NP kann die Werte 1 3 4 und 13 annehmen Die folgende Tabelle zeigt die daf r erforderlichen Einstellungen f r NP1 und NPO Verger Ju no 1 NT Bit 3 bis 5 und NR Bit 0O bis 2 bestimmen weitere Teilerwerte getrennt f r Sender NT und Empf nger NR entsprechend folgender Codierung Teiler NT2 bzw NT1 bzw NT2 bzw NR2 NR1 NR2 4 4 1 e Jo e s b h ea h h 4 2 4 16 32 64 Be oo oo oo 51 Programmieren in BASIC Die bertragungsrate des Senders berechnet sich nach folgender Formel Senderrate 125000 NP NT die des Empf ngers entsprechend Empf ngerrate 125000 NP NR Die weiteren Schnittstellenparameter 8 Datenbits kein Parit tsbit 1 Stopbit sind fest und k nnen nicht ge ndert werden Dateifunktionen Die Dateifunktionen erlauben das Aufzeichnen von Messwerten oder anderen Daten oder k nnen zum Abspeichern von Information benutzt werden die nach Ausfall der Betriebsspannung wieder in die Programmvariablen geladen werden sollen Der Speicherbereich im EEPROM Chip nach dem Anwenderprogramm meist der gr te Teil steht f r diesen Zweck zur Verf gung Der Speicherbereich wird als eine Datei verwaltet auf die lesend oder schreibend zugegriffen werden kann nachdem sie mit dem entsprechenden Attribut ge ffnet wurde Der Befehl zum Offnen der Datei lautet wie folgt OPE
3. graues Kabel braune Ader Die C Control Station enth lt elektronische Baugruppen zur Ankopplung von zwei Temperatursensoren an die A D Wandler des Mikrocontrollers Als Sensoren befinden sich zwei konfektionierte Halbleiterf hler vom Typ AD592 im Lieferumfang des Systems Diese werden ber Verbindungsleitungen an die Ports T1 und T2 am Modul angeschlossen Die interne Elektronik f r jeden Sensorkanal ist auf jeweils einen der beiden F hler abgeglichen um ein Optimum an Me genauigkeit zu erreichen Achten Sie beim Anschlu der Sensoren auf die entsprechende Farbkennzeichnung welcher Sensor mit welchem Port zu verbinden ist siehe Tabelle Achten Sie au erdem auf die richtige Polung Der Temperaturf hller AD592 arbeitet als temperaturabh ngige Stromquelle und treibt einen Strom von 1uA K ber seine Anschl sse Die mitgelieferten Anschlu leitungen k nnen bei Bedarf um einige Meter verl ngert werden Um St reinstahlungen zu vermeiden sollte dann unbedingt ein Kabel mit Schirmleitung verwendet werden Der Schirm der Verl ngerunggsleitung ist mit dem Schirm der Originalleitung zu verbinden und an der C Control Station auf eine der GND Klemmen zu legen Achten Sie beim Anschlu der Verl ngerungsleitung auf die korrekte Polarit t Anschlu klemmen GND Klemmen Masse An den GND Klemmen steht die Systemmasse als Bezugspotential f r digitale und analoge Ports zur Verf gung Analogports Die Analogports dienen zu
4. W hlen Sie dazu den Men befehl Entwicklung Compilieren oder Klicken Sie den Compilieren Schalter Ein Fenster der Benutzeroberfl che informiert Sie nun ber den Fortschritt des Compilierens und zeigt am Ende die Anzahl der erzeugten Codebytes an oder aber eine Fehlermeldung wenn Sie etwas falsch eingegeben haben Compiliere fertig Programml nge 30 bytes Abbildung 17 Das Ergebnis der bersetzung bekommen Sie nicht unmittelbar zu sehen es steht im Arbeitsspeicher Ihres PCs und kann jetzt zum Modul bertragen oder zur Simulation benutzt werden Wenn Sie die Anzahl der Codebytes lesen erinnern Sie sich vielleicht daran da insgesamt ca 31 Grafische Programmierung 8000 Bytes zur Verf gung stehen Sie k nnen nun etwa absch tzen wie komplex Ihre Steuerungsaufgaben sein k nnen Die Funktion des obigen Beispielprogramms soll nun mit dem Simulator getestet werden Offnen Sie zun chst ber das Men Ansicht die Simulatorfenster Digitalports Relais und Tasten LEDs Digitalports Relais x PI P2 P3 P4 P5 P Relais K1 Relais K2 Abbildung 18 LER GULE EDs x D o oO e gogg Abbildung 19 Starten Sie nun den Simulator ber den Men befehl Simulator Ausf hren oder den entsprechenden Toolbar Schalter Achten Sie auf die Anzeige Simulation l uft in der Statuszeile Klicken Sie jetzt mehrmals mit der Maus in das F1 Feld des F
5. __ Umsetzungstabellen d Programmzellen Lt Zelle 1 Lt Zelle 2 Lt Zelle 3 Lt Zelle 4 Statuszeile Arbeitsbereich Zelleneditor Ge ndert Bereit Abbildung 5 Ein grafisches Programm besteht aus mehreren sogenannten Zellen die die einzelnen Arbeitsschritte beschreiben welche die C Control Station im Run Modus ausf hren soll Einen berblick ber alle Zellen eines Projektes bietet der Projektexplorer im linken Bereich Neue Zellen k nnen dem Projekt zum Beispiel durch Klicken des Schalters Zelle einf gen hinzugef gt werden Die Arbeitsschritte in den Zellen werden durch Blockschaltbilder festgelegt Das hei t einzelne Funktionsbl ce werden durch Signalflu linien verbunden Die Blockschaltbilder werden im Zelleneditor erstellt und bearbeitet 24 Grafische Programmierung Blockvorrat 128 Abbildung 6 Wie Abbildung 6 zeigt gibt es Funktionsbl cke die Werte liefern andere verarbeiten Werte zu einem Ergebnis und wieder andere speichern Werte oder l sen von den eingespeisten Werten abh ngige Aktionen aus Im Beispiel wird ein Me wert vom A D Port 1 erfa t davon die Konstante 128 abgezogen a b und das Ergebnis in einem Speicher abgelegt Der Vorrat aller in C Control plus zur Verf gung stehenden Funktions bl cke unterteilt sich in folgende Gruppen Ein Ausgabe Zugriffe auf Relais Tasten LEDs und die Tonausgabe Me werte Zugriffe auf die Temperatursensoren die Spannun
6. das Men Ansicht Im Gegensatz zur grafischen Programmierung bietet die BASIC Programmiersoftware keine direkte Abbildung der C Control Station Hardware Das Fenster C Control Digitalports stellt alle 16 Digitalports dar Wie bereits beschrieben sind die Ports 1 bis 6 mit den Klemmen P1 bis P6 verbunden und ber Pullup Widerst nde in der Schaltung auf High Pegel gelegt ebenso die Ports 9 bis 12 die mit den Folientasten F1 F4 vebunden sind Schalten Sie im Simulatorfenster C Control Digitalports zun chst diese Ports ein indem Sie bei gedr ckter Shift Taste auf die LEDs 1 6 und 9 12 klicken soda diese hellgr n erscheinen C Control Digitalports x Abbildung 21 Klicken Sie dann mit der rechten Maustaste auf das Fenster und w hlen Sie im erscheinenden Men Als Anfangsstellung nach Reset verwenden siehe Abbildung 22 Jetzt entspricht das Simulatorfenster den Hardware Verh ltnissen der C Control Station Diesen Einstellungsvorgang m ssen Sie nur einmal vornehmen Ihre Einstellungen werden beim Programmende automatisch gespeichert Alle Eing nge einschalten Alle Eing nge ausschalten Als Anfangseinstellungen nach Reset verwenden Abbildung 22 61 Programmieren in BASIC Jetzt k nnen Sie den Simulator starten Aktivieren Sie das Fenster Editorfenster W hlen Sie im Men Simulator den Befehl Ausf hren Die LEDs 7 und 8 erhalten einen roten Rand die LED 7 ersc
7. neuer Daten an vorhergehende Nach einer Zugriffssequenz mu die Datei geschlossen werden um eventuelle Anderungen zu bernehmen Wie das Anwenderprogramm sind die aufgezeichneten Daten sicher vor Ausfall der Betriebsspannung Voraussetzung daf r ist da nach dem letzten geschriebenen Wert die Datei geschlossen wurde Arbeitsspeicher Im Verlauf eines Programms ist es oft erforderlich bestimmte Rechen ergebnisse Zust nde oder Parameter zwischenzuspeichern Daf r bietet die C Control Station insgesamt 24 Bytes Arbeitsspeicher der ber definierbare Variablen bit byte oder wordweise angesprochen werden kann Im Gegensatz zum Programmspeicher bleibt der Inhalt des Arbeitsspeichers nur solange erhalten wie der Mikrocontroller des Systems mit Betriebsspannung versorgt ist Nach einem Reset oder Spannungsausfall sind alle Werte im Arbeitsspeicher r ckgesetzt 0 Recheneinheit Wie im Abschnitt Bits Bytes und Words bereits beschrieben erfolgen alle Berechnungen mit ganzen Zahlen Alle Operationen werden mit 16 Bit Breite ausgef hrt Integer Wertebereich Die Recheneinheit des Systems beherrscht die vier Grundrechenarten die Modulodivision Ermittlung des Restes bei ganzahliger Division bitweise logische Verkn pfungen Vergleichsoperationen Negation die Bestimmung des Absolutbetrages die gerundete Quadratwurzel und die Signumfunktion Au erdem ist ein initialisierbarer Pseudozufallsgenerator implement
8. of file Ihr Ergebnis ist 1 wenn in der Datei keine weiteren Daten verf gbar sind sonst 0 Die Abfrage der EOF Funktion sollte das Auslesen von Datenblocks in gleicher Weise rahmen wie beim Schreiben der Daten Zum obigen Beispiel w rde also IE NOT EOF THEN GOSUB readblock readblock INPUT INPUT INPUT RETURN a om 3 3 geh ren Nach Beenden eines Dateizugriffs sollte die Datei sofort wieder geschlossen werden Erst dann sind die Daten vor einem Spannungsausfall oder Reset des Systems sicher Der Befehl daf r lautet CLOSE und hat keinen Parameter 53 Programmieren in BASIC Portbefehle e der Umschaltbefehl TOG Prinzipiell erfolgt der Zugriff auf die Ports des Steuercomputers wie auf Variablen Um einen Digitalport P einzuschalten schreibt man P 1 und Bas 0 um ihn auszuschalten Um den Port umzuschalten EIN nach AUS AUS nach EIN kann man schreiben P NOT P oder den Befehl TOG P benutzen TOG steht f r englisch toggle Der TOG Befehl ben tigt weniger Platz im EEPROM und wird schneller als die klassische NOT P Konstruktion ausgef hrt Die Portvariable P darf beim TOG Befehl nur f r einen einzelnen Digitalport stehen nicht f r einen Byte oder Wordport e Deaktivieren eines Ports mit DEACT Sobald einer Portvariablen erstmalig ein Wert zugewiesen wird schaltet der Steuercomputer die zugeh rigen Hardwarestrukturen im Prozessorchip Transitoren auf
9. von 1 bis 192 24 Bytes mit je 8 Bit zul ssig e Definition einer Bytevariablen mit Zellennummer DEFINE bezeichner BYTE nr Dabei sind f r nr Werte von 1 bis 24 24 Bytes zul ssig e Definition einer Integervariablen mit Zellennummer DEFINE bezeichner WORD nr Dabei sind f r nr Werte von 1 bis 12 ein Word belegt 2 Bytes zul ssig 39 Programmieren in BASIC Wenn bei Byte und Worddefinitionen die Zellenangabe nr weggelassen wird bernimmt der Compiler die Aufteilung auf den Speicherbereich Achten Sie dann darauf da nicht abwechselnd Bytes und Words definiert werden Die folgenden Anweisungen DEFINE a BYTE DEFINE b WORD DEFINE c BYTE DEFINE d WORD f hren zu zwei ungenutzten verschenkten kostbaren Bytes zwischen a und b sowie zwischen c und d da Words prinzipiell an den Bytes 1 3 5 7 usw der 24 Bytes ausgerichtet werden Besser w re DEFINE b WORD DEFINE d WORD DEFINE a BYTE DEFINE c BYTE zu schreiben Die automatische Aufteilung der Variablen auf den Speicher durch den Compiler beginnt bei Zellennummer 1 Das obige bessere Beispiel belegt 6 Bytes Bei Definition weiterer Bits Bytes und Words mit Angabe der Zellennummer ist wieder auf unerw nschte Uberlappung zu achten Ein bereits definierter Variablenbezeichner darf nicht ein zweites Mal definiert werden Definition von Digitalports In CCBASIC wird auf Ports wie auf Variablen zugegriffen Auch hier mu jeder verwendete Port zuvor de
10. ASIC Anweisungen zur Steuerung des Programmflusses Diese Anweisungen erlauben die Reihenfolge der an sich streng sequentiell abgearbeiteten Programmoperationen zu steuern und an Eingangswerte des Informationsverarbeitungsprozesses anzupassen Sie bieten eine hohe Flexibilit t bei der Algorithmenformulierung und sind f r die L sung mancher anwendungstechnischer Probleme sogar Grundvoraussetzung Anweisungen zur Steuerung des Programmflusses bestehen aus einem oder mehreren reservierten Worten und erfordern in jeweils spezieller Weise eventuell weitere Angaben GOTO labell IF a gt b THEN GOSUB label2 FOR i 0 TO 10 STEP 2 NEXT Compileranweisungen Zus tzlich zu den Programmanweisungen enth lt ein CCBASIC Quelltext Compileranweisungen die zum Beispiel zum Anlegen von Datenblocks Tabellen oder zur Definition von Variablen und Konstanten dienen F r Compileranweisungen gilt die Doppelpunktregel zum Trennen mehrerer Anweisungen in einer Zeile nicht Es darf jeweils nur eine Compileranweisung in einer Zeile stehen Die DEFINE Anweisung Die DEFINE Anweisung ist eine Compileranweisung Definition symbolischer Konstanten Es ist guter Programmiierstil statt magischer Zahlen im Programm IF x gt 1234 THEN GOTO alarm besser symbolische Konstanten zu verwenden Durch Vergabe signifikanter Bezeichner f r Konstanten erh ht sich die Lesbarkeit des Quelltextes Wenn alle Konstanten global definiert w
11. Ausgangsbetrieb Es flie t also entsprechend der angeschlossenen Schaltung Strom aus bzw in den Prozessor max 10 mA zul ssig Der Befehl DEACT portvar deaktiviert den angegebenen Port Das hei t der Port wird in einen hochohmigen Zustand geschaltet und arbeitet im Eingangsbetrieb e der PULSE Befehl Mit dem Befehl PULSE portvar 54 Programmieren in BASIC wird ein Puls von einigen Millisekunden Breite am mit portvar bezeichneten Port ausgegeben Steht der Port vor Ausf hrung des PULSE Befehls auf low 0 wird ein High Puls 0 1 0 ansonsten ein Low Puls 1 0 1 ausgegeben Definition und Anwendung von Datentabellen Im Standard BASIC dienen DATA Zeilen zum Ablegen von konstanten Datenbl cken auf die dann sequentiell zugegriffen werden kann CCBASIC unterst tzt keine DATA Zeilen bietet jedoch ein weitaus flexibleres Werkzeug zur Definition und zum Zugriff auf Datenblocks Konstante Daten k nnen in Form von Tabellen abgelegt werden Jede Tabelle bekommt einen Bezeichner tablename zugewiesen und kann beliebig viele Eintr ge enthalten soweit der Programmspeicher Platz bietet Jeder Dateneintrag Cx wird als Integerwert abgelegt und belegt somit zwei Bytes Dabei k nnen die Daten direkt im Quelltext aufgef hrt werden TABLE tablename CO C1 C2 C3 CA Conr Gas vue e Cr TABEND oder vom CCBASIC Compiler aus einer externen Textdatei importiert werden TABLE tablename tabfilename Die Tabellendefini
12. Bedienungsanleitung C Control Station Best Nr 12 51 13 Wichtig Unbedingt lesen Bevor Sie die C Control Station oder angeschlossene Ger te in Betrieb nehmen lesen Sie bitte diese Anleitung vollst ndig durch Sie erl utert Ihnen die korrekte Verwendung und weist auf m gliche Gefahren hin F r Sch den die aus der Nichtbeachtung dieser Anleitung resultieren besteht keinerlei Garantieanspruch und bernimmt Conrad Electronic keine Haftung Inhalt Inhalt Wichtig Unbedingt lesen AEN elt GE Eege eet E E entree teg 1 Garantie ee 1 EIER eege dead 2 Produktbeschreibung un 3 Bestimmungsgem e Verwendung ENNEN 3 Sicherheitshinweise 2 eek ll 3 EE Eu see 4 elen Lei o EE 5 Programmieren des M duls z22 1 Haren 5 Montage EE 6 Ausf hren des Amwenderprogramms AEN 6 Bedienelemenlen sauirseunineiseene iii 7 RE 7 EEEo aio liete S a E 8 an Gei dE ul E E 10 Niederspannungsklemmen AAA 10 Netzklemmen u ee einen 13 Anschlu zum Programmieren des Module 14 SyStemzustander sts ee Ne Nana 17 Eeer nee ee nase ee 17 Standby Modus u ee 17 STEE U E SAGEN ANA AUREN RER E EE AE LEHRE IENESERITERIRERERG 17 Pr grammierung allgemein e s e seele 18 Wiener 18 Bits Bytes ie Re E 18 Inhalt SYSIEMFESSOUTCENL eege eege 19 Grafische Programmielung a see rue 23 Derne le 23 ST e EE 25 Beispiel zur grafischen Programmierung nennen 26 Programmieren in BASIC ee 34 EE OT EEN 34 Grundl
13. Fortschritt der Programm bertragung mit einem Balken angezeigt W hrend der bertragung blinkt die TX Leuchtdiode an den RS232 Klemmen der Station Die C Control Station ist jetzt programmiert e Dr cken Sie den Start Taster um das kleine Testprogramm auszuf hren Sie sehen da wie programmiert und simuliert mit jedem Dr cken auf die F1 Taste am Modul das Relais K1 ein und ausgeschaltet wird Die R ckmeldung ber den Schaltzustand des Relais vermittelt die Leuchtdiode an der Relais Klemme Mit den Erfahrungen aus diesem kleinen Testprogramm und den weiteren Beispielen von der CD sind Sie in der Lage schrittweise komplexere Anwendungen zu realisieren 33 Programmieren in BASIC Programmieren in BASIC berblick Zur Realisierung komplexer Projekte oder f r Anwender mit entsprechenden Vorkenntnissen empfiehlt sich die Programmierung der C Control Station in der Programmiersprache BASIC in C Control BASIC CCBASIC Dazu finden Sie zwei Versionen der Programmieroberfl che auf der der Station beiliegenden CD Die Hauptversion ben tigt als Betriebssystem mindestens Microsoft Windows95 oder WindowsNT ab 4 0 oder entsprechende Nachfolgeversionen Die Hauptversion von C Control BASIC kann nicht unter dem inzwischen veralteten Windows 3 xx installiert werden Auf der CD befindet sich jedoch auch eine abger stete Version ohne Simulator Diese ist lauff hig unter MS DOS und l t sich somit auch auf den meisten l
14. Leerzeichen am Bildschirm erscheint Sollen zwei Ausgaben ohne Zwischenraum aufeinander folgen so sind diese im PRINT Befehl durch ein Semikolon zu trennen PRINT a a PRINT a a Ein einzelner PRINT Befehl ohne Parameter gibt nur einen Zeilenvorschub aus PRINT e Dateneingabe Mit dem Befehl INPUT variable kann ein Integerwert von der seriellen Schnittstelle gelesen und f r die anschlie ende Weiterbearbeitung in einer Variablen gespeichert werden Der Wert wird in einem Terminalprogramm an einem PC eingegeben und nach dem Dr cken der ENTER Taste per Schnittstellenkabel an die C Control Station bertragen Der INPUT Befehl wartet solange bis eine komplette Daten bertragung vom Terminal empfangen wurde Wird der INPUT Befehl aufgerufen 49 Programmieren in BASIC ohne da eine Daten bertragung vom Terminal erfolgt wird das Programm endlos an dieser Stelle stehen bleiben Hier hilft dann nur noch der Reset Taster und der anschlie ende Neustart der Station e Byteweise Kommunikation ber die serielle Schnittstelle W hrend PRINT und INPUT kurze Zeichenketten zur Darstellung eines numerischen Wertes senden beziehungsweise erwarten kann es w nschenswert sein einzelne Bytes seriell zu bertragen Daf r bietet CCBASIC die Befehle PUT und GET PUT term sendet den berechneten Wert eines Terms Falls erforderlich wird das Ergebnis zuvor auf den Byte Wertebereich 0 255 reduziert GET variabl
15. N FOR WRITE oder OPEN FOR APPEND oder OPEN FOR READ Dabei bedeutet WRITE das ffnen zum Schreiben mit berschreiben eventueller alter Aufzeichnungen APPEND das ffnen zum Schreiben mit Anh ngen der neuen an die alten Aufzeichnungen und READ das Offnen zum Auslesen der Aufzeichnungen Es k nnen nur Integerwerte gespeichert und gelesen werden Jeder Wert belegt also 2 Bytes im EEPROM Das Schreiben und Lesen erfolgt mit den Befehlen PRINT term wobei das berechnete Ergebnis des Terms gespeichert wird beziehungsweise INPUT variable 52 Programmieren in BASIC wobei variable eine definierte Integervariable des Programms bezeichnet Schreiben in und Lesen aus der Datei erfolgt streng sequentiell Daf r wird intern ein Dateizeiger verwaltet der nach jedem Zugriff um 1 erh ht wird Vor jedem Schreiben sollte gepr ft werden ob noch gen gend Platz im EEPROM zur Aufnahme der Daten vorhanden ist Daf r kann die Funktion FILEFREE abgefragt werden die als Ergebnis die Gr e des noch freien Speichers liefert in Words Folgendes Beispiel zeigt die Anwendung der Funktion EFINE a WORD EFINE b WORD EFINE c WORD EFINE blocksize 3 ess IF FILEFREE gt blocksize THEN GOSUB writeblock writeblo PRINT PRINT PRINT RETURN C OD DD Sei Vor jedem Lesen sollte gepr ft werden ob noch weitere Daten aufgezeichnet sind Die Funktion daf r lautet EOF end
16. atoren gt gr er als lt kleiner als gt gr er oder gleich lt kleiner oder gleich gleich lt gt ungleich Das Ergebnis einer Vergleichsoperation ist entweder 1 nicht 1 Vergleich wahr oder O Vergleich falsch zei ergibt beispielsweise f r a den Wert 0 e logische Operatoren NOT Negation AND Und Verkn pfung NAND Und Verkn pfung mit anschlie ender Negation OR Oder Verkn pfung NOR Oder Verkn pfung mit anschlie ender Negation XOR Exklusiv Oder Verkn pfung Die logischen Operatoren k nnen au er zur Formulierung von Bedingungen meist in Verbindung mit Vergleichsoperationen auch f r bin re Byte oder Wordmanipulationen benutzt werden e Schiebeoperatoren SHL nach links schieben SHR nach rechts schieben werden zum arithmetischen Verschieben von Bitmustern in Byte oder Wordvariablen benutzt Links des Operators steht der zu schiebende Wert rechts die Zahl um wieviel Bits verschoben werden soll Beim Linksschieben entspricht jede einzelne Verschiebung einer Multiplikation mit 2 beim Rechtsschieben einer Division durch 2 a 10 SHL 3 entspricht also a 10 2 2 2 und ergibt beispielsweise f r a den Wert 80 Achten Sie darauf da SHR arithmetisch schiebt also mit Vorzeichen a amp B1000000000000000 SHR 1 ergibt alle Werte in Bin rnotation f r a den Wert amp B1100000000000000 nicht amp B0100000000000000 42 Programmieren in BASIC Mathematische Fun
17. atoren erfolgt die Berechnung von links nach rechts Wie in der Mathematik blich kann jedoch durch Klammersetzung zus tzlich Einflu auf die Berechnungsreihenfolge genommen werden CCBASIC unterst tzt maximal 6 Klammerebenen Im Sinne der bersichtlichkeit eines Programmes sollten jedoch wilde Klammerausdr cke vermieden und komplexe Berechnungen auf mehrere BASIC Zeilen aufgeteilt werden Die folgende Liste zeigt die CCBASIC Operatorenrangfolge 43 Programmieren in BASIC Rang Operatoren a Funktionsautrufe 7 negatives Vorzeichen MOD SHL SHR N 2 Jan Man 1 Jon nor xor Anweisungen zur Steuerung des Programmflusses e Schleife FOR variable anfang TO ende STEP schrittweite NEXT Die FOR Schleife f hrt die Anweisungen bis zum NEXT solange aus bis der Wert der variable gleich dem Wert des Terms ende ist Vor dem ersten Durchlauf wird der Wert des Terms anfang berechnet und der Schleifenvariablen zugewiesen In jedem Durchgang wird der Wert des schrittweite Terms zur Schleifenvariablen addiert In der Form FOR variable anfang TO ende NEXT betr gt die Schrittweite konstant 1 Die Werte des ende Terms und des schrittweite Terms werden mit jedem Schleifendurchlauf neu berechnet Das gestattet eine erweiterte Kontrolle des Programmverlaufes FOR Schleifen k nnen ineinander verschachtelt werden Die Verschachtelungstiefe ist nur durch den f r die Schleifenvariablen erforderlichen Speicherplat
18. chnische Daten Technische Daten Betriebsspannung 230V Netzspannung an Klemmen 16 und 17 oder stabilisiertes 12V Netzger t an Klemmen 7 und 8 max Leistungsaufnahme max zul ssiger Strom aus le va BOMA Klemme 6 5V max zul ssiger Strom aus Igmax BOMA Klemme 9 12 24V max Portstrom an l28 max 133 max je 10mA Klemmen 28 bis 33 P1 P6 max Gesamtstromabgabe Iemax Igmax Log max Ia3 max 100mA Akku Pufferstrom aus ca 5mA Klemme 7 Relais Schaltleistung K1 max 230V kurzeitig 8A Einschaltstrom K2 max 6A Dauerstrom Temperaturme bereich T1 25 0 C 102 5 C T2 0 5K Aufl sung max Fehler 2 5 Ge A D Ports 0 2 55V 0 01V Aufl sung max Fehler 1 Digit Frequenzme bereich 1Hz 30000Hz Klemme 35 zul ssige Umgebungs 0 40 C 20 60 rel Luftfeuchte bedingungen 65 Technische Daten Au enma e LO CH et CH 2 CH N CH e CH CO CO ker N 0 N N ECH N LO N N an N N N N kee N S0 S 10 1112 13 14 15 16 17 105 00 mm 45 00 OD O0O0000000 123456789 ww 00 06 DG L 0071 0504 90 00 66 Impressum Diese Bedienungsanleitung ist eine Publikation der Conrad Electronic GmbH Klaus Conrad Stra e 1 D 92240 Hirschau Alle Rechte einschlie lich bersetzung vorbehalten Reproduktionen jed
19. chnitt besonders aufmerksam durch Bei Nichtbeachtung der Sicherheitshinweise besteht Lebensgefahr durch einen Stromschlag oder Elektrobrand 1 Die C Control Station ist in einem Geh use f r DIN Schienen Montage Hutschiene aufgebaut Zur Gew hrleistung des Schutzes vor Ber hrung gef hrlicher Spannungen darf das Modul bei 230V Versorgungsspannung oder Relaisspannungen gr er 24V nur in einem geschlossenen Schaltschrank oder in einem Schaltkasten mit Verblendung der Anschlu klemmen betrieben werden 2 ber die insgesamt 35 Anschlu klemmen wird die C Control Station mit anderen Ger ten verbunden Dabei ist grunds tzlich zwischen den Niederspannungsklemmen 1 bis 9 und 18 bis 35 und den Netzklemmen 10 bis 17 zu unterscheiden Bei versehentlichem Vertauschen der Anschl sse besteht Brandgefahr durch Kurzschl sse und k nnen das Modul und angeschlossene Ger te schwer besch digt werden 3 Die C Control Station darf nicht in Verbindung mit Ger ten benutzt werden die direkt oder indirekt medizinischen gesundheits oder lebenssichernden Zwecken dienen oder durch deren Betrieb Gefahren f r Menschen Tiere oder Sachwerte entstehen k nnen Die C Control Station darf nicht in explosionsgef hrdeter oder chemisch aggressiver Umgebung betrieben werden 4 Zur Programmierung des Ger tes ist ausschlie lich die mitgelieferte Software zu verwenden Programmieren Sie das Modul nur mit Anwenderprogrammen von deren Funktion Sie s
20. die Betriebsspannung des Mikrocontrollers mit einem gr eren Kondensator gepuffert ist l uft das System nach Netzspannungsausfall kurze Zeit Programmierung allgemein weiter Bei geschickter Programmierung der Ausfallerkennung k nnen so noch Ma nahmen zum geordneten Programmabschlu getroffen werden Echtzeituhr An den Klemmen 4 bis 6 kann eine DCF77 Aktivantenne angeschlossen werden Bei Signalempfang wird die interne Uhr des Systems automatisch auf Mitteleurop ische Zeit Sommerzeit gestellt Die einzelnen Zeit und Datumsinformationen Stunde Minute Sekunde Tag Wochentag Monat Jahr k nnen im Anwenderprogramm abgefragt und direkt oder in logischer Kombination mit anderen Bedingungen als Ausl ser bestimmter Operationen verwendet werden Frequenzmessung Mit dem Frequenzme eingang k nnen Signale bis ca 30kKHz erfa t und im Anwenderprogramm abgefragt werden Serielle Schnittstelle Die serielle Schnittstelle dient nicht nur zum Laden eines Anwenderprogramms in die C Control Station sondern kann auch im Programm selbst zur Daten bertragung benutzt werden Dabei ist es m glich Daten byteweise oder als Text zu bertragen Die bertragungsrate kann in einigen Stufen 1200 9600 Baud angepa t werden Tonausgabe In der C Control Station ist ein Piezo Schallwandler eingebaut Das ist ein kleiner Lautsprecher mit dem Tonsignale erzeugt werden k nnen Dabei sind Tonh he und dauer programmierbar So sind kleine Me
21. e wartet auf ein seriell empfangenes Byte und speichert den Wert dann in der angegebenen Variablen e Weitere Schnittstellenbefehle und funktionen Wie beschrieben warten INPUT und GET unter Umst nden endlos auf den Empfang serieller Daten Soll ein Aufh ngen des Programms in dieser Art verhindert werden kann vor jedem von INPUT oder GET durch Aufruf der Statusfunktion RXD ermittelt werden ob empfangene Daten zur Verf gung stehen Die Funktion liefert in diesem Fall den Wert 1 Ist der Schnittstellenpuffer leer so ist das Funktionsergebnis gleich 0 if RXD then GET thebyte Die voreingestellte bertragungsrate der seriellen Schnittstelle betr gt f r Sender und Empf nger 9600 Bit pro Sekunde baud Mit dem BAUD Befehl k nnen jedoch auch andere Raten eingestellt werden CCBASIC enth lt daf r einige vordefinierte Konstaten R1200 R2400 R4800 R9600 f r die Raten 1200 bis 9600 Bit pro Sekunde BAUD R2400 schaltet beispielsweise Sender und Empf nger auf die Rate von 2400 Bit pro Sekunde um Prinzipiell sind auch andere als die vordefinierten Raten auch f r Sender und Empf nger unterschiedliche m glich Die bertragungsraten der seriellen Schnittstelle werden durch Teilung aus 50 Programmieren in BASIC einem internen Takt des Mikroprozessors des C Control BASIC Steuercomputers abgeleitet Der dem BAUD Befehl zu bergebende Bytewert enth lt die erforderlichen Teilerwerte Nxx sr Jm Je na Je b2 bi
22. ebedarf durch den Anwender Das Modulgeh use darf nicht ge ffnet werden Im Falle einer Besch digung des Geh useverschlu siegels erlischt jeder Gew hrleistungsanspruch Conrad Electronic bernimmt keine Haftung f r Folgesch den an Sachwerten oder Personen die durch Anwendung der C Control Station entstehen Einleitung Service Zu Ihrer Beratung stellt Conrad Electronic Ihnen ein kompetentes Team von Servicemitarbeitern zur Seite Jede Anfrage wird schnellstm glich bearbeitet Spezialfragen werden an die Entwicklungsingenieure des C Control Systems weitergeleitet Um unn tige Verz gerungen zu vermeiden m chten wir Sie jedoch bitten vor einer Anfrage noch einmal diese Anleitung die Online Hilfen der Programmiersoftware die Text und Beispieldateien und nach M glichkeit die Informationsseiten im Internet zu studieren Meist findet sich so schon die L sung eines Problems Ihre Anfragen richten Sie bitte an unsere Abteilung Technische Kunden betreuung Brief Conrad Electronic GmbH TKB Computer und Me technik Klaus Conrad Stra e 1 92240 Hirschau Fax 0180 53 12 119 Telefon 0180 53 12 116 Internet http www conrad de Produktbeschreibung Produktbeschreibung Bestimmungsgem e Verwendung Die C Control Station dient der programmierbaren Ansteuerung elektrischer und elektronischer Ger te Eine andere als die bestimmungsgem e Verwendung ist nicht zul ssig Sicherheitshinweise Lesen Sie diesen Abs
23. egendes zur Programmiersprache CCBASIC sssssssssssssseerrrrneneeeneeeee 34 DIe DEFEINE Arwelsungs acc Eeer 38 Befehls bersicht He ee CgE 41 Beispiel zur Programmierung mit CCBASIC sssssssensseeesnrrnnrrsserrrrrrrssrrrerrrn 59 B ispiele vom GEES 65 Technische Dateien E E EEE a 66 Au enma e Einleitung Einleitung Wir danken Ihnen f r Ihre Entscheidung f r die C Control Station Die C Control Station ist ein modernes programmierbares Steuerungssystem Die C Control Station wurde von uns mit dem Anspruch entwickelt die hohen Erwartungen unserer Kunden an Qualit t und Funktionalit t zu erf llen Conrad Electronic GmbH D 92240 Hirschau Garantie Jede C Control Station verl t das Werk in einwandfreiem und funktionsgepr ften Zustand Conrad Electronic bietet f r die C Control Station eine Gew hrleistungs dauer von 12 Monaten Innerhalb dieser Zeit werden eventuelle Transportsch den bei der Auslieferung Fertigungsm ngel oder Ausf lle am Ger t kostenfrei behoben Sollten die Leistungsmerkmale der C Control Station Ihren individuellen Anspr chen nicht gen gen nutzen Sie bitte unsere Geld Zur ck Garantie von 14 Tagen Senden Sie das Ger t innerhalb dieser Zeit ohne Gebrauchsspuren und in der Originalverpackung zur Erstattung des Warenwertes oder zur Verrechnung zur ck Alle Fristen gelten ab Datum der Rechnung beziehungsweise des Kassenbons Im Modulgeh use befinden sich keine Teile mit Servic
24. endung der Variable im Programm in einer DEFINE Zeile definiert werden Label Label markieren bestimmte Punkte in der Folge der Programm operationen Label sind Ziele von Sprungoperationen innerhalb eines Algorithmus In CCBASIC stehen Label am Anfang einer Zeile und beginnen stets mit einem Doppelkreuz dann folgt ohne Leerzeichen der Bezeichner des Labels Das Beispiel zeigt die Definition des Labels Label1 und die Verwendung in einem Sprungbefehl labell GOTO labell Terme Ein Term ergibt sofort als Variable oder Konstante oder durch Berechnung einen bestimmten Wert Terme sind Teile von Anweisungen und stehen beispielsweise bei der Zuweisung eines Wertes an eine Variable rechts des Zuweisungszeichens Terme werden durch Kombinationen von Operanden und Operatoren gebildet 100 e a b ABSZ kan ze TO Operanden und Operatoren Ein Operand ist in der Grundform entweder eine Konstante eine Variable oder ein Funktionsaufruf kann aber auch selbst wieder ein aus Operanden und Operatoren zusammengesetzter Term sein Operatoren bezeichnen Rechenoperationen die mit den umstehenden Operanden auszuf hren sind Dabei gibt es eine definierte Rangfolge der Operatoren siehe Befehlsbeschreibung die die Reihenfolge der Berechnungen bestimmt 36 Programmieren in BASIC Funktionen Eine Funktion f hrt eine definierte Operation zum Beispiel eine Berechnung durch und liefert durch ihren Aufru
25. enommen Sie wollen mit der Taste F1 am Modul das Relais K1 abwechselnd ein und ausschalten Ein Tatsendruck soll mit einem Piepton quittiert werden Parallel dazu soll im Minutentakt das Relais K2 ein und ausgeschaltet werden Starten Sie C Control BASIC CCEW32D EXE unter Windows ffnen Sie eine neue Datei mit dem Men befehl Datei Neu Speichern Sie die Datei beispielsweise unter dem Namen TEST1 BAS Der Quelltext Beginnen Sie nun den Quelltext zu editieren Zun chst m ssen die verwendeten Peripherieeinheiten definiert werden define K1 port 7 define K2 port 8 define Fl port 9 Weiterhin definieren wir eine Variable deren Verwendung noch gezeigt wird define oldsec byt Ein Programm besteht meist aus Initialisierung Hauptschleife und Unterfunktionen In unserem Beispiel wollen wir als Initialisierungszustand das Relais K1 ein und K2 ausschalten Kl K2 ON OFF Die Hauptschliefe in unserem Beispiel soll das Label loop tragen Sie enth lt die Abfrage der Taste F1 und die Minutentaktfunktion f r Relais K2 Zu Beginn einer neuen Minute ist der Sekundenwert immer 0 f r eine Sekunde lang Um das Relais in dieser Sekunde nicht mehrmals 59 Programmieren in BASIC umzuschalten wird die Feststellung des Minutenbeginns au erdem an den Wechsel des Sekundenwertes gebunden loop if not Fl then gosub toggleKl if 0 second and second lt gt oldsec then tog K2 oldsec second goto l
26. ensters lasten LEDs Beobachten Sie dabei die gr ne Leuchtdiode K1 im Fenster Digitalports Relais Die Simulatorfenster bilden die Peripheriefunktionen der C Control Station grafisch nach Im Simulator verh lt sich das Programm wie beabsichtigt Die Funktion des Beispiels ist also nachgewiesen Sie k nnen jetzt den Simulator anhalten und r cksetzen Beide Befehle finden Sie im Simulator Men Der Simulator erm glicht das Testen von Anwenderprogrammen ohne Hardware Falls Fehler in dessen Ablauf festgestellt werden k nnen diese mit ein paar Mausklicks beseitigt werden Erst das fertige Programm wird in die C Control Station bertragen Somit spart man viel Zeit und umst ndliches Handtieren mit dem Modul Au erdem w re ein 32 Grafische Programmierung fehlerhaftes Programm eventuell mit unangenehmen Folgen verbunden immerhin k nnen die Relais auch Stromkreise mit 230V Netzspannung schalten bertragen und Starten des Programms Nach dem Test des Programms kann dieses bertragen werden e Stellen Sie sicher da die Station in zul ssiger Weise mit Betriebsspannung versorgt und ber eine serielle Schnittstelle mit dem PC verbunden ist e Dr cken Sie den Reset Taster an der Station e Stellen Sie ber Optionen Umgebung Simulator und Lader die verwendete serielle Schnittstelle ein e W hlen Sie den Men befehl Entwicklung In C Control Station bertragen Am Bildschirm wird der
27. equenzmessung erfolgen deren Ergebnis mit der Funktion FREQ abgefragt werden kann x FREQ Der Messbereich reicht bis etwa 5 Kilohertz mit einem Me fehler unter einem Prozent Danach wird das Ergebnis zunehmend ungenauer e Stromsparmodus mit SLOWMODE Anwendungen die keine hohe Rechenleistung ben tigen k nnen durch Aufruf des Befehls SLOWMODE ON den internen Takt des Mikroprozessors verlangsamen 1 16 Sollte im Verlauf des Programms wieder eine h here Geschwindigkeit erforderlich sein so l t sich mit SLOWMODE OFF wieder der Ausgangszustand herstellen Achtung Programme die serielle Daten bertragungen verwenden sollten den SLOWMODE nicht aktivieren da die eingestellten U bertragungsraten mit dem Prozessortakt herabgesetzt werden Das Herabsetzen des Prozessortaktes f hrt zu einer Reduzierung der Leistungsaufnahme und kann die Akku Uberbr ckungsdauer bei Netzspannungsausfall verl ngern Das macht jedoch nur Sinn wenn gleichzeitig alle LEDs und Relais ausgeschaltet sind Beispiel zur Programmierung mit CCBASIC Das folgende kleine Beispiel soll das Grundprinzip der Programmierung mit CCBASIC verdeutlichen Die hier vermittelten Informationen versetzen 58 Programmieren in BASIC Sie in die Lage die zus tzlichen Beispiele von der CD nachzuvollziehen und Ihren Vorstellungen anzupassen um so schrittweise einen vollst ndigen Einblick in die BASIC Programmierung der C Control Station zu bekommen Ang
28. er Art z B Fotokopie Mikroverfiimung oder die Erfassung in EDV Anlagen bed rfen der schriftlichen Genehmigung des Herausgebers Nachdruck auch auszugsweise ist verboten Diese Bedienungsanleitung entspricht dem technischen Stand bei Drucklegung Anderungen des Ger tes in Aussehen Technik und Ausstattung bleiben vorbehalten Copyright 1998 by Conrad Electronic GmbH Printed in Germany MF CTC 29 04 98 C Control Station Hinweis zur Elektromagnetischen Vertr glichkeit Die C Control Station sollte im Dauerbetrieb nicht ber ein12V Gleichspannungsnetzger t versorgt werden In dieser Konfiguration ergibt sich eine erh hte Empfindlichkeit gegen ber elektrostatischen Entladungen und Netz St rspannungsspitzen die zum Aussetzen des Mikrocontrollers f hren k nnen und dann einen Reset und den Neustart des Anwenderprogramms erforderlich machen Die C Control Station sollte im Dauerbetrieb stets per 230V Netzspannungsanschlu oder 1 2V Akku versorgt werden Conrad Electronic GmbH D 92240 Hirschau
29. erden ist ein Programm auch leichter zu warten Das gilt besonders wenn ein und dieselbe Konstante mehrmals im Programm ben tigt wird 38 Programmieren in BASIC Die Definition einer symbolischen Konstante erfolgt in der Art DEFINE bezeichner wert Dabei ist wert entweder eine dezimale hexadezimale oder bin re Zahl So sollte das Beispiel oben besser DEFINE limit 1234 IF x gt limit THEN GOTO alarm lauten Definition von Variablen Das Betriebssystem der C Control Station stellt 24 Byte Speicherzellen des internen Speichers RAM dem Anwender zur Verwendung in seinen Programmen zur Verf gung In diesem Speicherbereich werden alle Variablen eines BASIC Programms gespeichert Die 24 Bytes k nnen je nach Bedarf auch bitweise oder als 16bit Integer Word verwendet werden Im Gegensatz zum Standard BASIC m ssen in CCBASIC alle vom Programm benutzten Variablen vor ihrer ersten Verwendung definiert werden Dabei ist der Datentyp zu spezifizieren Bit Byte oder Word und kann f r Bits mu eine Speicherzellennummer angegeben werden Der Anwender mu selbst darauf achten da keine unerw nschten berlappungen bei der Vergabe der Speicherpl tze entstehen da es sonst zum gegenseitigen berschreiben der Variablen kommen kann Beispielsweise belegen bit 18 byte 2 und word 1 jeweils einen Teil der Zelle 2 des Speicherbereiches e Definition einer Bitvariablen DEFINE bezeichner BIT nr Dabei sind f r nr Werte
30. ervariablen 0 Standby Modus Im Standby Modus werden permanent der Start Taster und die serielle Schnittstelle abgefragt um das Anwenderprogramm zu starten oder auf Steuerbefehle von einem bergeordneten Rechner PC zu reagieren Im Standby Modus kann das Modul programmiert werden Programm Download Wird der Start Taster als gedr ckt erkannt geht das System in den Run Modus ber Run Modus Im Run Modus werden die Befehle des Anwenderprogramms ausgef hrt Der Run Modus endet durch Dr cken der Reset Taste Abschalten der Betriebsspannung oder mit Ausf hrung des END Befehls bzw des END Blocks im Anwenderprogramm Nach dem END Befehl geht das System wieder in den Standby Modus ber Programmierung allgemein Programmierung allgemein berblick Durch Programmierung wird die Arbeitsweise des Systems festgelegt Dabei bietet die C Control Station ein hohes Ma an Flexibilit t und kann so f r unterschiedlichste Zwecke eingesetzt werden Einmal programmiert versieht sie ihren Dienst z B als Temperaturregler intelligenter Treppenlichtautomat Alarmanlage oder Rollosteuerung Falls einmal andere Aufgaben anstehen kann das Modul beliebig oft umprogrammiert werden Im Inneren der C Control Station arbeitet ein Mikrocontroller Das ist ein kleiner Computer auf einem Chip An diesem ist ein Speicherchip angeschlossen der zur Aufnahme des Anwenderprogramms dient Durch die EEPROM Technologie bleibt das Anwenderpro
31. eschriebenen Programms mit in den Quelltext aufgenommen werden und steigern dessen Lesbarkeit und Wartungsfreundlichkeit Ein Kommentar in CCBASIC beginnt stets mit einem Hochkomma und erkl rt den Rest der Zeile zum nicht zum Programm geh rigen Text a zs D Lt e IT Kommentar Bezeichner Bezeichner sind Programmelemente aus alphanumerischen Zeichen A bis Z 0 bis 9 die in vom Programmierer festgelegter Weise Objekte wie Variablen und Konstanten bezeichnen Label Namen und die sogenannten reservierten Worte sind ebenfalls Bezeichner Es erfolgt keine Unterscheidung von Gro und Kleinbuchstaben Ein Bezeichner beginnt stets mit einem Buchstaben oder mit einem Unterstrich Leerzeichen innerhalb eines Bezeichners sind nicht erlaubt Variablen und Konstanten Variablen und Konstanten sind Objekte des Informationsverarbeitungs prozesses In CCBASIC speichern beide einen numerischen Wert W hrend der Wert einer Konstante einmal angegeben wird und dann unver ndert bleibt kann sich der Wert einer Variablen im Lauf des Programms beliebig oft ndern Konstanten k nnen in CCBASIC in dezimaler hexadezimaler und bin rer Form angegeben werden Die Syntax f r Hexadezimal und Bin rzahlen sei hier am Beispiel der Zahl 46 dezimal gezeigt 35 Programmieren in BASIC amp H2E hexadezimal amp B101110 binaer Auf Variablen wird stets ber ihren Bezeichner zugegriffen Dieser Bezeichner mu vor der ersten Verw
32. f einen Ergebniswert Die meisten Funktionen erwarten ein oder mehrere Argumente die in runden Klammern nach dem Funktionsbezeichner bergeben werden und durch Kommas getrennt sind Einige Funktionen werden ohne Argument aufgerufen In diesem Fall werden keine runden Klammern geschrieben ABS x AX a b RAND EOF In CCBASIC sind alle unterst tzten Funktionen vordefiniert Deren Bezeichner geh ren zu den reservierten Worten Zuweisungen Die Zuweisung ist die einfachste Form einer Programmanweisung Nach dem Bezeichner einer Variablen die einen Wert zugewiesen bekommen soll folgt das Zuweisungszeichen und dann ein Term der den zugewiesenen Wert bestimmt Eine Zuweisung entspricht damit einer einfachen mathematischen Formel a 10 b xy c SQR a a b b Befehle Neben den einfachen Zuweisungen sind Befehle Anweisungen zur Ausf hrung von Programmoperationen durch die C Control Station Befehle beginnen stets mit einem reservierten Wort Einige Befehle erwarten einen oder mehrere Parameter zur genauen Spezifikation der auszuf hrenden Programmoperation Diese Parameter werden nach dem Befehlsbezeichner und einem Leerzeichen aufgef hrt und dabei durch Kommas getrennt Ausnahme PRINT siehe Befehls bersicht Im Gegensatz zu den Argumenten beim Aufruf einer Funktion stehen die Befehlsparameter nicht innerhalb runder Klammern RANDOMIZE PAUSE 100 BEEP 440 50 50 37 Programmieren in B
33. f nicht berschritten werden Die leeren Klemmen zwischen den Relais und dem Versorgungsspannungsanschlu dienen zur Einhaltung der n tigen Sicherheitsabst nde zwischen den unterschiedliichen Spannungs potentialen Anschlu zum Programmieren des Moduls Verbindung der Station mit dem PC Um ein Anwenderprogramm vom PC in das Modul zu bertragen sind zwei Anschlu formen bez glich der Spannungsversorgung zul ssig Anschlu klemmen In beiden F llen ist das Schnittstellenkabel zwischen PC und Station folgenderma en anzuschlie en e Verbinden Sie den 9 poligen Sub D Verbinder des der Station beiliegenden Anschlu kabels mit einer der seriellen Schnittstellen COM1 COM4 des PCs e Klemmen Sie die wei markierte Ader an Klemme 1 der Station RX e Klemmen Sie die braun markierte Ader an Klemme 2 der Station GND e Klemmen Sie die gr n markierte Ader an Klemme 3 der Station TX Programmieren bei Niederspannungsversorgung 9000000000000000000 I 00000000 e Abbildung 2 Beim Programmieren mit Niederspannungsversorgung ist ein stabilisiertes 12V Netzger t oder ein 12V Akku an den Klemmen 7 und 8 des Moduls anzuschlie en Das Modul kann dann frei gehandhabt werden Diese Versorgungsart eignet sich besonders zur Programmierung am PC Arbeitsplatz im Labor in der Werkstatt oder im B ro 14 Anschlu klemmen Program
34. finiert sein Insgesamt sind 16 Ports ansprechbar e Definition eines der 16 Digitalports DEFINE bezeichner PORT nr Dabei sind f r nr Werte von 1 bis 16 zul ssig Wie im Abschnitt Peripherie beschrieben sind die Ports fest mit verschiedenen Systemkomponenten verbunden So bietet sich meist folgender Definitionsblock an DEFINE P1 PORT 1 DEFINE P2 PORT 2 40 DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE Definition von Analogports DEFINE bezeichner AD nr Dabei sind f r nr Werte von 1 bis 8 zul ssig ES P4 P5 P6 Kl K2 Fl F2 F3 F4 PORT 3 PORT 4 PORT 5 PORT 6 PORT 7 PORT 38 PORT 9 PORT 10 PORT 11 PORT 12 ED1 PORT 13 ED2 PORT 14 ED3 PORT 15 ED4 PORT 16 Programmieren in BASIC Auch die Analogports sind im System fest aufgeteilt Die bliche Definition sollte lauten DEFINE DEFINE DEFINE DEFINE DEFINE T DEFINE T DEFINE DEFINE Al A2 A3 A4 LA ul U2 AD 1 AD 2 AD 3 AD 4 AD 5 AD 6 AD AD 8 Befehls bersicht Dieses Kapitel gibt einen kompletten berblick ber die CCBASIC Operatoren Funktionen und Anweisungen Mathematische und logische Operatoren e Grundrechenarten 41 Programmieren in BASIC e Der Modulooperator MOD liefert den Rest einer Integerdivision a 10 MOD 3 ergibt beispielsweise f r a den Wert 1 e Vergleichsoper
35. gramm auch dann erhalten wenn die Betriebsspannung vom System abgetrennt wird Die Programmierung der C Control Station erfolgt mit Hilfe einer komfortablen Software am PC entweder in einer grafischen Entwicklungsoberfl che oder in der popul ren Programmiersprache BASIC Bits Bytes und Words Das C Control System verarbeitet berechnet und speichert ausschlie lich ganze Zahlen Integer Dabei kennt es drei verschiedene Datentypen Bit Wertebereich 0 und 1 nicht 1 Verwendung als Zustandsspeicher Flag Byte belegt 8 Bits Wertebereich 0 bis 255 Verwendung f r kleine nichtnegative ganze Zahlen ASCII Zeichencodes Befehlscodes Word Integer belegt 16 Bits besteht aus High Byte und Low Byte Wertebereich 32768 bis 32767 universelle Verwendung 18 Programmierung allgemein Systemressourcen Peripherie Letztendlich ist das Anliegen eines jeden Programms f r C Control das Schalten und Verwalten der angeschlossenen Baugruppen Die meisten Peripherieeinheiten stehen in unmittelbarer Verbindung zu den Anschlu klemmen oder den Bedienelementen im Frontpanel Digitalports Die C Control Station verf gt ber insgesamt 16 programmierbare Digitalports Die Ports 1 bis 6 sind mit den Klemmen Pi bis P6 verbunden und k nnen als Eingang oder Ausgang benutzt werden Die Ports 7 und 8 schalten die beiden Relais K1 beziehungsweise K2 ber die Ports 9 bis 12 k nnen die Funktionstasten F1 bis F4 abgefrag
36. gsmessung und die allgemeinen Analogports Digitalports Zugriffe auf die digitalen Portklemmen P1 bis P6 Berechnungen mathematische Verkn pfungen und Funktionen Vergleich Vergleichsoperationen die im Ergebnis wahr 1 oder falsch 0 sein k nnen Logik bitweise Verkn pfungen nach boolscher Algebra Zeit Zugriff auf die interne Echtzeituhr DCF77 und den Timer Variablen Speicherbl cke Konstanten Bl cke die konstante Werte liefern Datenaufzeichnung Aufzeichnung von Daten im EEPROM Speicherchip Serielle Schnittstelle Ein und Ausgabe von Text und Daten ber die serielle Schnittstelle des Systems 25 Grafische Programmierung e Programmsteuerung Funktionsbl cke zur Steuerung des Programmflusses Beispiel zur grafischen Programmierung Erstellen des Programms Das folgende kleine Beispiel soll das Grundprinzip der grafischen Programmierung verdeutlichen Die hier vermittelten Informationen versetzen Sie in die Lage die zus tzlichen Beispiele von der CD nachzuvollziehen und Ihren Vorstellungen anzupassen um so schrittweise einen vollst ndigen Einblick in die grafische Programmierung der C Control Station zu bekommen Angenommen Sie wollen mit der Taste F1 am Modul das Relais K1 abwechselnd ein und ausschalten Starten Sie das Programm CCSTAT EXE Beginnen Sie ein neues Projekt mit dem Men befehl Datei Neu Aktivieren Sie im Dialog Optionen Umgebungseinstellungen Projekt bersichtsfen
37. heint hellrot Das bedeutet beide Ports werden als Ausgang verwendet Port 7 ist eingeschaltet Wie bereits beschrieben sind die Ports 7 und 8 mit den Relais K1 bzw K2 verbunden Klicken Sie nun auf die LED 9 die der Folientaste F1 entspricht Wie beabsichtigt l t sich der Zustand von Relais K1 umschalten ffnen Sie jetzt ber das Men Ansicht das Fenster berwachte Variablen Dr cken Sie die Einf Taste und geben Sie im folgenden Dialog second ein Yariable berwachen Geben Sie den Bezeichner ein Abbildung 23 Nach dem OK sollte folgendes Fenster zu sehen sein Z berwachte Yariablen LEI second 11 Abbildung 24 Im Fenster berwachte Variablen k nnen Sie den Werteverlauf von System und eigenen Variablen verfolgen in diesem Beispiel den Sekundenwert der Echtzeituhr Lassen Sie den Simulator eine Weile laufen Beobachten Sie beim Wechsel der Sekunden von 59 auf 0 also zum Minutenbeginn das Umschalten der LED 8 die den Schaltzustand vom Relais K2 darstellt 62 Programmieren in BASIC Jetzt ist die zweite Funktion unseres Beispielprogramms nachgewiesen Halten Sie den Simulator an und setzen Sie ihn zur ck Die n tigen Befehle finden Sie im Simulator Men bertragen und Starten des Programms Nach dem Funktionstest kann das Beispielprogramm in die Station bertragen werden e Stellen Sie sicher da die Station in zul ssiger Weise mit Bet
38. hrere Anweisungen nach THEN und ELSE sind nicht zul ssig e Sprunganweisung GOTO label Mit der GOTO Anweisung kann der Steuercomputer veranla t werden die Programmabarbeitung an einer bestimmten Stelle fortzusetzen Als Ziel des Sprungs wird ein Label Bezeichner angegeben Das Sprungziel kann sich vor oder nach der GOTO Anweisung im Quelltext befinden e Aufruf und R ckkehr aus einer Unterroutine Der Aufruf einer Unterroutine erfolgt mit der Anweisung GOSUB label Dabei ist label der Anfangspunkt der Unterroutine In den sogenannten Unterroutinen sind Programmabschnitte zusammengefa t die mehrfach im Verlauf der Programmabarbeitung ben tigt werden Eine Unterroutine beginnt stets mit einem Label enth lt dann eine oder mehrere Anweisungen und abschlie end ein RETURN Nach dem RETURN wird die Programmabarbeitung mit der Anweisung nach dem GOSUB fortgesetzt Die Programmabarbeitung darf ohne ein vorheriges GOSUB niemals an eine RETURN Anweisung gelangen Die maximal zul ssige Verschachtelungstiefe bei Aufrufen von Unterroutinen aus Uhnterroutinen ist vier hauptprogramm GOSUB subl subl GOSUB sub2 RETURN sub2 GOSUB sub3 RETURN 46 Programmieren in BASIC sub3 GOSUB sub4 RETURN sub4 RETURN ber RETURN kann auch ein Zahlenwert an den Aufrufer zur ckgegeben werden RETURN term Somit k nnen wiederkehrende oder umfangreichere Berechnungen oder Statusermittlungen in eine Unterfunktion geka
39. ich mit Hilfe des in der Software enthaltenen Simulators berzeugt haben Produktbeschreibung Leistungsmerkmale Die C Control Station beinhaltet bereits alle n tigen Baugruppen um zahlreiche Applikationen ohne Mehraufwand f r Zusatzger te zu realisieren Netzteil mit Spannungsstabilisierung Klemmen zum Anschlu eines Pufferakkus programmierbare Steuereinheit mit Mikrocontroller 6 programmierbare Digitalports 4 programmierbare Taster 4 programmierbare LEDs 2 Relais zum direkten Schalten von Ger ten die mit 230V Netzspannung betrieben werden Schlie er max 6A Dauerstrom 2 Temperatursensorschaltungen linear 25 C 102 5 C Aufl sung 0 5 C inklusive Sensoren und Verbindungsleitungen die nahezu beliebig verl ngert werden k nnen 4 programmierbare Analogports zur Spannungsmessung 0 2 55V serielles Interface zum Anschlu eines PCs Anschlu f r eine DCF77 Funkuhrantenne Frequenzme port zum Beispiel zum Anschlu eines Windrades bei einer Rollosteuerung eingebauter Piezolautsprecher Mit dieser Ausstattung sind Sie in der Lage in kurzer Zeit anspruchsvolle Steuerungs und Regelaufgaben zu l sen Handhabung Handhabung Dieses Kapitel gibt einen berblick ber die Handhabung des Moduls Die n tigen Detailinformationen entnehmen Sie bitte den nachfolgenden Kapiteln dieses Handbuches Die Arbeit mit der C Control Station gliedert sich in drei Stufen 1 Programmieren des Moduls 2 Montage 3
40. iert der nach dem Prinzip der Primzahlenmultiplikation mit anschlie ender Modulodivision statistisch verteilte Zahlenfolgen erzeugen kann 21 Programmierung allgemein Die Recheneinheit beherrscht maximal 6 Verschachtelungsebenen bei Klammerrechnungen oder vergleichbaren Operationen Achtung Durch die Begrenzung auf maximal 16 Bit Datenbreite im Integer Wertebereich kann es bei Berechnungen zu berl ufen in den Ergebnissen kommen Au erdem findet beim Speichern eines Wertes in einer Variable prinzipbedingt eine Begrenzung auf deren deklarierten Wertebereich statt Eventuelle Nachkommastellen von Divisions ergebnissen werden abgeschnitten Beispiele e 32767 1 ergibt 32768 nicht 32768 e a 1 ergibt 255 f r a wenn a nur eine Bytevariable ist e 10 4 ergibt 2 nicht 2 5 22 Grafische Programmierung Grafische Programmierung berblick Zur grafischen Programmierung steht Ihnen eine speziell auf die C Control Station angepa te Version des Programms C Control plus zur Verf gung Die grafische Programmierung ist vor allem f r Einsteiger und kleine Anwendungen geeignet Die Software befindet sich auf der der Station beiliegenden CD Zur Installation befolgen Sie bitte die Hinweise auf der CD Die grafische Programmiersoftware ben tigt als Betriebssystem mindestens Microsoft Windows95 oder WindowsNT ab 4 0 oder entsprechende Nachfolgeversionen Die Software kann nicht unter dem inzwischen veralteten Windows 3 xx i
41. ktionen und Befehle Die Argumente x und y je nach Funktion oder Befehl sind stets Terme Definition siehe oben e Die Wurzelfunktion SQR x liefert eine N herung f r die Quadratwurzel aus dem Argument x Dabei werden die Nachkommastellen abgeschnitten e Die Signumfunktion SGN x ergibt 1 wenn der Wert des Argumentes x gr er 0 und ergibt 1 wenn der Wert kleiner 0 ist F r x 0 ist auch das Ergebnis der SGN Funktion gleich 0 e Die Maximumfunktion MAX x y ergibt x wenn x gt y ist sonst y e Die Minimumfunktion MIN x y ergibt x wenn x lt y ist sonst y e Der Befehl RANDOMIZE x initialisiert den internen Pseudo Zufallsgenerator des Steuercomputers mit dem Wert von x Ein und derselbe Initialisierungswert f hrt stets zu einer identischen Folge von Zahlen Die Spezialform RANDOMIZE TIMER l dt den Wert des freilaufenden Timers in den Generator Die Zufallsfunktion RAND liefert den n chsten Integer Zufallswert des Pseudo Zufallsgenerators Die Zufallszahlen werden nach dem multiplikativen Verfahren mit anschlie ender Modulodivision aus dem jeweils vorangehenden Wert erzeugt Rangfolge von Operatoren und Funktionsaufrufen Bei der Berechnung von Termen mit Operatoren und Funktionen ist deren Rangfolge von entscheidender Bedeutung Teilausdr cke mit Operatoren von hohem Rang werden vor denen mit einem niedrigerem Rang berechnet vergleiche Rechenregel Punktrechnung vor Strichrechnung Bei gleichrangigen Oper
42. le die Bezeichnung des Sprungziels des Verzweigungsblockes ein hier Zelle 1 Achten Sie darauf da die Bezeichnung genau mit der im Projektexplorer bereinstimmt gro es Z ein Leerzeichen vor der 1 Gro und Kleinschreibung wird von der Software genauso unterschieden wie ein zwei oder kein Leerzeichen 28 Grafische Programmierung Wenn Sie falscherweise zelle1 eingeben wird der Compiler einen Fehler melden Beenden Sie den Dialog mit Ok Klicken Sie jetzt im Projektexplorer auf Zelle 3 Wenn die Zelle markiert ist klicken Sie ein zweites Mal auf Zelle 3 Es erscheint ein Eingabefeld mit dem Sie den Zellennamen ndern k nnen E Programmzellen Ih Zelle 1 fh Zelle 2 Mh Umschalten Abbildung 13 Geben Sie Umschalten ein und dr cken Sie zur Best tigung die ENTER Taste Wechseln Sie jetzt wieder in den Arbeitsbereich Plazieren Sie aus der Gruppe Ein Ausgabe zweimal den Block Relais K1 Setzen Sie die Bl cke auf gleicher H he ein gutes St ck auseinander Plazieren Sie dazwischen einen Invertieren Block aus der Gruppe Logik Verbinden Sie die Bl cke folgenderma en K1 K1 e RE e Abbildung 14 Der Sinn dieser Struktur sollte sofort einleuchten Der Schaltzustand des Relais K1 wird gelesen und invertiert wieder ausgegeben Zu Zelle 4 Klicken Sie im Projektexplorer auf Zelle 4 Hier soll die Entprellung der Taste F1 untergebracht werden Prellen nennt man die unerw n
43. lodien Quittungs oder Warnsignale programmierbar um Tastendr cke zu best tigen oder um in bestimmten Situationen die besondere Aufmerksamkeit des Benutzers auf das Ger t zu lenken Programmspeicher Das von Ihnen programmierte Anwenderprogramm wird von der Programmiersoftware in ein dem C Control System verst ndliches Format bersetzt compiliert und in den Programmspeicher der C Control Station bertragen Der Programmspeicher hat einen Umfang von ca 8000 Bytes Ein Befehl zum Einschalten eines der Relais belegt zum Beispiel 5 Bytes Auch komplexere Programme ben tigen selten mehr als einige Hundert Bytes So steht stets ausreichend Platz im Programmspeicher zur Verf gung Der Programmspeicher befindet sich im EEPROM Speicherchip Typ Microchip 24665 Aufgrund der EEPROM Technologie bleiben alle Daten im Programmspeicher auch nach Abschalten der Spannungsversorgung erhalten 20 Programmierung allgemein Speicher f r Datenaufzeichnungen Die restlichen freien Bytes im Programmspeicherchip stehen dem Anwenderprogramm zur Aufzeichnung von Daten zum Beispiel Me werten zur Verf gung Aufzeichnung und Auslesen der Werte erfolgt stets sequentiell und wordweise Ein aufgezeichneter Wert belegt also 2 Bytes Die Verwaltung der aufgezeichneten Werte erfolgt nach dem Dateiprinzip Vor einem Zugriff mu die Datei ge ffnet werden Es wird unterschieden in ffnen zum Lesen ffnen zum Schreiben und ffnen zum Anh ngen
44. mieren bei Netzversorgung I E5 1 W Abbildung 3 Die Programmierung mit Netzversorgung dient zur bertragung von Anwenderprogrammen am Einsatzort des Moduls Die C Control Station ist dabei auf der DIN Schiene montiert Zur Gew hrleistung des Ber hrungschutzes m ssen zumindest die Netzanschlu klemmen verblendet sein Beim Anschlu des Programmierkabels mu die C Control Station spannunggsfrei sein Anschlu klemmen 9 00000000000000000 RL _ 000000 000000 e III E Nicht zul ssig Abbildung 4 Die Versorgung eines frei am Tisch liegenden Moduls ber ein Standard Netzkabel mit angegossenem Stecker f r Ger te der Schutzklasse II ist technisch m glich jedoch nach den gesetzlichen Bestimmungen zum Schutz vor Ber hrung gef hrlicher Spannungen nicht zul ssig 16 Systemzust nde Systemzust nde Reset Nach Zuschalten der Betriebsspannung oder Dr cken des Reset Tasters nimmt das Modul alle Initialisierungen vor und geht dann unmittelbar in den Standby Modus ber Folgende Initialisierungen werden vorgenommen 1 Datum und Uhrzeit 1 Januar 1997 00 00 00 2 Vorbereitung des DCF77 Funkuhrdatenempfangs 3 Einrichten der seriellen Schnittstelle auf 9600 Baud 8 Datenbits 1 Stoppbit keine Parit t 4 L schen aller Anwend
45. n Schaltzustand der beiden Relais K1 und K2 Leuchtet die entsprechende LED so ist das zugeh rige Relais angezogen der Arbeitsstromkreis ist geschlossen LEDs ber den Funktionstasten gelb Die LEDs ber den Funktionstasten FI EA k nnen im Anwenderprogramm ein und ausgeschaltet werden und so zur Anzeige von Programmzust nden dienen Anschlu klemmen Anschlu klemmen Niederspannungsklemmen Serielle Schnittstelle RS232 1 Datenempfanggsleitung RX Schnittstellenkabel wei e Ader Signal Ground Masse GND Schnittstellenkabel braune Ader Datensendeleitung TX Schnittstellenkabel gr ne Ader An den Klemmen 1 bis 3 wird bei der Programmierung des Moduls das Schnittstellenkabel zum PC angeschlossen Au erdem kann das Modul zur seriellen Daten bertragung auch w hrend des Betriebes mit einem PC verbunden sein DCF77 Aktivantenne Signaleingangsleitung hier wird die low aktive Signalleitung der DCF77 Aktivantenne angeschlossen Signal Ground Masse GND stabilisierte Versorgungsspannung 5V f r die DCF77 Aktivantenne An den Klemmen 4 bis 6 kann optional eine DCF77 Aktivantenne zur Zeitsynchronisation des Moduls angeschlossen werden Alternativ steht an Klemme 6 die stabilisierte 5V Systemspannung zur Versorgung kleiner externer Schaltungen zur Verf gung Beachten Sie dabei den maximal entnehmbaren Strom siehe Technische Daten Niederspannungsversorgung und Akkupufferung Eingang f r ei
46. n stabilisiertes 12V Netzger t oder einen 12V Akku Ground Masse GND Ausgang der unstabilisierten Systemspannung 12 24V An Klemme 7 kann ein stabilisiertes 12V Netzger t oder ein 12V Akku angeschlossen werden um das Modul vor der Montage im Schaltschrank und ohne Anklemmen der 230V Versorgungsspannung an 16 und 17 zu programmieren 10 Anschlu klemmen W hrend des Normalbetriebes im Schaltschrank mit 230V Versorgungsspannung kann an Klemme 7 ein 12V Blei Gel Akku empfohlene Kapazit t gt 1 2 Ah zur Pufferung des Systems gegen Netzspannungsausf le angeschlossen werden Um die volle Schaltf higkeit der Relais zu gew hrleisten mu der Akku gut geladen sein Bei vorhander Netzspannung flie t ein geringer Ladestrom zum Ausgleich der Selbstentladung in den Akku Die C Control Station darf jedoch nicht dazu benutzt werden um leere Akkus zu laden An Klemme 9 wird die unstabilisierte Gleichspannung des internen Netzteils herausgef hrt Sie kann zur Versorgung kleiner externer Schaltungen benutzt werden Beachten Sie dabei den maximal entnehmbaren Strom siehe Technische Daten Beachten Sie au erdem da der tats chliche Spannungswert in Lastabh ngigkeit deutlich ber der Nennspannung von 12V liegen und bis zu 24V betragen kann Ports f r Temperatursensoren Sensor 1 schwarzes Kabel wei e Ader T1B Sensor 1 schwarzes Kabel braune Ader on lra Sensor 2 graues Kabel wei e Ader ou tree Sensor 2
47. ne ausgegeben werden k nnen Der Befehl dazu lautet BEEP ton tTon tPause F r die drei Parameter k nnen Konstanten oder Terme eingesetzt werden Dabei bestimmt ton die Tonh he nach der Formel ton 250000 freq Hz tTon bestimmt die Dauer des Tons und tPause die Pause nach dem Ton Die Einheit f r die Zeitangaben betr gt 20 Millisekunden Der Befehl BEEP 568 10 3 gibt also f r 10 20 200 Millisekunden einen Ton von etwa 440 Hz Kammerton A aus und macht danach eine Pause von 3 20 60 Millisekunden Wenn nach einem BEEP kein weiterer BEEP folgt kann die Pause auch auf 0 gesetzt werden Ist f r die Tonl nge 0 angegeben wird ein Dauerton erzeugt Der Tongenerator schaltet den Ton ein und f hrt mit der Abarbeitung des BASIC Programms fort Mit dem Wert O f r ton kann der Tongenerator wieder abgeschaltet werden Frequenzmessung mit FREQ und FREQ2 Die Frequenzmessung der C Control Station basiert auf dem Pulsz hlprinzip bei einer Torzeit von 1 Sekunde Die Messung erfolgt st ndig im Hintergrund parallel zur Abarbeitung des BASIC Programms 57 Programmieren in BASIC Die im Sekundenzyklus gez hlten Impulse entsprechen also direkt der Frequenz in Hz Der Standard Eingang zur Frequenzmessung Klemme 35 kann mit FREQ2 abgefragt werden x FREO2 Er hat einen Me bereich bis ca 30000Hz bei einem Fehler lt 1 Ist am DCF77 Eingang keine Aktivantenne angeschlossen so kann mit diesem Eingang alternativ eine Fr
48. nen Inverter Beide Blocktypen sind ja inzwischen bekannt Verbinden Sie die drei Bl cke in Reihe BI Abbildung 16 Der Aarten Block verz gert die Programmabarbeitung solange bis der an seinem Eingang eingespeiste Wert ungleich O ist Da hier der invertierte Zustand der Taste F1 zugef hrt wird wartet das Programm also solange bis die Taste losgelassen wurde Damit wird verhindert da ein l ngeres Dr cken der Taste mehrmals zum Umschalten f hrt Zelle 6 beendet die Reaktion auf einen F1 Tastendruck Dazu f gen Sie lediglich einen R ckkehr aus Unterprogramm Block aus der Gruppe 30 Grafische Programmierung Programmsteuerung ein Nach Zelle 6 wird das Programm in der Zelle nach dem Unterprogrammaufruf fortgesetzt also in Zelle 2 Abschlie end sei nicht vergessen dem Block zum Unterprogrammaufruf in Zelle 1 noch das Sprungziel anzugeben Klicken Sie auf Zelle 1 im Projektexplorer Offnen Sie dann den Eigenschaftsdialog des Verzweigungsblockes zur Erinnerung rechte Maustaste auf den Block Eigenschaften im Men ausw hlen und geben Sie als Sprungziel Umschalten ein den neuen Namen der ehemaligen Zelle 3 Das Beispielprogramm ist jetzt vollst ndig Speichern Sie das Projekt ab Men Datei Speichern z B als Datei TEST1 CPF Compilieren und Simulation Das vollst ndige Projekt k nnen Sie jetzt compilieren das hei t bersetzen in ein dem C Control System verst ndliches Format
49. nindex in die Bestimmung der physikalischen Gr e ein Zugriff auf die Echtzeituhr Um den Stand der internen Echtzeituhr auszulesen und zu setzen sind folgende globale Variablen definiert YEAR Jahr 0 99 MONTH Monat 1 12 DAY Tag des Monats 1 31 DOW Wochentag 0 Sonntag 6 Samstag HOUR Stunde 0 23 MINUTE Minute 0 59 SECOND Sekunde 0 59 Beachten Sie bitte da w hrend des Zugriffs die interne Uhr weiterl uft Der Sekundenwert sollte daher stets zuerst ausgelesen werden Steht er auf 59 so mu nach dem Lesen der letzten interessierenden Zeitinformation z B YEAR der Sekundewert nochmals gelesen und auf 0 getestet werden In diesem Fall ist das Auslesen der Echtzeituhr zu 56 Programmieren in BASIC wiederholen da eine neue Minute angebrochen ist Extremfall Silvester mit Weiterschalten aller Stellen in Uhr und Datum Die Jahreszahl wird im C Control System nur zweistellig abgespeichert Sollte das Auswerten der Jahreszahl in Ihren Algorithmen eine Rolle spielen beachten Sie bitte den bevorstehenden Wechsel von 1999 auf 2000 der sich im C Control als Wechsel von 99 auf 0 darstellt Timer Der interne 20 Millisekunden Timer kann ber den vordefinierten Bezeichner TIMER ausgelesen werden Der Timer ist freilaufend und kann nicht gestellt oder r ckgesetzt werden Ausgabe von T nen mit BEEP Die C Control Station ist intern mit einem Piezo Schallwandler ausgestattet ber den Signalt
50. nstalliert werden Da die Bedienelemente der Software selbsterkl rend und intuitiv zu verstehen sind wird an dieser Stelle auf eine komplette Beschreibung der Benutzeroberfl che verzichtet Die folgenden Abschnitte versorgen Sie lediglich mit den n tigen Grundkenntnissen Hilfestellung zur Bedienung des Programms erhalten Sie am PC durch Dr cken der Taste F1 Gesamthilfe oder Strg F1 kontextsensitive Hilfe Au erdem k nnen Sie durch Rechtsklicken auf einen Funktionsblock und Auswahl des daraufhin angebotenen Kontextmen punktes Hilfe zum Blocktyp eine Beschreibung der Blockfunktion bekommen Abbildung 5 zeigt einen berblick ber die Benutzeroberfl che zur grafischen Programmierung der C Control Station Die wichtigsten Komponenten sind beschriftet Zur Bedienung der Software ist es erforderlich da Sie mit den Grundprinzipien der Bedienung von Standard Windows Programmen vertraut sind Begriffe wie Men Statusleiste Klicken Doppelklicken oder Ziehen mit der Maus Datei ffnen oder Datei speichern sollten Ihnen keine Fremdworte sein Im Zweifelsfall lesen Sie bitte noch einmal das Windows Handbuch oder die Seiten der Windows Online Hilfe 23 Grafische Programmierung PB Conrad C Control plus Unbenannte Programmdatei Programmzelleneditor Ye E A Datei Bearbeiten Ansicht Bl cke Entwicklung Simulator Optionen Fenster Hilfe m je Schalter Zelle einf gen
51. oop Achten Sie auf die Negation des Tastenwertes Da die Tasten hardwareseitig mit Pullup Widerst nden nach 5V beschaltet sind liefert deren Abfrage im ungedr ckten Zustand High und in gedr cktem Low Pegel Hinweis die Tastenabfrage im Beispiel zur grafischen Programmierung enth lt bereits die Negation Wenn F1 als gedr ckt erkannt wird verzweigt das Programm zur Unterfunktion toggleK1 Die Unterfunktion schaltet zun chst das Relais K1 um Zur Entprellung und Verriegelung der Taste wird dann 100ms 5x20ms und dann auf das Loslassen der Taste gewartet Anschlie end kehrt die Unterfunktion zur Hauptschleife zur ck toggleKl tog Kl pause 5 wait F1 return Compilieren und Simulation Wenn Sie den Quelltext eingegeben haben compilieren Sie das Programm ber den Men Befehl Entwicklung Compilieren Im Meldungsfenster erhalten Sie den Status der Ubersetzung gegebenenfalls eine Liste von Fehlermeldungen Unser Beispiel sollte fehlerfrei compiliert werden wie Abbildung 20 zeigt gt Meldungen Blei Compiliere D CCBasichCCEW32D testi bas fehlerfrei 56 BASIC Bytes 0 SYS Bytes Abbildung 20 60 Programmieren in BASIC Um das Programm zu simulieren m ssen wir zun chst wieder zum Quelltextfenster umschalten entweder durch Schlie en des Meldungsfensters ber das Fenster Men oder durch Dr cken von Otrl Tab ffnen Sie jetzt das Simulatorfenster C Control Digitalports ber
52. pselt werden define x word define y word define z word x calc calc RETURN y z y z e Wertgesteuerte Programmverzweigung ON variable GOTO label0 labell labeln oder ON variable GOSUB label0 labell labeln In Abh ngigkeit des Wertes des Selektors variable erfolgt eine Programmverzweigung oder ein Unterroutinenaufruf zu den aufgelisteten Einsprungpunkten Ist der Wert 0 dann wird zu label0 verzweigt bei Wert gleich 1 zu labeli usw Ist der Variablenwert negativ oder gr er als die Anzahl der aufgef hrten Sprungziele dann wird die Programmabarbeitung ohne Verzweigung fortgesetzt e Programmende END 47 Programmieren in BASIC Gelangt der Steuercomputer im Verlauf der Programmabarbeitung zur END Anweisung wird die Programmabarbeitung beendet Das System verharrt dann in einem inaktiven Zustand Jetzt kann ein neues Anwenderprogramm bertragen oder die Ausf hrung per Start Taster wieder gestartet werden e Verz gerung des Programmflusses Die Anweisung WAIT conditionterm unterbricht die Programmausf hrung solange bis die Berechnung des conditionterm einen Wert ungleich 0 ergibt define Fl port 9 WAIT F1 In diesem Beispiel wird solange gewartet bis vom Digitalport 9 Taste F1 an der Station ein HIGH Pegel gelesen wird Der PAUSE Befehl unterbricht die Programmausf hrung f r eine gewisse Zeit Der berechnete Wert des Parameterterms geht als Multiplikations faktor mit der G
53. r rot Diese LED leuchtet wenn gerade das Anwenderprogramm ausgef hrt wird Run Modus also nach Dr cken des Start Tasters bis zum END Befehl im Anwenderprogramm bis zum Reset oder Abschalten der Betriebsspannung LED f r die serielle Schnittstelle rot Diese LED signalisiert eine Daten bertragung auf der TX Leitung der seriellen Schnittstelle des Moduls Die LED ist schaltungstechnisch an die Datenleitung gekoppelt und leuchtet mit jedem bertragenen Low Bit kurz auf so da ein Blinken oder Flackern der LED das Senden von Daten anzeigt Da beim bertragen eines Anwenderprogramms Download vom PC in das Modul jedes Programmbyte als Echo zum PC zur ckgeschickt wird kann ber die TX LED auch der Downloadvorgang verfolgt werden Bedienelemente DCF77 LED rot Diese LED zeigt bei angeschlossener DCF77 Aktivantenne den Status von Datenempfang und Synchronisation der internen Echtzeituhr des Moduls an die LED blink regelm ig im Zeitdaten werden empfangen die Sekundentakt Synchronisation dauert je nach Empfangsqualit t einige Minuten mindestens 2 3 Minuten die LED leuchtet st ndig die Synchronisation ist erfolgt die LED blink unregelm ig die Antenne ist schlecht ausgerichtet oder der Empfang gest rt die LED ist aus die Antenne ist nicht oder falsch angeschlossen falsch ausgerichtet oder der Empfang sehr stark gest rt LEDs K1 und K2 gr n Diese LEDs geben Auskunft ber den aktuelle
54. r Messung von analogen Spannungswerten bezogen auf das Massepotential der C Control Station Die Me werterfassung erfolgt durch die A D Wandler des Mikrocontrollers mit 8 Bit Aufl sung und liefert Werte von 0 bis 255 Die obere Referenzspannung betr gt 2 55V und entspricht dem Wandlungswert 255 Digitalports Jeder der Digitalports des Moduls kann frei als Eingang zum Erfassen eines Schaltzustandes oder als Ausgang zum Ausl sen eines Schaltvorganges programmiert werden Die logischen Pegel betragen 0 0 7V f r AUS und 4 3 5V f r EIN Frequenzme eingang An Klemme 35 kann die Frequenz f digitaler Pulse gemessen werden Das Eingangssignal ist dabei entweder ein 0 5V Digitalsignal oder eine Anschlu klemmen zyklische Verbindung nach GND Klemme 34 zum Beispiel durch ein Windrad das mit jeder Umdrehung einen Kontakt schlie t Der Me bereich mit einem Fehler lt 1 reicht bis ca 30KHz Netzklemmen Versorgungsspannungsanschlu Phase 230V L Nulleiter 230V T ber den Versorgungsspannungsanschlu werden im Normalbetrieb alle internen elektronischen Komponenten des Moduls gespeist Im Modul befindet sich dazu ein Netzteil mit Transformator Gleichrichter und Spannungsstabilisierung Relais K1 und K2 leere Klemme eooo O eooo O Mit den Relais K1 und K2 im Modul k nnen Ger te geschaltet werden die mit 230V Netzspannung betrieben werden Der maximal zul ssige Kontaktstrom siehe Technische Daten dar
55. riebsspannung versorgt und ber eine serielle Schnittstelle mit dem PC verbunden ist e Dr cken Sie den Reset Taster an der Station e Stellen Sie ber Optionen Umgebung Simulator und Lader die verwendete serielle Schnittstelle ein e Aktivieren Sie das Editorfenster test1 bas e W hlen Sie den Men befehl Entwicklung In C Control Unit bertragen W hrend der bertragung blinkt die TX Leuchtdiode an den RS232 Klemmen der Station Im Meldungsfenster am Bildschirm werden Sie ber den Erfolg der bertragung oder eventuelle Fehler informiert Sollte ein Fehler gemeldet werden berpr fen Sie bitte die Verbindungsleitung die Einstellung der seriellen Schnittstelle sowie die Spannungsversorgung der Station Vor einem erneuten bertagungsversuch m ssen Sie wieder das Editorfenster aktivieren War die bertragung erfolgreich ist die C Control Station jetzt programmiert e Dr cken Sie den Start Taster um das kleine Testprogramm auszuf hren Sie sehen da wie programmiert und simuliert mit jedem Dr cken auf die F1 Taste am Modul das Relais K1 ein und ausgeschaltet wird Im Minutentakt schaltet K2 um 63 Beispiele von der CD Beispiele von der CD In den SAMPLES Unterverzeichnissen der BASIC und der grafischen Software finden Sie einige Beispiele die Ihnen die Programmierung der C Control Station deutlich machen und L sungsans tze f r zahlreiche Anwendungsf lle bieten 64 Te
56. rteilerkasten Ordnen Sie die C Control Station und andere Baugruppen Ihrer Gesamtapplikation im Verteilerkasten an Die Montage erfolgt einfach durch Aufschnappen der Module auf die DIN Schiene Nun k nnen Sie die Baugruppen verdrahten Lesen Sie hierzu das Kapitel Anschlu klemmen Gegebenenfalls mu Ihre Gesamtinstallation von einer zust ndigen Stelle Elektromeister berpr ft werden Verblenden Sie abschlie end zumindest die Netzanschlu klemmen Ausf hren des Anwenderprogramms Ist die C Control Station programmiert und montiert kann sie in Betrieb genommen werden um das Anwenderprogramm auszuf hren Schalten Sie die Spannungsversorgung ein Dr cken Sie den Start Taster Nun k nnen Sie oder andere Anwender die C Control Station in der von Ihrem Anwenderprogramm festgelegten Weise bedienen Die Station arbeitet so lange nach Programm bis die Betriebsspannung ausf llt oder der Reset Taster gedr ckt wird Ein Neustart erfolgt wieder durch Dr cken des Start Tasters Bedienelemente Bedienelemente 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DO IIISIID LIDL DD Ara A1A2A3A4 PIP2P3P4PSPE A Start Conrad Electronic GmbH 230V Ge Reset RS232 O DCF77 O H S K2 O 230V Rx ml Hnd Es Ca oft N 000000000 00000000 123456789 1011121314 15 16 17 Abbildung 1 Tasten Das Frontpanel der C Control Sta
57. rundeinheit von 20 Millisekunden in die Festlegung der Pausenzeit ein PAUSE term Beispielsweise wird durch den Befehl PAUSE 50 die Programmausf hrung f r ca 50 20 Millisekunden 1 Sekunde unterbrochen Die maximale Zeitabweichung der tats chlichen Pause vom angegebenen Wert betr gt dabei prinzipbedingt 20 Millisekunden Kommunikation ber die serielle Schnittstelle e Datenausgabe Die Datenausgabe erfolgt als Text ber die serielle Schnittstelle der C Control Station Ist ber ein Schnittstellenkabel zum Beispiel ein PC mit einem Terminalprogramm angeschlossen k nnen die ausgegebenen Daten dort angezeigt werden PRINT term 48 Programmieren in BASIC gibt das Ergebnis der Berechnung von term aus PRINT text bertr gt den in Anf hrungszeichen stehenden Text In beiden F llen wird an die bertragung ein Zeilenvorschubzeichen angeh ngt welches das Terminalprogramm veranla t die n chste Ausgabe in der n chsten Bildschirmzeile vorzunehmen Der Zeilenvorschub kann unterdr ckt werden wenn dem PRINT Befehl nach dem Parameter term oder text ein Semikolon hinzugef gt wird PRINT term oder PRINT text CCBASIC unterst tzt au erdem mehrere Ausgaben mit einem PRINT Befehl wobei die einzelnen Parameter durch Komma oder Semikolon getrennt werden Ein Komma f gt in die Ausgabe ein Tabulatorzeichen ein das entsprechend den Einstellungen im Terminalprogramm als eine Anzahl von
58. schte Eigenschaft mechanischer Kontakte sich bis zur endg ltigen Herstellung der elektrischen Verbindung in Bruchteilen einer Sekunde mehrmals zu ffnen und zu schlie en Das w rde in unserem Beispiel zu einem unkontrollierten Umschalten des Relais f hren Zwar zeigt die Folientastatur der C Control Station ein geringes Prellverhalten aber sicher ist sicher 29 Grafische Programmierung Plazieren Sie aus der Gruppe Programmsteuerung einen Pause Block Schieben Sie ihn etwas nach rechts F gen Sie links neben dem Pause Block einen Block konstanter Wert aus der Gruppe Konstanten ein Verbinden Sie beide Bl cke Klicken Sie mit der rechten Maustaste auf den Konstantenblock Geben Sie ber den Eigenschaftsdialog den Wert 5 ein Abbildung 15 Dem Pause Block wird der konstante Wert 5 eingespeist Bei der Abarbeitung der Anweisung legt das Programm eine Pause von 5 x 20ms 100 ms ein In dieser Zeit erfolgt keine weitere Abfrage des Tasters der Taster ist somit entprellt Zelle 5 Da wir nicht wollen da bei l ngerem Gedr ckthalten der Taste F1 das Relais mehrmals umgeschaltet wird mu das Programm nun warten bis die Taste wieder losgelassen wird Dazu plazieren Sie im Arbeitsbereich der Zelle 5 aus der Gruppe Programmsteuerung einen Warten auf Wert Block und schieben ihn etwas nach rechts Plazieren Sie nun links neben dem Warten Block den F1 Tasten Block und in der Mitte ei
59. ster die Punkte Baum der Programmzellen aufklappen Erste Programmzelle ffnen und Editor folgt im Projektfenster ausgew hlter Programmzelle Diese Einstellungen werden beim Beenden des Programms gespeichert und m ssen nicht immer neu eingegeben werden Klicken Sie im Projektexplorer auf den Ordner Programmzellen Klicken Sie 6 mal auf den Schalter Zelle einf gen Sie sehen wie im Projektexplorer die neuen Zellen eingetragen werden a Uih Zelle 3 fh Zelle A Abbildung 7 Klicken Sie im Projektexplorer auf den Eintrag Zelle 1 In der Titelzeile des Zelleneditors steht nun Programmzelleneditor Zelle 1 Klicken Sie in den Arbeitsbereich des Zelleneditors Nun werden die bisher grauen Blockauswahlschalter aktiv 26 Grafische Programmierung In der Blockgruppenauswahl sollte Ein Ausgabe stehen Klicken Sie jetzt auf den dritten Blockauswahlschalter von links er symbolisiert die Modultaste F1 JACEE Abbildung 8 Ein neuer Block wird in den Arbeitsbereich eingef gt Ziehen Sie den Block mit der Maus etwas nach rechts unten Wechseln Sie jetzt in der Blockgruppenauswahl zur Gruppe Programmsteuerung sie befindet sich ganz unten in der Liste 23 Programmsteuerna w Zeit Yarablen Konstanten Datenaufzeichnung m Serielle Schnittstelle wich Programmsteuerung Abbildung 9 Im Bereich der Blockauswahlschalter erscheint die Palette der Programm s
60. t werden Die Ports 13 bis 16 k nnen die LEDs ber den Funktionstasten ein und ausschalten Analogports Zur Erfassung analoger Me gr en hat die C Control Station insgesamt 8 Analog Digital Converter Ports mit 8 Bit Aufl sung Damit k nnen elektrische Spannungen gemessen werden die zum Beispiel als Ausgangssignal eines Sensors von einer bestimmten physikalischen Gr e abh ngen Der Me bereich reicht von 0 bis 2 55V in Schritten von 10 mV An der C Control Station sind die Analogports 1 bis 4 an den Klemmen A1 bis A4 herausgef hrt Die Analogports 5 und 6 sind mit den Temperatursensoren T1 beziehungsweise T2 verbunden Der Analogport 7 mi t die Spannung an einem internen Punkt der Versorgungselektronik Ist bei fehlender Netzspannung ein geladener 12V Akku an den Klemmen 7 und 8 angeschlossen dann betr gt der Me wert ca 120 Nun kann ber das Sinken des Me wertes die Entladung des Akkus w hrend des Betriebes verfolgt werden Sinkt die Akkuspannung unter einen kritischen Wert k nnen so im Anwenderprogramm rechtzeitig Ma nahmen gegen den bevorstehenden Ausfall des Systems getroffen werden An Analogport 8 kann der Ausfall der 230V Netzspannung detektiert werden Der Port ist intern ber einen Spannungsteiler mit dem Plus Ausgang des Br ckengleichrichters des integrierten Netzteils verbunden Der Spannungsverlauf ist mit einem Kondensator gegl ttet Sinkt der Me wert auf 0 dann ist die Netzspannung ausgefallen Da
61. teren PCs und Notebooks betreiben bis hinab zu 8086 88 Systemen XT Preiswerte ltere Notebooks die heutiger B rosoftware nicht mehr gewachsen sind eignen sich so hervorragend zur Umprogrammierung einer C Control Station vor Ort und ohne Ausbau des Moduls aus dem Schaltschrank Zur Installation beider Versionen befolgen Sie bitte wieder die Hinweise auf der CD Grundlegendes zur Programmiersprache CCBASIC Allgemeines Ein BASIC Programm besteht aus mehreren Zeilen sogenannten Quelltextes Dabei enth lt jede Zeile eine oder mehrere Rechen oder Steueranweisungen CCBASIC ist der BASIC Dialekt der zur Programmierung der C Control Station verwendet wird Die Syntax entspricht in etwa der des Standard BASIC Bei einigen Befehlen gibt es Abweichungen oder Erweiterungen die speziell auf die Hardware der C Control Station zugeschnitten sind 34 Programmieren in BASIC Enth lt eine Programmzeile mehrere Anweisungen dann sind diese durch Doppelpunkte zu trennen Zeilennummern wie in lteren BASIC Dialekten blich sind nicht notwendig Werden dennoch Zeilennummern angegeben so k nnen diese als Sprungziel verwendet werden JI 55 GOTO 10 Einen Einflu auf die Reihenfolge der Programmoperationen haben die Nummern dar ber hinaus nicht Wenn beispielsweise im Quelltext auf eine mit 200 numerierte Zeile eine Zeile 100 folgt wird dennoch die Zeile 200 vor der 100 abgearbeitet Kommentare k nnen zur Erl uterung des g
62. teuerungsbl cke Klicken Sie auf den zweiten Schalter von links Unterprogrammaufruf Plazieren Sie den neuen Block etwas rechts neben dem ersten Jetzt sollen die Bl cke verbunden werden Klicken Sie dazu auf den EI Block bewegen Sie dann den Mauszeiger in Richtung des anderen Blocks Eine gestrichelte Linie Gummiband zeigt den Verbindungsmodus an Klicken Sie jetzt auf den zweiten Block Im Arbeitsbereich sollte jetzt folgendes Blockschaltbild zu sehen sein 27 Grafische Programmierung Abbildung 10 Was bedeutet das Der Unterfunktionsaufruf des rechten Blocks ist an die Bedingung gekn pft da die Taste Fi am Modul gedr ckt ist wenn Taste F1 dann verzweige Bevor wir jetzt festlegen wohin verzweigt werden soll wollen wir die anderen Zellen auff llen Klicken Sie auf Zelle 2 im Projektexplorer Im Arbeitsbereich plazieren Sie den ersten Block aus der Gruppe Programmsteuerung den Block Verzweige zu Zelle 4 Abbildung 11 Hiermit soll die Endlosschleife des Programms realisiert werden Aus Zelle 2 soll immer zur ck zu Zelle 1 gesprungen werden Klicken Sie mit der rechten Maustaste auf den Block Es erscheint ein Men An erster Stelle finden Sie den Men punkt Eigenschaften W hlen Sie diesen und es ffnet sich der Eigenschaftsdialog f r den Block Blockparameter Geben Sie den Bezeichner einer Zelle ein Abbildung 12 Tragen Sie in der Eingabezei
63. tion ist als Folientastatur ausgef hrt In diese sind insgesamt sechs Taster integriert Dr cken Sie die beschrifteten Tastfelder bis Sie einen leichten Klick sp ren Reset Der Reset Taster dient zum R cksetzen Reset des Moduls und wird in der Regel zum Anhalten des Anwenderprogramms oder vor der Programmierung gedr ckt Nach dem Reset befindet sich das Modul in einem initialisierten Zustand vergleichbar dem Zustand nach Zuschalten der Betriebsspannung Alle Anwendervariablen sind gel scht 0 die Bedienelemente interne Uhr beginnt bei 00 00 00 und wird bei Anschlu einer DCF77 Aktivantenne neu synchronisiert Start Der Start Taster startet ein Anwenderprogramm siehe Programmierung das zuvor ber die serielle Schnittstelle in den Speicher des Moduls geladen wurde Das Programm l uft dann solange bis ein END Befehl ausgef hrt wird F1 F2 F3 F4 Die Funktionstasten k nnen im Anwenderprogramm abgefragt und so zum Beispiel zur Auswahl von Betriebsarten als Ein Ausschalter oder zur Parametermanipulation verwendet werden siehe Programmierung Leuchtdioden Die C Control Station hat neun Leuchtdioden LEDs die durch kleine Rundfenster in der Folientastatur scheinen Die LEDs dienen der Information des Anwenders ber verschiedene Betriebszust nde des Moduls Die unterschiedlichen Farben kennzeichnen die einzelnen Funktionsgruppen rot System gr n Relais gelb Anwender LEDs LED im Start Taste
64. tionen m ssen stets am Ende eines Programms hinter dem END Befehl stehen da die Daten nahtlos hinter den vorangehenden Codebytes im EEPROM Speicherchip abgelegt werden Die Programmabarbeitung darf nie ber Tabellendaten laufen da die Daten sonst als BASIC Befehle interpretiert werden w rden was sicher zum Absturz des Systems f hrt Der Zugriff auf die Tabellendaten erfolgt mit dem Befehl LOOKTAB tablename index variable tablename bezeichnet eine g ltige Tabelle f r index kann ein beliebiger Term stehen und die variable bezeichnet die Speicherzelle in der das Ergebnis abgespeichert werden soll Der berechnete Wert des index Terms darf nicht negativ sein und maximal N 1 betragen wenn die indizierte Tabelle N Eintr ge hat Ergibt index den Wert 0 so wird CO in der angegebenen Variablen gespeichert f r index gleich 1 C1 und so weiter Folgendes Beispiel gibt den Inhalt einer Tabelle seriell aus 55 Programmieren in BASIC DEFINE value WORD DEFINE i BYTE FOR i 0 to 3 LOOKTAB mytab i value PRINT mytab i value EXT m END E TABLE mytab 12 20 0 1000 TABEND Am Bildschirm des Terminalprogramms sollte erscheinen mytab 0 12 mytab 1 20 mytab 2 0 mytab 3 1000 Besonders n tzlich erweisen sich Tabellen beim Umsetzen von A D Werten in echte physikalische Gr en Eine Umsetzungstabelle hat dann in der Regel 256 Eintr ge Der gemessene A D Wert geht dann als Tabelle
65. z beschr nkt FOR v1 anfangl TO endel 44 Programmieren in BASIC FOR v2 anfang2 TO ende2 FOR v3 anfang3 TO ende3 NEXT NEXT NEXT Jede FOR Schleife darf im Verlauf des Programms nur ber ihre eigene NEXT Anweisung laufen Folgender Quelltext kann zwar compiliert und in die C Control Station geladen werden wird jedoch nicht wie vielleicht erwartet funktionieren FOR vl anfangl TO endel GOTO anothernext NEXT FOR v2 anfang2 TO ende2 anothernext NEXT Achten Sie au erdem auf den Werteberech von Schleifenvariable und ende Term DEFINE v BYTE FOR v 1 TO 1000 NEXT wird zu einer Endlosschleife da v als Bytevariable nie den Wert 1000 erreichen kann sondern bereits nach 255 wieder auf 0 berrollt e Bedingte Ausf hrung IF bedingung THEN anweisungl oder IF bedingung THEN anweisungl ELSE anweisung2 Die IF THEN ELSE Konstruktion erm glicht die Anpassung des Programmflusses an Bedingungen zur Laufzeit des Programms Als bedingung ist ein beliebiger Term einzusetzen Ergibt dessen Berechnung einen Wert ungleich 0 dann gilt die Bedingung als erf llt und die anweisung1 wird ausgef hrt Werden zus tzlich ein ELSE und eine zweite Anweisung angegeben so wird diese Anweisung alternativ ausgef hrt wenn der berechnete Term einen Wert gleich O ergibt 45 Programmieren in BASIC Die gesamte IF THEN ELSE Konstruktion mu in einer Quelltextzeile stehen Anweisungsbl cke me
Download Pdf Manuals
Related Search
Related Contents
The Pure water experience - Blue-Wave UN AUDIT EN DEVELOPPEMENT DURABLE EST Difrnce MP1509 User Manual - Taiwan Trade GE Monogram ZSC1000 Oven User Manual operating instructions and warranty Manual de Instalación y uso kit Alarma GSM 3000 Copyright © All rights reserved.
Failed to retrieve file