Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Info Blocco Parametrizzato - in/out non utilizzati


Messaggi consigliati

Inserita:

Ciao a tutti c'e' qualche persona disposta a spiegarmi come funziona la comonucazione in modalita' free-port dell'S7-200.

Dopo un mese di tentativi l'unica cosa che ho capito e' l'immenso nulla

Saro' io che non capisco quello che leggo. :(

Aiuto........ Grazzie a tutti


Inserito:

Ciao a tutti c'e' qualche persona disposta a spiegarmi come funziona la comonucazione in modalita' free-port dell'S7-200.

Dopo un mese di tentativi l'unica cosa che ho capito e' l'immenso nulla

Saro' io che non capisco quello che leggo. :(

Aiuto........ Grazzie a tutti

Inserita:

In pratica settando alcuni dei bit di alcuni SMB stabilisci le caratteristiche della comunicazione seriale che vuoi, cioè velocità, num.di bit, parità etc....poi devi fare del codice per gestire la comunicazione x esempio un buffer

per la ricezione dove leggi ciò che ti è inviato, mi ricordo che l'uso dei puntatori era efficiente a questo caso

Inserita:

In pratica settando alcuni dei bit di alcuni SMB stabilisci le caratteristiche della comunicazione seriale che vuoi, cioè velocità, num.di bit, parità etc....poi devi fare del codice per gestire la comunicazione x esempio un buffer

per la ricezione dove leggi ciò che ti è inviato, mi ricordo che l'uso dei puntatori era efficiente a questo caso

Inserita:

Per prima cosa bisognerebbe sapere se hai pratica di uso di UART/USART perchè la porta seriale in modo freeport lavora esattamente come un UART/USART. In pratica invece di programmarlo nell'assembler del micro lo programmi in AWL o KOP, ma la metodologia è identica. Devi farti un buffer di ricezione ed uno di trasmissione, hai gli interrupts sulla trasmissione e sulla ricezione. Nelle tips & ticks Siemens trovi degli esmpi abbastanza facili ed esplicativi.

Inserita:

Per prima cosa bisognerebbe sapere se hai pratica di uso di UART/USART perchè la porta seriale in modo freeport lavora esattamente come un UART/USART. In pratica invece di programmarlo nell'assembler del micro lo programmi in AWL o KOP, ma la metodologia è identica. Devi farti un buffer di ricezione ed uno di trasmissione, hai gli interrupts sulla trasmissione e sulla ricezione. Nelle tips & ticks Siemens trovi degli esmpi abbastanza facili ed esplicativi.

Inserita:

Grazie per l'aiuto.

faccio una domanda a Livio Orsini , e possibile quindi utilizzare questo sistema per settare delle uscite e leggere delle memorie da VB6 con L'uso dell'oggetto MSComm.

:( No non sono pratico del metodo UART/USART e siste della documentazione?

Ciao atutti

Inserita:

Grazie per l'aiuto.

faccio una domanda a Livio Orsini , e possibile quindi utilizzare questo sistema per settare delle uscite e leggere delle memorie da VB6 con L'uso dell'oggetto MSComm.

:( No non sono pratico del metodo UART/USART e siste della documentazione?

Ciao atutti

Inserita:

La risposta è si a condizione che tu programmi il PLC in modo che legga e scriva le memorie e gli I/O e li trasferisca sulla seriale.

Su come programmare la porta il manuale della Siemens è molto ben fatto. CI sono anche delle tips della Siemens per il modo free port.

Inserita:

La risposta è si a condizione che tu programmi il PLC in modo che legga e scriva le memorie e gli I/O e li trasferisca sulla seriale.

Su come programmare la porta il manuale della Siemens è molto ben fatto. CI sono anche delle tips della Siemens per il modo free port.

Inserita:

Anche se uso poco il 200 mi inserisco perché sono curioso... vorrei fare una domanda: se il plc ha una sola porta e lo metto in modalità freeport poi riesco ancora a programmarlo visto che la porta cambia modalità di funzionamento ?

Inserita:

Anche se uso poco il 200 mi inserisco perché sono curioso... vorrei fare una domanda: se il plc ha una sola porta e lo metto in modalità freeport poi riesco ancora a programmarlo visto che la porta cambia modalità di funzionamento ?

Inserita:

Bassa mettere il PLC in stop e riesci a programarlo nuovamente!

Inserita:

Bassa mettere il PLC in stop e riesci a programarlo nuovamente!

  • 4 years later...
Inserita:

Ciao a tutti, sapete se cè la possibilità di NON assegnare un indirizzo a una variabile in un blocco parametrizzato?

Mi spiego meglio, ho un blocco parametrizzato abbastanza articolato che richiamo X volte. In alcuni richiami però certi ingressi non sono presenti (altre volte certe uscite), in questo caso operando su alcuni CN mi bastava mettere la siglatura N.U.,la variabile "veniva vista" come non presente, e tutto seguiva il suo corso senza problemi. Esiste una soluzione simile o devo dare indirizzi non utilizzati per procedere. Lo so non cambia molto però avendo un bel blocchettone ripetuto tante volte è molto utile vedere N.U. anzichè indirizzi non utilizzati, sarà anche una questione di abitudine mia.

Grazie in anticipo.

Inserita:

Ciao a tutti, sapete se cè la possibilità di NON assegnare un indirizzo a una variabile in un blocco parametrizzato?

Mi spiego meglio, ho un blocco parametrizzato abbastanza articolato che richiamo X volte. In alcuni richiami però certi ingressi non sono presenti (altre volte certe uscite), in questo caso operando su alcuni CN mi bastava mettere la siglatura N.U.,la variabile "veniva vista" come non presente, e tutto seguiva il suo corso senza problemi. Esiste una soluzione simile o devo dare indirizzi non utilizzati per procedere. Lo so non cambia molto però avendo un bel blocchettone ripetuto tante volte è molto utile vedere N.U. anzichè indirizzi non utilizzati, sarà anche una questione di abitudine mia.

Grazie in anticipo.

FattoreDiPotenza
Inserita:

Non mi sembra una cosa molto semplice.

Se hai delle variabili inutilizzate o inutilizzabili nei blocchi di interfaccia farei così:

Nel blocco parametrizzato chiamante , quello con la DB di istanza) nella sua interfaccia creo delle variabili TEMP che chiamo DUMMY_1 (bool) DUMMY_2 (INT) DUMMY_3(word) e così via per quanti sono i tipi di dati che devo "by passare".

Poi usi nella chiamata le variabili DUMMY_x a seconda del formato del dato.

Usi la stessa quante volte ti pare nelle varie chiamate.

FattoreDiPotenza
Inserita:

Non mi sembra una cosa molto semplice.

Se hai delle variabili inutilizzate o inutilizzabili nei blocchi di interfaccia farei così:

Nel blocco parametrizzato chiamante , quello con la DB di istanza) nella sua interfaccia creo delle variabili TEMP che chiamo DUMMY_1 (bool) DUMMY_2 (INT) DUMMY_3(word) e così via per quanti sono i tipi di dati che devo "by passare".

Poi usi nella chiamata le variabili DUMMY_x a seconda del formato del dato.

Usi la stessa quante volte ti pare nelle varie chiamate.

Inserita:

Se il blocco è un FB puoi semplicemente lasciare vuota la dichiarazione.

Se è un FC devi per forza assegnargli qualcosa:

- in caso di bit di ingresso puoi scrivere FALSE o TRUE, se non ti piace creati un Merker con simbolo = "OPTIONAL" e usa quello.

- se il bit è una uscita o in/out puoi appoggiarlo a un merker (magari con simbolo "TEMP")

o magari lo stesso OPTIONAL sopra (ammesso che non crei casini).

Inserita:

Se il blocco è un FB puoi semplicemente lasciare vuota la dichiarazione.

Se è un FC devi per forza assegnargli qualcosa:

- in caso di bit di ingresso puoi scrivere FALSE o TRUE, se non ti piace creati un Merker con simbolo = "OPTIONAL" e usa quello.

- se il bit è una uscita o in/out puoi appoggiarlo a un merker (magari con simbolo "TEMP")

o magari lo stesso OPTIONAL sopra (ammesso che non crei casini).

FattoreDiPotenza
Inserita:

Quello che dice jumpman è vero , gli FB non richiedono un variabile obbigatoriamente.

I merker li puoi usare benissimo , il formato merker è il più accettato per ogni tipo di dato , persino S5_time , riservi una MD solo per questo scopo , richiamando alla bisogna l'indirizzo a bit , byte , word doppia word a seconda del dato che serve.

Interrogare o modificare più volte la stessa MD nel programma non crea nessun casino , a patto che non sbagli finendo ad usare un inidirizzo di qulla MD in altri punti del programma per cose serie.

FattoreDiPotenza
Inserita:

Quello che dice jumpman è vero , gli FB non richiedono un variabile obbigatoriamente.

I merker li puoi usare benissimo , il formato merker è il più accettato per ogni tipo di dato , persino S5_time , riservi una MD solo per questo scopo , richiamando alla bisogna l'indirizzo a bit , byte , word doppia word a seconda del dato che serve.

Interrogare o modificare più volte la stessa MD nel programma non crea nessun casino , a patto che non sbagli finendo ad usare un inidirizzo di qulla MD in altri punti del programma per cose serie.

Inserita:
non crea nessun casino

Intendevo all'interno dell'FB/FC.

Inserita:
non crea nessun casino

Intendevo all'interno dell'FB/FC.

Inserita:

Si in effetti stò già utilizzando dei merker. Il mio discorso era dovuto al fatto che quando giriamo per assistenza vedendo già N.U. (come abituati ora) riusciamo a capire al volo che tipo di accessori monta la macchina e come è configurata.

Aggiudicato l'OPTIONAL.

Grazie ciao.

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