Forum: FPGA, VHDL & Co. Fehler in ADEL Code


von R. R. (supersonic)


Lesenswert?

Hallo zusammen!

Ich habe die Ehre erhalten, in einem ca. 15 Jahre alten CPLD Projekt 
"nur" einen Wert ändern zu müssen. Natürlich ist der ehemalige 
Entwickler schon lange aus der Firma ausgeschieden und nicht mehr 
greifbar.

Beim Versuch, ob es überhaupt noch möglich ist, das alte CPLD Projekt zu 
übersetzen, bekomme ich vom Synthezier gleich zwei Fehlermeldungen, mit 
denen ich als VHDL Entwickler nicht viel anfangen kann. Vielleicht gibt 
es ja hier Jemanden, der mal mit ADEL gearbeitet hat.

Als Entwicklungsumgebung steht mir Xilinx Foundation 3.1i zur Verfügung.

1. Fehlermeldung
1
TS1..TS6    node istype `keep,buffer,reg_d`;  "Softstarttimerbits
2
3
SCHALTER  STATE_REGISTER;
4
5
Softstart = [TS6..TS1];
6
7
BETRIEB    STATE IN SCHALTER;
8
9
Softstart.AR = !BETRIEB.Q;
10
" Error   L263/C31 : Warning 1124: 'INVERT' or 'BUFFER' not specified for 'BETRIEB' - assuming 'BUFFER'.

2. Fehlermeldung
1
UVE      pin 116      istype `invert,reg_rs`;
2
ANZ1..ANZ4    pin 126,131,135,58  istype `invert,reg_rs`;  "Anzeigebits
3
ANZ5..ANZ8    pin 140,62,65,36  istype `invert,reg_rs`;  "Anzeigebits
4
5
ANZA    = [ANZ1.S,ANZ1.R];
6
ANZB    = [ANZ2.S,ANZ2.R];
7
ANZC    = [ANZ3.S,ANZ3.R];
8
ANZD    = [ANZ4.S,ANZ4.R];
9
ANZE    = [ANZ5.S,ANZ5.R];
10
ANZF    = [ANZ6.S,ANZ6.R];
11
ANZG    = [ANZ7.S,ANZ7.R];
12
13
Anzeige    = [ANZA,ANZB,ANZC,ANZD,ANZE,ANZF,ANZG];
14
15
Anzeige = [Off,Off,On,On,On,Off,Off] & UVE.Q;
16
" Error   L439/C49 : Syntax Error 1060: Can't map set onto a different sized set.

Besten Dank schon mal, wenn mir jemand helfrn kann.

Mit freundlichen Grüßen
supersonic

von Wastl (hartundweichware)


Lesenswert?

R. R. schrieb:
> Besten Dank schon mal, wenn mir jemand helfrn kann.

Wenn dir jemand helfen soll musst du schon den vollständigen
Code zur Verfügung stellen.

R. R. schrieb:
> der mal mit ADEL gearbeitet hat.

Ich habe mal mit ABEL gearbeitet, ADEL kenn ich nicht.

von R. R. (supersonic)


Angehängte Dateien:

Lesenswert?

Du hast mit ABEL natürlich recht. Ich sollte mich beim Schreiben eines 
Beitrages nicht immer ablenken lassen. ;-)

Ich war der Meinung, alle wesentlichen Zeilen des Codes angegeben zu 
haben, da die anderen Signale davon unabhängig sind (sein sollten). Was 
eventuell fehlt sind die Sektionsangaben. Ich hoffe, dass es diesmal nun 
verständlicher ist. Ansonsten habe ich die komplette ABEL Datei als 
Anhang beigefügt.
1
TS1..TS6    node istype `keep,buffer,reg_d`;  "Softstarttimerbits
2
3
SCHALTER  STATE_REGISTER;
4
5
Softstart = [TS6..TS1];
6
7
BETRIEB    STATE IN SCHALTER;
8
9
equations
10
11
Softstart.AR = !BETRIEB.Q;
12
" Error   L263/C31 : Warning 1124: 'INVERT' or 'BUFFER' not specified for 'BETRIEB' - assuming 'BUFFER'.
1
UVE      pin 116      istype `invert,reg_rs`;
2
ANZ1..ANZ4    pin 126,131,135,58  istype `invert,reg_rs`;  "Anzeigebits
3
ANZ5..ANZ8    pin 140,62,65,36  istype `invert,reg_rs`;  "Anzeigebits
4
5
ANZA    = [ANZ1.S,ANZ1.R];
6
ANZB    = [ANZ2.S,ANZ2.R];
7
ANZC    = [ANZ3.S,ANZ3.R];
8
ANZD    = [ANZ4.S,ANZ4.R];
9
ANZE    = [ANZ5.S,ANZ5.R];
10
ANZF    = [ANZ6.S,ANZ6.R];
11
ANZG    = [ANZ7.S,ANZ7.R];
12
13
Anzeige    = [ANZA,ANZB,ANZC,ANZD,ANZE,ANZF,ANZG];
14
15
equations
16
17
Anzeige = [Off,Off,On,On,On,Off,Off] & UVE.Q;
18
" Error   L439/C49 : Syntax Error 1060: Can't map set onto a different sized set.

supersonic

von Andras H. (kyrk)


Lesenswert?

"" Error   L263/C31 : Warning 1124: 'INVERT' or 'BUFFER' not specified 
for 'BETRIEB' - assuming 'BUFFER'."

Ist das wirklich ein Error? Kann man daraus nicht irgendwie nur eine 
Warnung machen? Sprich im Tooling etwas umstellen damit es auch so ok 
wird?

von Wastl (hartundweichware)


Lesenswert?

Andras H. schrieb:
> Ist das wirklich ein Error?

Nein, ein Warning. Das wird nur von der IDE so gehandhabt dass
es gemeldet werden kann. Sollte man aber beheben so wie in C
Warnings oft ernst zu nehmen sind.

R. R. schrieb:
> fbs88_21.abl

Ich bekomme beim Compilieren die gleichen Meldungen. Es wäre
hilfreich auch den Zielbaustein zu kennen. Ferner gibt es
vielleicht noch eim Constraints File?

Offensichtlich ist das nicht das Original das sich mal fehlerfrei
synthetisieren liess. Aktuell verstehe ich nicht was der Autor
mit der Zeile

Anzeige = [Off,Off,On,On,On,Off,Off] & UVE.Q;

bezwecken will.

von Andras H. (kyrk)


Lesenswert?

Wastl schrieb:
> Offensichtlich ist das nicht das Original das sich mal fehlerfrei
> synthetisieren liess. Aktuell verstehe ich nicht was der Autor
> mit der Zeile

Scheint mir auch so. Versuche die Original Files zu finden. Wenn die es 
noch zu finden gibt. Sonst hast du das Problem, dass wenn es sich 
synthetisieren lässt dass es eventuell doch noch alte Bug beinhaltet.



Anzeige = [Off,Off,On,On,On,Off,Off] & UVE.Q;
Ich kenne mich zwar mit ABEL nicht aus, aber so wie ich das sehe, ist 
das links eine Array, und rechts nur 1 bit. Wie soll dass denn gehen? 
Jede element mit UVE.Q verodern? Das würde vermutlich gehen. vielleicht 
braucht der tool dann das in eine andere Form?
Anzeige = [Off,Off,On,On,On,Off,Off] & 
[UVE.Q,UVE.Q,UVE.Q,UVE.Q,UVE.Q,UVE.Q,UVE.Q];
Es konnte auch sein dass du mit einer anderer Toolversion das versuchen 
sollt. Vielleicht hat man die Sprache über die Jahre geändert.

von DSGV-Violator (Gast)


Lesenswert?

Dann convertier das Ganze doch nach VHDL wenn du ABEL nicht korrekt 
buchstabieren kannst.

https://support.xilinx.com/s/article/17000?language=en_US
xport.exe findet man bei der ISE bspw.: ISE\14.7\ISE_DS\ISE\bin\nt\

wenn du keine ISE installiert hast, hilft dir vielleicht einer aus dem 
Forum bei der Konvertierung.

von Wastl (hartundweichware)


Lesenswert?

DSGV-Violator schrieb:
> wenn du keine ISE installiert hast, hilft dir vielleicht einer aus dem
> Forum bei der Konvertierung.

Du meinst also die aktuellen Syntax Fehler werden in ein
entsprechendes VHDL-Konstukt umgewandelt?
Oder sogar ausgebügelt?

von DSGV-Violator (Gast)


Lesenswert?

Wastl schrieb:

> Du meinst also die aktuellen Syntax Fehler werden in ein
> entsprechendes VHDL-Konstukt umgewandelt?
> Oder sogar ausgebügelt?

??? zu deppern das TO-Posts zu lesen???
"...mit denen ich als VHDL Entwickler..."

Und den Unterschied zwischen einem Syntax- und einem Synthese-fehler 
kennt man auch nicht? Wer hat denn Dich hier reingelassen?!

von Markus F. (mfro)


Lesenswert?

R. R. schrieb:
1
Anzeige = [Off,Off,On,On,On,Off,Off] & UVE.Q;  "Unterspannung Eingang (u)
2
Anzeige = [Off,Off,On,On,On,Off,On] & !UVE.Q & OVE.Q;"Überspannung Eingang (o)
3
Anzeige = [Off,Off,Off,On,On,On,On] & !UVE.Q & !OVE.Q & OT2.Q; "Übertemperatur (t)
4
Anzeige = [Off,On,On,On,On,On,Off] & !UVE.Q & !OVE.Q & !OT2.Q & UVO.Q; "Unterspannung Ausgang (U)
5
Anzeige = [On,On,On,On,On,On,Off] & !UVE.Q & !OVE.Q & !OT2.Q & !UVO.Q;  "NULL (0)
6
IF  !FLT & !UVE.Q & !OVE.Q & !OVOv.Q & !OCE.Q & !OT2.Q & START & (KANAL == 3)  THEN HOCHL ELSE RUHE;

Ich kann kein ABEL, aber das ist doch offensichtlich die Ansteuerung 
einer 7-Segment-Anzeige mit den einzelnen Segmenten a-f in den eckigen 
Klammern? Entsprechend des Zustands der Bits UVE.Q, OVE.Q, OT2.Q und 
UVO.Q wird "u", "o", "t", "U", "0" oder eben nichts angezeigt.

von R. R. (supersonic)


Lesenswert?

Andras H. schrieb:
> Wastl schrieb:
>> Offensichtlich ist das nicht das Original das sich mal fehlerfrei
>> synthetisieren liess. Aktuell verstehe ich nicht was der Autor
>> mit der Zeile
>
> Scheint mir auch so. Versuche die Original Files zu finden. Wenn die es
> noch zu finden gibt. Sonst hast du das Problem, dass wenn es sich
> synthetisieren lässt dass es eventuell doch noch alte Bug beinhaltet.

Alle mir vorliegenden Dateien sind die Originaldateien

> Es konnte auch sein dass du mit einer anderer Toolversion das versuchen
> sollt. Vielleicht hat man die Sprache über die Jahre geändert.
Das kann sein, denn der Originalentwicklungsrechner ist (natürlich) 
nicht mehr vorhanden. Ich habe dieses  Projekt erhalten, weil ich noch 
eine alte Xilinx Foundation 3.1i für ein altes FPGA Projekt, mit VHDL 
Code, zur Verfügung habe.

Nur mit ABEL kenne ich mich auch nicht aus.

von R. R. (supersonic)


Lesenswert?

DSGV-Violator schrieb:
> Dann convertier das Ganze doch nach VHDL wenn du ABEL nicht korrekt
> buchstabieren kannst.
Konvertieren ist absolut verboten!

Jede grundlegende(!) Änderung würde einen riesigen Zulassungsprozess 
anstoßen. Eine Parameteränderung darf gerade noch so gemacht werden.

von R. R. (supersonic)


Lesenswert?

Wastl schrieb:
> Du meinst also die aktuellen Syntax Fehler werden in ein
> entsprechendes VHDL-Konstukt umgewandelt?
> Oder sogar ausgebügelt?
Nein! Es ist und MUSS ABEL Code bleiben.

von R. R. (supersonic)


Lesenswert?

Markus F. schrieb:
> Ich kann kein ABEL, aber das ist doch offensichtlich die Ansteuerung
> einer 7-Segment-Anzeige mit den einzelnen Segmenten a-f in den eckigen
> Klammern? Entsprechend des Zustands der Bits UVE.Q, OVE.Q, OT2.Q und
> UVO.Q wird "u", "o", "t", "U", "0" oder eben nichts angezeigt.

Richtige Annahme.
Ist offensichtlich ein Arry von Bits, das dann auf die entsprechenden 
Ausgangspins gelegt wird. Und der Inhalt des Bitarrays soll der 
Ausgabewert sein.

So viel zur Theorie. Jetzt fehlt mir nur die Lösung der beiden Fehler. 
;-)

von DSGV-Violator (Gast)


Lesenswert?

> Alle mir vorliegenden Dateien sind die Originaldateien

Wahrscheinlich ist der Satz der dir vorliegt, respektive den du hier 
präsentierst, unvollständig. Wie oben bereits geschrieben, fehlt wohl 
das constraint file und oft wird so ne CPLD über ein script gesteuert, 
die mglw. die command line options so setzt, sodas der vorgebliche 
Fehler nicht auftaucht. bei modernen tools wäre so ein compileschalter 
beps. der für die verscghiedenen VHDL-Standards. Projektdatei wäre auch 
noch so ein fehlender Kanditat.

>> Es konnte auch sein dass du mit einer anderer Toolversion das versuchen
>> sollt. Vielleicht hat man die Sprache über die Jahre geändert.
> Das kann sein, denn der Originalentwicklungsrechner ist (natürlich)
> nicht mehr vorhanden.

Dann wirste wohl alles aus der Hardwarespec entnehmen müssen statt die 
verschollenen Sourcen zu reverse enginerren. Also schnapp dir ne 
Hardware, schreib den IC-Code ab und poste den hier, grobe 
schaltungsbeschreibung wäre auch nicht schlecht. Und mit diesen 
Erkenntnissen sollte man eine komplette ISE toolchain für den CPLD auf 
VHDL aufsetzen.

>> Dann convertier das Ganze doch nach VHDL wenn du ABEL nicht korrekt
>> buchstabieren kannst.
>Konvertieren ist absolut verboten!

>Jede grundlegende(!) Änderung würde einen riesigen Zulassungsprozess
>anstoßen. Eine Parameteränderung darf gerade noch so gemacht werden.

Dann konvertier es trotzdem, aber verwende den VHDL-Code nicht für die 
Entwicklung sondern nur damit du verstehst/simulierst was der ABEL-Code 
machen könnte.
Und wenn tatsächliche Änderung verboten ist, dann musste halt ne 
Änderung drumherum bauen, bspw mit nem 74* gatter.

Und dann wäre noch der Äquivalenzcheck als Möglichkeit. Überleg dir ein 
testsetting, wo die geänderte Variante parallel zu unveränderten alten 
läuft und teste automatisiert auf Verhaltensunterschiede. So kann man 
auch eine komplette Neu-zertifizierung umgehen.
Aber ich glaube immer mehr, das du als VHDL-Programmierer nicht der 
richtige Mann dafür bist. Ein Hardware-entwickler old school scheint mir 
da geeigneter, schau mal nach Freiberufler/Ingenieurbüro o.ä..

von Markus F. (mfro)


Lesenswert?

R. R. schrieb:
> Markus F. schrieb:
>> Ich kann kein ABEL, aber das ist doch offensichtlich die Ansteuerung
>> einer 7-Segment-Anzeige mit den einzelnen Segmenten a-f in den eckigen
>> Klammern? Entsprechend des Zustands der Bits UVE.Q, OVE.Q, OT2.Q und
>> UVO.Q wird "u", "o", "t", "U", "0" oder eben nichts angezeigt.
>
> Richtige Annahme.
> Ist offensichtlich ein Arry von Bits, das dann auf die entsprechenden
> Ausgangspins gelegt wird. Und der Inhalt des Bitarrays soll der
> Ausgabewert sein.
>
> So viel zur Theorie. Jetzt fehlt mir nur die Lösung der beiden Fehler.
> ;-)

Dann ist IMHO die Vorgehensweise, die Syntaxfehler fixen zu wollen, 
wahrscheinlich die falsche. Nachdem wir sehen, dass der Code 
einigermassen sinnvoll erscheint, ist es unwahrscheinlich, dass die auf 
irgendwelche Änderungen im Quellcode zurückzuführen sind. Also hast Du 
wahrscheinlich das falsche ABEL-Tool.
Selbst wenn Du so umschreibst, dass deine Version die Logik frisst, 
weisst Du nicht, ob die nicht auch noch woanders Dinge anders macht als 
die richtige - dann könntest Du auch gleich neu schreiben.
M.E. musst Du, statt zu versuchen den Code zu ändern, erst nach einem 
ABEL-Tool suchen, das das Original frisst.

: Bearbeitet durch User
von DSGV-Violator (Gast)


Angehängte Dateien:

Lesenswert?

Anbei der design/file-flow für ABVEL unter Xilinx. Schau, das du an 
alle Original-files bekommst, interessant sind auch report-files von 
damals.
Wenn du nicht ABEL ändern willst, geht es mit den richtigen tools u.U. 
auch an einem generierten file.

Hat man bspw für FPGA's schon per fpga-editor direct man geroutetetn 
*ncd-file gemacht (Lookup-table auf negiert geändert). bei 
(dokumentierten) PLD's gehts u.U auch per Hexeditor.

> "nur" einen Wert ändern zu müssen

Was für eine Änderung konkret? Inverter einbauen? Eingang fest auf 
irgendwas klemmen? ...

PS: den src-Ersteller D.B. kann man lt. xing in berlin finden ...

von Christoph Z. (christophz)


Lesenswert?

R. R. schrieb:
> Das kann sein, denn der Originalentwicklungsrechner ist (natürlich)
> nicht mehr vorhanden. Ich habe dieses  Projekt erhalten, weil ich noch
> eine alte Xilinx Foundation 3.1i für ein altes FPGA Projekt, mit VHDL
> Code, zur Verfügung habe.

Hast du schon in den Zulassungsunterlagen nachgesehen ob dort steht 
welches Tool und Version eingesetzt wurde? In unseren Entwicklungsplänen 
für den Kunden müssen wir auch Tools und deren Versionen angeben.

Da es damals versäumt wurde, sicher zu stellen, dass die 
Entwicklungsumgebung auch archiviert werden kann, bzw. mindestens 
Dokumentiert ist wäre es jetzt eine Gelegenheit, die Tools in einer 
Virtuellen Maschine (VM) zu installieren. 1. Bessere chancen das es 
läuft, da du auch ein passend altes Betriessystem z. B. Windows 2000 
nutzen kannst, 2. kannst du dann die VM abglegen und archivieren.

von R. R. (supersonic)


Lesenswert?

DSGV-Violator schrieb:
> Hat man bspw für FPGA's schon per fpga-editor direct man geroutetetn
> *ncd-file gemacht (Lookup-table auf negiert geändert). bei
> (dokumentierten) PLD's gehts u.U auch per Hexeditor.
Wäre eine Idee!

> Was für eine Änderung konkret? Inverter einbauen? Eingang fest auf
> irgendwas klemmen? ...
Den fixen Vergleichswert für einen Digitalwert anpassen.

> PS: den src-Ersteller D.B. kann man lt. xing in berlin finden ...
Dann werde ich mal den Projektleiter darauf ansetzen. Der darf auch was 
für sein Geld machen. ;-)

von R. R. (supersonic)


Lesenswert?

Christoph Z. schrieb:
> Hast du schon in den Zulassungsunterlagen nachgesehen ob dort steht
> welches Tool und Version eingesetzt wurde? In unseren Entwicklungsplänen
> für den Kunden müssen wir auch Tools und deren Versionen angeben.
Alles, was noch vorhanden ist, habe ich (angeblich) bekommen. Das war 
damals noch eine andere Firma, die dann mit unserer fusioniert wurde. 
Die hatten anscheinend, entweder andere Ansprüche bzgl. Dokumentation, 
als wir oder bei der Fusionierung ging einiges verloren. Nicht nur 
Personal.

> Da es damals versäumt wurde, sicher zu stellen, dass die
> Entwicklungsumgebung auch archiviert werden kann, bzw. mindestens
> Dokumentiert ist wäre es jetzt eine Gelegenheit, die Tools in einer
> Virtuellen Maschine (VM) zu installieren. 1. Bessere chancen das es
> läuft, da du auch ein passend altes Betriessystem z. B. Windows 2000
> nutzen kannst, 2. kannst du dann die VM abglegen und archivieren.
Das ist bereits meine Entwicklungsumgebung, da ich das ja auch für das, 
weniger, alte FPGA Projekt aus unserem (alten) Hause verwende.

von DSGV-Violator (Gast)


Lesenswert?

R. R. schrieb:
> . bei
>> (dokumentierten) PLD's gehts u.U auch per Hexeditor.
> Wäre eine Idee!

Was ist es den für ein PLD? Ich tippe auf XC95-Familie. Das könnte 
übrigens ein Grund für die messages sein, falschen typ angegeben beim 
Tool-aufruf. Im Abel steht der typ jedenfalls nicht, man könnte aber 
anhand der Pin-Anzahl raten (XC95216 im HQFP mit 208 Pins vielleicht?). 
Dann bleibt aber auch die Frage ob *XL, *XV oder nur XC9500.

>> Was für eine Änderung konkret? Inverter einbauen? Eingang fest auf
>> irgendwas klemmen? ...
> Den fixen Vergleichswert für einen Digitalwert anpassen.
Das ist schon etwas Anspruchsvoller, da muss man wohl mehrere Zellen 
"drehen". An die Möglichkeit, statt dem vergleichswert den eingehenden 
Wert vor dem PLD anzupassen habt ihr sicher schon gedacht?! Wenns über 
einem ADU vom Sensor kommt könnte man auch daran denken den Sensorwert 
an die alte vergleichsschwelle anzupassen (Verstärkung/spannungsteiler 
zwischen Sensor und ADU.

>
>> PS: den src-Ersteller D.B. kann man lt. xing in berlin finden ...
> Dann werde ich mal den Projektleiter darauf ansetzen. Der darf auch was
> für sein Geld machen. ;-)

Wenns eine Leiterin ist, wird wohl billiger, man weiß ja Berlin ist arm 
aber sexy ;-)

von R. R. (supersonic)


Lesenswert?

DSGV-Violator schrieb:
> Was ist es den für ein PLD? Ich tippe auf XC95-Familie. Das könnte
> übrigens ein Grund für die messages sein, falschen typ angegeben beim
> Tool-aufruf. Im Abel steht der typ jedenfalls nicht, man könnte aber
> anhand der Pin-Anzahl raten (XC95216 im HQFP mit 208 Pins vielleicht?).
> Dann bleibt aber auch die Frage ob *XL, *XV oder nur XC9500.
Gut getippt! Laut Schaltplan "nur XC9500".

>> Den fixen Vergleichswert für einen Digitalwert anpassen.
> Das ist schon etwas Anspruchsvoller, da muss man wohl mehrere Zellen
> "drehen". An die Möglichkeit, statt dem vergleichswert den eingehenden
> Wert vor dem PLD anzupassen habt ihr sicher schon gedacht?! Wenns über
> einem ADU vom Sensor kommt könnte man auch daran denken den Sensorwert
> an die alte vergleichsschwelle anzupassen (Verstärkung/spannungsteiler
> zwischen Sensor und ADU.
Da müssten komplett neue Platinen erstellt werden. Viel zu teuer, zu 
aufwändig und würde wieder einen kompletten Zulassungsprozess in Gang 
setzen.
Umprogrammierung des CPLD ist der einzig zulässige Weg.

Allerdings habe ich zumindest für den 2. Fehler eine Lösung gefunden. 
Inklusive einer qualitativen Verbesserung des ABEL Codes, ohne 
gleichzeitig an der Funktionalität zu drehen.

von R. R. (supersonic)


Lesenswert?

So, Fehler 2 gelöst und gleich noch Redundanzen entfernt.

Statt
1
Anzeige    = [ANZA,ANZB,ANZC,ANZD,ANZE,ANZF,ANZG];
2
3
Anzeige = [On,On,On,On,On,On,Off] & !UVE.Q & !OVE.Q & !OT2.Q & !UVO.Q;  "NULL (0)

Sieht es jetzt so aus
1
Anzeige    = [ANZA,ANZB,ANZC,ANZD,ANZE,ANZF,ANZG];
2
AnzMsk0   = [On,On,On,On,On,On,Off];  "Bitarray: (0)
3
4
Anzeige = AnzMsk0 & !UVE.Q & !OVE.Q & !OT2.Q & !UVO.Q;    "NULL (0)
Damit sind diese Syntaxfehler schon mal entfernt.
Die Logikoperationen sind die Bedingungen, bei denen dieser Anzeigewert 
aktiv wird, wenn das logische Ergebnis '1' ist.

Redundanzen entfernt heißt, dass diese Art der Zuweisung für die 7 
Segmentanzeige mehrfach im Sourcecode vorkommt und einige Bitmuster (= 
Anzeigewerte) öfters verwendet werden. Müsste man einen Anzeigewert 
verändern, so erfolgt das jetzt einmal, an der Stelle der Definition, 
und nicht mehrfach, verteilt im Code.

Bleibt noch Fehler 1.

von Wastl (hartundweichware)


Lesenswert?

R. R. schrieb:
> Bleibt noch Fehler 1.

Den bekomme ich weg indem ich den .Q Ausgang nicht angebe,
also einfach

Softstart.AR = !BETRIEB;

so wie die anderen verwendeten "BETRIEB" auch vorkommen.

von R. R. (supersonic)


Lesenswert?

Wastl schrieb:
> R. R. schrieb:
>> Bleibt noch Fehler 1.
>
> Den bekomme ich weg indem ich den .Q Ausgang nicht angebe,
> also einfach
>
> Softstart.AR = !BETRIEB;
>
> so wie die anderen verwendeten "BETRIEB" auch vorkommen.

Das war es!

Danke sehr und ein schönes Wochenende.

supersonic

von T.U.Darmstadt (Gast)


Lesenswert?

R. R. schrieb:
> Ich habe die Ehre erhalten, in einem ca. 15 Jahre alten ...
> ADEL - Code
Tja, "Adel" verpflichtet :-)

Wastl schrieb:
> Ich habe mal mit ABEL gearbeitet, ADEL kenn ich nicht.
Hätte ich auch geraten. Aber gfs. meint er "Adele"?
https://de.wikipedia.org/wiki/Adele_(Algorithmenbeschreibungssprache)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.