# DB Wert ändern????



## Andyzrx (2 November 2009)

Hallo liebe Gemeinde ich hab ein Problem 
Ich will einen Wert in einem Datenbaustein ändern (DB20.DBW 156)

Ich mach dazu eine VAT Tabelle auf und trage den DBW dort ein . Angezeit bekomme ich dann bein Status :

L#1000


Ich will aber aud den 1000 , 5000 machen . Dazu bin ich in das Feld Steuerwert und hab L#5000 eingetagen und auf Variable Steuern.
und nix passiert . Bei allen anderen Werten geht das wunderbar da ist aber auch kein L# davor.  Was kann ich tun um den wert zu ändern???


MFG


----------



## SPSKILLER (2 November 2009)

hallo,

dein Wert wird von der Steuerung beschrieben.
Wenn du das abstellst, dann kannst du ihn aus der VAT steuern...

Micha


----------



## SPSKILLER (2 November 2009)

Noch was,

stimmt das mit dem DBW?
Mich macht das L# stutzig. Das ist normalerweise DINT.


----------



## Andyzrx (2 November 2009)

wie stellt man sowas ab?


----------



## SPSKILLER (2 November 2009)

na irgendwo in deinem Programm steht so was wie


```
L L#1000
T db20.dbw256
```
 
ich schaff es aber bei mir nicht das L# angezeigt zu bekommen...


----------



## Andyzrx (2 November 2009)

ich versteh auch nicht warum das da steht. bin total sprachlos


----------



## SPSKILLER (2 November 2009)

Kannst das Prog. mal reinstellen?


----------



## Andyzrx (2 November 2009)

ich lad es mal hoch


hier


----------



## SPSKILLER (2 November 2009)

Hallo,

dein DBW156 im DB20 wird in FC26-Netzwerk 2 als Doppelwort 156 geschrieben...

Der geschriebene Wert kommt über Profibus von der GLT

Micha


----------



## Andyzrx (2 November 2009)

Und das versteh ich nicht so denn ich schick den Wert von da an die GLT und nicht andersrum . Irgendwie check is nitt bei dem . alles andere ist total einfach nur der eine Wert geht mir nicht in den kopf


----------



## SPSKILLER (2 November 2009)

Andyzrx schrieb:


> Und das versteh ich nicht so denn ich schick den Wert von da an die GLT und nicht andersrum . Irgendwie check is nitt bei dem . alles andere ist total einfach nur der eine Wert geht mir nicht in den kopf


 
tja, da kann ich dir auch nicht weiterhelfen.

In der VAT musst du auf jeden Fall DB20.DBD156 steuern.

Micha


----------



## Andyzrx (2 November 2009)

ja und das versteh ich nicht da macht sie nicht alle anderen werte kann ich steuern (siehe Analog vat) auser den scheiss wert nicht . wenn ich eine lösung finde post ich sie aber im moment hab ich noch keine


----------



## SPSKILLER (2 November 2009)

Den Wert kannst du doch ganz einfach steuern, indem du im FC26 Netzwerk 2 den Transferbefehl auskommentierst, oder gleich den Wert DB101.DBD0 (REAL-Format) steuerst.

Für die 2. Möglichkeit musst du aber den SFC Aufruf im NW1 auskommentieren...


----------



## Andyzrx (2 November 2009)

das DB101.DBD0  ist doch ein Array (siehe db101) da kann ich nix schreiben oder


----------



## SPSKILLER (2 November 2009)

klar kannst du.

Gib einfach DB101.dbd0 in deiner VAT ein.

Und vergiss nicht, den SFC Aufruf im Netzwerk 1 auszukommentieren.


----------



## Bernard (2 November 2009)

*ich schaff es aber bei mir nicht das L# angezeigt zu bekommen.*

L#1000 steht für Longword (Dint).
Wenn du z.B -1000 schreibst und es in ein Dword vom Format Dint überträgt
würde S7 es als positive Zahl erkennen,weil das Vorzeichenbit im Bit 15
steht und S7 es in Bit 31 erwartet. Deshalb L#-1000.Bei L#1000 macht das ganze keinen Sinn.

Viel Grüße Bernard


----------



## Andyzrx (3 November 2009)

Meinst du im FC25

den Call Befehl für den FC1  ? im NW1


----------



## SPSKILLER (3 November 2009)

hi, ich habe eigentlich den Aufruf des FC 2 (DP-Kommunikation über CP) gemeint.

Den entweder nicht aufrufen, oder dein Netzwerk 2 durch flogendes ersetzen:


```
//L     DB101.DBD    0
// RND   
//  T     "Analogwerte".FIS408_m3
      L     DB101.DBD    4
      T     "Analogwerte".FIS408
      U     DB101.DBX   18.0
      =     "GLT Impuls FIS408"
```
 
Jetzt solltest du DB20.DBD156 steuern können...

Micha


----------



## Andyzrx (3 November 2009)

ja das geht und hab den fehler jetzt auch gefunden . 
Der wert kommt wirklich von einer anderen CPU  rüber .
da hab ich mich rangestöpselt , den DB gesucht und dann ging das ändern.

Der Vorschlag drüber da geht zwar die Ändernung machen auf einen anderen Wert aber wenn man die Aufruf wiede rmacht ist der alte Wert ja wieder da.

Aber danke für die Gedankengänge


----------

