Array

Alles zur Software WinSPS-S7 bzw. WinPLC7

Moderatoren: Matthias, Weiss_MHJ

Antworten
Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,
die Reihenvolge der aus zu Lesenden Werten stimmen nicht.

FB10 fühgt den Wert ein
FB11 Wert wird aus Gelesen
FB12 Wert wird Überschrieben

Sensor 1 oder 2, Wert wird eingefühgt ( FB10)

Sensor 6, Wert wird aus gelesen ( FB11 )

Sensor 7 oder 8, Wert wird überschrieben ( FB12 )

was ist falsch an meiner Programmierung ?

Gruß
mac
BildBild

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

ich habe das Problem, das ich immer im FB11 den Wert bekomme der sich gerade an Sensor 1 oder Sensor 2 befindet.
Der Wert sollte sich doch verschieben?
Wer kann mir Helfen?

Gruß
mac

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

kann mir einer einen Tipp geben, was ich falsch mache? Wenn ich den FB11 auslese über den S6, bekomme ich den Wert der sich gerade an S 1 und S 2 befindet.
Normal sollte beim Auslesen ja der Wert stehen der zu der Kiste gehöhtrt, die sich gerade am S6 befindet.


Gruß
mac

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,

ich brauche Hilfe.


Gruß
mac

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo Herr Habermann - Herr Weiß,

könnten sie mir Bitte mitteilen was ich hier Falsch mache?


Gruß
mac

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

ich habe Ihnen in einer Antwort am 18.Juli ein Beispielprojekt angehängt, bei dem drei FBs für das Einfügen, Auslesen und Überschreiben von Werten in ein Array beinhaltet waren.
Dies sind die Schlüssel-Funktionen zum Lösen dieser Aufgabe.

Mehr kann ich leider nicht tun. Wenn Ihr Programm ein anderes Verhalten zeigt, dann müssen Sie sich anschauen, was Sie gegenüber dem Projekt von mir geändert haben. Dort war die Funktionalität gegeben.

Die Aufgabe ist leider zu komplex als dass man mit ein paar Screenshots das Fehlverhalten analysieren und eine Hilfestellung geben kann.

Gruss

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,
kann ich das Beispiel 1 zu 1 übernehmen? oder können sie mir das fertige Programm mal Posten?
Ich komme mit dem Array so nicht weiter. :(

Gruß
mac

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,
wer kann mir mal Bitte eine Lösung Posten? zu dem Array.
Vielen Dank im vorraus.


Gruß
mac

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

da Sie sich ja selbst die Aufgabe so gestellt haben (Lösung über Arrays) gibt es dazu keine Lösung.

Sie sollten das Beispiel mit den FBs verwenden und versuchen in das dort verwendete Array Daten einzutragen, auszulesen usw.. Versuchen Sie dieses Beispiel zu verstehen.

Wenn Sie das schaffen, dann können Sie diesen Teil auch für die ITS-Anlage verwenden.

Gruss

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,
ich habe ja die Anlage ja schon mit zwei anderen Varianten gelöst, aber halt noch nicht mit dem Array.
Dies möchte ich aber auch so mit dem Array Lösen.


Gruß
mac
Zuletzt geändert von MAC am 12 Okt 2011, 20:50, insgesamt 1-mal geändert.

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo,

U "Sensor1"
FP M 0.1
= M 0.2

U M 0.2
SPB End1
CALL FB 10,DB10
AnyPointerArray:=P#DB1.DBX 0.0 BYTE 11
DBNummer:=W#16#0001
EinfuegeIndex:=MW5 soll hier ein Wert eingefügt werden?
Wert:=MB11 oder soll hier der Wert eingeführt werden?
Error:=MW2
End1: NOP 1

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

a
Zuletzt geändert von MAC am 12 Okt 2011, 20:52, insgesamt 1-mal geändert.

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

U "Sensor1"
UN "Sensor2"
SPBNB _001
L 33
T MB 11
_001 :NOP 0

Der Wert 33 soll eingefügt werden in das MB11.

U "Sensor1"
FP M 0.1
= M 0.2

U M 0.2
SPB End1
CALL FB 10,DB10
AnyPointerArray:=P#DB1.DBX 0.0 BYTE 11
DBNummer:=W#16#0001
EinfuegeIndex:=MW11
Wert:=MB11
Error:=MW2
End1: NOP 1

oder

U "Sensor1"
UN "Sensor2"
SPBNB _001
L 33
T MW 11
_001: NOP 0

Der Wert 33 soll in das MW11 eingefügt werden.

U "Sensor1"
FP M 0.1
= M 0.2

U M 0.2
SPB End1
CALL FB 10,DB10
AnyPointerArray:=P#DB1.DBX 0.0 BYTE 11
DBNummer:=W#16#0001
EinfuegeIndex:=MW11
Wert:=MB10
Error:=MW2
End1: NOP 1

Ich habe beides aus Programmiert, der Wert 33 wird zwar im EingefügeIndex eingefügt aber im Wert nicht angezeigt.
Und auch im FB11 wird nichts angezeigt.


Gruß
mac

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

das MW11 besteht aus den Bytes MB11 und MB12. Dabei ist das MB11 das HiByte.
Als EinfuegeIndex geben Sie das MW11 an, dass Sie zuvor mit dem Wert 33 belegt haben. Somit wird also am Index 33 der Wert eingefügt und dass bei einem Array welches nur aus 11 Bytes besteht!?
Sie verwenden für den Einfügeindex und den Übergabewert das gleiche Merkerwort. Ob das so korrekt ist?

Ob das Belegen des MW11 über die Sprungoperationen usw. korrekt ist müssen Sie wissen. Das Einfügen ist es nicht.

In meinem Beispiel ist der Aufruf der FBs genau erklärt und mit Kommentaren versehen. Dem ist nichts hinzuzufügen. Ich denke auch dass die Parameternamen deren Funktion weitestgehend erklären.

Gruss

Benutzeravatar
MAC
SPSTreff-Profi User
Beiträge: 267
Registriert: 13 Jul 2010, 09:48
Wohnort: Niederkassel

Array

Beitrag von MAC »

Hallo Herr Weiss,

ich habe die Einfügewerte durch die Zahlen 5 und 6 ersetzt.Und auch das MW habe ich geändert.
Aber es Funktioniert immer noch nicht, bin ich zu Blöd dafür?
Bis jetzt konnte ich alle Aufgaben lösen, aber das mit dem Array macht mich noch Wahnsinnig.

SPB End1
CALL FB 10,DB10
AnyPointerArray:=P#DB1.DBX 0.0 BYTE 11
DBNummer:=W#16#0001
EinfuegeIndex:=EW2
Wert:=MB6
Error:=MW2
End1: NOP 1


Gruß
mac

Antworten