Vai al contenuto
PLC Forum


Protocollo Gefran 1600 CENCAL


Messaggi consigliati

Inserito:

Buongiorno,

 

sto tentando di comunicare con uno strumento Gefran 1600 che comunica nel protocollo CENCAL.
Dalla Gefran mi è stato detto che è una comunicazione seriale di tipo RS422 ed ho ricevuto una lista di registri appositamente per il CENCAL (diversi da quella in MODBUS).

Ho provato ad interrogare lo strumento utilizzando una 1511 con una periferica ET200s che ha a bordo una CM PtP.

 

Ho provato a configurare la scheda sia come 

fullduplex (RS 422) a quattro fili (punto a punto)

che come fullduplex (RS422) funzionamento a quattro fili (Master multipoint, CM PtP (ET 200SP))

 

Ho creato i blocchi funzionali Modbus_Comm_Load (con impostazione del MODE sia come 16#02 che come 16#01)  ed il Modbus Master.

Tutto come quando comunico in Modbus RS485, con la differenza dell'impostazione HW (nella scheda) e SW per RS422.

 

Il collegamento è a 4 fili ed ho provato sia a fare la corrispondenza 1 a 1 (TX e RX del master collegati con TX e RX dello slave) che come invertiti (TX master su RX slave).

 

Purtroppo ho sempre errore 80C8.

 

Secondo voi dove potrebbe essere l'errore?

 

Grazie e buona giornata a tutti


ifachsoftware
Inserita: (modificato)

Per creare un programma in TIA Portal V19 per comunicare via RS485, puoi usare un modulo seriale (es. CM PtP RS485) collegato a una CPU S7-1200 o S7-1500. Ti spiego passo passo come strutturare il progetto:


il protocollo CENCAL di Gefran non è nativamente supportato da Siemens S7-1500, quindi non esistono blocchi standard o librerie Siemens già pronte per questo protocollo. Tuttavia, posso guidarti su come procedere per leggere e scrivere dati tramite S7-1500, sfruttando la comunicazione seriale (ad esempio tramite modulo CM PtP RS422) e sviluppando il parsing/protocollo in Structured Text (ST).

1. Premesse tecniche

  • CENCAL è un protocollo seriale proprietario Gefran, diverso da Modbus.
  • Serve una lista dei registri/telegrammi fornita da Gefran.
  • Il modulo Siemens CM PtP (RS422) va configurato in modalità trasparente (RAW) per inviare/ricevere byte.

2. Configurazione hardware

  • Collega il modulo CM PtP RS422 tra S7-1500 e il dispositivo Gefran.
  • Configura la porta seriale (baud rate, bit di stop, parità) secondo le specifiche CENCAL.
Modificato: da ifachsoftware
ifachsoftware
Inserita:

Esempio 

 

// Definizione dei dati da inviare (esempio: comando di lettura registro)
VAR
    TxBuffer : ARRAY[0..7] OF BYTE := [16#02, 16#30, 16#31, 16#52, 16#30, 16#30, 16#03, 16#XX]; // XX = checksum
    RxBuffer : ARRAY[0..15] OF BYTE;
    SendReq  : BOOL := FALSE;
    RecvReq  : BOOL := FALSE;
    Status   : INT;
END_VAR
// Calcolo checksum (esempio LRC)
FUNCTION CalcLRC : BYTE
VAR_INPUT
    Data : ARRAY[*] OF BYTE;
    Len  : INT;
END_VAR
VAR
    LRC : BYTE := 0;
    i   : INT;
END_VAR
FOR i := 0 TO Len-1 DO
    LRC := LRC XOR Data[i];
END_FOR
CalcLRC := LRC;
END_FUNCTION

 

// Invio comando
IF SendReq THEN
    TxBuffer[7] := CalcLRC(TxBuffer, 7); // Calcola checksum
    // Chiamata FB di invio seriale (es: FB_SerialSend)
    Status := FB_SerialSend(Port:=1, Data:=TxBuffer, Length:=8);
    SendReq := FALSE;
END_IF
// Ricezione risposta
IF RecvReq THEN
    // Chiamata FB di ricezione seriale (es: FB_SerialRecv)
    Status := FB_SerialRecv(Port:=1, Data:=RxBuffer, Length:=16);
    // Parsing risposta secondo protocollo CENCAL
    // ...
    RecvReq := FALSE;
END_IF

4. Blocco di invio/ricezione

  • Usa i blocchi Siemens per la gestione seriale (es. SFB 52/53 o FB specifici del modulo CM PtP).
  • Implementa il parsing dei telegrammi secondo la documentazione Gefran.

5. Risorse utili

Il protocollo CENCAL deve dartelo la Gefran , se no non ci fai nulla

 

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