nodux2000 Inserito: 10 aprile 2007 Segnala Inserito: 10 aprile 2007 (modificato) Buongiorno a tutti,prima di cominciare questo topic ho cercato nelle varie discussioni senza però risolvere il mio problema.Sono alle primissime armi e stò imparando ad usare S7 guardando codice esistente...Ora ho un "piccolo" problema con la gestione di encoder assoluti SSi: questo è il codice all'interno dell'FC che gestisce il macchinario A "501 MAN" A "E 501 PRESET" = L 6.0 BLD 103 A "ON" JNB _00b CALL "F ABS SSI ET200S" ADDR :=548 PRESET :=L6.0 SSI_MAX :=L#33554432 POS_MAX :=L#20000000 POSITION :="501 DATA".D39 PRESET_POS:="501 DATA".D36 ADJUST_POS:="501 DATA".D37_00b: A BR R "E 501 PRESET"mentre il blocco richiamato è il seguente:network1:// READ PI BYTE 0-3 (ACTUAL ENCODER POSITION) L #ADDR SLW 3 T #POINT LAR1 L PID [AR1,P#0.0] T #SSI_POS// ENCODER RANGE (UP COUNTING) NOT PASSING TURNOVER VALUE L #PRESET_POS L #POS_MAX +D L #SSI_MAX <=D JCN F11// ENCODER VALUE IN RANGE POSITIV VALUE A( L #SSI_POS L #PRESET_POS >=D ) A( L #PRESET_POS L #POS_MAX +D L #SSI_POS TAK <=D ) JCN F11A L #SSI_POS L #PRESET_POS -D T #TEMP_POS JU F19// ENCODER VALUE IN RANGE NEGATIVE VALUEF11A: L #SSI_POS L #PRESET_POS -D T #TEMP_POS L 0 >D JCN F19 L #SSI_POS L #SSI_MAX -D L #PRESET_POS -D T #TEMP_POS JU F19// ENCODER RANGE (UP COUNTING) PASSING TURNOVER VALUE F11: NOP 0// ENCODER VALUE IN RANGE NEGATIVE VALUE A( L #SSI_POS L #PRESET_POS <D ) A( L #PRESET_POS L #SSI_MAX -D L #POS_MAX +D L #SSI_POS TAK >=D ) JCN F12A L #SSI_POS L #PRESET_POS -D T #TEMP_POS JU F19// ENCODER VALUE IN RANGE POSITIVE VALUEF12A: L #SSI_POS L #PRESET_POS -D T #TEMP_POS L 0 <D JCN F19 L #SSI_MAX L #PRESET_POS -D L #SSI_POS +D T #TEMP_POS// ACTUAL ENCODER POSITIONF19: L #TEMP_POS L #ADJUST_POS +D T #POSITIONnetwork2: A #PRESET JCN F21 L #SSI_POS T #PRESET_POS L 0 T #ADJUST_POSF21: NOP 0Ora, so' che la posizione attuale viene memorizzata nella DBW "501 DATA".D39, che 548 è l'indirizzo del modulo di input SSI (almeno credo), "501 MAN" e "E 501 PRESET" sono merker che arrivano da comandi locali.Probabilmente chiedo troppo ma non è che per caso qualcuno mi aiuterebbe con delle delucidazioni su questo codice?? Grazie anticipatamente! Modificato: 10 aprile 2007 da nodux2000
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