Botschaft Dauerhaft Senden Capl

Gast #4656959
Hallo Zusammen,

ich wollte die Signale einer Botschaft auf die Init-Werte zurücksetzen.
Das geht Normalerweise mit dem Befehl setSignalStartValues(message msg).
Das Problem ist, die Botschaft msg wird mit dem Befehl Output(msg) nur 
einmal gesendet und dadurch werden Signal nicht richtig zurückgesetzt.

Die Frage ist: wie kann ich eine Botschaft dauerhaft auf dem Bus senden? 
gibt es einen anderen Befehl außer "Output", wodurch die Botschaft 
permanent aufm Bus bleibt?

Danke und Gruß
Gast #4656988
Guest schrieb:
> Welches Gerät? Welcher Bus? Wovon redest Du?
>
> Sonst schick mal '42' auf den Bus und wart ab was passiert.

Gerät: Steuergerät "X"
Bus: CAN

Wie wovon rede ich :-). Ich möchte nur wissen von den Leute die von capl 
Ahnung haben, mit welchem Capl-Befehl eine Botschaft dauerhaft auf dem 
CAN-Bus gesendet werden kann.
Gast #4656993
Thomas E. schrieb:
> Guest schrieb:
>> Welches Gerät? Welcher Bus? Wovon redest Du?
>
> CAPL - Du musst auch die Überschrift lesen!
> (CAPL kenne ich zwar auch nicht, aber Google hätte Deine Frage in 2
> Sekunden beantwortet!)

Hast du echt die Lösung gefunden? wenn du Output meinst dann ist es 
falsch! Ansonsten bitte sag es :-)
#4657137
Stefan schrieb:
> Die Frage ist: wie kann ich eine Botschaft dauerhaft auf dem Bus senden?
> gibt es einen anderen Befehl außer "Output", wodurch die Botschaft
> permanent aufm Bus bleibt?

Die Frage ergibt keinen Sinn. Ein Bus ist ein Transportmedium für Daten, 
z.B. in Form von Botschaften. Eine solche Botschaft belegt den Bus, 
während sie übertragen wird. Aber sie verbleibt nicht auf dem Bus, was 
auch genau so gewünscht ist. Sonst wäre der Bus ja nicht mehr für 
weitere Kommunikation nutzbar.

Man kann natürlich die gleiche Botschaft immer und immer wieder senden. 
Das ergibt zwar i.d.R. keinen Sinn und hat den unangenehmen Nebeneffekt, 
den Bus zu verstopfen. Aber wenn man das unbedingt will ...

Und wie man eine Botschaft sendet, weißt du ja anscheinend. Was soll die 
Frage dann? Brauchst du Hilfe dabei, eine Endlosschleife zu schreiben?
Gast #4657159
Axel S. schrieb:
> Das ergibt zwar i.d.R. keinen Sinn und hat den unangenehmen Nebeneffekt,
> den Bus zu verstopfen.

Das ist bei Automatisierungs-und Fahrzeugbussen wie CAN absolut üblich 
und sinnvoll, denn der Zustand der Anlage ändert sich ja ständig und 
muss daher immer wieder aufs neue übertragen werden.

Die richtige Antwort wurde schon gegeben, also keine weitere Diskussion 
nötig:

Peter schrieb:
> Lege dir einen Timer an
Gast #4657207
Axel S. schrieb:

> Man kann natürlich die gleiche Botschaft immer und immer wieder senden.
> Das ergibt zwar i.d.R. keinen Sinn und hat den unangenehmen Nebeneffekt,
> den Bus zu verstopfen. Aber wenn man das unbedingt will ...

Der Fachbegriff dafür ist "zyklisch", engl. "cyclic.".

Wie bereits oben geschrieben macht man das beim CAN indirekt über einen 
Timer und beim LIN direkt über die Scheduling-Tabelle.
#4657319
Dr. Sommer schrieb:
> Axel S. schrieb:
>> Das ergibt zwar i.d.R. keinen Sinn und hat den unangenehmen Nebeneffekt,
>> den Bus zu verstopfen.
>
> Das ist bei Automatisierungs-und Fahrzeugbussen wie CAN absolut üblich
> und sinnvoll, denn der Zustand der Anlage ändert sich ja ständig und
> muss daher immer wieder aufs neue übertragen werden.

Klar. Ein neuer Zustand muß übertragen werden.
Aber doch nicht immer der gleiche.
Gast #4660917
Axel S. schrieb:
> Klar. Ein neuer Zustand muß übertragen werden.
> Aber doch nicht immer der gleiche.

Je nach Anwendung, durchaus auch das - z.B. "der Controller lebt noch 
und der Akku ist noch nicht in Übertemperatur und der Motor darf weiter 
laufen". Kommt die Nachricht nicht mehr an, ist der Controller 
abgestürzt und man sollte die Anlage abschalten weil so die Akku 
Temperatur Überwachung nicht mehr funktioniert!
Gast #4663874
Du kannst Botschaften über den sogenannten Interactionlayer zyklisch 
senden lassen.
Dazu benötigst du aber eine dbc-File in der die entsprechenden Attribute 
definiert sind.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.