sind sind fest fest verankerte Bausteine im im 500-Configurator. Sie Sie haben eine eine fixe fixe Benennung, die die nicht verändert werden kann. Außerdem werden die die Namen der der immer groß großgeschrieben. Schreibt man man den den Namen einer falsch, kann diese auch nicht ausgelesen werden, was was in in der der Regel eine eine Fehlermeldung nach sich sich zieht. gibt gibt es es für für die die 3 Hauptdatentypen im im 500-Configurator: System-Bit-Speicher, System- Analog-Speicher System-Text-Speicher. Ein Ein praktisches Beispiel, wäre die die Baudratenkonfiguration einer SIO-Schnittstelle. Zuständig dafür ist ist der der System- Analog-Speicher SIO_RJ11_BAUDRATE SIO_RJ11_BAUDRATE Damit eine eine Systemvariable auch einen Wert liefern kann, Baudraten umgestellt werden oder oder Zeiten übernommen werden muss das das Programm auch laufen.
Serielle Schnittstelle: Um Um die die SIO SIO richtig zu zu initialisieren, muss auch beachtet werden, dass es es bestimmte Konfigurationsmöglichkeiten gibt, gibt, d.h. d.h. es es ist ist nur nur möglich aus aus vorgegebenen Baudraten zu zu wählen. Die Die wären: 9600, 19200, 38400 usw.. So So stellt stellt man man die die SIO SIO auf auf 9600 Bauds: 9600 SIO_RJ11_BAUDRATE Systemvariable Systemvariable 510, 510, 520, 520, 500-R, 500-R, 500-500- S, S, 500-R-4AiU-3AoU, 500-R-4AiU-3AoU, 500-S-4AiU-3AoU, 500-S-4AiU-3AoU, 500-R-4AiU- 500-R-4AiU- 500-S-4AiU- 500-S-4AiU- 500-R-4AiI-3AoU, 500-R-4AiI-3AoU, 500-S-4AiI-3AoU, 500-S-4AiI-3AoU, 500-R-4AiI- 500-R-4AiI- 500-S-4AiI- 500-S-4AiI- 500-R-4AiI, 500-R-4AiI, 500-S-4AiI,500-CAN-R, 500-S-4AiI,500-CAN-R, 500-CAN-S, 500-CAN-S, 500-CAN-R-4AiU-3AoU, 500-CAN-R-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-R-4AiU- 500-CAN-R-4AiU- 500-CAN-S-4AiU- 500-CAN-S-4AiU- 500-CAN-R-4AiI-3AoU, 500-CAN-R-4AiI-3AoU, 500-CAN-S-4AiI-3AoU, 500-CAN-S-4AiI-3AoU, 500-CAN-R-4AiI- 500-CAN-R-4AiI- 500-CAN-S-4AiI- 500-CAN-S-4AiI- 500-CAN-R-4AiI 500-CAN-R-4AiI 500-CAN-S-4AiI 500-CAN-S-4AiI
Serielle Schnittstelle: Weiter für für die die Serielle Schnittstelle können jedoch nur nur für für 500-SIO-D Module Verwendet werden. Um Um die die Baudrate auf auf der der SIO1 oder oder der der SIO2 zu zu ändern verwenden Sie Sie folgende System Variablen: 19200 SIO1_BAUDRATE 38400 SIO2_BAUDRATE Erlaubte Baudraten für für die die SIO1 SIO2: 1200, 2400, 4800, 9600, 19200, 38400 Auf Auf der der SIO2 kann auch die die Baudrate 300 300 verwendet werden. Den Den Modus der der Schnittstelle ändern Sie Sie mit mit folgende. Hier Hier werden die die Bits Bits für für die die Einstellung verwendet das das Bit Bit 0 steht für für die die Datenbits 1=8 1=8 Datenbits, 0=7 0=7 Datenbits Bit Bit 1+2 1+2 steht für für 00=Keine Parität, 01=EVEN 10=ODD Bit Bit 3 steht für für die die Stopbit 0=1 0=1 Stopbit, 1=2 1=2 Stopbits 0x00 SIO1: 7N1 7N1 SIO1_MODE 0x0D SIO2: 8O1 8O1 SIO2_MODE
Zykluszeitüberwachung: Mit Mit den den den hat hat man man die die Möglichkeit die die Zykluszeit zu zu überwachen. 10 SYS_CYCLEMAX 33 SYS_SYSMAX Wird Wird einer der der den Zeiten überschritten so so geht geht die die SPS SPS auf auf ERROR schaltet sofort alle alle Erweiterungsmodule aus. aus. Um Um die die Zykluszeiten abzufragen verwendet man man folgende SYSTEMVARIABLEN. SYS_CYCLETIME Zykluszeit SYS_SYSTIME Systemzeit Die Die Zeit Zeit angaben für für die die Zykluszeiten erfolgen in in ms. ms. allen allen 500- CONTROLLER Verfügung!
Real Time Clock (RTC): Um Um die die RTC RTC mit mit einer Systemvariable zu zu ändern muss ein ein vorgegebenes Format eingehalten werden. Format: Tag Tag TT.MM.JJ hh:mm:ss Tag: Tag: Sonntag SU SU Montag MO MO Dienstag TU TU Mittwoch WE WE Donnerstag TH TH Freitag FR FR Samstag SA SA Datum: TT.MM.JJ Tag.Monat.Jahr Uhrzeit: hh:mm:ss Ste:Minuten:Seken MO 01.08.05 14:53:00 CLOCK Systemvariable Systemvariable 510, 510, 520, 520, 500-R, 500-R, 500-500- S, S, 500-R-4AiU-3AoU, 500-R-4AiU-3AoU, 500-S-4AiU-3AoU, 500-S-4AiU-3AoU, 500-R-4AiU- 500-R-4AiU- 500-S-4AiU- 500-S-4AiU- 500-R-4AiI-3AoU, 500-R-4AiI-3AoU, 500-S-4AiI-3AoU, 500-S-4AiI-3AoU, 500-R-4AiI- 500-R-4AiI- 500-S-4AiI- 500-S-4AiI- 500-R-4AiI, 500-R-4AiI, 500-S-4AiI, 500-S-4AiI, 500-CAN-R, 500-CAN-R, 500-CAN-S, 500-CAN-S, 500-CAN-R-4AiU-3AoU, 500-CAN-R-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-R-4AiU- 500-CAN-R-4AiU- 500-CAN-S-4AiU- 500-CAN-S-4AiU- 500-CAN-R-4AiI-3AoU, 500-CAN-R-4AiI-3AoU, 500-CAN-S-4AiI-3AoU, 500-CAN-S-4AiI-3AoU, 500-CAN-R-4AiI- 500-CAN-R-4AiI- 500-CAN-S-4AiI- 500-CAN-S-4AiI- 500-CAN-R-4AiI 500-CAN-R-4AiI 500-CAN-S-4AiI 500-CAN-S-4AiI
SMS: Um Um SMS versenden zu zu können muss in in die die Systemvariable SMS_MESSAGECENTER die die Nummer des des jeweiligen Anbieters zugewiesen werden. Hier Hier wurde der der Anbieter A1 A1 eingestellt: +436640501 SMS_MESSAGECENTER Die Die Systemvariable SMS_STATE wird wird zum zum initialisieren des des Siemens-M20, Siemens-TC35 oder oder Siemens-TC40 verwendet. Die Die Variable gibt gibt aber aber auch den den SMS Status ück. 11 SMS_STATE Folgende Werte kann die die Systemvariable haben: 0 SMS IDLE 1 SMS INITIALISIEREN 2 SMS INITIALISIEREN ist istbeendet 3 SMS INITIALISIER ERROR 4 SMS Senden ist istbeendet 5 SMS Sende ERROR nur nur für für 500-SMS-D 500-SMS-D Module Module
Programmierung der der PWM Ausgänge im im 500- Configurator Wichtig ist, ist, dass man man zuerst, die die PWM Erzeugung aktivieren muss. Dazu ist ist es es notwendig der der Initialisierung (Seitenausführungsbedingung!!!) des des System-Bit-Speicher PWM mit mit einer 1 zu zu beschreiben: const 1 PWM Nun Nun sind sind alle alle Ausgänge aktiv aktiv jetzt jetzt muß muß man man alle alle Ausgänge mit mit einem Prozentwert zwischen 0 100% beschreiben. Dazu 6 System-Analog-Speicher mit mit den den Namen PWM_DO1 bis bis PWM_DO6 Da beschreibt PWM_DO1 die die PWM am am Digitalausgang Do1 Do1 usw. usw. Wichtig ist, ist, dass man man nun nun nicht mehr die die normalen Ausgänge L1.DO1 bis bis L1.DO6 verwendet! Periode: 1/100Hz Einschaltzeit 40% Ausschaltzeit 60% PWM-Signalverlauf pro Ausgang
00 PWM_DO1 10 PWM_DO2 25 PWM_DO3 50 PWM_DO4 80 PWM_DO5 100 PWM_DO6 Im Im obigen Beispiel werden nacheinander die die Digitalausgänge DO1 DO1 bis bis DO6 DO6 auf auf die die Werte 0% 0% (Immer aus), 10%, 25%, 50% 50% (Halb ein,halb aus), 80% 80% 100% (Immer ein) ein) gesetzt. Systemvariable Systemvariable 500-S, 500-S, 500-S-4AiU-3AoU, 500-S-4AiU-3AoU, 500-S-4AiU- 500-S-4AiU- 500-S-4AiI-3AoU, 500-S-4AiI-3AoU, 500-S-4AiI- 500-S-4AiI- 500-S-4AiI, 500-S-4AiI, 500-CAN-S, 500-CAN-S, 500-CAN-S-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-S-4AiU- 500-CAN-S-4AiU- 500-CAN-S-4AiI-3AoU, 500-CAN-S-4AiI-3AoU, 500-CAN-S-4AiI- 500-CAN-S-4AiI- 500-CAN-S-4AiI 500-CAN-S-4AiI Beachten Beachten Sie, Sie, wenn wenn Sie Sie ein ein 500-S 500-S verwenden verwenden auch auch nur nur L1.DO4, L1.DO4, L1.DO5 L1.DO5 L1.DO6 L1.DO6
Programmierung eines Inkrementalencoders im im 500-Configurator: Initialisiert werden sie sie anhand einer Binär- Systemvariable, die die durch eine eine Bitkonstante auf auf 1 gesetzt wird. Binär-Systemvariable muss genau den den Namen ENCODER_XY haben, sonst funktioniert nichts. const 1 ENCODE R_XY Ist Ist die die Binär-Systemvariable initialisiert, muss man man noch de Encoder (X (X u. u. Y) Y) initialisieren bzw. bzw. auf auf 0 setzten. Im Im Gegensatz zu zu ENCODER_XY handelt es es sich sich hier nicht um um eine eine Binär-Systemvariable sondern um um einen System-Analog-Speicher. Der Der Name muss aber aber trotzdem exakt sein. (ENCODER_X, ENCODER_Y) Hier Hier werden sie sie auf auf 0 gesetzt: 00 ENCODE R_X 00 ENCODE R_Y Den Den Wert eines Inkrementalencoders kann man man ganz einfach in in einen Analog-Speicher schreiben: ENCODE R_X MyVar1
Einen Inkrementalencoder kann man man so so auf auf einen beliebigen Wert setzen: MyVar1 ENCODE R_X 500-R, 500-R, 500-S, 500-S, 500-R- 500-R- 4AiU-3AoU, 4AiU-3AoU, 500-S-4AiU-3AoU, 500-S-4AiU-3AoU, 500-R-4AiU- 500-R-4AiU- 500-S-4AiU- 500-S-4AiU- 500-R-4AiI-3AoU, 500-R-4AiI-3AoU, 500-S-4AiI-3AoU, 500-S-4AiI-3AoU, 500-R-4AiI- 500-R-4AiI- 500-S-4AiI- 500-S-4AiI- 500-R-4AiI, 500-R-4AiI, 500-S-4AiI 500-S-4AiI
.Auf.Auf den den 500-CAN Controllern gibt gibt es es nur nur einen Inkremantalencoder daher heißen die die Variablen unter CAN: const 1 ENCODER_XY 00 ENCODER_X Auf Auf den den 500-CAN Controllern gibt gibt es es dafür 2 High- Speed-Counter Eingänge die die mit mit folgenden Variablen angesprochen werden können. const 1 ENCODER_XY COUNTER_A MyVar1 COUNTER_B MyVar2 500-CAN-R, 500-CAN-R, 500-CAN-S, 500-CAN-S, 500-CAN-R-4AiU-3AoU, 500-CAN-R-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-S-4AiU-3AoU, 500-CAN-R-4AiU- 500-CAN-R-4AiU- 500-CAN-S-4AiU- 500-CAN-S-4AiU- 500-CAN-R-4AiI-3AoU, 500-CAN-R-4AiI-3AoU, 500-CAN-S- 500-CAN-S- 4AiI-3AoU, 4AiI-3AoU, 500-CAN-R-4AiI- 500-CAN-R-4AiI- 500-CAN-S-4AiI- 500-CAN-S-4AiI- 500-CAN- 500-CAN- R-4AiI R-4AiI 500-CAN-S-4AiI 500-CAN-S-4AiI
.Auf.Auf den den 500-R-4HSC befinden sich sich 4 High-Speed- Counter Eingänge die die mit mit folgenden Variablen angesprochen werden können. const 1 ENCODER_XY COUNTER_A Counter_A COUNTER_B Counter_B COUNTER_C Counter_C COUNTER_D Counter_D 500-R-4HSC 500-R-4HSC