Jump to content
PLC Forum


Sign in to follow this  
Garzo

AWL: cos'è e quali sono i vantaggi

Recommended Posts

Garzo

Buongiorno a tutti softwaristi,

è da ieri che ho iniziato la mia esperienza con il Siemens, e un "caro amico" mi ha parlato di questo AWL. 

 

Se ho capito bene, in Step-7 ho la possibilità di scegliere il linguaggio di programmazione, tra cui ovviamente il Ladder, l'AWL e così via con gli altri... quali possibilità mi da l'AWL in più al ladder? Da come so è un linguaggio interamente letterale, bensì non abbiamo più i nostri amati controllori logici (erro?). 

 

Ho programmato da "bambino" con C++, Python e Visual Basic, ero l'amministratore di un forum di cheating ed hacking per giochi online (ergo ho sprecato il mio tempo appresso a stronzate 😅) e volevo sapere se mi ritroverò qualcosa della sintassi usata già in passato.

 

Best regards,

Federico

Share this post


Link to post
Share on other sites

batta

Niente a che vedere con C, Python, VB e altri linguaggi simili.
AWL assomiglia di più ad un assembler. Ogni riga contiene un'istruzione.

Per esempio, per sommare tre interi faresti così:

L "MiaVar_1"
L "MiaVar_2"
+I
L "MiaVar_3"
+I
T "Risultato"

Se non vuoi eseguire le operazioni, devi fare dei salti.

 

La tipica sequenza marcia/arresto la scriveresti così:

U(
O PB_Start
O Motor
)
UN PB_Stop
= Motor

Le parentesi si potrebbero omettere, ma con le parentesi il codice è convertibile in ladder.

 

Vantaggi rispetto al ladder? La possibilità di scrivere un codice molto più snello.

Svantaggi? Se ci sono rami con logica booleana un po' complessa (misto di rami in AND e in OR) risulta di difficile comprensione.
Nelle CPU 300/400 alcune operazioni le puoi fare solo in AWL (per esempio, operazioni con i puntatori).
Nelle CPU 1200/1500 è stato dato molto più spazio al testo strutturato, e l'AWL (purtroppo o per fortuna) viene usato sempre meno.

Share this post


Link to post
Share on other sites
ETR

Ciao Garzo, purtroppo no. Quanto di più lontano da quanto hai citato. Ne abbiamo giusto discusso in un altra discussione, di quanto rimanga da vivere a linguaggi come questi, cosiddetti proprietari.

 

L'AWL nasce e muore con Siemens, quindi per FORZA te lo dovrai sorbire se dovrai interfacciarti con funzioni complesse ed operazioni (specie per la serie 300 e 400).

 

Consiglio da uno che lo legge, ma non lo ama. Imparalo, farai un po' di fatica, ma le basi le hai. Però, non pensare di abbandonare quanto hai già appreso con gli altri linguaggi, perché se dai un occhiata allo strutturato (adottato poi nel 1200), vedrai che sarà facile ritrovarsi.

 

Buona giornata, Ennio

Share this post


Link to post
Share on other sites
Nicola Carlotto

lo adoperavo nel 1990 ........vedi tu  28 anni fa.... impara il ladder e lo strutturato te lo consiglio .  Ciao

Share this post


Link to post
Share on other sites
Yiogo
8 ore fa, ETR scrisse:

L'AWL nasce e muore con Siemens, quindi per FORZA te lo dovrai sorbire se dovrai interfacciarti con funzioni complesse ed operazioni 

Siemens è solita rinominare i linguaggi in maniera strana

sembra che l'AWL nasca con Siemens ma esiste secondo lo standard, tutti gli altri lo chiama IL

comunque è un linguaggio abbondantemente superato, se ne può fare a meno alla grande

io lo uso solo nel MAIN dove non faccio alcun controllo e chiamo semplicemente le sub principali che vengono eseguite sempre, la motivazione è che è banale ma si confonde bene con l'abbondanza di testo descrittivo presente del MAIN, praticamente uso solo un'istruzione : < CAL >

ti consiglio piuttosto di studiare bene ST che è potentissimo, ciò a precidere da quale vendor usi

 

Share this post


Link to post
Share on other sites
batta
Quote

sembra che l'AWL nasca con Siemens ma esiste secondo lo standard, tutti gli altri lo chiama IL

Non è del tutto esatto.

L'AWL è diverso dalla lista istruzioni (IL) standard.

Riguardo il fatto che sia superato, ci sarebbe da discutere. Diciamo che è sempre meno usato, che è diverso.

Nel TIA sono migliorati molto gli editor ladder e testo strutturato, e anch'io uso sempre meno AWL.
In alcuni casi però risulta essere ancora il linguaggio più snello e performante.

Share this post


Link to post
Share on other sites
Garzo

Buongiorno,

ringrazio tutti per le risposte, ora mi sono fatto una vaga idea della cosa in sé per sé.

 

Ciò che mi ha interessato dell'AWL è sapere che, almeno in Siemens, solo tramite d'esso è possibile eseguire operazioni con la "virgola mobile". Probabilmente è davvero abbandonato come linguaggio, o meno usato, mettetela come volete (anche perché noi programmatori siamo tutti super pignoli 🧐) oltre al fatto che chi me ne ha parlato programmava nel 1994.

 

Testo strutturato? Di cosa parliamo?

 

A prescindere vorrei imparare qualcosa di nuovo ma che rimanga sia nel mio bagagliaio personale ma che sia anche un qualcosa che mi torni utile nel tempo.

 

Grazie

 

Best regards,

Federico

 

EDIT:

 

Non sembra qualcosa di così troppo complesso. O meglio, è fattibile...

con quale mi consigliate di iniziare? Mi faccio una prima idea dell'AWL e poi passo allo strutturato o inizio direttamente con quest'ultimo?

 

17 ore fa, batta scrisse:

Niente a che vedere con C, Python, VB e altri linguaggi simili.
AWL assomiglia di più ad un assembler. Ogni riga contiene un'istruzione.

Per esempio, per sommare tre interi faresti così:


L "MiaVar_1"
L "MiaVar_2"
+I
L "MiaVar_3"
+I
T "Risultato"

Se non vuoi eseguire le operazioni, devi fare dei salti.

 

La tipica sequenza marcia/arresto la scriveresti così:


U(
O PB_Start
O Motor
)
UN PB_Stop
= Motor

Le parentesi si potrebbero omettere, ma con le parentesi il codice è convertibile in ladder.

 

Vantaggi rispetto al ladder? La possibilità di scrivere un codice molto più snello.

Svantaggi? Se ci sono rami con logica booleana un po' complessa (misto di rami in AND e in OR) risulta di difficile comprensione.
Nelle CPU 300/400 alcune operazioni le puoi fare solo in AWL (per esempio, operazioni con i puntatori).
Nelle CPU 1200/1500 è stato dato molto più spazio al testo strutturato, e l'AWL (purtroppo o per fortuna) viene usato sempre meno.

Share this post


Link to post
Share on other sites
batta
Quote

Ciò che mi ha interessato dell'AWL è sapere che, almeno in Siemens, solo tramite d'esso è possibile eseguire operazioni con la "virgola mobile".

Non so proprio da dove ti sia venuta questa balzana idea!

 

Quote

Non sembra qualcosa di così troppo complesso. O meglio, è fattibile...

con quale mi consigliate di iniziare? Mi faccio una prima idea dell'AWL e poi passo allo strutturato o inizio direttamente con quest'ultimo?

Certo che è fattibile. In un certo senso, si potrebbe definire il linguaggio più semplice: esegue, una alla volta, le istruzioni così come sono scritte.
 

Da quale cominciare?
Se lavori solo con CPU 1200/1500 e solo su progetti che sviluppi tu, puoi, almeno per il momento, accantonare l'AWL.
Nel 1200 addirittura l'AWL non è supportato.
Se devi mettere mano a programmi fatti da altri, soprattutto se su S7-300/400, troverai sicuramente parti scritte in AWL.

Share this post


Link to post
Share on other sites
Garzo

Ciao batta,

 

9 minuti fa, batta scrisse:

Non so proprio da dove ti sia venuta questa balzana idea!

 

Non è una mia idea, è ciò che ho sentito dire. Infatti per questo preferisco sempre documentarmi io in primis piuttosto che prendere per certo ciò che sento dire da terzi.

 

9 minuti fa, batta scrisse:

Se devi mettere mano a programmi fatti da altri, soprattutto se su S7-300/400, troverai sicuramente parti scritte in AWL.

 

Abbiamo qualche progetto con CPU 300/400 ma è raro che le riutilizziamo, principalmente lavoriamo su S7-1200. Per cui, almeno per ora, mi butto sullo strutturato.

 

Grazie per le spiegazioni

 

Best regards,

Federico

Share this post


Link to post
Share on other sites
Elettrolisi

Il Testo Strutturato (Structured Text, ST) è un linguaggio testuale ad alto livello, simile al PASCAL o ad alcuni BASIC.

Visual Basic invece potrebbe venirti utile per crearti alcune funzioni specifiche su alcuni pannelli operatore .

Share this post


Link to post
Share on other sites
Garzo
1 ora fa, Elettrolisi scrisse:

Il Testo Strutturato (Structured Text, ST) è un linguaggio testuale ad alto livello, simile al PASCAL o ad alcuni BASIC.

Visual Basic invece potrebbe venirti utile per crearti alcune funzioni specifiche su alcuni pannelli operatore .

Pascal? Sono rimasto a Zurico, 1970. Con Free Pascal, che come in molti sapete, è un linguaggio che agisce su Prompt DOS.

 

Con il classico esempio:

program HelloWorld
begin
end.

Però dai, è gia qualcosa <.<

 

EDIT:

 

Apparte gli scherzi, mi sono documentato meglio. Il divario che mi si presenta è:

KOP O SLC?

 

KOP è più semplice ed intuitivo, e forse per timer/fronti mi viene più facile. SLC invece, (correggetemi se erro) torna utile più per operazioni matematiche complesse. Il mio obbiettivo è riuscire a rifare uno stesso software da Ladder a uno dei linguaggi letterali che Siemens mi mette a disposizione.

 

Grazie in anticipo

 

Best regards,

Federico

 

 

Share this post


Link to post
Share on other sites
batta

KOP (ladder) sicuramente più adatto alla logica booleana.

SCL (testo strutturato) ottimo per calcoli, per lavorare con array, cicli FOR ed altro.

Share this post


Link to post
Share on other sites
elettrix01
il 30/8/2018 at 14:59 , Garzo scrisse:

Il mio obbiettivo è riuscire a rifare uno stesso software da Ladder a uno dei linguaggi letterali che Siemens mi mette a disposizione.

 

Spero sia per imparare il linguaggio testuale e non per abbandonare il ladder. Lo diceva anche il gatto della famosa berzelletta che al giorno d'oggi se non sai almeno due lingue non mangi

Share this post


Link to post
Share on other sites
Nicola Carlotto

li puoi usare entrambi , s71200 e 1500 te lo permettono

Share this post


Link to post
Share on other sites
Garzo
il ‎31‎/‎08‎/‎2018 at 21:17 , elettrix01 scrisse:

 

Spero sia per imparare il linguaggio testuale e non per abbandonare il ladder. Lo diceva anche il gatto della famosa berzelletta che al giorno d'oggi se non sai almeno due lingue non mangi

 

Ovviamente non posso abbandonare il ladder. Principalmente è per imparare qualcosa in più e se mi serve di fare un calcolo o una funzione più avanzata provo a metter su qualcosa, tra l'altro i manuali sono davvero ben fatti. Ma secondo me fare un progetto interamente in SCL sarebbe una bella botta di vita 😂

ma mi piacerebbe capire anche cosa sono questi FUP e S7-GRAPH. E chiaramente tempo al tempo!! 

 

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...