Vai al contenuto
PLC Forum


314c-2DP con 6 nodi -1


JumpMan

Messaggi consigliati

Ho un problema con una cpu 314C-2DP collegata a 5 nodi ET200S + un OP7.

Il problema è questo: La macchina dovrebbe avere 6 nodi, ma 1 è solo previsto (verrà montato in futuro), solo che il software deve essere già predisposto anche per quel nodo, nel senso che ci sarà un bit in una pagina riservata dell'OP7 per abilitare quel nodo.

1) In configurazione hardware sono obbligato a programmarlo.

2) Il plc viene configurato per "avvio con configurazione diversa..."

In questo modo, l'impianto funziona anche senza il nodo mancante, ma mi crea 3 problemi:

P1) Il plc si avvia anche se mancano 2 o più nodi !

Questo problema l'ho risolto in maniera un pò grossolana (non so se ci sono modi migliori):

- In OB100 ho inserito del codice che accede ai PEB dei nodi, in questo modo se non sono presenti il plc va in stop (con segnalazione del nodo guasto sull OP).

P2) Il plc ci mette troppo tempo ad'avviarsi (circa 100 sec.) per cui l'OP7 in tutto quel tempo mi può visualizzare variabili errate o testi sbagliati.

Questo problema NON l'ho risolto, ho letto e riletto l'. in linea per quanto riguarda l'impostazione dei tempi massimi di risporta dei nodi, ho provato a impostarli al minimo o al massimo ma non cambia niente (i tempi sono nella form dove si imposta "avvio con configurazione diversa..."). Secondo l'. in linea se la cpu non ottiene risposta dalle periferiche entro il tempo impostato dovrebbe passare in stop oppure in run a seconda dell'impostazione fatta nella variabile "avvio con configurazione diversa...", ma la mia CPU ci mette sempre 100 secondi per avviarsi !!!!!

P3) Per un motivo che non ho ancora capito, se io disalimento il circuito 24VDC questa cpu riesce ancora a fare dei cicli, vede quindi tutti gli ingressi a 0 e mi setta molti bit di allarme (che per ora sono in una DB). All'accensione successiva,durante i fatidici 100 secondi, l'OP mi visualizza (giustamente) gli allarmi finchè la cpu non riesce ad'andare in run e azzerarli.

Questo lo potrei anche risolvere mettendo i bit degli allarmi nell'area M (non ritenitiva), ma secondo me non è normale che il programma giri ancora dopo che ho spento l'interruttore....

Saluti a tutti

Modificato: da JumpMan
Link al commento
Condividi su altri siti


Federico Milan

Strano ...

però la CPU314C usa una flash memory card, forse avrà un suo condensatore tampone per salvare i dati e quqesto spiegherebbe quello che succede ...

Se non erro, potresti usare gli OB per trovare qule hardware manca ...

una soluzione al tempo lungo di avvio potrebbe essere quella di avere un'abilitazione ad eseguire il programma solo dopo l'avvenuta parametrizzazione della CPU, ... detta terra terra in OB1 metti un contattore, solo dopo 100s abilita l'esecuzione del programma, se ti manca tensione non hai più l'abilitazione e così blocchi il programma ...

ciao

Link al commento
Condividi su altri siti

Se non ho capito male tu vuoi avere la possibilità di gestire degli Slave DP in maniera dinamica, cioè vuoi avere la possibilità di aggiungere o togliere degli Slave DP daa programma senza che la CPU vada in Bus Fault.

La Siemens, mediante la funzione di sistema SFC12 (D_ACT_DP) ti permette di attivare o disattivare via software uno o più Slave DP. In questo modo tu puoi mantenere una configurazione hardware sempre uguale e corrispondente alla massima configurazione hardware possibile e poi mediante una chiamata alla SFC12 nel programma puoi disattivare gli Slave DP che sull'impianto non sono presenti. Stesso discorso vale se vuoi successivamente riattivare gli Slave DP.

Gli Slave DP non attivi vengono ignorati dalla CPU come se non fossero presenti nella configurazione hardware.

CIAO

Link al commento
Condividi su altri siti

Io ho già utilizzato l'SFC12 con una cpu 318-2DP; gli slave DP in effetti li disabilita ma come contro il led SF del processore rimane acceso ed il tempo di scansione è notevolmente più alto rispetto a quello normale (e cioè quando sono presenti tutti i nodi Profibus). Poi, se non ricordo male, dalla diagnostica della cpu continuerai a vedere degli errori di accesso alla periferica; questo si verifica se hai usato degli I/O periferici (PEW, PAW).

Ciao

Link al commento
Condividi su altri siti

La funzione SCF12 non ho mai avuto occasione di usarla, quello che ti ho descritto è la funzionalità cosi come è dichiarata dalla Siemens. E' chiaro che se disattivi uno Slave DP non devi più andare a scrivere o a leggere su quello Slave, cosa che puoi gestire benissimo via software.

Di seguito ti elenco quello che scrive la Siemens:

DOMANDA

Come si può disinserire (disaccoppiare) uno slave senza che in OB 86/OB 122 compaia una registrazione di errore?

RISPOSTA

Un caso applicativo frequente per questa esigenza è uno slave che per motivi tecnologici non si trova costantemente sul bus. Ora per togliere lo slave dalla lista di richiamo del master, occorre richiamare il blocco funzione di sistema SFC 12 in un OB o in un FB. Lo SFC 12 è un blocco dati di sistema e fa parte delle funzionalità della CPU.

Se uno slave DP è stato disattivato con lo SFC 12, di conseguenza le sue uscite di processo vengono impostate sul valore sostitutivo 0 (stato sicuro) opp. esse assumono il comportamento di valore sostitutivo progettato. Il master DP corrispondente successivamente non chiama più questo slave DP. Slave DP disattivati NON VENGONO CONTRADDISTINTI SUL LED DI ERRORE DEL MASTER DP opp. della CPU come mancanti opp. in anomalia. Se uno slave è disattivato, non hanno luogo registrazione di errore nel buffer di diagnostica.

In caso di accessi lato utente su stazioni disattivate, compaiono errori di accesso. Stazioni disattivate possono essere eliminate senza che il fuori servizio stazione venga riconosciuto oppure senza che nascano errori di accesso nell'aggiornamento dell'immagine di processo.

P.S.

Nella nota Siemens si indica anche che la funzionalità è disponibile sulle CPU 318-2 DP dal firmware V1.2.0

CIAO

Link al commento
Condividi su altri siti

Federico Milan

Si ma la 318 non è altro che un 400 mascherato da 300 :) ... quindi bisogna vedere se sulla 314C c'ìè questa opzione ...

Link al commento
Condividi su altri siti

Di seguito le CPU Siemens che supportano la funzione SFC12

CPU Listino N. Limitazioni

CPU 313C-2 DP 6ES7 313-6CE00-0AB0 nessuna

CPU 314C-2 DP 6ES7 314-6CF00-0AB0 nessuna

CPU 315-2 DP 6ES7 315-2AF03-0AB0 nessuna

CPU 315-2 DP 6ES7 315-2AG10-0AB0 nessuna

CPU 315-2 DP (T) 6ES7 315-2AF83-0AB0 nessuna

CPU 315F-2 DP 6ES7 315-6FF00-0AB0 nessuna

CPU 315F-2 DP 6ES7 315-6FF01-0AB0 nessuna

CPU 316-2 DP 6ES7 316-2AG00-0AB0 nessuna

CPU 318-2 DP 6ES7 318-2AJ00-0AB0 dal firmware V1.2.0

CPU 412-2 6ES7 412-2XG00-0AB0 da V3.0

CPU 414-2 6ES7 414-2XG03-0AB0 dal firmware V3.0

CPU 414-3 6ES7 414-3XJ00-0AB0 dal firmware V3.0

CPU 416-2 6ES7 416-2XK02-0AB0 dal firmware V3.0

CPU 416-3 6ES7 416-3XL00-0AB0 dal firmware V3.0

CPU 417-4 6ES7 417-4XL00-0AB0 dal firmware V3.0

WinAC Slot PCI 412 6ES7 673-2CC00-0YX0 dal firmware V3.0

WinAC Slot PCI 416 6ES7 673-6CC20-0YX0 dal firmware V3.0

CIAO

Link al commento
Condividi su altri siti

Ho provato la SFC12, funzia !

(grazie Scipione per la segnalazione, e pensare che prima di leggere il tuo post avevo chiamato la hotline che mi ha detto: ci sarebbe SFC12 ma funziona solo sui 400 !!!).

Solo che non sapevo dove mettere il richiamo, quindi l'ho messo in OB100:

// Esclusione nodo 70:
      L     70
      T     #wTemp1
L1:   CALL  "D_ACT_DP"
      REQ    :=TRUE
      MODE   :=B#16#2
      LADDR  :=#wTemp1
      RET_VAL:=#wTemp2
      BUSY   :=#Busy

      U     #Busy
      SPB   L1

Ora il plc non mostra più i led rossi SF e BF, ma mi rimane il problema dei 100 secondi all'accensione. Non capisco perchè la cpu debba aspettare tutto questo tempo prima di decidersi se andare in run o stop (durante questo tempo i led sembrano un'albero di natale).

C'è forse qualche OB in cui inserire SFC12 che parte prima di OB100?

OB100 parte dopo i fatidici 100 secondi e mi rimane il problema dei falsi allarmi (che l'op va a leggersi dalle DB anche se io tengo bloccato OB1 per 101 secondi).

Ho tratto comunque una conclusione:

- SFC12 mi va comunque bene per spegnere i led rossi ed eventuali STOP per assenza nodo

- Mi sa che questo PLC usa la MicroMemoryCard in questo modo (è solo una mia supposizione):

...All'accensione copia le DB dalla MMC alla RAM

...L'OP7 e la CPU scrivono e leggono dalla RAM

...Allo spegnimento c'è un condensatorone (sta mania della Siemens) che permette alla cpu di ricopiare tutte le DB (e i dati ritenitivi) dalla ram alla MMC.

Solo che si sono dimenticati di stoppare il programma utente che continua a leggere gli ingressi disalimentati e settare i bit di allarme.

Quando riaccendo il quadro, il plc fa l'albero di natale per 100 sec. e l'op mi mostra gli allarmi fasulli, quando il plc va in run tutto torna normale.

L'unica soluzione è che il plc vada in run prima dell'OP, o sarò costretto a fare i puntatori area dell'OP nei M non ritenitivi.

(A proposito, dove iniziano quelli riservati agli SFB ?)

Link al commento
Condividi su altri siti

Federico Milan

Quello che hai descrito in teoria dovrebbe essere quello che succede, infatti se guardi il diagramma delle CPU-ram-flash del datasheet non si può altro che estrapolare questo ...

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao JumpMan,

per il discorso allarmi ... potresti (se ne hai il modo) utilizzare un ingresso libero della logica connesso con l'alimentazione della CPU, con questo segnale puoi abilitare o disabilitare tutti quegli errori (allarmi, ma anche altri) quando la CPU è un shutdown ...

Se hai modo di sperimentare il sistema dammi un feedback se è una soluzione comoda e pratica ... o magari se ce ne sono di meglio.

Ciao

Link al commento
Condividi su altri siti

se guardi il diagramma delle CPU-ram-flash del datasheet
I datasheet sarebbe anche bello averli !

per il discorso allarmi ... potresti (se ne hai il modo) utilizzare un ingresso libero della logica connesso con l'alimentazione della CPU

Potrebbe essere una buona idea, appena posso faccio delle prove e ti farò sapere l'esito.

metti in ob100 il reset degli allarmi

Troppo facile, nel mio caso OB100 parte dopo 100 secondi come ho già scritto, l'OP7 visualizza gli allarmi per quasi un minuto !

Qualcuno sa dirmi se c'è un OB (anche di errore) che parte prima di OB100 in cui inserire SFC12?

Qualcuno sa se gli sfc usano dei merker? Io ho sempre pensato che questo fosse solo con S5 ! Se io fossi la Siemens avrei riservato una zona di memoria indipendente per gli SFC/SFB ! Spero che in S7 sia così.

Ciao e grazie a tutti

Link al commento
Condividi su altri siti

Prova a ribaltare la situzione: al posto di far partire in fretta la cpu, perchè non fai partire "lentamente" l'OP?

Mi spiego: la soluzione più spartana è alimentare l'OP (tramite relè) con una uscita comandata dalla cpu.

In questo modo, parte a ciclare il tuo programma e dopo un tempo di ritardo che decidi tu, abiliti l'uscita e quindi alimenti il pannello; così facendo hai già avuto tempo di reimpostare tutti i merker degli allarmi e testare tutte le condizioni del caso. Oppure (e qui forse dovresti spiegarti meglio su come hai realizato il programma dell'OP), supponiamo che tu abbia definito un puntatore area per gli allarmi e il tuo OP ad intervalli ciclici legga i dati sulla cpu; perchè invece non consideri di comandare la lettura degli allarmi dell'OP tramite la cpu?

Se opti per questa strada, devi definire un puntatore di area (che varia in base alla tipologia dell'OP sia come "nome" che dimensione - di solito da 4 a 16 word) per comandare il pannello da plc. In questo modo, però, devi implementare sul plc oltre che all'impostazioni di una word (per definire l'operazione del pannello ed "n" parametri, se necessari) anche intercettare il fronte di salita di tutti gli allarmi per dire tempestivamente al pannello di leggerli. In alternativa, se non hai necessità di risposta immediata dell'OP, puoi sempre comandare la lettura degli allarmi da cpu inviando il comando al pannello a tempi ciclici (ad esempio 2000ms) indipendentemente dallo stato degli allarmi. Spero di esserti stato utile.

Ciao e buon lavoro

Link al commento
Condividi su altri siti

Ciao Jumpier

La tua 1^ soluzione è sicuramente funzionante, il rovescio della medaglia è che se il plc non va in run, l'op non si accenderà mai e quindi non potrà visualizzare alcuni "messaggi" diagnostici.

(prima di andare in stop il mio plc invia un ordine di cambio pagina all'op il quale visualizzerà una pagina con una variabile testo multiplexato, p.es. "NODO 20 ZONA CENTRALE IDRAULICA GUASTO").

Per la tua 2^ soluzione credo tu intenda che la gestione degli allarmi sia fatta su di una pagina la quale viene richiamata dal plc con un ordine di cambio pagina, ebbene il mio progetto è già così (non l'ho scritto prima xchè il mio post mi sembrava già incasinato). In ogni caso, gestione allarmi tradizionale o costruita, sembra che questo tipo di cpu 314C (che a detta della Siemens è più veloce del 315) riesca a effettuare dei cicli dopo che la si è disalimentata, e vedendo tutti gli ingressi a 0 o setta i DBX di allarme (gestione tradizionale) o invia il comando di cambio pagina per il richiamo della pagina degli allarmi (in caso di gestione allarmi da plc).

Al successivo riavvio del sistema, se al cpu va in run prima dell'OP bene, altrimenti saranno visualizzati gli allarmi !

Ho provato anche a fare come dice Gabriele, ma ci vorrebbe un ingresso che cade prima di tutti gli altri (forse utilizzando E126.x ?).

Comunque la soluzione finale da me adottata è questa:

- Gestione allarmi da PLC con FB che:

.....Rileva il fronte degli allarmi

.....Memorizza in 10 word il nr. dei primi 10 allarmi attivi

.....Scansiona le 10 word ciclicamente per visualizzare un'anomalia alla volta (sui pannelli piccoli)

- Pagina sull'OP7 con variabile di testo multiplexato (che visualizza un'allarme ogni 2 sec.)

- Puntatore area della comunicazione OP7 (quello con il buffer degli ordini) sui merker MW200-215, in questo modo si azzera l'ordine e la pag.allarmi non viene visualizzata.

Per altre macchine dove ho la gestione standard degli allarmi non ho ancora pensato alla soluzione (il puntatore area degli allarmi richiederebbe troppi merker !).

Ciao a tutti e grazie per l'attenzione.

Link al commento
Condividi su altri siti

Gabriele Corrieri
JumpMan+10 Mar 2003, 10:28 PM-->
CITAZIONE(JumpMan @ 10 Mar 2003, 10:28 PM)

Ciao JumpMan,

perchè?

Se ti cade insieme ti abilita lo stesso gli allarmi? ... se il plc è alimentato da un alimentatore prova a mettere un relè in parallelo all'ingresso dell'alimentatore, il cui contatto NO o NC entra in un ingresso, così hai tutta la scarica dei condensatori per stoppare gli allarmi ...

Fammi sapere se provi ... e come ti trovi :)

Ciao

Link al commento
Condividi su altri siti

Guardando i led, a occhio :ph34r: sembra che si spengano tutti assieme, ma non è detto, non tutti i sensori rispondono allo stesso modo quando l'alimentatore si spegne...

se il plc è alimentato da un alimentatore prova a mettere un relè in parallelo all'ingresso dell'alimentatore, il cui contatto NO o NC entra in un ingresso, così hai tutta la scarica dei condensatori per stoppare gli allarmi ...

Probabilmente questa potrebbe essere una soluzione, il relè dovrebbe spegnersi quasi istantaneamente mentre l'alimentatore ha i condensatori che tengono su per un po' il carico, ma questo dipende anche da quanto "carico" è il carico...

Si potrebbe anche, prendendo spunto dal post di Jumpier, ritardare l'accensione dell'OP con un temporizzatore esterno (elettromeccanico o elettronico).

Comunque qui stiamo andando tutti in paranoia solo perchè la Siemens ha deciso che il plc deve fare l'albero di natale per un minuto alla ricerca dei nodi perduti. :angry::angry:

Io speravo invece di riuscire a far partire velocemente il plc anche senza il nodo !

Purtroppo il tempo a mia disposizione per le prove e' finito, la macchina va via con le soluzioni che vi ho descritto nel mio post precedente.

Grazie ancora , e alla prossima...

Link al commento
Condividi su altri siti

  • 5 years later...

Un saluto a tutti i partecipanti al forum.

Ho un problema e spero di poter avere un aiuto da chi ha più esperienza di me nel settore.

Qualche anno fa un elettricista fece la posa di 2 grandi tubi da 8 cm di diametro circa (simile au corrugato nero, solo + grande, di colore arancio e liscio all'interno) su una distanza di 15 metri in giardino, di fronte casa, in previsione della installazione di citofono e alimentazione motore per automatizzare il cancello sul passo carrabile. E' stato lasciato all'interno un filo di ferro come cordina per tirare i cavi da un capo all'altro.

Purtroppo dopo 5 anni e tante piogge, nel tubo interrato è entrata dell'acqua, e il filo di ferro si è arrugginito al punto da spezzarsi la settimana scorsa, quando ho tentato di portare dei cavi multipolari da casa al cancello esterno, dove tali tubi (canaline) confluiscono in un tombino.

Ho provato con una sonda di 20 metri di nylon da 4mm, ma mi sono accorto che dopo circa 5-6 metri l'inserimento della stessa, sia da un capo che dall'altro, si interrompe. Accade sia per un tubo che per l'altro. Ho il dubbio che l'ampio calibro delle canaline possa essere controproducente, nel senso che dopo qualche metro la sonda si adagi sulla superficie interna, creando dei 'grovigli' e opponendosi all'avanzamento. Cosa che sicuramente non sarebbe accaduta con tubo da 3 o 4 cm.

Ho provato a bagnare la sonda con: detersivi liquidi, sapone e grasso (in tempi diversi, dopo essere stata pulita), ma a nulla ha giovato.

Avete qualche idea? forse è il caso di usare un filo di acciaio? se si, quale tipo? che dimensione?

Peraltro non vorrei rompere la pavimentazione in cemento della strada che dal cancello arriva a casa, e sotto cui passano le tubazioni in oggetto.

Un saluto

Link al commento
Condividi su altri siti

Io un problema analogo lo ho risolto due volte in due modi diversi:

- Prima volta inserendo una bacchetta di ferro di quello utilizzato per amare il cemento diametro 6mm introdotta per il 90% ne ho saldata una seconda ed ho finito perchè erano cira 10mt e le bacchette 6mt.

Attaccata la sonda ho sfilato le bacchette tagliandole poi.

Per fare questo devi avere le bacchette (io avevo il cantiere aperto) ed l'attrezzatura, inoltre la possibilità di fare entrare nella guaina la bacchetta abbastanza planare altrimenti è un casino.

- Seconda volta avevo a disposizione del cavo 3x1,5mmq di tipo navale, quello con i trefoli semirigidi, ed ho utilizzato quello come sonda.

Da questa esperienza ritengo che qualunque installatore (io mi sono fatto dei lavori a casa mia sia chiaro non installo normalmente) ti possa consigliare di usare le sonde idonee so che ne esistono di metallo ricoperte in plastica........

Buon lavoro !

Link al commento
Condividi su altri siti

grazie per i suggerimenti.

Purtroppo i tubi compiono 2 belle curve con un raggio di 50 cm almeno in testa e in coda. Inoltre i punti di ingresso sono rispettivamente in un tombino di 35 cm di lato, e in una scatola in casa ancora + piccola, con imbocchi ad angolo retto.

A questo punto ritengo che si tratti di usare la seconda soluzione. Come sono fatti questi trefoli semirigidi?

Grazie ancora

Antonio

Modificato: da tony_martino
Link al commento
Condividi su altri siti

Puoi trovare, nei magazzini di fornitura di materiale elettrico, delle sonde più rigide delle solite classiche che si trovano normalmente.

Io le ho viste e dovrebbero risolverti il problema.

Ciao,

Virginio

Link al commento
Condividi su altri siti

Avete qualche idea? forse è il caso di usare un filo di acciaio? se si, quale tipo? che dimensione?

Ho avuto lo stesso problema che hai descritto.

Ho provato con fili di ferro, sondini di plastica, sondini di metallo, ma si aggrovigliavano ed er impossibile arrivare all'ultimo pozzetto.

Fortunatamente mi sono ingegnato ed ho utilizzato del materiale che avevo a disposizione, un po' per disperazione.

Prova ad utilizzare un TUBO CORRUGATO DA 2O o da 25 a cui in fondo colleghi i cavi stessi. Questo tubo rigido ha il vantaggio di non aggrovigliarsi, di trasmettere più forza, di poter essere molto ben oleato e di scorrere bene.

Anche in presenza di curve, se non sono troppo stette riesce a passare, magari dopo due o tre tentativi.

Purtoppo la presenza del filo di ferro posizionato chissà dove e chissà come all'interno del cavidotto potrebbe aggrovigliarsi e fare da tappo, ma questo rientra nel fattore Q.

Uso sempre questo sistema e ne ho sempre tratto enorme beneficio.

Come scivolante uso del semplice ed economico ammorbidente scaduto che ho in cantina, ma spesso non ce n'è neppure bisogno. Usa uno stracio per stendere lo scivolante e per spingere la guaina.

Fammi sapere se la cosa funziona anche nel tuo caso.

Link al commento
Condividi su altri siti

le sonde per pozzetti sono di varie metrature e molto rigide (sono fatte apposta) di solito di colore arancione o giallo o nere.

visto che costano meglio chiederle in prestito al vostro amico elettricista :)

Link al commento
Condividi su altri siti

Cavolo, quella del tubo corrugato da 20 o 25 di sicuro costa relativamente poco, e in + facilita lo scivolamento con del sapone.

Di sicuro da provare....

Ho tentato anche di legare insieme a tratti 2 sonde, ma nulla da fare. Si aggrovigliano e si inarcano lungo il tubo, al punto da non scorrere.

Ma le sonde da pozzetto che diametro hanno? Ho provato a cercare in rete ma il massimo che ho visto è 4mm.

ciao

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