-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - peewit

#1786
oscat.lib fuer TwinCAT/CoDeSys / Re:XML_Reader
28. Oktober 2009, 18:00:53
hallo

wie schaut den so ein string bei dir aus ?
wieviele informationen sollen darin enthalten sein.

wenn es nicht allzuviele infos sind, dann würde ein string mit listen-trennzeichen eventuell auch ausreichen, dazu gibt es komfortable listen-bausteine in oscat, mit denen du wieder alles zerlegen kannst.

z.b. STRING = 'Parameter1=56.00;Parameter2=34;Text="Alarm aktiv";'
das alles könnte man auch in einen string transportieren.

freiwillig auf der sps xml-daten zu parsen ist nicht zu empfehlen, da unnötig aufwendig !!


die oscat_network_lib ist eine zusatz-bibliothek zu der oscat.lib die noch nicht veröffentlicht wurde
an der portierung für die wichtigsten Plattformen wird gerade gearbeitet.

im anhang findest du die doku zu der oscat_network.lib


[gelöscht durch Administrator]
#1787
warum arbeitest du denn überhaupt mit TOD, das ist natürlich völlig unpassend, damit kann keine sommerzeit umschaltung funktionieren
du benötigst natürlich einen typ "DT"

woher bekommst du denn dein aktuelles Datum und die Uhrzeit ?
du kannst z.b. mit "SET_DT" ganz einfach Datumsangaben und Zeitangaben vereinen


DATE_AND_TIME-Konstanten, Kombination von Datum und Uhrzeit:

DATE_AND_TIME-Konstanten beginnen mit "dt#", "DT#", "DATE_AND_TIME#" oder "date_and_time#". Nach der Datumsangabe folgt ein Bindestrich und danach die Uhrzeit.  Mögliche Werte: 1970-00-00-00:00:00 bis 2106-02-06-06:28:15.

Beispiele:

DATE_AND_TIME#1996-05-06-15:36:30

dt#1972-03-29-00:00:00

#1788
oscat.lib fuer TwinCAT/CoDeSys / Re:XML_Reader
22. Oktober 2009, 17:15:16
der XML_READER Baustein wir bald innerhalb der OSCAT_NETWORK.LIB verfügbar sein.
Momentan bin ich am portieren und testen auf der Codesys-Plattform

sobald ich eine lauffähige Version habe , kannst du sie sicherlich vorab bekommen
Vermutlich in 1-2 Wochen könnte es soweit sein...

Was hast du denn damit vor ?
#1789
eine weitere möglichkeit für eine ursache des problem könnte folgendes sein.

du verwendest PCWORX 6.0 in verbindung mit ILC 1xx

dann solltest du dringend das ServicePack 1 und den Hotfix 1 installieren

https://eshop.phoenixcontact.at/phoenix/logon.do?user=anonym&callingPage=start
nach artikel "2985660" suchen dann kannst du unter download dir alles runterladen

damit ist dann dieser Compilerfehler behoben

mfg peewit
#1790
der Baustein "GET_CHAR" kommt aus der BIT_UTIL.LIB

diese firmware_bilbiothek musst du selber unter Bibliotheken einbinden

Siehe Beschreibung im PCWORX_MULTIPROG_OSCAT Download-File !!!!!

mfg peewit
#1791
Bestehende Module / Existing Modules / Re:OnTime
13. September 2009, 07:51:14
die retain-werte werden bei den meisten systemen bei erkennen einer unterspannung (spannungsausfall) automatisch gesichert.
somit ergibt sich nur bei wirklichen spannungsausfall ein schreibzugriff.

da die flashspeicher min. 100.000 schreibzyklen verkraften, musst du schon ein merkwürdiges problem haben, damit der flashspeicher defekt wird.

viel problematischer kann es sein wenn deine applikation ständig etwas in den flash schreibt, aber in den meisten fällen überlebt der flashspeicher eindeutig die lebenszeit einer applikation !


#1792
für die weatherchannel-daten sind folgende dinge notwendig

1. dns-auflösung (www.weatherchannel.com = ipxxx.xxx.xxx.xxx
2. auf basis der ip wird dann eine http-get anfrage gemacht
3. die empfangenen daten bestehen aus http header und den eigentlichen waether-xml daten
4. xml parser der die einzelnen elemente ausgibt und einen baustein der releavante infos in datenarray ablegt

(siehe doku oscat-network-library)

in der library hole ich mir zwar die wetterdaten von yahoo (yahoo bezieht sie selber wiederum von weatherchannel) aber im prinzip ist es das gleiche, aber damit umgehe ich nur die wahnsinnigen lizenz-bestimmungen von weather-channel

im prinzip ist alles fertig in der inoffiziellen oscat-network-library
problem ist das unser referenzcode auf der plattform pcworx entwickelt wurde
und der plattform neutrale wrapper baustein für ethernet-zugriff noch nicht für codesys etc.. umgesetzt ist.
es fehlt ein einziger baustein als bindeglied

das heisst wenn jemand das alles neu und selber programmieren möchte , dann hat er mehrere wochen arbeit.
jedoch ist selbst der fehlende wrapper baustein für codesys nicht ohne gute systemkenntnisse umzusetzen

sollte sich jemand meinen das er das schaffen kann, dann kann er gerne den referenzcode zur portierung bekommen.
bislang hatten wir keine ressourcen frei um die ethernet-portierung voranzutreiben

demnächst werden ich die network-library ergänzen mit einer ip2geo funktion
damit kann die sps direkt herausfinden welche WAN-IP sie besitzt und auf welchen längen und breitengrad diese installiert ist, und somit auch die zeitzone selber bestimmen, und kann sich auch gleich mittels SNTP sich die aktuelle UTC Zeitzeit holen.
#1793
Modulentwicklung / Re: OSCAT und SQL
04. August 2009, 17:21:57
ich habe schon daran einmal gedacht, das problem ist halt wie immer die zeit
technisch wäre es kein problem (die interne funktionsweise des direkten datenbankzugriffs ist mir bekannt)

es hätte sowieso erst das dann wirklich sinn, wenn die vorhandene oscat-network-lib (referenz-code existiert auf pcworx-basis) auch auf codesys und step7 portiert worden ist.

wir brauchen dazu nähmlich eine hardwareneutrale baustein-basis ,damit der ethernet-zugriff auch auf jeden system gleich funktioniert.
#1794
Modulentwicklung / Re: OSCAT und SQL
03. August 2009, 09:23:40
die bibliothek gibt es nicht offen, da hier viel arbeit drinnen steckt, und das sonst keiner in dieser form bislang kann.
#1795
bei der neuen version hat sich auch ein input-parameter geändert, normalerweise reicht es wenn du den baustein neu in dein programm einfügst
oder du machst dir eine LTIME_TO_UTC_2 die du dann verwendest, bis die nächste oscat-release erscheint

neuen baustein "LTIME_TO_UTC_2" anlegen und diesen code verwenden

FUNCTION LTIME_TO_UTC_2 : DT
VAR_INPUT
   LTIME : DT;
   DST_ENABLE : BOOL;
   TIME_ZONE_OFFSET : INT;
END_VAR
VAR
   tmp: INT;
   tmp2: DWORD;
END_VAR

tmp := time_zone_offset * 60;
tmp2 := BOOL_TO_DWORD(DST_ENABLE AND DST(LTIME)) * 3600;
IF tmp < 0 THEN
   tmp := ABS(tmp);
   LTIME_TO_UTC_2 := DWORD_TO_DT(DT_TO_DWORD(Ltime) + INT_TO_DWORD(tmp) - tmp2);
ELSE
   LTIME_TO_UTC_2 := DWORD_TO_DT(DT_TO_DWORD(Ltime) - INT_TO_DWORD(tmp) - tmp2);
END_IF;
#1796
Hallo Terminator95

Dein Problem mit LTIME_TO_UTC kann ich nachvollziehen !

Ich habe dir eine korrigierte version erstellt !

die alte hat nicht nur falsch gerechnet, sondern hat auch bei "DST" = True , das ganze jahr über die +1 Stunde für Sommerzeit mitgerechnet
die neue version prüft vorher ob bei LTIME überhaupt sommerzeit aktiv ist

und nicht vergessen time_offset wird in minuten angegeben

FUNCTION LTIME_TO_UTC : DT
VAR_INPUT
LTIME : DT;
DST_ENABLE : BOOL;
TIME_ZONE_OFFSET : INT;
END_VAR
VAR
tmp: INT;
tmp2: DWORD;
END_VAR

tmp := time_zone_offset * 60;
tmp2 := BOOL_TO_DWORD(DST_ENABLE AND DST(LTIME)) * 3600;
IF tmp < 0 THEN
tmp := ABS(tmp);
LTIME_TO_UTC := DWORD_TO_DT(DT_TO_DWORD(Ltime) + INT_TO_DWORD(tmp) - tmp2);
ELSE
LTIME_TO_UTC := DWORD_TO_DT(DT_TO_DWORD(Ltime) - INT_TO_DWORD(tmp) - tmp2);
END_IF;


Hallo,

ich hab noch was zum Thema beizurtagen, auch wenn es schon etwas älter ist. Hatte nämlich eben selbiges Problem:

Wozu der Aufwand, den halben Baustein umzuschreiben? Eigentlich hätte es doch gereicht in der ersten Zeile das Minus durch ein Plus zu ersetzen, so dass es so aussieht
Code:

tmp := time_zone_offset * 60 + BOOL_TO_INT(DST)*3600;

Habs gerade ausprobiert, sollte  auch funktionieren. Jetzt werden nämlich im Sommer richtigerweise 2h und im Winter 1h von der Systemzeit abgezogen (wenn man sich in Deutschland befindet).

Wär natürlich klasse, wenn es in der nächsten Release aufgenommen wird. Ich vermute, es ist in der 3.10 schlicht vergessen worden Wink

Gruß
Thomas
#1797
Modulentwicklung / Re: OSCAT und SQL
31. Juli 2009, 21:12:03
Dass was du machen möchtest, ist problemlos mit Steuerungen von Phoenix Contact möglich
Hier gibt einen Bibliothek mit der man direkt mit MS-SQL und MySQL kommunizieren kann.

(Siehe File im Anhang)

[gelöscht durch Administrator]
#1798
hallo

leider haben wir keine passenden fertigen bausteine
eine oscat-network-library ist in arbeit, und die wird dann auch dyndns beherschen, aber
darauf kannst du sicher nicht warten

vielleicht kannst du dir mit hardware abhelfen

z.b. können diverse dsl-router auch selber dyndns

oder du baust dir einen VPN-Tunnel auf und verbindest damit übers internet zwei private netze

#1799
hallo r_mhm

ganz habe ich deinen wunsch nicht verstanden

die oscat-lib ist komplett auf allen plattformen für die sie verfügbar ist , in strukturierten text (st) erstellt
oder hast du gemeint das die oscat-lib direkt auf delphi/pascal portiert werden soll

Was meinst du genau ?

gruss peewit
#1800
hallo wolfii

danke, deine anregung wurde in die ToDo Liste aufgenommen.