Stefano Sormanni Inserito: 9 agosto 2006 Segnala Inserito: 9 agosto 2006 Passando da PL7 a Unity ho notato che i caricamenti di numeri interi su word non sono più condizionati, ovvero prima potevo fare:LD [%MW200 > 1][%MW100:=0]adesso non lo posso più fare, sto sbagliando io oppure è vero?NB. non ditemi di chiamare "pronto contatto" in quanto il linguaggio IL lo conoscono poco.......
nibble Inserita: 29 agosto 2006 Segnala Inserita: 29 agosto 2006 Ciao Stefano, è vero al "pronto contatto" conoscono poco il derivato dell'Assembler definito IL dalla normaIEC 61131....forse perchè non così "naturalmente" vicino alla logica di pensiero "elettrico"...In effetti anch'io non lo conosco bene, e non lo uso da tantissimo tempo, però sbirciando tra le righedel . di Unity ho trovato che ... * istuzione di confronto: PL7--> LD [%MW200>1] Unity--> LD %MW200 ...... GT 1 ...... * istuzione di assegnazione: PL7--> [%MW100:=0] Unity--> LD 0 MOVE ST %MW100Indi per cui, una semplice iterazione che in ST (Letterale Strutturato) potrebbere essere scritta così IF %MW200>1 THEN %MW100:=5; ELSE %MW100:=-5; END_IF;scritta in IL diventerebbe qualcosa di simile:LD %MW200GT 1ST %M0LD %M0JMPC pippoLDN %M0JMPC plutopippo: LD 5 MOVE ST %MW100 JMP minnipluto: LD -5 MOVE ST %MW100 JMP minniminni: .....ByeNibble."...a volte ritornano! :ph34r: "
rddiego Inserita: 30 agosto 2006 Segnala Inserita: 30 agosto 2006 non c'è un'istruzione "MOVE" questo è un blocco funzione della libreriaST ha proprio quel significato : trasferire il valore dell'accumulatore nella variabile (che deve essere dello stesso tipo)p.es. LD 0ST %MW0assegna 0 alla variabile intera LD 0ST %M0assegna 0 alla variabile bool
walterword Inserita: 30 agosto 2006 Segnala Inserita: 30 agosto 2006 L'istruzione ST ha il significato di "Store " , immagazzina e come in questo caso e' uguale all'istruzione T (Transfer) di step 7
nibble Inserita: 31 agosto 2006 Segnala Inserita: 31 agosto 2006 E' vero RDDIEGO ha ragione, si può evitare di utilizzare la funzione MOVE per "trasferire/assegnare" il valore(INT o BOOL) alla variabile, quindi nell'esempio da me indicato basta eliminare l'istruzione MOVE.Quanto sopra "conferma" la mia scarsa conoscenza del linguaggio IL !!!
Stefano Sormanni Inserita: 2 settembre 2006 Autore Segnala Inserita: 2 settembre 2006 ho ricevuto la risposta di pronto contatto che a sua volta ha contattato la feancia, la quale ha risposto che in base alla direttiva 61131 va fatto il salto con il jump:LD %MW100GT 1JMPCN LABEL1LD 10ST %MW100LABEL1:Bella fregatura......
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