Vai al contenuto
PLC Forum


Ns8 - Macro - Omron


stefanop

Messaggi consigliati

chiedo se qualcuno ha del materiale didattico da segnalarmi per progammare in modo avanzato le Macro dei pannelli dell serie NS. Il manuale spiega tutte le istruzioni ma con scarsi esempi.

saluti a tutti.

Link al commento
Condividi su altri siti


Non ho materiale didattico ma utilizzo gli NS ormai da un po' e ho acquisito una certa esperienza anche con le macro. Se mi dici che cosa di quello che vorresti fare non riesci a fare neanche dopo aver consultato il manuale, magari riesco ad aiutarti.

Ciao!

Link al commento
Condividi su altri siti

moltissime grazie per la disponibilità

Fino ad oggi, ho sempre trattato NS come terminale "stupido" operando sul PLC CJ1M11 come riferimento nei calcoli, comparazioni e memoria.

Ora, gli step cominciano a scarseggiare e dunque dovrei alleggerire il PLC da alcune operazioni ripetitive, come comparazioni su DM e salvataggio DM.

vado al dunque:

avrei la necessità di archiviare nel pannello valori (ore e minuti), compararle per poi settare un bit sul PLC.

tutto questo mi riesce semplice nel PLC, non posso dire altrettanto sul pannello.

Grazie ancora per la disponibilità.

Stefano

Link al commento
Condividi su altri siti

Credo tu possa risolvere in questo modo:

Supponiamo che hai 20 variabili e che queste variabili si trovano nel PLC (SerialA) a partire dal D100. Le leggi e le metti nella memoria del pannello a partire per esempio dal $W1000 con la seguente istruzione:

Con l'istruzione READCMEM($W1000,[serialA:DM100],20);

A questo punto gestisci i tuoi dati con dei controlli IF ELSE ENDIF tipo:

IF ($W1000>$W1001)

$B100=1; ' questo è il bit che setti

ENDIF

e così via.

Ah, se usi anche gli index register del pannello puoi gestire i controlli in modo potente (trovi come usarli sul manuale di programmazione)

Una volta fatti tutti i controlli utilizzi l'istruzione WRITECMEM (complementare della READCMEM) per scrivere i vari bit dal pannello. Ad esempio per scrivere 20 bit a partire dal W0.0:

WRITECMEM([serialA:WR00000.00],$B100,20);

Spero di esserti stato utile.

Ciao!

Link al commento
Condividi su altri siti

altro che sei sei stato utile!!

provo a mettere in pratica le tue istruzioni.

Mi scuso in anticipo, ma credo che avrò bisogno ancora di chiedere chiarimenti.

Insisto: oltre al manuale di Omron sulle maro, esiste qualche testo che spiegi il linguaggio di programmazione?

ciao e grazie.

Stefano

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