Vai al contenuto
PLC Forum


test array_0...3 / INT >< 0


Messaggi consigliati

Inserito:

buona sera.

come screen shot allegato, vorrei testare che almeno una delle 4 DW abbia assunto il valore diverso da zero.

In allegato gli array da testare.

Grazie per il supporto. Ciao.

array.png


Inserita:

Tempo fa  risposi ad una discussione simile

Puoi fare una cosa del genere.

Crei un fc nuovo e incolli questo codice:

 

Interfaccia dell'fc:

IN:

OefkXbt.png

OUT:

iWLyLnM.png
TEMP:

xQtuKiw.png

TEMP:BITSUM:

r0z6s6y.png

      UN    #TRIGGER
      SPB   END
      L     0
      T     #WORD_DIVERSE_DA_0
      T     #BIT_TOTALI_A_1
      L     P##START_ADDR
      LAR1  
      L     W [AR1,P#0.0]
      T     #NUM_DB
      L     D [AR1,P#2.0]
      LAR1  
      AUF   DB [#NUM_DB]
LOOP: L     DBW [AR1,P#0.0]
      L     0
      <>I   
      SPBN  _0
      L     #WORD_DIVERSE_DA_0
      +     1
      T     #WORD_DIVERSE_DA_0
      L     DBW [AR1,P#0.0]
      T     #APP
      L     0
      T     #APP_B_1
      L     #APP
      T     #BITSUM.CNT
A001: L     0
      L     #BITSUM.CNT
      ==D   
      SPB   A002
      SRD   1
      T     #BITSUM.CNT
      SPZ   A001
      L     #APP_B_1
      L     1
      +I    
      T     #APP_B_1
      SPA   A001
A002: NOP   0
      L     #APP_B_1
      L     #BIT_TOTALI_A_1
      +I    
      T     #BIT_TOTALI_A_1
_0:   NOP   0
      L     #SW_EXEC
      +     1
      T     #SW_EXEC
      L     #LENGHT
      L     #SW_EXEC
      ==I   
      SPB   END
      +AR1  P#2.0
      SPA   LOOP
END:  SET   
      R     #TRIGGER

Da ob1 o da dove preferisci, richiami l'fc appena creato, così:

DMVpEGd.png

(come lunghezza ho messo 24 visto che hai 24 word complessive, ma puoi spezzare come preferisci

 

xa2Z4je.png

 

Poi semplicemente ti basterà fare un confronto.

L MW18 (word diverse da 0)

L 0

<>I

= operazioni

 

Con questo fc puoi controllare in automatico se hai word diverse da 1 per qualsiasi lunghezza tu voglia controllare.

 

Altrimenti, ti fai i confronti singoli.

L Word1

L 0

<>I

= operazione

 

L Word2

L 0

<>I

= operazione

etc etc

 

Ciao!

 

Inserita:

C'era la FC di Batta già fatta che faceva la stessa cosa.... bisogna solo trovarla nel forum cioè qui sotto:

 

Inserita:

Avevo già segnalato a suo tempo la cosa, i link di quel topic non vanno più!

Inserita:

Purtroppo ci sono stati almeno 4 aggiornamenti del forum, l'ultimo solo un paio di settimane fa. Ad ogni aggornamento si perde sempre quekche cosa molto antica.:angry:

 

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