Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Themen - mg

Seiten: [1] 2
1
oscat.lib fuer CoDeSys 3 / IP_CONFIG bei mehreren UDP Geräten
« am: 02. Juli 2019, 07:00:46 »
Hallo Peewit

Ich scheibe dich mal persönlich an (Aber vielleicht weiß da auch jemand anderes Bescheid).
Es geht um eine Anlage mit CODESYS 3. Dort verwende ich zum Auslesen eines Gerätes IP_CONFIG.
Ich weiß, daß es nicht für CODESYS 3 getestet ist, aber ich bin der Meinung, daß dieser Teil sehr gut funktioniert und ich glaube mein Problem ist ein Grundsatzproblem, das auch CODESYS 2 betrifft.

Ich habe bisher das Ganze mit einem RPI und einem sogenannten "uLux" (ist ein parametrierbares Bediengerät im Steckdosenformat). Wenn ich 1 Gerät verwende funktioniert das super (hier gab es schon Mal einen Betrag http://www.oscat.de/community/index.php/topic,2543.msg13201.html#msg13201)

Wenn ich nun 2 uLux an das RPI hänge, gehen meine bisherigen Verbindungen nicht mehr da:

a) Jedes uLux hat eine eigene IP-Adresse
b) Jedes uLux hat den selben Port und kann nur UDP. (Ich kann den Port nicht ändern und die Verbindungsart nicht ändern)

Aus b) ergibt sich, daß ich am RPI nur einen geöffneten Port für beide Gerät habe

Wenn ich nun mit IP_CONFIG verbinde muß ich eine IP-Adresse verwenden.

Frage 1:
Im einfacheren Fall bekomme ich nur Daten -> welche IP-Adresse muß ich beim IP_CONFIG einstellen.
Frage 2:
Wie mache ich das wenn ich nun den beiden uLux, Daten schicken muß. Ich kann ja nicht nur auf eine IP-Adresse die Daten schicken und im IP-CONFIG kann ich nur eine einzigste vorgeben.

Ich habe es auch schon mit 2x IP-CONFIG probiert, das läßt das System nicht zu, da ein Socket nur 1x geöffnet werden darf.

WO DENKE ICH HIER IM KREIS? WAS MACHE ICH FALSCH?

Mg

PS: Fehler am IP_CONFIG 16#02000000. (wenn ich den IP_CONFIG doppelt anlege)


2
Hallo Leute

Ich habe da mal eine Frage/Idee:
Wenn ich die Uhrzeit syschronisiere, wie verhalten sich die Oscat Libs.
zB: Wenn ich einen FT-PID verwende und nun erfolgt eine Uhrzeitsynchronisation und nehmen wie mal an, die Uhrzeit stimmt um einen deutlichen Betrag nicht mehr:
Wie beeinflusst das den PID bezüglich des D und des I Anteils

Ich glaube das Problem könnte viele Bausteine betreffen.

Mg

3
SPS-Programmierung / SMI - Bus
« am: 14. Dezember 2017, 06:59:14 »
SMI wird hauptsächlich für die Rollladensteuerung verwendet.

https://de.wikipedia.org/wiki/Standard_Motor_Interface

Leider gibt es da so einen "Verein" die alle Protokollbeschreibungen möglichst unter Verschluss halten.
Es gibt auch einen Beitrag https://www.mikrocontroller.net/topic/273846 im microcontoller.net

Hat jemand von Euch einen Zugriff auf das aktuelle Protokoll.

Danke

Mg

4
oscat.lib fuer CoDeSys 3 / SysSockClose Raspberry PI
« am: 01. Juni 2016, 10:22:02 »
Hallo,

Ich verwende derzeti Oscat Network 130 mit Codesys auf einem Raspberry pi. Ich versuche mit dem Baustein IP_Control einen UDP server zu erstellen (Mode 3).
Nach einem Komplettdownload funktioniert es nicht mehr. mit "netstat -a" seh ich, dass der Ports bereit geöffnet ist. Ich vermute, dass der Baustein IP_Control versucht einen bereits geöffneten Port mit "SysSockOpen" zu öffnen. "SysSockOpen" liefert noch einen korrekten Wert zurück. Erst bei SysSockBind kommt der Fehler 519 -> Provided address already in use.

Danach Rutscht Ip_Controler in C_Close und versucht besagten Port zu schließen. Aber anscheinend haut auch das nicht hin.


Ich bin mir nicht Sicher ob es sich um einen Codesys/Oscat oder Anwenderproblem handelt. Leider wird der Port auch nicht geschlossen wenn ich über längere Zeit das "c_enable" auf false setze. Erst beim Reboot oder beim kill des Codesys Tasks wird der Port geschlossen..

Weiß jemand weiter ?

Danke
mg

5
Codesys 2 / MY_SQL: Codesys2 / 750-8202
« am: 06. Juli 2015, 08:29:04 »
Hallo Leute

Habe MY_SQL mit dem 750-8202 Codesys 2 aufprobiert.
Zumindest ab und zu ging es, aber irgendwann kam der Status:
COM.SQL_RCV_STATE = 0 zurück.
Dann hängte der MYSQL_CONTROL im Step 199 fest. Soweit ist das logisch.
Aber was hat das Byte  COM.SQL_RCV_STATE für eine Funktion?

... und noch was:
Für eine korrekte Funktion fehlt folgende Zeile ... siehe Code
(*████████████████████████ DIESE ZEILE FEHLT ████████████████████████*) X.ADD_DATA_REQ:=FALSE;


X.DTI := DTI; (* Datum / Zeit eintragen *)
X.CLOCK_TRIG := DTI <> dti_last;
dti_last := DTI;
trig_auto := FALSE;
IF X.CLOCK_TRIG THEN (* Impuls in jeder Sekunde *)
del_start := DT_TO_UDINT(DTI) - del_dt > AUTO_DELETE AND AUTO_DELETE > UDINT#0;
IF TRIG_T >= T#1000ms THEN (* automatischer Trigger *)
trig_auto := DT_TO_UDINT(DTI) MOD (TIME_TO_UDINT(TRIG_T) / UDINT#1000) = UDINT#0;
END_IF;
END_IF;
X.ADD_COM := 00;

CASE step OF

00: IF ENABLE AND enable_last = FALSE THEN
COM.SQL_URL := URL;
COM.TIMEOUT := TIMEOUT;
COM.DNS_IP4 := DNS_IP4;
COM.SQL_CON := TRUE;

X.UCB.D_MODE := 99; (* Buffer reset - Alles löschen *)
UCB(DATA:=X.UCB);

X.ID_MAX := USINT#00;
X.STORE_TYPE := BYTE#5; (* MySQL-Modus *)
X.ADD_COM := 01; (* ADD INFO *)

step := 05;
END_IF;

05: X.ADD_COM := 02; (* ADD HEADER *)
step := 10;

10: IF SQL_INFO.SQL_CONNECTED THEN
sql_command := BYTE#3; (* CREATE DATABASE IF NOT EXISTS `db_name` *)
snd_text :=  CONCAT('CREATE DATABASE IF NOT EXISTS `' ,DB_NAME);
snd_text :=  CONCAT(snd_text, '`');
next_step := 20;
END_IF;

20: sql_command := BYTE#2; (* 0x02 COM_INIT_DB mysql_select_db *)
snd_text := DB_NAME;
next_step := 30;

30: (* CREATE TABLE IF NOT EXISTS tb_name (Timestamp TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, n1,n2) *)
sql_command := BYTE#0;
idx := 5;
n := USINT#0;
WHILE sql_command = BYTE#0 DO
IF n = USINT#0 THEN
snd_text := CONCAT('CREATE TABLE IF NOT EXISTS `', TB_NAME);
snd_text := CONCAT(snd_text,'` (`ID` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,');
snd_text := CONCAT(snd_text,' store_timestamp TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP');
ELSIF n <= X.ID_MAX THEN
X.UCB.D_MODE := 12; (* Element lesen und löschen *)
UCB(DATA:=X.UCB);
snd_text := CONCAT(', `',X.UCB.D_STRING);
CASE WORD_TO_INT(SHR(X.UCB.D_HEAD,8)) OF
02: snd_text := CONCAT(snd_text, '` FLOAT'); (* REAL *)
06: snd_text := CONCAT(snd_text, '` BOOL'); (* BOOL *)
08: snd_text := CONCAT(snd_text, '` INT'); (* DINT *)
13: snd_text := CONCAT(snd_text, '` DATETIME'); (* DT *)
ELSE
snd_text := CONCAT(snd_text, '` VARCHAR(80)'); (* STRING(80) *)
END_CASE;
ELSE
snd_text := ')';
sql_command := BYTE#3;
snd_size := idx + LEN(snd_text);
next_step := 40;
END_IF;
_STRING_TO_BUFFER(str:=snd_text,pos:=idx,pt:=ADR(COM.S_BUF.BUFFER),size:=SIZEOF(COM.S_BUF.BUFFER)); (* String in puffer kopieren *)
idx := idx + LEN(snd_text);
n := n + USINT#1;

(*####################  DEBUG-MESSAGE  ###################################*)
(*IF _debug_enable THEN
LOG_CL.NEW_MSG := 'dlog_mysql: create >~1<';
LOG_CL.PRINTF[1] := snd_text;
LOG_MSG();
END_IF;*)
(*########################################################################*)
END_WHILE;

40: IF del_start THEN
del_start := FALSE;
sql_command := BYTE#3; (* DELETE FROM `tb_name` WHERE TIMESTAMPDIFF(SECOND, Timestamp, NOW()) > xxx *)
snd_text := CONCAT('DELETE FROM `', TB_NAME);
snd_text := CONCAT(snd_text, '` WHERE TIMESTAMPDIFF(SECOND, store_timestamp, NOW()) > ');
snd_text := CONCAT(snd_text, UDINT_TO_STRING(AUTO_DELETE));
next_step := 40;
del_dt := DT_TO_UDINT(DTI);
(*####################  DEBUG-MESSAGE  ###################################*)
(*IF _debug_enable THEN
LOG_CL.NEW_MSG := 'dlog_mysql: # delete time:~1 >~2<';
LOG_CL.PRINTF[1] := UDINT_TO_STRING(AUTO_DELETE);
LOG_CL.PRINTF[2] := snd_text;
LOG_MSG();
END_IF;*)
(*########################################################################*)

         (* INSERT INTO `tb_name` VALUES (CURRENT_TIMESTAMP,  "n1","n2") *)
ELSIF X.UCB.BUF_COUNT >= USINT_TO_INT(X.ID_MAX) AND step > 0 THEN (* Neue Datenreihe(n) vorhanden *)
idx := 5;
n := USINT#0;
sql_command := BYTE#0;
WHILE sql_command = BYTE#0 DO
IF n = USINT#0 THEN
snd_text := CONCAT('INSERT INTO `', TB_NAME);
snd_text := CONCAT(snd_text,'` VALUES (NULL, CURRENT_TIMESTAMP');
ELSIF n <= X.ID_MAX THEN
X.UCB.D_MODE := 12; (* Element lesen und löschen *)
UCB(DATA:=X.UCB);
snd_text := CONCAT(', "',X.UCB.D_STRING);
snd_text := CONCAT(snd_text, '"');
ELSE
snd_text := ')';
sql_command := BYTE#3;
snd_size := idx + LEN(snd_text);
next_step := 40;
END_IF;
_STRING_TO_BUFFER(str:=snd_text,pos:=idx,pt:=ADR(COM.S_BUF.BUFFER),size:=SIZEOF(COM.S_BUF.BUFFER)); (* String in puffer kopieren *)
idx := idx + LEN(snd_text);
n := n + USINT#1;

(*####################  DEBUG-MESSAGE  ###################################*)
(*IF _debug_enable THEN
LOG_CL.NEW_MSG := 'dlog_mysql: insert >~1<';
LOG_CL.PRINTF[1] := snd_text;
LOG_MSG();
END_IF;*)
(*########################################################################*)
END_WHILE;
END_IF;

IF ENABLE THEN (* LOG-Trigger verarbeiten *)
trig_tmp := (TRIG_M AND NOT trig_m_last) OR trig_auto OR X.ADD_DATA_REQ;

IF trig_tmp THEN (* manueller, automatischer oder externer Trigger *)
X.ADD_COM := 03; (* ADD DATA *)
(* ---------------- Debug-Message -----------------------*)
(*IF _debug_enable THEN
LOG_CL.NEW_MSG := 'dlog_mysql: Trigger: DATE [~2]';
LOG_CL.PRINTF[2] := DT_TO_STRING(DTI);
LOG_MSG();
END_IF;*)
(* -----------------------------------------------------------------*)
ELSE
X.ADD_COM := 04; (* ADD DATA REQ *)
END_IF;
ELSE
COM.SQL_CON := FALSE; (* MySQL Verbindung beenden *)
step := 0;
END_IF;
(*████████████████████████ DIESE ZEILE FEHLT ████████████████████████*) X.ADD_DATA_REQ:=FALSE;
(* ~~~~~~~~~~~~~~~~~~~~~~ *)

199:IF COM.SQL_RCV_STATE = BYTE#1 THEN (* OK *)
step := next_step;
ELSIF COM.SQL_RCV_STATE = BYTE#2 THEN  (* FEHLER *)
step := 0;
END_IF;

END_CASE;

(* ########################## *)
(* SQL-Kommando ausführen *)
IF sql_command > BYTE#0 THEN
IF snd_size > 0 THEN
COM.S_BUF.SIZE := INT_TO_UINT(snd_size);
snd_size := 0;
ELSE
_STRING_TO_BUFFER(str:=snd_text,pos:=5,pt:=ADR(COM.S_BUF.BUFFER),size:=SIZEOF(COM.S_BUF.BUFFER)); (* String in puffer kopieren *)
COM.S_BUF.SIZE := INT_TO_UINT(5 + LEN(snd_text));
snd_text := '';
END_IF;

i2 := UINT_TO_INT(COM.S_BUF.SIZE) - 1; (* alle " zeichen mit ' ersetzen *)
FOR i1 := 5 TO i2 DO
IF COM.S_BUF.BUFFER[i1] = BYTE#34 THEN
COM.S_BUF.BUFFER[i1] := BYTE#39;
END_IF;
END_FOR;

COM.S_BUF.BUFFER[4] := sql_command;
COM.SQL_PACKET_NO := BYTE#255;
sql_command := BYTE#0;
step := 199;
END_IF;

(* ########################## *)

MYSQL_CONTROL(COM:= COM, INFO:=SQL_INFO);
ERROR_C := COM.ERROR_C;
ERROR_T := COM.ERROR_T;

IF COM.ERROR_T > BYTE#0 THEN  (* FEHLER *)
step := 0;
END_IF;

(* ########################## *)

trig_m_last := TRIG_M;
enable_last := ENABLE;
run := step > 0;

(* revision history
ks 20. apr. 2012 rev 1.0
original version

*)

Mg

6
Ankündigungen / Announcements / Downloadmanager: "down"
« am: 06. April 2015, 05:24:27 »
Hallo Leute

Wolle mal die Codesys 3 zum erstem Mal ERNSTHAFT unter die Lupe nehmen und dazu das OSCAT herunterladen, ABER ...
Wegen einer gefundenen Schadsoftware wird die OSCAT-Webseite derzeit technisch untersucht. Der betroffene Downloadmanager wurde deaktiviert.
Ich wartete ein paar Tage, aber da ändert sich nichts. Ich habe schon vor ein paar Tagen mal die Oscat von der Codesys-page runtergeladen, aber die ist leider nicht mehr ganz aktuell.
Bis wann ist das Problem behoben?

Mg

7
oscat.lib fuer Step 7 / CLK_PRG: fehlerhafter Startwert
« am: 20. Mai 2014, 15:12:42 »
Hallo Leute

Programmiersystem: TIA12 SCL
Controller: CPU315
Baustein im Oscat: CLK_PRG

Nach einem Änderungsdownload wurden alle (od. viele, das kann ich im nachhinein nicht mehr sagen) Baugruppen gestoppt und neu gestartet.
Danach stand der Wert für "last" auf einem niedrigen negativen Wert (3-stellig), aber der Wert für "tx" irgendwo im x-stelligen negativen Bereich (-24Tage und noch ein bischen was).

Der PWM_DC rechnet aus der Differenz der beiden eine Zeit aus die dem Taktzyklus entsprechen sollte. Das würde heißen, daß der PWM_DC dieser Wert in meinem Fall erst in 24 Tagen korrekt funktioniert.

Die Initialisierung des CLK_PRG hat offensichtlich NICHT funktioniert.

Es wäre schön, wenn man in einem der folgenden Updates auch diesen Fehler mal eliminieren könnte.

Vielen Dank

Mario
 

8
oscat.lib fuer Step 7 / FT-PT1: Ãœberlauf (Funktion SPS)
« am: 25. April 2014, 15:19:01 »
Hallo Leute

Strg: S7-300
Portal: TIA12 SR4
Oscat: STEP7-TIA-V3.32

Nun habe ich einen Fehler im FT-T1 entdeckt. Der geht irgenwann oder irgendwie mal in den Überlauf:
"out" steht dann ein für allemal auf 16#7FFFFFFF.
Aber ich bin der Meinung daß dieser Fehler auf alle Funktionen zutrifft. Es wird in den Oscat-Funktionen kein Überlauf abgefragt (und schon gar nicht wie wie in der S7 mit dem Statuswort - mit abfragen und löschen) und die Siemens-Steuerung speichert die Überlaufmeldung bis sie gelöscht wird, dh.: wenn mal eine Variable in dem Überlauf rauscht wird die nie mehr berechnet. (im AWL mit der Funktion SPS im SCL bin ich noch am studieren wie ich das bestens lösen soll).
Dieses Problem hatte ich in der einen oder anderen Art schon bei meinem Code nun aber auch im original OSCAT Code

Vielen Dank

Mg


9
oscat.lib fuer Step 7 / TIA12 mit OSCAT
« am: 23. März 2014, 11:23:52 »
Hallo Leute

Ich habe mal vor ca. 1 Jahr versprochen ich werde mal die migirierte Version von GKOBLER laufen lassen und eine Rückmeldung geben.
Nun hier mein Resume:
a) Die Einbindung der Oscat ist mir verhältnismäßig großem Aufwand verbunden, da das Ganze nur als Programm (nicht als Library) eingebunden werden kann.
  Es bedarf schon etwas Zeit um die Abhängigkeiten der Bausteine und der Datentypen usw. herauszufinden. Das ist eine Art "try-and-error"-Hürdenlauf.
b) Ich habe einige Regel-FB's (PID-Regler - das Ding ist einfach SUPER!!!) und auch diverse math. FB's verwendet. Im Großen und Ganzen funktionieren die (BEACHTE UNBEDINGT DIE HINWEISE zu "S5-TIME" ohne das funktioniert das System nur ca. 1-2 Wochen)
c) Ich habe keine Textbausteine und Kalenderfunktionen verwendet (da gibt es immer noch viele Warnmeldungen, aber dafür hatte ich auch keine Verwendung)
d) Ich habe die Anzahl der verwendeten Bausteine gering gehalten (ca. 30-40Stk.), bei einigen habe ich die Funktion angezweifelt, einige habe ich untersucht und da waren auch in der Codesys-Version Fehler drinnen (insbesondere in der building.lib - siehe auch meine anderen Kommentare)

Ich habe 4 größere Anlagen (je Anlage >200DP) in Arbeit, 2 laufen seit 1/2 Jahr einwandfrei. 2 stehen noch zur IB aus.
Die FB's und FC's funktionieren so weit ich das ausprobiert habe gleich gut wie im Codesys.
Natürlich wird Oscat hauptsächlich für Codesys verwendet. Ich war aber SEHR froh über die Hilfe die mir GKOBLER gegeben hat und werde OSCAT in Zusammenhang mit S7-TIA sicher weiter verfolgen.

VIELEN DANK

Mg

Und noch was in eigener Sache (bitte das nicht kommentieren - sind meine eigenen Erfahrungen und müssen sich nicht mit anderen Erfahrungen decken): Trotzdem wäre es schön, wenn in Zukunft mehr auf S7-TIA eingegangen wird. Für mich ist das einfach die Zukunft. Das alte STEP7 ist eigentlich tot, auch wenn es viele nicht wahr haben wollen. Ich bin inbesondere mit der S7-1500 sehr zufrieden. Das Gerät bieten gravierende Vorteile (AUCH IN DER PROGRAMMIERBARKEIT) gegenüber der alten S7-300. Ich habe faktisch in der ersten Minute umgestellt und leider auch ein paar Kinderkrankheiten mitgemacht. Summa sumarum wundert es mich trotzdem schon ein bischen, daß viele User so auf dem Uralt-System (S7-300) beharren wollen.

10
Codesys 2 / SMTP-Fehler (die mir nichts sagen)
« am: 11. September 2013, 07:29:20 »
Hallo Leute

Ich habe einen SMTP-Baustein mit folgenden Fehlermeldungen

ERROR-C:5
ERROR-T: 5F01F5

Das sollten ja die Fehler vom IP-CONTROL sein. (... Korrektur: diese Aussgae ist falsch / von mir)
Somit bedeutet das:
> step=95
> rcv_state=501


Der Controller (Wago 750-880) hängt irgendwo in China. Ich habe einen miserablen Zugriff über VPN darauf. Lt. Kunde sollte sein EMail jetzt funktionieren.

Wie soll ich weiter verfahren?

Mario

11
Hallo Leute

Ich bin der Meinung daß die Berechung der Air_Enthalpy falsch ist:
h=1,005*t+x*(2500+1,86*t) lautet eine offizielle Formel.
Dabei wird x in kg/kg angegeben. h ist hier in kJ/kg
Ihr verwendet x in der Einheit g/m³
Bei Euch ist h in J/g, das ist das selbe wie KJ/kg. Somit solle auch das Ergebnis ident sein.
Es ergeben sich aber extrem hohe Werte, die nicht stimmen können.

Viele Dank für Eure Aufmerksamkeit

Mario

12
oscat.lib fuer Step 7 / TIA12 / T_PLC_MS V3.32
« am: 06. Mai 2013, 10:24:18 »
Hallo Leute

Habe beim T_PLC_MS folgenden Kommentar gefunden.

(* hier muss die korrektur für step7 stattfinden
plctime muss den vollen wertebereich von time ausnutzen:
wenn bei step7 time -24tage bis plus 24 tage ist dann muss der timer auch beim überlauf auf -24tage springen
und auf keinen fall auf 0 !!!!
für siemens muss ein weiterer fb im main eingebunden werden der sicherstellt das alle 32 bits durchgezählt werden.
es kann nur ein fb sein den er muss sich das oberste (32te) bit merken.
oder etwa spring s7 bei überlauf auf -24 tage????? dann wäre keine korrektur nötig.
*)

Muß ich hier noch was machen oder ist das eine Kommentar-Leiche?

Mg

13
oscat.lib fuer Step 7 / TIA 12 / S7 - 1500
« am: 15. März 2013, 05:05:07 »
Hallo Leute

Siemens hat nun alles nochmals neu erfunden. Mit dem neuen TIA-Portal (seit Anfang März) kommen auch die neuen Regelstationen (S7-1500) heraus.
Alle alten Prozessoren (incl. i/o-Hardware) sollen damit ersetzt werden. (Nachlieferbarkeit soll allerdings noch weiters gegeben sein)
Ich werde das Ganze mal in den nächsten Wochen zum spielen bekommen.
Geht da auch die Oscat Library?

Vielen Dank für weitere Informationen

Mg

14
Codesys 2 / MB_Client (keine Verbindung)
« am: 05. März 2013, 15:53:39 »
Hallo Leute

Wago 750-880
Codesys 2.3.9.35
ModBus-Gateway: MOXA3180
NetworkLib 1.21

Ich steh wieder mal im Wald. Ich habe das Beispiel mit dem MB_Client verwendet. Zuerst ging GAR nichts. Nun nach längerem Probieren habe ich zumindest einen TimeOutError erhalten. Auf dem WireShark kommt leider auch auch GAR nichts daher. Allerdings funktioniert es mit der Software "ModBus-Poll" perfekt!

Moxa-Gateway:
 IP-Adresse: 10.0.0.110
 Übertragungsart: TCP/IP
 Port:502
WagoController:
 IP-Adresse: 10.0.0.100

 :'( Kann mir jemand auf die Sprünge helfen?

Danke!

[gelöscht durch Administrator]

15
oscat.lib fuer TwinCAT/CoDeSys / Alarmliste (Codesys WebVisu)
« am: 20. April 2012, 18:14:14 »
Hallo Leute

Ich verwende die Oscat 3.33
Der Controller ist ein WAGO 750-880
Codesysversion V2.3.9.34

Ich verwende die WebVisu mit der Alarmliste. Fürs Oscat sollte die Uhrzeit des Controllers die Greenwichtime ohne So-Wi Umschaltung sein. Der Rest wird im Controller berechnet. So weit so gut.

Nun sind aber alle Uhrzeiten auf dem Alarmjournal - Greenwichtime ohne So-Wi. ::)
Der Kunde ist damit nicht zufrieden (und ich erst recht nicht). Kann ich die Uhrzeit für die Alarmliste über eine Variable setzen oder wird die immer irgendwie intern über nicht veränderbare Lib's übernommen.
Das selbe Problem taucht beim Trend auf. Aber den verwende ich nicht!

Vielen Dank

Mario Greißing.

Seiten: [1] 2