Vai al contenuto
PLC Forum


Problema comunicazione seriale Cm PtP verso stampigliatrice


Cip77

Messaggi consigliati

Ciao a tutti, sono da un cliente e non riesco a far dialogare il PLC con una stampigliatrice Brain Evo 3.

 

Configurazione attuale è:

Modulo: CM PtP - 6ES7 137-6AA00-0BA0

Periferia dec.: IM 155-6 PN/2 HF - 6ES7 155-6AU01-0CN0 (sul quale è montato il modulo)

PLC: CPU 314C-2 PN/DP - 6ES7 314-6EH04-0AB0

 

Premetto che non ho modo di controllare la trasmissione seriale in quanto sulla stampigliatrice non sono presenti menù di debug e non ho porte e/o convertitori da poter usare.

Premetto anche che ho una macchina gemella con stessa stampigliatrice e stesso PLC, ma modulo seriale differente (1 SI - 6ES7 138-4DF01-0AB0) dove funziona tutto perfettamente.

 

La stringa che vado a comporre e che, sul vecchio modulo, mando con il comando S_SEND è la seguente: 

$01K00$021-22.42$03161$R
Veniva mandato indicando il DB che contiene la stringa (es. DB110) ed indicando la DBB (es. DBB2, in quanto la stringa parte da DBB0, ma serve per non mandare i primi due caratteri che mette il PLC nella stringa).

 

Con il nuovo modulo ho usato il comando SEND_P2P con i seguenti parametri:

- REQ a 1 quando faccio la richiesta e si resetta quando legge il DONE

- PORT a 960 (indirizzo iniziale preso dalla configurazione hardware)

- BUFFER ho messo la mia stringa, nel mio caso "SerialSendBuffer".SendData

- LENGTH ho messo la lunghezza della stringa (nel mio caso 17)

- COM_RST è false

Finita l'operazione DONE va a TRUE mentre ERROR resta sempre a FALSE

 

VARIANTI:

Ho provato a cambiare BUFFER mettendo P#DB110.DBX2.0 BYTE 90 (DB110 è SerialSendBuffer)

Ho provato a convertire "SerialSendBuffer".SendData in un array di Char (sia partendo da 0 che partendo da 2)

Ho provato a convertire "SerialSendBuffer".SendData in un array di Byte(sia partendo da 0 che partendo da 2)

Ho provato a mettere LENGTH, in teoria dovrebbe mandare l'intero BUFFER

Ho anche provato ad inserire Port_Config in OB100.

 

La configurazione del modulo è RS232C con i parametri identici a quelli della stampigliatrice (9600, none, 8, 1) fatta sia da configurazione hardware che successivamente da Port_Config.

 

AIUTOOOOOOOOOOOOOOOOOOOOOO

 

Grazie a tutti,

Claudio.

 

Modificato: da Cip77
Aggiunto info mancanti
Link al commento
Condividi su altri siti


Ciao,

quando comincio a tribulare con le seriale di un PLC, prima faccio un pò di prove con il dispositivo dialogando con un computer; ti serve una seriale per PC, il cavo che puoi anche autocostruirti; ho anche fatto acquistare una presa DB9 con morsetti a vite (molto comoda) per collegarmi al posto del PLC: la puoi trovare su RS o Distrelec; infine ti serve un software per gestire la seriale da PC: se cerchi nel forum, trovi quello che avevo scritto io, che è limitato, o, altrimenti, puoi usare Hercules.

Lo faccio perchè con il PC cambiare parametri, cablaggio e quant'altro è molto più veloce che con il PLC. Una volta che tutto funziona, mi segno le modifiche e, a quel punto, il PLC non ha più scuse: deve funzionare per forza.

Link al commento
Condividi su altri siti

Buongiorno, scusate ma sono rientrato ieri sera e non ho avuto tempo per aggiornare il post.

 

21 ore fa, drugo66 scrisse:

Ciao,

quando comincio a tribulare con le seriale di un PLC, prima faccio un pò di prove con il dispositivo dialogando con un computer; ti serve una seriale per PC, il cavo che puoi anche autocostruirti; ho anche fatto acquistare una presa DB9 con morsetti a vite (molto comoda) per collegarmi al posto del PLC: la puoi trovare su RS o Distrelec; infine ti serve un software per gestire la seriale da PC: se cerchi nel forum, trovi quello che avevo scritto io, che è limitato, o, altrimenti, puoi usare Hercules.

Lo faccio perchè con il PC cambiare parametri, cablaggio e quant'altro è molto più veloce che con il PLC. Una volta che tutto funziona, mi segno le modifiche e, a quel punto, il PLC non ha più scuse: deve funzionare per forza.

Grazie per la risposta Drugo. Avrei fatto così anche io, ma essendo fuori dal cliente, con i tempi corti, e senza il materiale da te descritto, non ho potuto farlo.

 

Alla fine era solo un problema di collegamento e di manuale della stampigliatrice errato (hanno segnato i pin RxD e TxD invertiti):  il fatto è che io avevo provato ad invertire Tx con Rx, ma non aveva funzionato comunque. Probabilmente nella fretta ho spinto troppo i cavi nei morsetti o altro ... non saprei.

 

Alla fine ha dialogato perfettamente e come BUFFER va bene passare il puntatore con questa sintassi: P#DBXXX.DBX2.0 BYTE 90 (ovvero l'offset della stringa + 2 byte)

 

Se avete altre domande, fatele pure che magari sono informazioni che in futuro potranno essere utili ad altri.

 

Ciao,

Claudio.

Modificato: da Cip77
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...