Vai al contenuto
PLC Forum


Contapezzi Con S7 226 Xm - Problema software con PLC S7 200


robertagrusso

Messaggi consigliati

Ciao a tutti,

ho un problema con il software di una macchina controllata con PLC S7 226 XM. Su questa macchina il PLC gestisce anche un contapezzi, che però arriva solo a 32768, dopodichè si resetta (è gestito cioè con numero intero relativo a 16 bit). Io però ho bisogno di un valore massimo più elevato, come posso fare? Alcuni softwaristi mi hanno detto che con gli S7 200 non è possibile, bisogna passare alla serie 300 che gestisce anche interi relativi a 32 bit. Non so se è vero, c'è qualcuno che mi può aiutare?

Grazie e salutoni a tutti.

Link al commento
Condividi su altri siti


Matteo Montanari

in tutta la serie 200, come pure nella 300 e 400, ma in quel caso il software è differente, puoi utilizzare il formato doppio intero, DINT o virgola mobile REAL.

nel menu operazioni sono divisi in matematica con numeri interi (word, dword, int e dint) e matematica con numeri reali (real)

occorre sostituire nella parte del codice la funzione (esempio) ADD_I con ADD_DI (kop) o +I con +D

Link al commento
Condividi su altri siti

Matteo Montanari

personalmente penso che affrontando il problema in questo modo, rischi solo di mettere la classica pezza al problema.

io sfruttavo questo sistema quando ero limitato dalle capacita' del SIEMENS S5, vecchio piu' di 20 anni, e con ancora le operazioni a 16bit, visto che le CPU attuali sopportano le oprazioni matematiche a 32bit, perche' non sfruttare al pieno le capacita'???

ogniuno e' comunque libero di affrontare il problema come desidera, spero di non aver offeso nessuno con questo, nel caso, non era mia intenzione farlo

Link al commento
Condividi su altri siti

Offeso chi? Ma va là... :-)

Anzi, se c'è la possibilità di risolverlo come dici tu, ben vengano le nozioni...

Io non me ne intendo un gran che...

E poi è sempre meglio avere un unica word con i dati, invece di andarseli a ricavare per vie traverse... specie se poi il conteggio, ad esempio, lo deve porre a display... con il mio sistema è un gran casino! :-)

Ciao!

Link al commento
Condividi su altri siti

  • 4 years later...

Salve a tutti,

dovrei variare il valore di preimpostazione di un contatore con S7-300 tramite un display. Questo valore non deve essere volatile, quindi lo voglio memorizzare in un DB. Che tipo di variabile è quella dei contatori? Dovrebbe essere COUNTER, ma non accetta il valore di default "C#0".

Sto cercando sulla guida, ma niente.

Grazie mille, Michele

Link al commento
Condividi su altri siti

zanellatofabio

Ciao , il preset di un contatore Z si scrive su ZW in forma WORD es. W#16#<Valore> oppure in forma C#<Valore> nell'intervallo tra 0 e 999

in ZW puoi scrivere direttamente entrambi i formati , anzi se scrivi W#16#999 te lo trasforma automaticamente in C#999 .....

Se vuoi passare a ZW il valore di una DBW devi dichiararla nel blocco dati di tipo word e inserire nella casellina il valore di preset p.e. W#16#999 .

Spero sia quello che chiedevi , perché io sono un po vecchio e duro a capire .... ma quello che hai scritto ho faticato un po a decifrarlo ...

bye

Link al commento
Condividi su altri siti

Per il counter nel DB devi dichiarare una variabile di tipo WORD. Il suo valore deve essere compreso tra 0 e 999 in formato BCD.

Personalmente trovo i counter dell'S7-300/400 scomodissimi da usare, oltre che molto limitati (valore di preset, appunto, tra 0 e 999).

Di solito incremento/decremento/imposto una variabile. Con poche istruzioni in più si ottiene qualcosa di molto più flessibile.

Segue un piccolo esempio di funzione per incremento/decremento/azzeramento di una variabile. Basta poco poi per aggiungere altre operazioni, tipo comparazioni o altro.

FUNCTION FC 119 : VOID
TITLE =Incremento/Azzeramento conteggi
AUTHOR : batta
VERSION : 0.1


VAR_INPUT
  Inc : BOOL;    
  Dec : BOOL;    
  Rst : BOOL;    
END_VAR
VAR_IN_OUT
  Val : INT;    
END_VAR
BEGIN
NETWORK
TITLE =Azzera, incrementa, decrementa

      U     #Rst; 
      L     L#0; 
      SPB   END; 
      L     #Val; 
      UN    #Inc; 
      SPB   M000; 
      +     1; 
M000: UN    #Dec; 
      SPB   END; 
      +     -1; 
END:  T     #Val; 
      L     L#0; 
      >=I  ; 
      BEB  ; 
      T     #Val; 

END_FUNCTION

Link al commento
Condividi su altri siti

grazie ancora, era solo una word... acendo dicitura C# pensavo avese bisogno di una variabile di tipo COUNTER e non riuscivo a dichiararla nel DB, mi dava errore quando scrivevo il valore di dafult. Ma variabili di tipo COUNTER per cosa vengono usate? e il valore di default come si scrive? (giusto per cultra personale)

Link al commento
Condividi su altri siti

COUNTER è un tipo di parametro, che occupa 2 byte, utilizzato per indicare nel passaggio di parametri da un blocco ad un'altro quale particolare contatore deve essere utilizzato. Per esempio supponi di scrivere una funzione che utilizza un contatore al suo interno; ogni volta che richiami la funzione dovresti usare un contatore diverso per far sì che funzioni correttamente. Allora puoi definire nella sua interfaccia, tra gli INPUT un parametro di tipo COUNTER; quando richiami la funzione indichi uno specifico contatore semplicemente scrivendo "Z" seguito dal numero del contatore (primo richiamo "Z1", secondo richiamo "Z2", etc.). Quindi il formato non è "C#nnn", ma è "Zn".

Stesso discorso vale per i parametri TIMER, che ovviamente si riferiscono ai timer della CPU.

Link al commento
Condividi su altri siti

  • 1 year later...

Ciao ragazzi...

da pochi giorni sto facendo un impiantino in un appartamento ed è sorto un problema nel salotto... praticamente entrando in questa stanza c'è un gradino di circa 10 cm io mi sono tirato tutti i livelli e mi sono murato le cassette 503 e di derivazioni con le altezze che penso usiamo tutti ovvero 30cm prese e derivazioni varie e 110cm per punti comando luci... adesso il muratore vuole (lo farà sicuramente) eliminare questo gradino in modo che corridoio e salotto venga tutto su un livello e qui mi sorge il problema.. tutte le cassette saranno piu basse di 10cm che non è affatto poco.. adesso tutti i tubi e le cassette sono murate e mi verrebbe un casino sistemarle da capo anche perchè sono 8 cassette 503 e una derivazione tv... immaginate il casino!!!

il muratore mi ha detto di lasciare tutto così che la differenza non ha importanza... ho parlato con la proprietaria e mi ha detto che per lei non è un grosso problema... ma detto tra noi, questa non ci capisce un.... BIP quindi se non è tutto finito non si rende conto con le altezze... e non vorrei che a lavoro terminato si creassero disguidi...

per riassumere:

il muratore dice di lasciare tutto cosi (ovviamente non è fesso)

la proprietaria sembra essere sulle nuvole e non si rende ben conto ancora anche se mi ha detto che non ci sono grossi problemi...

voi adesso cosa mi consigliate di fare? i tubi a pavimento sono murati (con una colata di cemento) mentre sui muri sono proprio intonacati.... chiedo un vostro parere ragazzi :S

grazie a tutti

Modificato: da No_Probl3M
Link al commento
Condividi su altri siti

praticamente entrando in questa stanza c'è un gradino di circa 10 cm

Scusa, ma è a salire o a scendere questo scalino? Nel caso peggiore è uno scalino a salire... :senzasperanza:

Il che per le prese non dovrebbe essere un grosso problema, ma per i vari comandi...a 120 cm sono un po altini in effetti..

Io proverei a convincere la padrona della scomodità di questi ultimi e di abbassare almeno le scatoline dei comandi. In fondo se il muro non è ancora verniciato lo si può riprendere benissimo e senza poi vedere le classiche "toppe".

Se fosse a scendere..avresti le prese a 20 cm..sei sempre entro i 17,5 cm consigliati... :unsure: :unsure: Brutta situazione comunque..metti bene in chiaro le cose, e magari anche per scritto..meglio tutelarsi. :thumb_yello:

Link al commento
Condividi su altri siti

no lo scalino è a scendere e livellando il pavimento avrei a 100 i comandi luce e a 20 le prese... sinceramente mi fa schifo... anche se rientrando nelle misure consigliate potrei fregarmene.. purtroppo non sono cosi, quando fisso ogni scatola sto con livello e metro per quanto sono puntiglioso figuriamoci per questo.......... bha vedo domattina quando vado li quello che si deve fare... tutte le cose storte le trovo io!

Link al commento
Condividi su altri siti

Del_user_23717

Be, se hai messo al corrente la proprietaria e questa dice che "non ha importanza" ti sei messo il tuo bel ferro dietro la porta...

Prova a rispiegarle per bene la cosa e mostra la tua disponibilità anche a rifare il tutto (mostrati leggermente stizzito per il fatto che questa decisione di rialzare il pavimento sia subentrata a scatole murate)... se continua a dirti che non è un problema sei salvo!!! :thumb_yello:

Link al commento
Condividi su altri siti

sono stato li oggi ed ho chiarito un po la situazione... entrambi nuovamente mi hanno detto di lasciare cosi.. anche se personalmente non mi piace però non ho cosa fare

Link al commento
Condividi su altri siti

Lascia tutto così, l'altezza rientra nelle altezze minime previste.

Quindi affari loro, così imparano a decidersi prima.

Poi dovresti giuntare tutti i tubi e quando c'è da reinfilare non è il massimo.

Lo so che tutti vorrebbero fare l'impianto perfetto. ma a volte non è possibile. L'importante che sia a norma.

Link al commento
Condividi su altri siti

Lascia tutto così, l'altezza rientra nelle altezze minime previste.

Esatto, perchè ti vuoi andare a cercare problemi? E' casa tua? Se alla proprietaria stanno bene così, se anche fossero a 5 cm dal pavimento se lei è comtenta e ti paga inutile insistere .

Se poi ci metti pure il fatto, che non esiste una norma che impone un'altezza,se hai realizzato bene tutto il resto puoi comunque rilasciare la dichiarazione di conformità senza alcun problema.

Link al commento
Condividi su altri siti

Normalmente i punti luce sono a 90 cm dal piano pavimento e le prese a 30 cm le scatole di derivazione a 25 cm tutte le misure dal piano pavimento al bordo sotto delle scatole, ma ogni istallatore ha un proprio standart che varia dalle richieste del cliente. Qundi non preoccuparti l' importante è rispettare le zone di sicurezza.

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