VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks
programmablaufproblem

Anfang   zurück   weiter   Ende
Autor Beitrag
Sebastian
Gast
New PostErstellt: 17.01.06, 10:19  Betreff: programmablaufproblem  drucken  Thema drucken  weiterempfehlen Antwort mit Zitat  

hallo,

unten könnt ihr einen teil einer steuersoftware lesen, die ein wenig probleme bereitet. bearbeite hier mein erstes vhdl projekt und hoffe auf eure hilfe.

den hier dargestellte teil der steuerfoftware möchte ich gern testen, um sicher zu stellen, dass meine programmauswahl korrekt funktioniert. die auswahl der programme erfolgt in abhängigkeit des wertes von P1 (in - ogic vector), der 5 zustände annehmen kann. die variable systemzeit dient der sicherstellung, dass nach einschalten des gerätes definitiv die prozedur aus aktiv ist.

mein problem: egal welchen zustand ich am eingang einstelle, die ausgangszustände nehmen keine statischen werte an, d.h. die richtige programmauswahl wird offensichtlich nicht getroffen ...

die taktfrequenz beträgt 20kHz ...

ich hoffe, diese ausführen reichen erstmal als kurze erläuterung ...?

hier der quellcode:

-------------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
library APA;

entity Stickstoff is

port (P1: in std_logic_vector(0 to 4);
clock: in std_logic;
V85,V96L,V97,Pumpe,Latch_Catcher: out std_logic;
LED_OFF, LED_Vak, LED_N2, LED_Druck, LED_Auto, test_prog1, test_prog2, test_prog3, test_prog4, test_prog5: out std_logic);


end Stickstoff;


architecture eins of Stickstoff is

------------------------------------------
-- Stand-By-Prozedur (AUS)

procedure AUS is

begin
V85<='0';
V96L<='0';
Latch_Catcher<='1';
V97<='0';
Pumpe<='0';
end;
------------------------------------------

begin

process(P1) is

variable programm: integer range 1 to 5 :=1;
variable count: integer range 0 to 34 :=0;
variable systemzeit: integer range 0 to 1000000000 :=1;

begin

if rising_edge(clock) then
count:=count+1;

if count>=34 then
systemzeit:=systemzeit+1;
count:=0;
end if;

end if;


if systemzeit<=3 then
programm:=1;
AUS;
else
if P1="00000" then
null;
elsif P1="10000" then
programm:=1;
test_prog1<='1';
elsif P1="01000" then
programm:=2;
test_prog2<='1';
elsif P1="00100" then
programm:=3;
test_prog3<='1';
elsif P1="00010" then
programm:=4;
test_prog4<='1';
elsif P1="00001" then
--sequenz:='0';
programm:=5;
test_prog5<='1';
else
programm:=1;
end if;
end if;

if programm=1 then
AUS;
LED_OFF<='1';
elsif programm=2 then

-- Vakuumieren bis Druck auf Wert_Druck_Vorwahl gefallen ist.
LED_Vak<='1';
Latch_Catcher<='1';

elsif programm=3 then

-- Spülen mit Stickstoff bis 50mbar Überdruck erreicht sind.
LED_N2<='1';
Latch_Catcher<='0';

elsif programm=4 then

-- Druck-Programm, keine Prüfschleifen
LED_Druck<='1';
Latch_Catcher<='0';

elsif programm=5 then

-- Automatischer Spülablauf
LED_Auto<='1';
Latch_Catcher<='1';


end if;

end process;

----------------------------------------------------------------------------------------------------------

end eins;
nach oben
Gast
New PostErstellt: 17.01.06, 10:21  Betreff: Re: programmablaufproblem  drucken  weiterempfehlen Antwort mit Zitat  

... schon mal vielen dank für jegliches interesse an dem beitrag und evtl. hilfe

gruß baster
nach oben
pzwack
Registrierter Benutzer


Beiträge: 4

New PostErstellt: 17.01.06, 17:26  Betreff: Re: programmablaufproblem  drucken  weiterempfehlen Antwort mit Zitat  

Ich nehme mal an, dass du bereits bei der Simulation Probleme hast.

> process(P1) is
>
> begin
>
> if rising_edge(clock) then
> ...

clock steht nicht in der Sensitivity List steht, deshalb wird rising_edge(clock) nie wahr. So wie du es schreibst muss ein Event auf P1 kommen damit was passiert. Schreib mal sowas wie process(clock,reset) da am Anfang, dann geht's weiter.

Da gibt's bestimmt noch mehr zu kritteln, aber warum dir den ganzen Spass nehmen? ;-)

Peter

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
sebastian
Gast
New PostErstellt: 17.01.06, 17:53  Betreff: Re: programmablaufproblem @pzwack  drucken  weiterempfehlen Antwort mit Zitat  

... das habe ich nun auch gefunden allerdings bin ich noch nicht wesentlich weiter ... ich lasse von mir hören und bin weiterhin dankbar für nützliche gedanken :o)

gruß sebastian
nach oben
Sortierung ndern:  
Anfang   zurück   weiter   Ende
Seite 1 von 1
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj