Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Logiche di "pensiero" per testo strutturato

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[1] Logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentesottobosco » 25 set 2014, 12:12

Ciao a tutti, sono un novellino della programmazione in PLC, fino ad ora con Allen Bradley serie micro 800.

Ho ottima dimestichezza con il linguaggio di programmazione in generale, e quindi mi piacerebbe approfondire alcune logiche, riporto un esempio contro cui mi sono scontrato:

ciò che io volevo tradurre era
img esempio.gif
img esempio.gif (8.94 KiB) Osservato 11865 volte


ed ho banalmente scritto così:

Codice: Seleziona tutto
if (commutazione) THEN
   Reset_counter := TRUE; (*RESETTO IL CONTATORE DI IMPULSI*)
END_IF;


Ma mi sono ben presto reso conto che non sono affatto la stessa cosa:

in LD se la condizione "commutazione" viene a mancare, anche l'uscita cade, diversamente in ST una volta assegnato "true" all'uscita, questa non viene modificata al mancare della condizione.
Risolvo aggiungendo un elseif:

Codice: Seleziona tutto
IF (commutazione) THEN
   Reset_counter := TRUE; (*RESETTO IL CONTATORE DI IMPULSI*)
ELSEIF
   Reset_counter := FALSE;
END_IF;



Ora la mia domandona è: questo è l'unico modo di operare sulle bobine? devo sempre avere una condizione e un ELSE per resettare l'uscita?

Se sì, risulta certamente molto più comodo il LD.... (relativamente a questo esempio)
Avatar utente
Foto Utentesottobosco
5 4
New entry
New entry
 
Messaggi: 94
Iscritto il: 30 nov 2012, 12:17

0
voti

[2] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto UtenteWALTERmwp » 25 set 2014, 14:17

Ciao Foto Utentesottobosco, quello che hai riportato in "ladder" è una semplice assegnazione che viene sempre eseguita (sempre stando a quanto hai riportato); è come se tu scrivessi:
Codice: Seleziona tutto
variabile_A := variabile_B;
... per cui il valore che assume variabile_B "passa" a variabile_A.
Se sono due variabili "digitali", lo stato di una viene assegnato all'altra, ma non si tratta di un test.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8982
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[3] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentesottobosco » 25 set 2014, 14:29

grazie per l'intervento.
In Ladder (ovvero ove ora tutto funziona) all'attivarsi della variabile "commutazione" devo eccitare la bobina "reset_counter".
Nel momento in cui "commutazione" torna allo stato basso, anche "Reset_counter" lo segue.

Chiedevo conferma sul fatto che con il testo strutturato, queste due situazioni si realizzano con un IF e un ELSE, l'IF soltanto non è sufficiente perché in effetti nessuno assegnerà mai il False alla bobina "reset_counter"...
Avatar utente
Foto Utentesottobosco
5 4
New entry
New entry
 
Messaggi: 94
Iscritto il: 30 nov 2012, 12:17

0
voti

[4] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto UtenteWALTERmwp » 25 set 2014, 14:50

Come ti ho scritto, per come sto interpretando il discorso, l'equivalente del "ladder" lo riporti in codice come ho indicato nel Post [2].
Il fatto che tu voglia provare a "trasportare" in altra forma quello che hai proposto non significa che tu debba per forza ricorrere ad uno "statement" come "if/else" o if/then/else" o altro ancora.
La semplice assegnazione assolve al compito.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8982
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[5] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto UtenteCandy » 26 set 2014, 0:16

Come ti hanno detto la trasposizione del tuo problema dal ladder allo strutturato è più semplicemente:
Codice: Seleziona tutto
Reset_Contatore := Commutazione;


La condizione IF, in quando condizione, in ladder si risolve tramite salti e la trasposizione, mentalmente, non è così immediata ad una mente poco allenata.

In ogni caso, non avviarti nell'inutile e dannoso esercizio di trasporre ladder e letterare strutturato. Hanno il loro significato, ciascuno, per compiti e problemi diversi tra loro.
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

[6] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentesottobosco » 26 set 2014, 1:12

Banalmente la mia richiesta si riassume così, forse più chiara:
Mi scrivete in st il codice per cui una uscita segue l'andamento di un ingresso?
O ancora, mi mettete in codice st questa funzione : la luce si accende quando l'interruttore è premuto e si spegne quando viene rilasciato.
E corretto (o addirittura è l'unica via ) passare per un "if then else "
Avatar utente
Foto Utentesottobosco
5 4
New entry
New entry
 
Messaggi: 94
Iscritto il: 30 nov 2012, 12:17

0
voti

[7] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentecarlomariamanenti » 26 set 2014, 9:05

sottobosco ha scritto:...E corretto (o addirittura è l'unica via ) passare per un "if then else "


Foto Utentesottobosco, non esiste quasi mai una unica via, l'utilizzo del linguaggio ST invece che LD non vincola l'utilizzo di alcune funzioni anziché altre: i blocchi funzionali presenti nel linguaggio LD sono comunque disponibili in ST; per questo motivo non mi è chiara la tua domanda.
Avatar utente
Foto Utentecarlomariamanenti
60,1k 6 11 13
G.Master EY
G.Master EY
 
Messaggi: 4324
Iscritto il: 18 gen 2012, 10:44

0
voti

[8] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentesottobosco » 26 set 2014, 9:15

Probabilmente le mie sono le classiche pippe mentali...
È utile per me comprendere come si ragiona, se lo si fa in modo uniforme, se esistono regole non scritte ma ormai approvate così che un programmatore che legge il codice di un altro ne abbia immediatamente chiaro l'intento.
O forse invece vige la regola del "se funziona allora tutto ok" e chi se ne frega della forma.

Vorrei avvicinarmi al vostro mondo e vorrei farlo secondo i vostri "usi e costumi".
Avatar utente
Foto Utentesottobosco
5 4
New entry
New entry
 
Messaggi: 94
Iscritto il: 30 nov 2012, 12:17

0
voti

[9] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentecarlomariamanenti » 26 set 2014, 10:14

In questo "mondo" non vigono usi e costumi ma regole ben definite che sono la base di studio necessaria per scrivere codice.

Programmare sistemi multi-tasking magari deterministici utilizzando contemporaneamente differenti linguaggi pretende da parte dello sviluppatore il rispetto di regole e procedure standard e ben definite.

Accontentarsi di un programma "che gira" senza apparenti problemi è dal mio punto di vista sbagliato: magari sintatticamente ciò che hai scritto potrebbe risultare corretto ma semanticamente potrebbe contenere errori anche gravi.

Non conosco la tua preparazione tecnica e non mi permetto minimamente di giudicare il tuo operato, ma credimi quando ti dico che forse un approccio più scientifico non guasterebbe; faccio questo lavoro da troppi anni e ti assicuro che l'approssimare una soluzione non porta mai molto lontano.

L'utilizzo di un sistema prevede la conoscenza profonda delle funzionalità disponibili, non sto parlando solamente della sintassi ma anche delle funzioni e delle tecniche di utilizzo.
Tradurre quindi una funzione da un linguaggio ad un altro diventa semplice se gli aspetti sopra descritti sono noti.

Se lo desideri posso inviarti un po di documentazione tecnica relativa ai vari linguaggi di programmazione IEC e alle loro funzionalità.
Avatar utente
Foto Utentecarlomariamanenti
60,1k 6 11 13
G.Master EY
G.Master EY
 
Messaggi: 4324
Iscritto il: 18 gen 2012, 10:44

0
voti

[10] Re: logiche di "pensiero" per testo strutturato

Messaggioda Foto Utentesottobosco » 26 set 2014, 10:17

Ecco, era esattamente questo che volevo sentirmi dire.
Prima di entrare in casa vostra vorrei conoscerne le regole! Ti mando in mp la mia mail è se vuoi mandami quello che ritieni utile!
Avatar utente
Foto Utentesottobosco
5 4
New entry
New entry
 
Messaggi: 94
Iscritto il: 30 nov 2012, 12:17

Prossimo

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti