Vai al contenuto
PLC Forum


Unity Caricamenti Condizionati? - Istuction List


Stefano Sormanni

Messaggi consigliati

Stefano Sormanni

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.......

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao Stefano,

è vero al "pronto contatto" conoscono poco il derivato dell'Assembler definito IL dalla norma

IEC 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 righe

del . 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 %MW100

Indi 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 %MW200

GT 1

ST %M0

LD %M0

JMPC pippo

LDN %M0

JMPC pluto

pippo: LD 5

MOVE

ST %MW100

JMP minni

pluto: LD -5

MOVE

ST %MW100

JMP minni

minni: .....

Bye

Nibble.

"...a volte ritornano! :ph34r: "

Link al commento
Condividi su altri siti

non c'è un'istruzione "MOVE" questo è un blocco funzione della libreria

ST ha proprio quel significato : trasferire il valore dell'accumulatore nella variabile (che deve essere dello stesso tipo)

p.es.

LD 0

ST %MW0

assegna 0 alla variabile intera

LD 0

ST %M0

assegna 0 alla variabile bool

Link al commento
Condividi su altri siti

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 !!!

Link al commento
Condividi su altri siti

Stefano Sormanni

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 %MW100

GT 1

JMPCN LABEL1

LD 10

ST %MW100

LABEL1:

Bella fregatura......

:(

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...