idrive Inserito: 11 maggio 2006 Segnala Share Inserito: 11 maggio 2006 ciao a tutti, potete aiutarmi a capire come funziona questo segmento ?u(L MB30L KF+0>< F)U E2.1= M33.1 Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 11 maggio 2006 Segnala Share Inserita: 11 maggio 2006 significa che il merker M33.1 va a 1 se:il merker byte 30 è diverso da zero el'ingresso E 2.1 è a unose anche solo una delle due condizioni non è rispettata il merker M33.1 è a zero Link al commento Condividi su altri siti More sharing options...
idrive Inserita: 11 maggio 2006 Autore Segnala Share Inserita: 11 maggio 2006 ciao STEU quello che cercavo di capire è come funziona il merker byte 30 Link al commento Condividi su altri siti More sharing options...
montagner Inserita: 11 maggio 2006 Segnala Share Inserita: 11 maggio 2006 U( seL MB30 il valore del byte di memoria 30L KF+0 confrontato con il valore fisso 0>< F e' diverso (cioe' MB30 >< 0)) U E2.1 e l'ingresso digitale E2.1 e' a "1"= M33.1 allora mette a "1" la memoria M33.1U vuol dire UND in tedesco o AND in inglese (&)() aperta e chiusa parentesi perche' tutto quello che sta all'interno e' interpretato come unica operazioneL sta per LADEN o LOAD che vuol dire carica il valoreMB sta per merker Byte cioe' un valore a 8 bit che in questo caso e' nella MB30KF sta per valore in virgola fissa, cioe' un numero intero senza decimaliM sta per merker o flag o memoria a un solo bitCiao. Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 11 maggio 2006 Segnala Share Inserita: 11 maggio 2006 ciao STEU quello che cercavo di capire è come funziona il merker byte 30Scusa non capisco la domanda, comunque il merkerbyte è una variabile (se hai dimestichezza di visual basic ecc)quindi L MB30 significa carica il valore del MB30 in accumulatore 1e sposta accu1 in accu2l kf +0 significa carica in accu1 il valore 0 e sposta accu1 in accu2 (quindi hai in accu2 il valore di MB30 e in accu1 il valore 0)><F significa metti a 1 RLC(risultato logico combinatorio) se accu1 è diverso da accu2Spero che tu sappia che cosa è RLC Link al commento Condividi su altri siti More sharing options...
adross Inserita: 11 maggio 2006 Segnala Share Inserita: 11 maggio 2006 Vuoi dire come viene usato in lettura o come viene scritto?Se non vado errato, il segmento è fatto per LEGGERE il MB30.Chi Carica, (SCRIVE) il MB30 non è stato indicato. Link al commento Condividi su altri siti More sharing options...
idrive Inserita: 11 maggio 2006 Autore Segnala Share Inserita: 11 maggio 2006 Ciao anche a te montagner.scusatemi ma posso visualizzare il mb30?e come lo gestisco?ovvero un'ingresso so quando lo mando alto, l'Mb30 in che modo stabilisco il valore che ha, nel segmento lo pone diverso da zero per che si verifichi la presenza dell'uscita(a meno di E 2.1) ma potrebbe essere anche zero. Io dovrei comunque saperlo al momento che creo il programma. come? Link al commento Condividi su altri siti More sharing options...
idrive Inserita: 11 maggio 2006 Autore Segnala Share Inserita: 11 maggio 2006 ciao adros scusami non avevo letto la tua risposta in effetti cerco proprio chi scrive il mb30 ma non so dove trovarlo, mi puoi aiutare? Link al commento Condividi su altri siti More sharing options...
adross Inserita: 11 maggio 2006 Segnala Share Inserita: 11 maggio 2006 E' da molto tempo che non uso lo step5.A memoria non sono in grado di aiutarti con precisione.Esiste all'interno dello step5 una funzione di ricerca incrociata delle chiamate agli elementi di programma.La lista una volta elaborata visualizza tutti i segmenti nei quali è chiamato in causa il mb30, (o altro elemento del programma).Un MB può essere scritto sia nella modalita di trasferimento di un blocco dati, sia come inserimento di un singolo bit risultante da un risultato logico. Esempioload kf50,tranfer mb30carica il valore numerico 50 decimale nel mb30.Altro esempio U E0.0 = m30.0Pone un nel bit 0 del mb30 se l'ingresso E0.0 è a uno.Ora che si è capito cosa cerchi, sono sicuro che altri amici sapranno darti spiegazioni più precise sulle funzioni di ricerca nello step 5. Link al commento Condividi su altri siti More sharing options...
emanuele.croci Inserita: 12 maggio 2006 Segnala Share Inserita: 12 maggio 2006 Il crossreference dovrebbe essere il tasto F2 (vedi anche l'. in fondo alla pagina).Apri il blocco di programma dove hai MB30, ci vai sopra e premi F2, ti dà tutti i punti in cui è usato MB30 e anche chi lo carica (L MB30).Ci vai sopra e premi enter.Ti posiziona all'inizio di un blocco: premi F3 per la ricerca all'interno del blocco e te lo mostra.E' un po' astruso ma che ci vuoi fare....Ciao, Emanuele Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 12 maggio 2006 Segnala Share Inserita: 12 maggio 2006 Ciao idrive,Dunque, per cambiare lo stato del valore contenuto nella MB30 lo fai da programma oppure "forzando" la variabile, sempre in funzionamento ON line, of course. Per il primo, beh potrebbe essere da OB21-OB22 (vedi manuali) quindi ..OB21-OB22L KB +1T MB 30BEPer il secondo ti colleghi alla CPU e nella pagina della predisposizione imposta il tipo di funzionamento ON e poi conferma con F6.Seleziona FUNZ-AG(F4) e poi FORZAM-VAR(F6), OPERANDI :ne scrivi 2 righe per MB30, FORMATI: uno in KM(binario) l'altro in KF (decimale) oppure KH(hex.).Poi sovrascrivendo la MB30 ed accettando forzi il valore della variabile.Se non puoi andare ON LINE, e quindi lavori OFF LINE, allora dovresti fare dei forzamenti virtuali.......non ti dimenticare d'usare l'immaginazione, e' molto importante. Link al commento Condividi su altri siti More sharing options...
idrive Inserita: 17 maggio 2006 Autore Segnala Share Inserita: 17 maggio 2006 grazie a tutti voi ora mi sembra chiaro come forzare una variabile e come usare il crossreference in effetti mb30 viene fuori da ll'inserimento dei merker da 30.1 a 30.6 ognuno dei quali e dato da un espressione tipoL Z0L kF 7!=F=M 30.1varia solo il volore della costante di confrontoil valore dell MB30 è dato dalla somma dei singoli merker? Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 17 maggio 2006 Segnala Share Inserita: 17 maggio 2006 effetti mb30 viene fuori da ll'inserimento dei merker da 30.1 a 30.6 .........il valore dell MB30 è dato dalla somma dei singoli merker?No. :ph34r: Viene data dalla corrispondenza tra i formati di rappresentazione stabiliti per le variabili, quindi seM 30.1 e M 30.6 hanno stato =1 allora:MB30[binario] = 01000010 // il primo bit a destra e' il M 30.0 e cosi' via.MB30[decimale] = 66MB30[essadecimale] = 42Ti suggerisco di leggere riguardo a rappresentazione binaria dell'informazione Link al commento Condividi su altri siti More sharing options...
batta Inserita: 17 maggio 2006 Segnala Share Inserita: 17 maggio 2006 il valore dell MB30 è dato dalla somma dei singoli merker?No. MB30 contiene il valore in binario. Ovvero:M30.0 = 2^0 = 1M30.1 = 2^1 = 2M30.2 = 2^2 = 4M30.3 = 2^3 = 8M30.4 = 2^4 = 16M30.5 = 2^5 = 32M30.6 = 2^6 = 64M30.7 = 2^7 = 128Il valore in decimale lo ottieni sommando il valore corrispondente dei bit nello stato ON.In decimale il campo di valori (senza segno) è da 0 a 255.Forse ti conviene approfondire le tue conoscenze del sistema binario ed esadecimale. Link al commento Condividi su altri siti More sharing options...
idrive Inserita: 17 maggio 2006 Autore Segnala Share Inserita: 17 maggio 2006 ok è tutto chiaro, mi sono scaricato la lettura che mi hai consigliato Savino (rappresentazione binaria dell'informazione) in modo da ampliare le mie conoscenze in meritoGrazie a tutti. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 18 maggio 2006 Segnala Share Inserita: 18 maggio 2006 (modificato) Ciao Idrive,effetti mb30 viene fuori da ll'inserimento dei merker da 30.1 a 30.6 .........il valore dell MB30 è dato dalla somma dei singoli merker?No. :ph34r:Mi sa forse dovrei darti le mie scusse....... magari avevi voluto dire dalla somma dei numeri decimali che corrispongono alle posizioni dei bits con valori =1.Quindi, come da sopra, ricavi:MB 30 = 01000010 [bin]M30.1 = 2^1 = 2M30.6 = 2^6 = 642+64=>MB 30 = 66 [decimale]Saluti Modificato: 18 maggio 2006 da Savino Link al commento Condividi su altri siti More sharing options...
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