Jump to content
PLC Forum


Sign in to follow this  
smsmsms

Somachine 3.1: Come Estendere Una Udt + Dubbi Vari

Recommended Posts

smsmsms

Buongiorno,

premesso che non ho mai utilizzato prima SoMachine e neppure CoDeSys, sono incappato in queste difficoltà:

la prima, definisco una struttura dati per esempio di nome UDT_01 ed al suo interno ci definisco due variabili

cmd_start di tipo booleano e cmd_stop di tipo booleano. A questo punto voglio creare una UDT_02 che rappresenta

una estensione (EXTENDED) della UDT_01 (cioè da come ho intese che eredita le caratteristiche di UDT_01 più

le variabili aggiunte in UDT_02). A questa seconda struttura dati aggiundo la variabile VelHz di tipo intero.

A questo punto se dichiaro la variabile VAR1 di tipo UDT_01 mi aspetto di accedere a VAR1.cmd_start oppure

VAR1.cmd_stop; se invece dichiaro VAR2 di tipo UDT_02 mi aspetto di accedere a VAR2.cmd_start oppure

VAR2.cmd_stop ed infine a VAR2.VelHz. Se provo a compilare mi da un insieme di errori che scompaioni nel

momento in cui cancello o commento la riga di dichiarazione di VAR2 di tipo UDT_02. Qualcuno riesce a spiegarmi

dove sbaglio???

Il secondo dubbio è se e dove esite un elenco di tutte le istruzioni che sono a disposizione nei vari linguaggi di

porgrammazione; nell'h_e_l_p il più è riportato ma spesso è un poco difficoltoso capire quale istruzione CFC (ad esempio)

corrisponde a quale in ST ecc..

Terzo, ho provato a cercare sul sito della =S= ed anche della CoDeSys se esistono dei "best practice" che (siccome

sono agli albori) mi indichino quale linguaggi è preferibile usare in quali controlli, piuttosto che quali linguaggii è bene

evitare in quali tipi di controllo (o comunque linee guida, esempi, knowledgebase ecc..).

Grazie per qualsiasi info in merito alle mie richieste / miei dubbi.

Saluti

Edited by smsmsms

Share this post


Link to post
Share on other sites

fedeg81

Ciao, da come scrivi sembra che le udt le dichiari bene,

se mi fai un copia e incolla di cosa scrivi ti dico se è giusto.

Io non userei l'extended....la programmazione a oggetti complica le cose semplici come queste....

io definirei dentro a udt_02 una variabile

Var1 :udt_01;

A questo punto dichiarata Var2: udt_02;

per accedere a cmd_stop basta chiamare Var2.Var1.cmd_stop

ovviamente l'esempio è orrendo però calza.

Io ho seguito il corso schnider a Bologna su SoMachine....

...per diletto programmo in objective c.... e lascio a linguaggi del genere la definizione a oggetti....

SoMachine mi sembra ancora immaturo per questo genere di cose.

Per la seconda io con l'. mi trovo bene....ma sono cinque anni che programmo con elau..e immagino che per chi comincia sia molto complesso.

I programmi di esempio che chiede nel terzo punto sono compresi nell'installazione del pacchetto.

Spero di esserti stato utile...e sono disponibile per qualsiasi domanda....

Ciao

FG

Share this post


Link to post
Share on other sites
smsmsms

ok grazie proverò a verificare il codice ed a fare la prova da te consigliata.

Ancora una domandina ... per commentare un parte di codice (diciamo ST o elenco variabili)

quale differenza easiste tra la doppia sbarra "//" o tra le classiche parentesi con asterisco

"(* commento *)" tipiche dei precedenti sw =S=?

Grazie buon wk

Share this post


Link to post
Share on other sites
fedeg81

Ciao, come per i software di programmazione di alto livello, la // commenta la riga, mentre le parentesi valgono da quando le apri a quando le chiudi:

// commenta solo la riga

(* con le parentesi

invece

commenti tutte

le righe che vuoi

*)

Ciao

FG

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