Vai al contenuto
PLC Forum


Impostare valori a variabili analogiche da HMI


EsseCi60

Messaggi consigliati

Ciao a tutti ,
volevo chiedere un consiglio :

Ho un progetto su TIA v13 /PLCSIM v13 con PLC (1516 -3 PN/DP) ed HMI (KTP 1000 Basic) collegati tra loro.
Volevo far si che da HMI io potessi impostare dei valori a delle variabili analogiche sul PLC (IW0-IW2 ecc.)
Ho in un FB le 3 variabili (%IW0-%IW2-%IW4) che ritrovo anche nel corrispondente DB impostate nel campo "input" con i flag attivati su "accessibile e visibile da HMI"
Ho inserito in una pagina del progetto 3 campi I/O settati su "ingressi/uscite" ma nel runtime , inserendo dei valori , questi appaiono e scompaiono immediatamente.
Se invece imposto i campi su "ingressi", il valore scritto rimane , ma non viene trasferito al PLC.
Se invece faccio il contrario : ovvero faccio una forzatura ai valori delle variabili dal PLC, nei campi dell HMI io leggo i valori che ho inserito dalla tabella delle forzature.
Questo mi lascia pensare che (forse) la comunicazione funziona .

Nei campi I/O ho settato "variabile" sia prendendo i valori dalla tabella della variabili del PLC (%IW0 ecc...), sia prendendoli dalla tabella variabili dell HMI, che dal DB del PLC ma il risultato non cambia.

 

Inoltre ho notato che andando on-line con il PLCSIM, con il PLC , TIA mi segnala un errore "sconosciuto" :

"Errore della CPU: Errore di salvataggio/ripristino dei dati: Dati a ritenzione persi 
 stato di funzionamento CPU attuale: STOP (inizializzazione) 
 > HW_ID=    50 - Control di memoria di caricamento
"


Io non ho settato niente come valori da ritenere : è solo un avviso o ha un significato diverso?

Se invece collego on line il pannello, TIA mi segnala un errore "guasto" .
Nella diagnostica, l'unica cosa che vedo come problema è, nella sezione "resetta alle impostazioni di fabbrica"  la mancanza dell'ID MAC (è segnalato in arancione ed ha  00.00.00.00.00)
Inserendolo (lo trovo nelle caratteristiche del pannello) mi scrive che "l'indirizzo multicast non è ammesso come indirizzo MAC"

(Come dicono a Bolzano  : ma che vor dì?)


Avete una idea di dove sbaglio?

 

Grazie anticipate a chi ha avuto la pazienza di leggermi.

EsseCi

Link al commento
Condividi su altri siti


Salve ragazzi

Per poter fare quello che dici ( ne ho avuto lanecessità tempo fa ) devi creare una parte di programma per la simulazione in modo che intercetti gli ingressi fisici e trasferisca il valore di simulazione al tuo programma  , io feci degli switch analogici e degli switch digitali  che venivano attivati per la simulazione , altrimenti se hai creato dei tuoi blocchi puoi inglobare al loro interno la parte simulazione , provenendo io da PCS7 i  SIEMENS i vari blocchi avevano già la parte simulazione interna..

 

 

 

Link al commento
Condividi su altri siti

Si ma devi creare delle variabili che imposta ad HMI, poi quando vuoi simulare, crei un blocco dove vai a scrivere i valori della tua variabile nell'ingresso analogico.

Importante che questo blocco lo fai eseguire come primo blocco del programma se no rischi che una parte di programma lo esegui con i valori dell'ingresso una parte lo esegui con i valori modificati.

Anchio, nei miei blocchi ho già integrato una parte di simulazione, ma io simulo i valori già scalati e non l'ingresso diretto.

Link al commento
Condividi su altri siti

Avete ragione, scusate ma ho fatto confusione nella mia richiesta. In realtà io voglio passare dei parametri da HMI ad un modulo di comparazione in una FB. Per esempio un setpoint che viene confrontato con l'ingresso analogico fisico. Fin ora ho sempre impostato questi valori nel DB, ma non so perchè con TIA non me lo fa fare. Del resto sto scoprendo altre cose stranissime. Ho provato a fare una banalissima autoritenuta, ma il contatto di autoritenuta, pur essendo la bobina energizzata, rimane a 0.Se continua così credo che ritornerò al FANUC :wacko:. Comunque grazie per i vostri contributi.

Link al commento
Condividi su altri siti

Stai sbagliano qualcosa, una autoritenuta funziona.

Il TIA lavora con il simbolico, al pannello operatore devi passare la variabile non con l'indirizzo ma con il nome.

Link al commento
Condividi su altri siti

grazie Alberto, io nella casella I/O clicco sulla casellina di ricerca,scelgo la DB e seleziono la varibile alla quale passare il parametro. Ma digitando il valore nel runtime nella DB non cambia il valore. Poi per il resto controllerò, ma sbagliare un autoritenuta è più difficile che farla bene

Link al commento
Condividi su altri siti

Quelle variabili che voglio passare da pannello non sono usate da nessuna altra parte.
Vengono solo scritte nei campi I/O dell'HMI.

Ed a proposito di autoritenuta ...sai spiegarmi il perchè succede questo?
Forse il TIA non vuole il contatto di autoritenuta sullo stesso rung? :wacko:

Autoritenuta.jpg 

Link al commento
Condividi su altri siti

Intanto per l'autoritenuta il secondo segmento non serve il resto è corretto, no è che nelle impostazioni hW il merker M0.0 lo hai usato come bit di sistema es Alw Off o un clock?

Prova a cambiare merker.

Link al commento
Condividi su altri siti

Il secondo segmento l'ho messo solo per prova ed ho visto che funziona.
Il contattodi M0.0 in OR al pulsante di start non va a 1 nemmeno se gli cambio il merker. ( ne ho provati diversi)
E non ho alcuna merker settato nella CPU.
Rimango perplesso...:wacko: 

Link al commento
Condividi su altri siti

si, grazie.

ma la bobina dul rung 2 l'ho messa  solo di prova per far notare che lì funzionava e sopra no.
Ed il merker l'ho cambiato, ma non va lo stesso.
Troppe cose che non tornano in questo TIA.

Link al commento
Condividi su altri siti

Controlla nella tabella di occupazione di non aver sovrapposto dei merker ...... al limite prova a fare un nuovo programma deve funzionare...!! 

Che il tia non sia il massimo sono d'accordo ...... ma non riuscire a settare un merker mi sembra eccessivo :blink:

Il tia lo uso dalla versione 10 , e devo dire che le prime versioni erano abominevoli ......ma dalla 13 le cose vanno decisamente meglio

Link al commento
Condividi su altri siti

Buongiorno e grazie per la tua risposta,

da M0.0 a M7.7 non va. Se inserisco da M8.0 in poi la cosa sembra funzionare.
Ma ritengo ci sia qualcosa che mi sfugge
Non ho alcun valore doppio nelle tabelle e non ho alcun merker settato nella CPU.

Ora sta diventando una questione di principio, anche perchè con un S/R risolverei al volo
Grazie comunque.

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