Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

La Funzione SCALE in Step 7

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[31] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 9 dic 2010, 18:47

sono entrato nel blocco Fc che si crea automaticamente nella finestra principale quando si inserisce la funzione SCALE in OB1!!! :mrgreen:
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[32] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 10 dic 2010, 0:33

Se è corretto , lo puoi sapere solo tu

se fossi gia'sicuro di quello che faccio non chiederei consiglio a degli esperti!!! :mrgreen:
mi interessa sapere solo se gli ultimi passaggi da me fatti sono giusti o no?
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[33] Re: La Funzione SCALE in Step 7

Messaggioda Foto UtenteIvan_Iamoni » 10 dic 2010, 10:01

se fossi gia'sicuro di quello che faccio non chiederei consiglio a degli esperti!!! :mrgreen:

Con il termine esperti, non ti riferisci di certo a mè che me la cavicchio, ,ma per il resto la sfera di cristallo non credo sia in possesso a nessun esperto.
Quando parli di "FC mancante" oppure, "ho aperto l'FC" o anche , "ho caricato l'FC" , ma non dici il numero di FC, come faccio a sapere di cosa parli?
Adesso mi viene un dubbio, quel codice che hai postato era OB1 , giusto?
Non è che avevi dimenticato di caricare FC105, ovvero l'oggetto del tema, su cui stai lavorando ?
Se fosse così " 2.... in programmazione!".
Hai trascurato la cosa fondamentale.
Tutti i blocchi che vengono richiamati in OB1 o in altri blocchi , devono essere presenti nella memoria del PLC!
Avatar utente
Foto UtenteIvan_Iamoni
5.336 6 10 12
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 2330
Iscritto il: 22 ott 2006, 18:45

0
voti

[34] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 10 dic 2010, 23:57

purtroppo non e'molto tempo che lavoro con step 7,non conosco esattamente come il plc gestisce il codice di programma,quindi e'facile cadere in errore,per mio intuito,pensavo che una volta trascinato il blocco fc105 all'interno della finestra de programma kop(in ob1) e inseriti tutti i parametri correttamente,cliccando infine sull'icona di carcamento il plc avrebbe dovuto caricare tutto il programma compresa ovviamente la funzione fc105 che alla fine dei conti(secondo me)',non e' altro che un'insieme di stringhe(visualizzabili quando si passa in AWL)precaricate e ragruppate all'interno di un blocco a cui il costruttore a dato il nome di SCALE FC105!!!!
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[35] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 11 dic 2010, 0:07

Hai trascurato la cosa fondamentale.
Tutti i blocchi che vengono richiamati in OB1 o in altri blocchi , devono essere presenti nella memoria del PLC!

pero'non e' sempre cosi', ad esempio quando inserisco la funzione contatore zahler in ob1,non c'e'bisogno di fare quel procedimento di cui parli!!!! [-X
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[36] Re: La Funzione SCALE in Step 7

Messaggioda Foto UtenteCandy » 11 dic 2010, 9:41

Contatore e timer fanno parte del set di istruzioni: non sono funzioni utente. Fanno anche parte del set di istruzioni operazioni più semplici, come quelle di calcolo numerico, spostamento e logiche.

Gli algoritmi più complessi sono invece delle funzioni, possono a loro volta essere suddivise in funzioni utente: FB ed FC o funzioni di sitema: SFC ed SFB.

Le funzioni utente, FB ed FC fanno parte del cidice utente: non è importante che le ha scritte, infatti possono arrivare da una libreria; ma il PLC NON ne sà nulla. Le funzioni di sitema sono invece preparate da Siemens ed inglobate nel Firmware, quindi: non appartengono al set di istruzioni del codice, ma comunque già comprese nel firmare.

Quindi, quando scrivi un programma gli oggetti: OB, FB, FC e DB si definiscono al momento della loro creazione e, perché la CPU li elabori, devono essere tasferiti verso essa. Il richiamo, rappresentato nell varie forme nel codice: KOP, FUP, AWL è solo una banale CALL; se la funzione non è presente, la CPU si offende è brontola perché hai imposto la CALL di un oggetto inesistente.

Come ti dicevo, per i primi passi, devi creare sempre i blocchi: OB82, OB86, OB121 ed OB122, da scaricare nella CPU, affinché non passi in stop, ma ti elenchi gli errori gravi di programmazione.

Questi OB, se vuoti, evitano appunto il passaggio in stop della CPU; ma possono contenere un programma utente, che, tramite le variabili interne di default, può effettuare una diagnostica completa sul tipo di evento anomalo.
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54

0
voti

[37] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 11 dic 2010, 10:24

tutte queste cose purtroppo nessuno me le ha mai dette,non potevo immaginarmelo!!!!ho avuto una mezza intuizione quando nella finestra della diagnostica si parlava di FC non caricato!!!!
oltre questo,mi sorge un grosso dubbio:
negli appunti si parla di andare in OB1 e inserire la stringa Call FC1 e di inserire la funzione scale dentro Fc1,non capisco il nesso???
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[38] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 11 dic 2010, 11:55

ho riscritto tutto il programma immaginando che la velocita' massima di una macchina sia 220km/h e la minima o km/h,pero' questa volta ho cercato di seguire quel poco che si capisce dagli appunti cioe' ho creato un blocco funzione(fc1)e all'interno vi ho inserito la funzione scale con tutti i valori mentre in Ob1 ho scritto call Fc1,ho caricato fc105 e tutto fuziona!!!
tra l'altro non mi sono neanche sprecato a creare l'ingresso analogico/digitale,ho inserito direttamente un numero compreso tra "0" e "27648"(nel mio caso 13824)e quando ho avviato il programma che in uscita mi ha dato 000000000110,questo e' il programma che ho scritto:
U "seconda AND"
U "primaAND"
= L 0.0
BLD 103
UN "Ingresso abilitazione"
SPBNB _001
CALL "SCALE"
IN :=13824
HI_LIM :=2.200000e+002
LO_LIM :=0.000000e+000
BIPOLAR:=L0.0
RET_VAL:="funzionamento programma"
OUT :="valore uscita"
_001: U BIE
= "stato uscita"
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

0
voti

[39] Re: La Funzione SCALE in Step 7

Messaggioda Foto UtenteCandy » 11 dic 2010, 12:26

La memoria di lavoro di un PLC, e nello specifico della serie 300/400 di S7, si aggira tra 32 kB e 256 kB. La memoria di caricamento può raggiungere invece qualche MB. Cosa vuol dire?

Nessuno impedisce di scrivere tutto il programma utente all'interno del medesimo OB1, ma questo raggiunge, per grossi programmi, dimensioni molto grandi. Un esempio banale:
1) ùSe il totale della memoria di lavoro fosse 64 kB, ed un blocco, esempio OB1 avesse dimensioni di 35 kB, fatto il primo trasferimento, non riusciresti più a trasferire nuovamente OB1, senza dover prima passare in STOP, cancellare tutto, e trasferire il nuovo OB1. Una procedura che non si addice affatto con il concetto di modificabilità online, senza interruzione del funzionamento.
2) Se invece lo stesso programma è diviso in più blocchi, FC ed FB, ed in OB1 hai solo il richiamo delle varie funzioni richiamati, ti ritroveresti con lo stesso programma frazionato magari, diciamo, con blocchi di dimensioni inferiore a 10 kB. Ecco che allora, nella memoria libera di lavoro ci stà il trasferimento di un nuovo pezzo di programma modificato, senza dover passare per lo STOP e la cancellazione totale. (Durante il trasferimento si preoccupoa la CPU di allocare la nuova funzione in memoria libera e, completato il trasferimento, usare la nuova funzione e cancellare quella vecchia. Per il programmatore è tutta una operazione invisibile).

Allora, ti ripondi da solo alla precedente domanda: Il programma che ti diceva l'insegnate era da scrivere in FC1; mentre in OB1 dovevi fare solo il richiamo alla FC1.

Tutti i parametri di ingresso delle funzioni possono essere costanti. Non mi immagino l'uso della funzione "SCALE" con una costante come ingresso, ma per uso didattico va bene, e ti dimostra appunto che il programma funziona anche con le costanti.

P.S. La scuola non ti può insegnare tutto. S7 da solo richiederebbe un intero corso scolastico unicamente dedicato ad esso. Ci va pazienza e, come fai tu, interessamento.
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54

0
voti

[40] Re: La Funzione SCALE in Step 7

Messaggioda Foto Utenteluk79 » 11 dic 2010, 12:34

in poche parole si creano altri blocchi per distribuire equamente il programma e non fare andare in blocco la cpu,adesso tutto e' piu chiaro!!!!comunque il simulatore(per me')ha dei grossi limiti,ci vuole il plc vero per rendersi conto del vero funzionamento di un programma!!!
Avatar utente
Foto Utenteluk79
31 3 6
Frequentatore
Frequentatore
 
Messaggi: 232
Iscritto il: 9 nov 2010, 15:58
Località: Milano

PrecedenteProssimo

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti