-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ü

Themen - rrbd

#1
Hallo, ich benutze seit einiger Zeit die Version mit [@_ProjInfo_@] LastChange=23.03.2017  13:19:24. Funktioniert auf diversen ILC1xx einwandfrei.
Auf auch schon nicht mehr ganz taufrischer ILC 151_44 gibt es jetzt aber das Problem, dass Emails nicht versendet werden. Versand startet, Busy bis Timeout, dann Fehlermeldung!
ERROR_C = 001E0000
ERROR_T = 5
Bisweilen alternativ Endlosschleife: Busy bis Timeout, Busy verschwindet ohne neue Fehlermeldung, neuer Versuch, Busy ...
Das Log auf dem SMTP-Server zeigt keinerlei Emailversand von dieser SPS.

Gibt's eine neuere Netlib, die ich probieren könnte, und wenn Ja, wo?
Und was sollte ich mal nachforschen?
#2
PC WorX / SMTP_CLIENT: Port-Adresse vorgeben?
16. Dezember 2020, 09:18:38
Hallo,

ich benutze die netlib. "pcworx_netlib_130" und es könnte sein, dass ich für Kommunikation mit einem SMTP-Server Port 25 Verwenden muss. An welcher Stelle gebe ich wie diesen Port vor? In der Hilfe vom 16.07. fand ich nichts konkretes dazu.

Viele Grüße

Rainer
#3
Auf <http://www.oscat.de/linksammlung-mainmenu-34/20-sps-und-sps-programmierung.html> fand ich 2 Fehler (habe nicht systematisch gesucht, sondern nur angeklickt, was mich interessierte:
SPS@home  <http://www.sps-home.de.vu/>: "Error "Network Timeout"
Magnia <http://www.magnia.de/>: Error 500 "Internal Server Error"
ElektronikForen <https://www.elektrikforen.de/gebaeudesystemtechnik/>: "Die gesuchte Seite konnte nicht gefunden werden"

Gruß


Rainer
#4
Wie ich wohl irgendwo schon sagte will ich für Nachweiszwecke jeweils Monats-Logs per E-Mail schicken. Im Fehlerfall wird u.U. sofort eine Kopie der Datenaufzeichnung  benötigt. Mir fällt dazu bisher ein:

a) Einfach nach Knopfdruck auf dem Bedienpanel (Ich benutze SpiderControl) an den Namen am Eingang von DLOG_STORE_FILE_CSV:FILENAME temporär ändern ("Sofortsendung" per CONCAT anhängen oder ähnlich), was dann eine Sendung der bis zu Namensänderung veranlassen würde. Da der alte Baustein gelöscht wird besteht auch kein Datenüberschreibungsproblem, wenn das aber öfters hintereinander gemacht wird mcht das die Dateiablage doch recht unübersichtlich.

b) Einfach meine zusätzlich vorhandene Stöe-Email-Konstruktion benutzen.  Nach Knopfdruck auf dem Bedienpanel eine Störmeldung "Diagnosedatenübertragung" (oder so) generieren, bei dem dann die aktuelle mit Speicherdatei verschickt wird. So lange schalte ich lieber das Loggen an DLOG_STORE_FILE_CSV_ENABLE ab? Bei einer Zufallsbeobachtung schien mir die ILC an der ca 500kB großen Datei deutlich länger als 1 Minute zu rödeln. Jedenfalls hätte das den Vorteil, dass es keine Extra-Dateien gibt.

c) Oder irgendein viel besserer Trick?

Gruß

Rainer
#5
Die meisten meiner Projekte bestehen im wesentlichen auf mehreren Arbeitsblättern (Instanzen) wie im  Screenshot dargestellt, dabei sind die, die mit „HK“ beginnen, immer Heizkreise, für die der Logger dann jeweils 4 Realwerte (2x Temperaturmesswert, 1x Temperatursollwert, 1x Ventilstellung), manchmal auch zusätzlich Raum-Soll- und -Istwert und in einem auch Außentemperaturmesswert schreiben soll.

Am effektivsten ließe sich der Logger natürlich einsetzen, wenn ich in jedem Arbeitsblatt die lokalen Real-Variablen samt Spaltenüberschrift an DLOG_REAL â€" FB anschließe, im ersten Arbeitsblatt (Screenshot: HK21)  einen DLOG_DT davorsetze und im letzten Baustein (Main) einen DLOG_STORE_FILE_CSV dahintersetze. Logisch: Strukturvariablen für X und save_data global). Dann habe ich bei Projekterstellung mit Control->Paste den Logger gleich mit drin. Speichertakt ca. 1 x alle 12 Minuten.

Momentan sehe ich keinen offensichtlich Hinderungsgrund für das verfahren â€" oder übersehe ich etwas?


[gelöscht durch Administrator]
#6
Eine frühmorgendliche Störungs-SMS schreckte mich auf, kein Warmwasser im Block, da Temperaturanforderung an Kesselanlage im Nachbarhaus via   NET_VAR_CONTROL + NET_VAR_REAL8 nach jahrelangem Betrieb nicht mehr funktionierte. Ich hatte beide Programme gestern angefasst, allerdings nicht das NET_VAR_CONTROL - Arbeitsblatt.
Weitere Ursachenforschung ergab, dass zwischen Master und Slave die ID-Nummern der Bausteine NET_VAR_REAL8 und NET_VAR_BOOL8 (für den gesamten Datenaustausch zwischenden beiden Stationen) neuerdings vertauscht waren:
     Master ILC130:   NET_VAR_BOOL8   ID= 01 (noch korrekt)
     Slave ILC155:    NET_VAR_BOOL8   ID= 02 (vertauscht)
So weit Symptom und wahrscheinlich Problemursache in einem:
     Master ILC130: Error 16#0000FF00 (Timeout)
     Slave ILC155: Error 16#00000002 (ID2 falsch parametriert).

Mit simplen Tricks gelang es mir nicht, das auf der  Slave-ILC155 wieder in die richtige Reihenfolge zu bringen, eigentlich ist mir auch schleierhaft, wie die ID (vom NET_VAR_CONTROL?) festgelegt wird.
Um die Anlage aus dem Provisoriumsbetrieb zu bekommen habe ich für die ILC155 eine Vorgänger-Programmversion von Anfang 2014  (WORXEXPRESS-Version 6.20.331) reaktiviert, die funktionierte sowohl nach Einspielen mit WORXEXPRESS-Version 6.20.331 als auch nach Re-Build mit 6.30.1202 einwandfrei, als Nebeneffekt funktionierte auch gleich eine andere Kommunikationsverbindung über SPIDER_ACCESS wieder.
Das ist alles etwas rätselhaft, allerdings hatte ich schon bei 2 anderen PC-WORX Express - Projekten merkwürdige Effekte, die nach eingehender Untersuchung im weitesten Sinne mit der Abarbeitungsreihenfolge im Programm zusammenhingen.

Meine Fragen
a) Wie bekomme ich ganz allgemein die ID der NET_VAR_<datentyp> in die Richtige Reihenfolge, falls ich an anderer Stelle noch mal über das Problem stolpere? Abarbeitungsreihenfolge der FB im Arbeitsblatt war nach meinen Versuchsergebnissen unbeteiligt,
b) Kennt ein WORX-Nutzer diese Abarbeitungsreihenfolgen-Problematik (die vielleict auch gar nichts mit dem Kommunikationsproblem hier zu tun hat)?
#7
Ich versuche gerade, mir aus den Datalogger-Bausteinen eine für mich passende Lösung zu basteln.

Meine Gewohnheit
Es gab für SAIA PCD und PG5-Programmierumgebung eine zusätzliche Library mit  Serie von Datenblöcken und Zubehörbausteinen, die es emöglichten, Daten mit voreingestelltem Takt (oder bei Änderung) auf der PCD zu speichern. Damit speicherte ich dann wenige bis viele zig verschiedene Messwerte (und ähnliches) jeweils in einem zugehörigen Datenblock mit ca. 1000 Messwerten, für mich in der Gebäudetechnik reicht eigentlich stets 5x Speichern je Stunde. Jeder Datenblock war eine Art Endlos-Ringspeicher, in dem dann die letzten tausend Werte zum Datenpunkt (Temperaturfühler, Ventilstellung, ...) bei Bedarf zum Abruf zur Verfügung standen. Einige Kunden speicherten das regelmäßig als Qualitätsnachweis ab (Siebdruckerei braucht konstante Temperatur ...), oder aber die Daten Standen bei einem Problem für einen ausreichenden Zeitraum vor der Störung zur Verfügung, um nachvollziehen zu können, was da falsch gelaufen ist. Auslesen der DB war entweder über die Programmierumgebung oder aber auch mittels eines EXCEL Dokuments mit geeigneten Matrixen, die dann mittels der CGI-Befehle in den Zellen alle DB in einem Rutsch über RS-485 oder Modem die Daten auslasen. Schnell noch nach Datum/Uhrzeit sortieren, Copy/Paste in ein vorbereitetes anderes Dokument, und schon stehen "Schreiberlinien" und sonstige Auswertungen zur Verfügung. Diese Lösung war für mich ideal, nun versuche ich sie nachzubilden. An irgendwelche Konflikte bei schreib, Lese, Löschzugriffen kann ich mich nicht erinnern.

Mein Ansatz
Ich habe das Beispiel aus der Library übernommen und mit  PCWORX Express 6.30.1202 Hotfix 1 auf Phoenix ILC 131 ETH Firmware Version 4.30.07 problemlos zum Laufen gebracht. Es wurden 60 CSV-Dateien im SPS-datenspeicher erzeugt, die reihum immer wieder neu beschrieben werden: Da sich der Dateiname nach ablauf einer Minute ändert, wird dann der nächste Datensatz in eine Neue Datei mit anderer Stundenminute vorn im Dateinamen geschreiben. Wenn die Datei schon besteht, wird die alte anscheinend gelöscht und durch eine neue mit den Daten der Jetztzeit ersetzt.

Da ich wie gesagt eher viele Messwerte je Messung brauche habe ich mal 2562 Messungen * 5 Reals (< 200, 2 Nachkommastellen, eigentlich brauche ich nur eine) durchlaufen lassen, ergab ein CSV 131 kB, wenn ich ½ MB  Dateigröße akzeptiere sollte ich also mit typisch 30 Messwerten eine Woche speichern können.

Jetzt probier' ich mal die Email-Funktion, da sich alle meine Anlagen bei Störungen mit Emails Melden ist der Kommunikationsweg schon mal gegeben, dann bekommt der Kunde auch noch einen wöchentlichen Nachweis.

Derzeitige Unklarheiten
a) Den Absatz "„RETAIN_DATA" zu "DLOG_STORE_FILE_CSV" habe ich nicht verstanden. Wo ist die Struktur definiert?

Gruß

Rainer
#8
In der mir vorliegenden Fassung vom 14.11.2012 20:27:18 fand ich auf Blatt 39 in Kapitel 6. "Geräte Treiber" einen Mini-Rechtschreibfehler: "Check box" statt "Checkbox" ("Kontrollkästchen" finde ich auch zu Deutsch). Lassen sich solche banalen Fehlermeldungen eigentlich auch irgendwie effektiver absetzen? Da muss ja nun nicht immer die gesamte OSCAT-Bemeinde mitlesen und sich langweilen.
#9
Off Topic Diskussionen / Quo Vadis, OSCAT?
16. April 2016, 20:12:19
Moin, ich schaue in größeren Abständen mal vorbei, sowohl hier als auch bei http://www.oscat.de/ und sehe, dass sich insbesondere auf letzterer Seite wenig tut. Im Downloadbereich ist immer noch  oscat netlib1.21 als aktuelle Version gehostet, die nach meinen Erfahrungen auf Phoenix ILC  sehr viel schlechter funktioniert als 1.30. Und der RC wurde im November 2012 publik gemacht, wenn ich das richtig sehe war die letzte Änderung am 22.01.2014? Da könnte man doch mal mutig ein Release wagen.
Alles in allem macht OSCAT einen ähnlich leblosen Eindruck wie Apache OpenOffice. In beiden Fällen bedauere ich das sehr, und ohne die OSCAT-LIBs wäre meine Arbeit mit den Phoenix-ILC undenkbar. Klar, es ist eine große Anzahl von Bausteinen entwickelt und fertig, da sind nicht wöchentliche Sensationen zu erwarten, auch beim Zündhholz gibt es nicht jede Woche große Neuerungen.
Aber gerade das böte ja die Gelegenheit zu liebevoller Detailarbeit. Auch eine aktualisierte und verbesserte Version einer Doku verdient m.E. Aufmerksamkeit, die Linksammlungsseite ist völlig lieblos (Warum sollte jemand auf einen Link zu Karl-Heinz Johns Homepage klicken? Da müsste doch schon mal eine Kurzinfo stehen, was einen dort erwartet, allerdings verbittet sich der Betreiber auch den Zugriff, Error 403! Der Link zu Magnia ist ebenfalls tot (Internal Server Error), SPS@home wird als zum Verkauf stehend beworben ... . Das müsste mal überarbeitet werden.

Nun will ich natürlich nicht einfach meckern, sondern mich nützlich machen, allerdings müsste ich (und andere Hilfswillige) da erst mal wissen, wo das OSCAT-Team meint, Unterstützung gebrauchen zu können. Und ich müsste die Gewissheit haben, nicht anzufangen, an einem bereits toten Pferd zu doktern. Ein Release der NETLIB 1.30wäre ein überzeugendes Signal ;-)
#10
PC WorX / Doku-Fehler bei DLOG_DT
16. April 2016, 20:09:13
In der mir vorliegenden Fassung vom 14.11.2012 20:27:18 findet sich auf Blatt 49 in Kapitel 7. "Daten Logger" ein kleines Anwendungsbeispiel als FUP. Im Baustein DLOG_DT und mehreren anderen fehlt der Eingang "DELTA" in den FB-Boxen. Die Erläuterung des Eingangs bei der Bausteinbeschreibung verstehe ich übrigens nicht, wie genau ist denn nun die Zusammenarbeit mit "DLOG_STORE_*" Eingang "TRIG_T"? Hat da einer vor dem anderen Vorrang oder wird immer gespeichert wenn mindestens eine der beiden Triggerzeiten abgelaufen ist? Das soolte m.E. detaillierter und klarer beschrieben werden.

Gruß

Rainer
#11
PC WorX / DEMOS in Libraries in ein Projekt kopieren
11. Dezember 2015, 09:51:48
Hallo,
derzeit habe ich als Nutzer von Phoenix PC WORX EXPRESS 6.30.1202 din Problem mit der Nutzung von Library-DEMO-POEs. Ich habe es ausprobiert mit DEMOs aus "pcworx_network_130.mwt: Demos wie DLOG_FILE_CSV_DEMO lassen sich zwar per Drag + Drop oder <ctrl+c> - <ctrl+v>  von PC WORX in ein PC WORX EXPRESS Programm kopieren. Allerdings lässt sich in PC WORX EXPRESS der Inhalt des POE nicht anschauen, und auf ein MAKE in erscheint die Fehlermeldung "Die Komponente wird nicht durch den Softwareschlüssel freigegeben: /Pous/<POE-Name>".

Das ist ein allgemeineres Problem und liegt nicht an der OSCAT Library. Ich habe das zusammen mit dem Phoenix-Support ausprobiert, die Fehlermeldung erscheint auch, wenn ich in PC WORX ein Minimal-Programm erstelle (UND mit Dummy-Variablen), den POE "main"  dann in ein neu erstelltes  WORX EXPRESS Programm kopiere und ein MAKE versuche.

Phoenix-Support ist dran und versucht das zu klären, will mich auf dem Laufenden halten.

So viel hier nur zur Info, falls jemand über dasselbe Problem stolpert, ich melde mich mit weiteren Ergebnissen.
#12
Moin,

SPIDER_ACCESS ist für mich öfters ganz nützlich, wenn ich für ein Programm in einer Phoenix ILC1xx aus einer anderen Phoenix ILC1xx irgend einen Wert brauche und keine Lust oder Möglichkeit habe, das Programm der anderen SPS für andere Übertragungsmodi zu ergänzen. Leider versagt das Verfahren beim Übertragen von REAL Zahlenwerten, das Ergebnis ist stets eine Ganzzahl zwischen 0 und 9.

Ehe ich selbst anfange, den Code zu untersuchen: weiß jemand einen Trick (ggf. Codeanpassung für einen "MySPIDER_ACCESS" ähnlich http://www.oscat.de/community/index.php/topic,2040.msg12289.html#msg12289 (ja ja, ich wollte das immer mal bereit stellen), wie man an einen brauchbaren Wert kommt?

Gruß

Rainer
#13
Hallo,

für eine Sonderanwendung muss ich Emails mit "Content-Type: text/plain" verschicken, derzeit wird aber "Content-Type: multipart/mixed;boundary="x"" erzeugt.
Ich konnte keine Lösung finden, wie ich "text/plain" durch geeignete Beschaltung des SMTP_CLIENT erzeugen kann.

Ich habe jetzt erst mal brutal und ohne Wissen, was ich da genau treibe, eine Kopie des  SMTP_CLIENT so angepasst, dass er den Schritt "250" umgeht, und das funktioniert auch im Ergebnis, die Mail führt im Header nun 'Content-Type: text/plain; format=flowed; charset="iso-8859-1";', und ein störendes "--x--" im Body konnte ich auch noch wegpfuschen.  Damit funktioniert nun meine E-Mail an eine Sprachsynthese.

Ich würde das aber lieber fachmännisch lösen, wer kann mir einen Tipp geben, wie ich den Baustein "ordentlich" modifiziere?
#14
PC WorX / SMTP_CLIENT ohne DNS
06. Januar 2014, 20:08:13
Moin,

nun habe ich mit einer Phoenix ILC 155 erstmals (den ansonsten Häufigeren) Fall, dass der Mailserver einfach eine IP-Adresse und keinen Namen hat, dafür keine Authentifizierung benötigt. Etwas ratloses herumprobieren brachte mich nicht weiter, Müsste mal die Fehlermeldungen untersuchen:
ERROR_C: 006401F5
ERROR_T: 05
kam noch nicht dazu.

Deshalb meine Frage: Was muss ich gegenüber der Gewohnten" Beschaltung an 'DNS_IP4' (und evtl. bei 'SERVER') ändern, damit das funktioniert? Hinweis: Aus dem Netzsegment mit der SPS kommt man nicht in's Internet.

Danke schon mal für Rat und Hilfe

Rainer
#15
Modulentwicklung / SMTP_CLIENT und SSL
27. Dezember 2013, 11:26:48
Moin, anscheinend kommt's bei den Providern allmählich in Mode, nur noch SSL zu akzeptieren. Jedenfalls erhielt ich heute Zugangsdaten für einen 1&1 Mailserver, den ich für einen Kunden benutzen soll, mit dem Hinweis:  "Wichtig!!! Bei 1&1 ist ab Januar 2014 SSL Voraussetzung. Anleitung zum Konfigurieren gibt es hier: http://hilfe-center.1und1.de/sicherheit-c84638/sicher-mit-e-mails-umgehen-c84640/e-mail-und-ssl-c84642". Gibt's einen Trick, ist etwas angedacht, wie kann ich sofern erforderlich die Entwicklung unterstützen?

Gruß

Rainer
#16
Hallo,


  • Ich habe irgendwo gelesen SETUP_HOLIDAY sei gar kein so richtig offizieller OSCAT Baustein -  speziell für PC_WORX-Programmierung der Phoenix ILC 1xx ist er aber sehr praktisch.
  • HOLIDAY scheint mir etwas schwer zu nutzen, da mir keine wirklich praktische Erzeugung passender Osterfeiertagstermine (logisch, mit Karfreitag, Himmelfahrt, Pfingsten) einfällt.
Mein Anliegen: wenn man den SETUP_HOLIDAY mit einem passenden Eingang für die Berechnung von EASTER ausstatten würde,  die Datumsteile der Variablen HD[03] aus diesen Eingängen berechnen und die Datumsanteile von  HD[02], HD[04], HD[06], HD[07], HD[08] ebenso generieren würde (Ist nicht völlig trivial aus HD[03] zu berechnen, die Monatsfindung ist lästig), dann wäre der Einsatz von HOLIDAY eine richtig runde Sache. In der gegenwärtigen Form  finde ich die Verwendung nicht wirklich praktisch, da alle "interessanten" Feiertage doch wieder händisch berechnet werden müssen. Oder habe ich etwas übersehen?

Gruß

Rainer
#17
Hallo,

Ich sehe im Programmcode "Irgendwas mit Dämmerung", im mir vorliegenden Handbuch Im Sachstand Sonntag, 22. Januar 2012 14:40:32 der Eingang nicht erwähnt. Es wäre schön, wenn das im Handbuch erwähnt würde.

Gruß

Rainer
#18
Hallo,

ich habe für eine "echte Anwendung" ein Programm für eine Phoenix ILC 131 ETH erstellt, das sowohl den SMTP_Client für E-Mail nutzt (siehe auch mein Posting "Multi-Mail-Versand" hier im Forum), als auch SPIDER_ACCESS nutzen soll, im Prinzip zur Kommunikation zwischen Phoenix ILC erprobt, hier im besonderen Fall zum Datenaustausch mit SAIA PCD3 vorgesehen, was aber noch nicht recht funktioniert, siehe "SPIDER_ACCESS: Lesen von SAIA nach Phoenix ILC", ebenfalls hier im Forum.

Das neue Problem ist, dass die Verwendung von SPIDER_ACCESS den E-Mail-Versand stört, eigentlich sogar unmöglich macht. Während normalerweise meine Multimail-Funktion im Testbetrieb mit SMTP_CLIENT problemlos 60 verschiedene Mail-Meldungen im 3-Sekunden-Takt "'rausrotzt" (vielfach getestet, gerade eben wieder 5 60er-Läufe problemlos im um SPIDER_ACCESS erleichterten Anwendungsprogramm), schafft die gleiche Anordnung in der Regel nur wenige (manchmal gar keine) E-Mail. Störmeldung: ERROR_T = 1   ERROR_C = Hex 53000000.
In anderer Testumgebung auch Error_T =001E0000  -  Error_C=05


Bei Verwendung des Phoneix- SMTP-Clients:
wDiagCode = C303, Fehler aus der TCP Schicht SMTP IP_Connect
wAddDiag=EF01 Der Verbindungsaufbau zum SMTP Server hat länger als 12 sec. gedauert und wird dann vom FB abgebaut und wiederholt. Wenn dies dreimal nacheinander passiert, kommt dieser Fehler.
Insgesamt scheint die Fehleruqote höher bei mehr Netzwerkverkehr an der ILC, beispielsweise Vebvisualisierungszugriff auf die SPS (bisher kein Problem bei E-Mails ohne SPIDER_ACCESS im Programm.

Für einen Test habe ich aus dem Anwendungsprogramm mit dem Email-Porblem den Spidercontrol-POE gelöscht, schon lief alles wunderbar (5 Durchläufe, s.o.!), nach wieder-hereinkopieren des POE wieder das gewohnte Bild, 1 Durchlauf (60 mails) erfolgreich dann im 2. Testdruchlauf Error mit Fehlermeldung wie oben beschrieben.
Spider_Access wieder 'raus, Problem beseitigt, noch mal 3 Testläufe ohne Error .

Ich werde morgen das ILC-Testprogramm zum Download bereit stellen, helfe natürlich auch gern bei weiteren Tests.

Alle meine Tests habe ich bei laufendem Debugging in PC WORX Express und aktiver Webvisualisierung (ohne Bedieneingriffe, auf  dem Debugging-PC) durchgeführt

Gruß

Rainer
#19
Hallo,

nachdem das Verfahren zwischen Phoenix ILC problemlos funktioniert, wollte ich nun mal probieren, aus einer SAIA PCD3.M2130V6 über Netzwerk mit SPIDER_ACCESS zu lesen. Leider erst mal Prellbock, "No Such Component Found" (Error-Ausgang von SPIDER_ACCESS bleib aber 0). Hatte so etwas bei http://www.oscat.de/community/index.php/topic,2017.msg10521.html#msg10521 schon befürchtet.

Nun  ist die spannende Frage woran es liegt. Man muss wissen dass sich die Bedeutung von "für den Webzugriff freigegeben", "Instanz-Variable", "Globale Variable" grundlegend von der IEC 61131 (PC WORX) Welt unterscheiden.

Variablennamen
Findet man in einer Saia eine Variable "RLT1.AUSSENTEMPERATUR", Bedeutet "RLT1" nicht wie bei PC WORX, dass die Variable zu einem Arbeitsblatt  "RLT1" gehört. Vielmehr bietet die SAIA-Programmierumgebung die Möglichkeit einer Art Baumstruktur in der Namensgebung. Ich kann also "einfach so" für meine Anlage "RLT1" eine Gruppe "RLT1.Istwerte" mit einer Ganzzahlvariablen "RLT1.Istwerte.Außentemperatur" anlegen.  "RLT1.Istwerte" hat aber keinerlei Bezug zur Programmstruktur, sondern ist wie gesagt nur eine komfortable Möglichkiet, Variablennamen zu verwalten, einen neuen Varablensatz  für gleichartige Funktion eines gleichartigen Anlagenteils zu erzeugen ("RLT2.Istwerte"), mit denen sich dann sehr einfach ein Programmteil für diesen anderen Anlagenteil "RLT2" erzeugen lässt.

Globale Varablen
Hat in der SAIA-Welt eine andere bedeutung. Ein (FUPLA-) Programm kann jede menge Programmbausteine (Zyklisch abgearbeitete COB, bedingt abgearbeitete PB usw usw usw enthalten, die aber alle auf die gleichen mit "Local" gekennzeichneten Variablen zurückgreifen.
Nur bei Verwendung mehrerer Funktionsplan-Dateien (Heizungsanlage.fup und Lueftung.fup, die am Schluss zu einer Maschinencode-Datei zusammengelinkt werden, müssen globale Variablen definiert werden, die dann in allen .fup mit derselben Bedeutung verwendet werden.
Evtl. ähnlich ist das bei der Erstellung einer Web-Visualisierung, die SAIA-SpiderControl-Lösung setzt überhaupt Globale Variablen ("Public") voraus, alles andere wird beim Build mit "Unresoved EXTERNALs" als Fehler gebrandmarkt. Ein "PDD-Flag" wie bei PC WORX gibt es nicht.

Variablennamen in der Saia-WebVisu
Im Visu-Editor werden dieselben Variablennamen wie im FUPLA-Programm benutzt, die verwendeten sind eh alle Global. Heißt, fpr mein Register "RLT1.Zul.Is.B_TmpAussen0"  (Public) aus dem Fupla heißt der PPO im Visu-Editor für das WEBVISU.prj auch "RLT1.Zul.Is.B_TmpAussen0". Allerdings muss beim SAIA-System vor dem Build des Programms für die SPS noch ein Compilierungsvorgang durchgeführt werden, der eine Datei webserver.wsc erzeugt. Nur mit diesem Vorgang funktioniert der Datenaustausch zwischen der Visu und dem SPS-Programm. Was immer das bedeutet, ich habe mal ein Dateibeispiel angehängt, das auch die o.g. Variable enthält, die ich für meine Tests auch ausprobiert habe.

Ich hatte schon mal bei http://www.sbc-support.ch/faq/item/item.detail.php?it_index=101574&search_for=excel&back_url=%2Ffaq%2Fitem%2Fitem.search.php%3Fcmd%3DSEARCH%26category%3D0%26search_for%3Dexcel%26send_form.x%3D0%26send_form.y%3D0%26sort_order%3D-1%26search_area%3D0%26items_per_page%3D10%26frame%3Dresult%23idx101574 nachgelesen in der Hoffnung, dass mir das neuer Einsichten bringt, leider vergeblich.

Hat jemand schon mal Variablen aus einer SAIA mit SPIDER_ACCESS gelesen? Oder wie können wir mal systematisch ermitteln, wie der Zugriff funktionieren kann?

Viele Grüße

Rainer

[gelöscht durch Administrator]
#20
Hallo,
ich habe geplant, einige Daten für eine Phoenix ILC 155  aus einder ILC 130 (Datenquelle)  im selben Netzwerk auszulesen, beide haben umfangreiche WebVisit-Visualisierung, so dass die benötigten Daten auf der  Datenquelle verfügbar sind. Meine Programmierumfebung: WebVisit Prof. und  PC WORX Express (jeweils aktuellste öffentliche Versionen)

Lt DEMO scheint es empfehlenswert/notwendig, den Baustein zusammen mit IP_CONTROL zu betreiben,  habe ich so vorgesehen.

Ein paar Beobachtungsdetails (die Variablen rechts oberhalb der Funktionsbausteine habe ich für Beobachtungszwecke eingefügt) aus dem Debug-Modus, bei möglicherweise sehr schnellen Änderungen hinkt die Anzeige also evtl deutlich hinterher:
a) Ein Fehler passiert anscheinend nicht, jedenfalls steht die Variable auf "00000000"
b) Wenn ich im Debug-Modus etwas in  meine Variable für ausgelesene Werte SA_1_VALUE 'reinschreibe wird das wieder überschrieben.
c) SA_1_Para.C_ENABLE: Wechselt zwischen 0 und 1 (ganz grob: Sekundentakt)
d) SA_1_Para.C_IP: Zeigt meistens die IP der Datenquell-SPS, manchmal auch 00000000
d) SA_1_Para.C_MODE: Steht immer auf 0
e) SA_1_Para.C_STATE: Ich Sehe 00, 01, FF
f) SA_1_Para.ERROR: Bombenfest auf 00000000
g) SA_1_Para.FIFO, SA_1_Para.MAILBOX: wirken irgendwie "tot"
h) SA_1_Para.R_OBSERVE: Dauer-1
i) SA_1_Para.TIME_RESET Dauer-0
k) Mit SA_1_VARNAME='@GV.Allg_V_sHZBA1' bekomme ich plötzlich Massen von Fehlermeldungen  "Ausgangsstring zu kurz" von
    PC WORX EXPRESS. Das ist auf der SPS, aus der gelesen wird, ein oscat_STRING20, STRING sollte also eigentlich kein Problem sein.
    Immerhin mal eine Reaktion. Wie es scheint  kommt der Fehler grundsätzlich wenn ich (entgeben der OSCAT-Anleitung) das "GV." vor den
   Globalvariablennamen setze (auch bei INT ...)
l) Stringlängenüberprüfung mit LEN für SA_1_VALUE zeigt immer Länge=0

Meine Testumgebung:
Datenquelle: ILC 130 ETH Firmware 3.91
Datenziel mit Spider_Access:  ILC 155 ETH Firmware 3.91
Programmierumgebung: PCWORX Express 6.20.331 Hotfix 2, WebVisit  6.10.00
Lib: pcworx_network_130 Heruntergeladen von  http://www.oscat.de/community/index.php/topic,1872.0.html "Achtung Die Dateien wurden zuletzt am 27.05.2013 18:42 aufgrund von Fehlerbereinigungen aktualisiert". ;it oscat_basic_333 als Lib. eingebunden, na klar ;-)
Beobachtung: Über VPN-Verbindung zum Netzwerk mit den ILC


Mache ich etwas falsch oder gibt's ein echtes Problem mit SPIDER_ACCESS?

Gruß

Rainer

[gelöscht durch Administrator]