Neueste Beiträge

#11
Modulentwicklung / Aw: Neuer Baustein zum Parsen ...
Letzter Beitrag von jensen17 - 20. November 2024, 18:53:52
Hallo, nutze schon lange Oscat Bausteine, danke dafür erstmal. Ich bräuchte Unterstützung um den obigen Code des Json Parsers in PCWORX umzuschreiben. Gerade bei der Pointer-Geschichte komme ich nicht weiter.
Möchte eine Panasonic Wärmepumpe über Heishamon mit Http auslesen und bekomme ein Json zurück.
Danke
#12
Bestehende Module / Existing Modules / Aw: Streckenabhängige Baustein...
Letzter Beitrag von hugo - 08. November 2024, 10:37:05
Ich schlage vor wir bauen einen Baustein wie folgt:

Eingänge:
Start: Eingang Bool, wenn aktiviert, startet mit einem Strich, indem intern ein Offset auf den Wert von Run gesetzt wird. Wir starten also immer mit dem Strich!
on: Strichlänge in Meter
off: Lücke in Meter
run: die Lauflänge in Meter
out: True, wenn der Strich aufgetragen wird.

Code:
if start and not active then // steigende Flanke am start erkannt
   offset := run; // offset wird auf run gesetzt, damit wir bei 0 beginnen
endif

active := start; // active merkt sich den Zusatnd für die Flankenerkennung

if (active and ((off + on) >= 0)) then // wir müssen division durch 0 verhindern
   out := ((run - offset) mod (off + on) <= on; // die eigentliche Funktion die den Ausgang steuert
else out := false;
endif



#13
Ankündigungen / Announcements / Aw: Update of Forum Software
Letzter Beitrag von tobias - 08. November 2024, 10:00:01
Das Forum wurde auf SMF 2.1.4 geupdated.
the forum software has been updated to 2.1.4.
#14
du hast selbstverständlich recht.

ein IF, um dann einen Bool zu setzen ist immer nutzlos:

um bei meiner Implementierung zu bleiben wäre es so:
dein Code ist im Prinzip fast das gleiche.

Ob man mit Strich oder Lücke anfängt ist eine Frage ja.
eine andere wird dann: wenn der Baustein nur ein IEC 61499 Event für jeden Strich Anfang liefern soll. das muss ich noch austüfteln.


ALGORITHM REQ

DIST_REMAINDER := (DIST_IN + DIST_OFF) MOD (DIST_HIGH + DIST_LOW);

Q := (DIST_REMAINDER >= DIST_HIGH);

END_ALGORITHM
#15
Bestehende Module / Existing Modules / Re: Streckenabhängige Baustein...
Letzter Beitrag von hugo - 06. November 2024, 14:42:24
franz, ich denke das if kannst du dir sparen

OUT := (Run mod (Off + On)) >= Off; dieser Baustein beginnt mit einer Lücke.
OUT := (Run mod (Off + On)) <= On; und der beginnt mit einem Strich.

für einen Kombibaustein würde ich Folgendes vorschlagen:

X: interne variable
Offset: Interne Variable // dient zum Kalibrieren um bei beliebigem Run anfangen zu können
Cal: Boolscher Eingang // setzt Offset auf Run wenn True
Start: Eingang Bool // wenn True starten mit Lücke, wenn 0 starten mit Strich
On, Off: Eingänge
Out: Booscher Ausgang

If Cal Offset := Run;
if (Off+On) > 0 then X := ((Run-Offset) mod (Off + On)); wir dürfen nicht durch 0 teilen!
If Start then OUT := X <= On; else OUT := X >= Off;

Mit dem Eingang Cal kann man zu Beginn die Logik Kalibrieren, damit man mit beliebigem Run starten kann.
#16


https://github.com/eclipse-4diac/4diac-ide/pull/644

https://github.com/eclipse-4diac/4diac-ide/blob/be33b38cf418a42cac9cf5fa24a215ba33243133/data/typelibrary/signalprocessing-1.0.0/typelib/distance/RangeBasedPulse%20.fbt#L40

ja, so hab ich es auch gemacht:


ALGORITHM REQ

DIST_REMAINDER := (DIST_IN + DIST_OFF) MOD (DIST_HIGH + DIST_LOW);

IF (DIST_REMAINDER >= DIST_HIGH) THEN
   Q := TRUE;
ELSE
   Q := FALSE;
END_IF;

END_ALGORITHM
#17
Bestehende Module / Existing Modules / Re: Streckenabhängige Baustein...
Letzter Beitrag von hugo - 26. Oktober 2024, 11:55:49
wenn ich das richtig verstehe benötigen wir folgendes:

Anschlüsse
Off: ist der Abstand der Linien
On: ist die markierte Länge der Linie
Run: ist die gefahrene Strecke
Out: wird True, wenn bemalt wird.

Damit hätte der Baustein lediglich folgende Funktion:

OUT := (Run mod (Off + On)) >= Off;

#18
Bestehende Module / Existing Modules / Re: Streckenabhängige Baustein...
Letzter Beitrag von hugo - 22. Oktober 2024, 11:10:32
Ich verstehe die Anforderung leider nicht ganz,
welche Eingänge / Ausgänge sollte der Baustein haben und welche mathematische Funktion?
#19
Bestehende Module / Existing Modules / Re: Streckenabhängige Baustein...
Letzter Beitrag von peewit - 21. Oktober 2024, 19:00:05
hallo

schau dir doch mal folgende bausteine an.

PWM_PW
PWM_DC
GEN_PULSE
#20
Bestehende Module / Existing Modules / Streckenabhängige Bausteine
Letzter Beitrag von franzhoepfinger - 18. Oktober 2024, 12:47:58
Hallo,

wir haben in OSCAT ja jede Menge Zeitabhängige Bausteine,
aber Streckenabhängige nicht oder ?

oder bin ich blind ?

Beispiel: ich will den Mittelstrich auf der Straße malen.

und zwar (nahezu) unabhängig von der Speed.

dann brauche ich ein Rechtecksignal mit einem Abstand von

https://de.m.wikipedia.org/wiki/Datei:L%C3%A4nge_und_Abstand_der_Fahrbahnmarkierung_auf_Autobahnen.png

12m Abstand und Länge 6m (also Lücke 6m)

Grüße,
Franz