Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

  Basic-Programmschleife zu langsam Kategorie: Programmierung Basic (von Robert02 (Robertnullzwo) - 18.05.2013 19:22)
Robert02 (Robertnullzwo) nutzt:  CC1-Unit V1.1
Hallo , Freunde und Anwender der C-Control .

Meine C-Control  V I 1.1  ist als Drehzahlregler für eine Kleindrehbank  programmiert . Im Prinzip funktioniert das gut , es ruckelt  aber etwas .   Meiner Meinung nach liegt das daran , dass das Abarbeiten der  Regelschleife einfach zu lange dauert .

Der Aufbau ist folgender : der Sollwert wird durch eine Spannung von 0...2,5 V am  Eingang AD2 dargestellt . Von der Arbeitsspindel der Drehbank liefert einTachogenerator  eine  Gleichspannung Spannung von 0-2,5 Volt für den Istwert .   Das Programm vergleicht beide Werte und korrigiert  dementsprechend das  PWM-Signal , das über DA1 direkt  an einen Schalttransistor IRFP 460 ( 500V 20A) gegeben wird . Der schaltet  die gleichgerichtete Netzspannung  auf  den Antriebsmotor . Das Alles  funktioniert hervorragend , insbesondere die Lastschwankungen beim Einstechen des Drehstahles werden gut auskompensiert . Aber leider : zu ruckelig , es gibt Rattermarken am Werkstück  .

  Hier ist das  zentrale Programmstück „Arbeitsschleife“ , das einige Male pro Sekunde durchlaufen wird :

[.......]
# Arbeitsschleife
     if Istw < Sollw then stellw = stellw + ( sollw - istw )'     REM Abweichung auf Stellwert addieren)
     if stellw > 255 then Stellw = 255 '                                 REM Schutz vor Überlauf , Grund für Word-Variable
     ausgabe1 = stellw '                                                        REM Ausgabe  auf DA1 zum Steuertransistor
     ausgabe2 = stellw ‚                                                        REM  Ausgabe auf DA2 ( Kontrollanzeige )

     if istw > sollw then stellw = stellw - ( istw - sollw ) '      REM Abweichung vom Stellwert abziehen )
     if stellw = < 0 then stellw = 0  '                                       REM Begrenzung gegen Registerunterlauf ins Negative
     ausgabe1 = stellw
     ausgabe2 = stellw

goto Arbeitsschleife


Das Problem ist nun , diese Schleife schneller zu machen . Mir schwant  schon dumpf , dass da nur ein Maschinenprogramm richtig weiter hilft – aber : dazu fehlen mir die Kenntnisse . Kann mir jemand softwaremässig weiterhelfen ??

Gruß.............................Robert02 (Robertnullzwo)

 Antwort schreiben

Bisherige Antworten:

Re: Basic-Programmschleife zu langsam (von Dietmar - 29.05.2013 16:16)
Re: Basic-Programmschleife zu langsam (von MaPi - 19.05.2013 13:35)
    Re: Basic-Programmschleife zu langsam (von Robert02 (Robertnullzwo) - 19.05.2013 20:55)
        Re: Basic-Programmschleife zu langsam (von MaPi - 12.06.2013 8:25)
        Re: Basic-Programmschleife zu langsam (von MaPi - 21.05.2013 9:26)