Vai al contenuto
PLC Forum


Info Blocco Parametrizzato - in/out non utilizzati


ciccio12

Messaggi consigliati

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

Link al commento
Condividi su altri siti


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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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 ?

Link al commento
Condividi su altri siti

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 ?

Link al commento
Condividi su altri siti

  • 4 years later...

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

FattoreDiPotenza

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.

Link al commento
Condividi su altri siti

FattoreDiPotenza

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

FattoreDiPotenza

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.

Link al commento
Condividi su altri siti

FattoreDiPotenza

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.

Link al commento
Condividi su altri siti

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.

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