-> Hier kostenlos registrieren
Hallo Forum,
ich bin neu im Umgang mit der SPS Welt und möchte eine Webseite erstellen, die Array-Daten aus der SPS anzeigt.
Von Seiten der SPS existiert ein Datenblock "Aktoren" mit einem Array "Aktordetails" und darin die Felder "Index", "Hersteller" und "Typ"
Das Array hat als Grenzen 1..99 eingetragen und es sind aktuell 5 Aktoren eingetragen.
Ich bekomme es gut hin, die Werte entsprechend auf einer Webseite auszugeben. Allerdings muss ich bisher dazu wissen, welche Werte auch gefüllt sind und die entsprechenden Indizes immer schon komplett ausgeben.
Von Seiten der SPS gibt es schon eine Variable, die mir die Anzahl der gefüllten Aktoren angibt (in meinem Fall 5). Dieser Wert kann aber später variieren. Ich wollte mir also meine Anzeigen abhängig von dem Wert dieser Variablen zusammenbauen:
Leider wird das Array irgendwie nicht richtig gebildet. Wenn ich es "offline" (localhost ohne Webserver der S7-1200) ausprobiere, entsteht das gewünschte Array:
Aber eine Ausgabe auf der Webseite bleibt leer.
Wenn ich das Array gleich direkt so schreibe (ohne die Konstruktion in der Schleife), dann funktioniert das wunderbar.
Ich vermute ich muss dieses Array schon irgendwie vor der Ausführung zusammenbauen aber ich komme mit dem Ajax ohne mein gewohntes php noch nicht so klar und kann das nicht entsprechend vorbereiten.
Ich kann diese Variablen aus einer zusätzlichen Datei per ajax get einlesen und anzeigen. Aber dann müssen sie in der zusätzlichen Datei ja auch schon wieder "fertig" drin stehen und damit habe ich nichts gewonnen.
Könnte mir hier evtl. jemand helfen, wie ich den String/das Array mit der benötigten Anzahl von Variablen zusammensetzen kann?
Aus den bisherigen Antworten hier zu ähnlichen Fragstellungen, bin ich leider nicht ganz schlau geworden, sry ...
Danke schön schon mal im voraus!
ich bin neu im Umgang mit der SPS Welt und möchte eine Webseite erstellen, die Array-Daten aus der SPS anzeigt.
Von Seiten der SPS existiert ein Datenblock "Aktoren" mit einem Array "Aktordetails" und darin die Felder "Index", "Hersteller" und "Typ"
Das Array hat als Grenzen 1..99 eingetragen und es sind aktuell 5 Aktoren eingetragen.
Ich bekomme es gut hin, die Werte entsprechend auf einer Webseite auszugeben. Allerdings muss ich bisher dazu wissen, welche Werte auch gefüllt sind und die entsprechenden Indizes immer schon komplett ausgeben.
Von Seiten der SPS gibt es schon eine Variable, die mir die Anzahl der gefüllten Aktoren angibt (in meinem Fall 5). Dieser Wert kann aber später variieren. Ich wollte mir also meine Anzeigen abhängig von dem Wert dieser Variablen zusammenbauen:
Code:
<script type="text/javascript">
$(document).ready(function(){
var aktorCount = ':="Aktoren".Anzahl_Aktoren:';
var testArray = [];
for (let i = 0; i < aktorCount; i++) {
var z = i+1;
testArray[i] = ':="Aktoren".Aktordetails['+ z +'].Hersteller:';
}
});
</script>
Leider wird das Array irgendwie nicht richtig gebildet. Wenn ich es "offline" (localhost ohne Webserver der S7-1200) ausprobiere, entsteht das gewünschte Array:
Code:
[':="Aktoren".Aktordetails[1].Hersteller:', ':="Aktoren".Aktordetails[2].Hersteller:', ':="Aktoren".Aktordetails[3].Hersteller:', ':="Aktoren".Aktordetails[4].Hersteller:', ':="Aktoren".Aktordetails[5].Hersteller:']
Aber eine Ausgabe auf der Webseite bleibt leer.
Wenn ich das Array gleich direkt so schreibe (ohne die Konstruktion in der Schleife), dann funktioniert das wunderbar.
Ich vermute ich muss dieses Array schon irgendwie vor der Ausführung zusammenbauen aber ich komme mit dem Ajax ohne mein gewohntes php noch nicht so klar und kann das nicht entsprechend vorbereiten.
Ich kann diese Variablen aus einer zusätzlichen Datei per ajax get einlesen und anzeigen. Aber dann müssen sie in der zusätzlichen Datei ja auch schon wieder "fertig" drin stehen und damit habe ich nichts gewonnen.
Könnte mir hier evtl. jemand helfen, wie ich den String/das Array mit der benötigten Anzahl von Variablen zusammensetzen kann?
Aus den bisherigen Antworten hier zu ähnlichen Fragstellungen, bin ich leider nicht ganz schlau geworden, sry ...
Danke schön schon mal im voraus!