Vai al contenuto
PLC Forum


Parametro formale in FC non accettato dal sistema


Pelino58

Messaggi consigliati

Ciao a tutti.

Vi illustro il mio problema:

ho creato un Tipo Dati composto da 16 Bool ( Statusword_Dati ) , nelle variabili PLC o inserito una variabile ( Statusword_1 ) che ha come Tipo Dati ( Statusword_Dati ) con indirizzo %I68.0 

Con questa configurazione verifico correttamente lo stato dei bit di comunicazione con un inverter.

Il problema nasce quando richiamo la variabile  ( Statusword_1 ) come parametro formale in un FC, negli input dell' FC ho inserito il parametro formale Stato come Tipo Dati ( Statusword_Dati ).

La segnalazione di errore che compare è ( Fine imprevista dell'introduzione ).

Quando richiamo in OB1 l'FC e inserisco il parametro ( Statusword_1 ) è come mi chiedesse uno dei singoli bit della struttura  ( Statusword_Dati ).

Grazie

 

 

Link al commento
Condividi su altri siti


Ciao Grazie,

se ho ben capito:

hai creato la variabile WORD_6 che ha come tipo dati UDT_INPUT indirizzata %I6.0 per 8 bit, avrai sicuramente creato in Tipi dati PLC.

Nell' FC di test hai inserito il parametro formale  A che fa sempre riferimento al tipo dati UDT_INPUT

Nel richiamo del parametro formale A hai inserito la variabile WORD_6 

 

In pratica quello che ho fatto io, con l'unica differenza che sto usando il 1200, oggi provo a creare la stessa configurazione sul mio e poi ti so dire se gira.

 

Grazie ancora

Link al commento
Condividi su altri siti

23 minuti fa, drn5 ha scritto:

scrivi direttamente il puntatore #P6.0 vedrai che non hai l'errore

Come dice @drn5, oppure cancella il punto.
Come vedi, un motivo c'è, ed il compilatore ti guidava anche sulla giusta strada.

Link al commento
Condividi su altri siti

1 ora fa, max.bocca ha scritto:

Sai quante volte capita di premere invio senza cancellarlo...

Millemila.... Purtroppo non è l'unico noiosissimo bug del IDE del Tia.

Link al commento
Condividi su altri siti

2 ore fa, drn5 ha scritto:

Purtroppo non è l'unico noiosissimo bug del IDE del Tia.

Non lo definirei un bug. Sono molte di più le volte che il punto serve, di quelle che non serve.

Quali altri "noiosi bug" ci sono?

Link al commento
Condividi su altri siti

3 ore fa, batta ha scritto:

Non lo definirei un bug

Se non batto il punto il sistema lo mette. Diciamo che potrebbe semplicemente mettere l'elenco degli elementi della struttura dopo che ho battuto il punto. Attualmente l'unico modo per non mettere il punto è cliccare fuori dopo aver scritto il nome della struttura. Personalmente lo trovo fastidioso. Altro esempio quando scrivo il nome di un DB dopo il punto non compaiono i nomi degli elementi che lo compongono o non suggerisce  gli elementi che contengono i caratteri che sto scrivendo (visual studio like)

Comunque lo ho definito bug forse sbagliando. Per non andare OT potrei suggerire di aprire una discussione sulle cose che ci piacerebbe cambiare/migliorare nel Tia?

Link al commento
Condividi su altri siti

4 ore fa, drn5 ha scritto:

Altro esempio quando scrivo il nome di un DB dopo il punto non compaiono i nomi degli elementi che lo compongono o non suggerisce  gli elementi che contengono i caratteri che sto scrivendo

Perché dici questo? Non è assolutamente vero!
Già ne ero sicuro di mio ma, da tanto assurdo che mi suonava, ho aperto il TIA ed ho provato: i nomi degli elementi compaiono, eccome, sia in ladder che in testo strutturato, con tanto di filtro dei caratteri digitati.

 

Link al commento
Condividi su altri siti

18 ore fa, batta ha scritto:

Non è assolutamente vero!

Lo fa in SCL.

In STL e in LAD non lo fa! In questi casi propone il nome del DB, devi cliccare sul simbolo > e da li scegliere l'elemento che ti interessa. Se non usi questo iter e continui a scrivere fino a battere enter te lo accetterà oppure se hai sbagliato te lo evidenzierà come errore.

Modificato: da drn5
Link al commento
Condividi su altri siti

O parliamo di cose diverse, o non mi risulta. SCL è il nome che Siemens dà al testo strutturato. Sia in ladder che in testo strutturato, mi propone i nomi delle variabili, senza dover fare operazioni manuali di alcun tipo.

Link al commento
Condividi su altri siti

Io intendo questo:

 

Il DB 

https://ibb.co/mFmnFw1

 

e l'editing nelle tre modalità permesse nel Tia16 di un elemento del DB

 

https://ibb.co/mJCkpYp
https://ibb.co/Snsv1pg
https://ibb.co/xJVZ5f5

 

come vedi solo in SCL vengono proposti gli elementi del DB in LAD e in STL succede quello di cui scrivevo sopra.

Ciao

 

Modificato: da drn5
Link al commento
Condividi su altri siti

Mi correggo da solo...

E' vero quello che dicevi tu anche in LAD e in STL solo se il nome del db è scritto uguale cioè è case sensitive.

In SCL non è case sensitive quindi scrivere DB1 o scrivere db1 fa sempre apparire gli elementi.

 

questa si che è bella 🤨 

Link al commento
Condividi su altri siti

12 ore fa, drn5 ha scritto:

In SCL non è case sensitive quindi scrivere DB1 o scrivere db1 fa sempre apparire gli elementi.

 

E questo che non è comune con gli altri linguaggi ad alto livello che differenziano maiuscole e minuscole.

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