Vai al contenuto
PLC Forum


Testi Con Il Plc - uso delle DM


minihidro

Messaggi consigliati

Sto "smanettando" :) con un PLc C200HX ... E devo dire che delle funzione ne ha parecchie :)

Ora Volevo trasferire delle "frasi" dal PLC ad un terminale seriale.

In pratica dovrei trasmettere attraverso la rs232 dei byte che appariranno sullo schermo del terminale.

Ora leggendo la documentazione , molto ben fatta e dettagliata , non ci sono stati molti problemi.

Appoggiandomi a delle DM pero' posso mandare solo 2 byte per ogni DM , quindi se voglio mandare la scritta "test" ad esempio al mio terminale mi occoreranno 2 DM

Su frasi lunghe pero' diventa un macello la programmazione.

Mi chiedevo quindi se esisteva un modo , un comando . tipo il comando "MSG" o "LMSG" che potesse semplificarmi la vita e velocizzare la programmazzione per mandare sulla rs232 diversi byte..

Ciao

Link al commento
Condividi su altri siti


se usi l'istruzzione TXD poi inviare fino a 256 byte dalla porta hos link

anche in protocollo libero o nessun protocollo

credo che prima devi convertirli in asci con la funzione ASCII

e dovrai inpostare le due porte uguali

da manuale cj1w

TXD(236) legge N byte di dati dai canali da S a S+(N÷2)-1 e invia i dati grezzi

in modalità nessun protocollo dalla porta RS-232C integrata nel modulo CPU

o da una delle porte seriali della scheda di comunicazione seriale. (La porta di

uscita è specificata con i bit 8 - 11 di C).

Prima che i dati vengano emessi, vengono aggiunti i codici di inizio e di fine

specificati per la modalità nessun protocollo. I codici di inizio e di fine sono

specificati nella configurazione del PLC (per la porta RS-232C della CPU) o

nell'area di configurazione DM allocata (per le porte della scheda di

comunicazione seriale).

I dati possono essere trasmessi solo quando il flag Pronto per Trasmissione

della porta è attivato. Il flag Pronto per Trasmissione è A39205 per la porta

RS-232C del modulo CPU, A39605 per la porta 1 della scheda di

comunicazione seriale, A39613 per la porta 2 della scheda di comunicazione

seriale.

È possibile inviare fino a un massimo di 259 byte, compresi i dati di

trasmissione (N = 256 byte max.), il codice di inizio e il codice di fine.

Link al commento
Condividi su altri siti

Si , ok , ma a cosa ti appoggi prima di mandarli.. o meglio dove li memorizzi ?

Io ho provato ad utilizzare delle DM , il problema che devo cambiare DM ogni 2 byte.

Quindi se voglio mandare la scritta "test" devo scrivere "te" su una DM e "st" su un'altra DM.

Se poi devo mandare frasi piu' lunghe....diventa un po' un problema.

Nulla ovviamente di irrisolvibile , pero' mi domandavo se esistevano modi , piu' "semplici" per effettuare queste scritte.

Ciao

Link al commento
Condividi su altri siti

dovresti avere il manuale per capire

la funzione txd e costituita da tre dm

la prima dm gli dici da dove cominciare a a scrivere esempio dm10(di conseguenza dm11-12-13-ecc)

la seconda dm gli dici da quale porta trasmettere

la terza dm quanti byte trasmettere

poi se devi scrivere TE lo metti nella dm10 poi ST lo metti nella dm11 O dm12

Modificato: da gianff
Link al commento
Condividi su altri siti

E usare delle Function Block in ST? Prova a vedere le "Text String Functions" e la funzione

TXD_CPU(a) e TXD_SCU(a,b,c,d)

Secondo me così ti basta dichiarare una variabile string e chiamare una delle istruzioni su citate

Link al commento
Condividi su altri siti

Ho fatto qualche ricerca , ma su la serie C200h , non supporto la "function block"..

Quindi mi sa che l'unico modo sia quella di editare una ad una le DM... che bello ! :)

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