capomoro Inserito: 5 dicembre 2010 Segnala Inserito: 5 dicembre 2010 Ciao a tutti, inanzitutto mi scuso perchè non sono un gran esperto di software siemens (mi sto faendo le ossa).Ho questo problema: In una DB (es. 18) ho dichiarato questa struttura:+0.0 Nome_Attuale STRING[30] '' Nome formato attuale +32.0 Nr_Form_Da_Caricare INT 0 Numero formato da caricare +34.0 Nome_Form_1 STRING[30] '' Nome formato 1 +66.0 dwInd01 INT 0 Indice riga 1 +68.0 Nome_Form_2 STRING[30] '' Nome formato 2 +100.0 dwInd02 INT 0 Indice riga 2 Se nella variabile che punta la +32.0 (dbw32) è uguale a 1, vorrei trasferire il nome formato dalla variabile +34.0 (stringa) nella variabile +0.0 (stringa) eseguendo semplificatamente questa funzione senza ricorre al richiamo delle 8 dbd che compongono la parola del "Nome_Form_1" nelle 8 dbd del " Nome_Attuale".Vi ringrazio dell'aiuto
ken Inserita: 5 dicembre 2010 Segnala Inserita: 5 dicembre 2010 se non vuoi trasferire byte per byte (o word o dword) puoi usare sfc 20
capomoro Inserita: 5 dicembre 2010 Autore Segnala Inserita: 5 dicembre 2010 ciao Ken,grazie per il consiglio. Mi fai un esempio di come si può utilizzare ? CALL SFC 20 IN0 := ????? RET_VAL:= ????? OUT1 := ?????
ken Inserita: 6 dicembre 2010 Segnala Inserita: 6 dicembre 2010 L db18.dbw32L 1==Ispbn A000CALL SFC 20IN0 := p#DB18.dbx34.0 byte 32RET_VAL:= mw0 OUT1 := p#DB18.dbx0.0 byte 32A000: nop 0Mw 0 può essere comunque anche una variabile locale oppure un qualsiasi antro INTEGERSta poi a te capire se meglio usare questo blocco oppure fare un belL DB18.DBD34T DB18.DBD0etc etcSe vuoi approfondire meglio puoi premere F1 sul blocco SFC20 per vedere l'.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora