CD4INT Inserito: 4 ottobre 2002 Segnala Share Inserito: 4 ottobre 2002 Ciao a tutti, c'è qcn che conosce la descrizione del protocollo 3964R.Ho trovato dei driver, ma mi servirebbe proprio la struttura del prot. per ricostruire il flusso di dati da un vecchio supervisore a un AS115 944B.Grazie in anticipo a quanti sapranno darmi qualche dritta. Link al commento Condividi su altri siti More sharing options...
Ivan Castellaro Inserita: 4 ottobre 2002 Segnala Share Inserita: 4 ottobre 2002 Ti serve la descrizione del 3964r o la desrizione del protocollo per comunicare con la porta di programmazione del plc (AS511)? Link al commento Condividi su altri siti More sharing options...
automat Inserita: 4 ottobre 2002 Segnala Share Inserita: 4 ottobre 2002 Ho realizzato tempo fa una comunicazione tra un supervisore (Fix) e un plc S595U (seconda interfaccia seriale con protocollo 3964R).Non è stato un parto semplice, se ti interessa mettiti in contatto e (appena possibile) cerco di mandarti per fax qualche doc.Ciao. Link al commento Condividi su altri siti More sharing options...
CD4INT Inserita: 4 ottobre 2002 Autore Segnala Share Inserita: 4 ottobre 2002 Ivan+Oct 4 2002, 10:42 AM-->CITAZIONE(Ivan @ Oct 4 2002, 10:42 AM)Mi serve proprio quella del 3964R!La comun. avviene attraverso una 6ES5524-3UA13 di un 115 cpu 944B.Grazie x l'interessamento. Link al commento Condividi su altri siti More sharing options...
Ivan Castellaro Inserita: 4 ottobre 2002 Segnala Share Inserita: 4 ottobre 2002 Questo è quello che ho della porta di comunicazione. Spero sia la stessa cosa, altrimenti prova su SiemensSupportse trovi qualcosa --------------------------------------------------------------------------------SIEMENS SIMATIC S5 AS511 (Porta di programmazione) descrizione delprotocollo-------------------------------------------------------------------------------------------------------- La struttura dei dati della Siemens non è abituale, apri la portaseriale con: velocità 9600 baud dati 8 bits stop 1 bit parità PARI DLE (10hex) è un carattere di controllo, usato per informare ilricevitore che il carattere seguente deve essere considerato come un carattere di controllo e non come unbyte di dati.In altre parole, DLE è un deviatore software dentro il protocollo AS511per dividere i bytes di controllo e di dati.Ogni volta che deve essere inviato un byte di DATI contenente il valore10hex, il trasmettitore deve RADDOPPIARE il carattere. Ciò significa che per inviare il byte di dati10hex, il trasmettitore deve inviare 10hex 10hex (DLE DLE).Il ricevitore deve considerare la cosa, così un DLE singolo rappresentaun segnale del protocollo, mentre due DLE consecutivi devono essere interpretati come un SINGOLObyte di dati avente il valore 10hex. Questo è trucchetto giacchè il ricevitore non sa MAIesattamente quanti bytes aspettare.Tieni anche nota che l'AG può rispondere DLE NAK al posto di DLE ACK sel'operazione richiesta non può essere effettuata.In questo caso, il PG deve terminare la comunicazione ed attendere per500ms prima di tentare una nuova comunicazione. Il valore di 500ms è anche utilizzato come valore di attesa nel caso dimancata risposta dal partner. Questo significa anche che nessun "buco" di 500ms (o più) è consentitodurante una comunicazione (per esempio dentro una funzione DB_READ).Per leggere o scrivere un valore di datablock, hai bisogno di sapere ilsuo indirizzo nella memoria del PLC. Quindi devi chiamare la funzione B_INFO per saperel'indirizzo, quindi puoi chiamare DB_READ o DB_WRITE passando l'indirizzo iniziale e finale dell'area peressere letta o scritta.Ricordati che in SIMATIC l'ordine dei bytes LSB/MSB è invertito:SIMATIC: 15..............0 BYTE 0 BYTE 1INTEL: 15..............0 BYTE 1 BYTE 0Per ottenere il valore intero corretto di una dataword, l'utente devedunque: - scambiare i bytes ricevuti e - scambiare i bytes prima di inviarli al PLC////////////////////////////////////////////////////////////////////////////// B_INFO input: numero del blocco output: indirizzo iniziale della DW0 in AG PG AS (hex) (hex) ---------------------- function start -------- 02 ----> STX <---- 10 DLE <---- 06 ACK 1A ----> B_INFO function code = 1Ah <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 16 AG answer=16h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK ---------------------- header info -------- 01 ----> ID=01h for Datablock XX ----> DB number (0..255) 10 ----> DLE 04 ----> EOT <---- 10 DLE <---- 06 ACK ---------------------- data -------- <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 00 NUL <---- XX DB initial address <---- XX <---- 70 synchronization code: 70 70 <---- 70 <---- 41 block ID and DB number : 41 XX <---- XX <---- XX PG ID code: XX XX <---- XX <---- XX library number: XX XX <---- XX <---- XX block length (words): XX XX <---- XX <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK ---------------------- terminate -------- <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 12 AG "end of transmission" code: 12h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK////////////////////////////////////////////////////////////////////////////// DB_READ input: indirizzo iniziale in AG indirizzo finale in AG output: contenuto delle datawords PG AS (hex) (hex) ---------------------- function start -------- 02 ----> STX <---- 10 DLE <---- 06 ACK 04 ----> DB_READ function code = 04h <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 16 AG answer=16h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK ---------------------- header info -------- XX ----> initial address in AG: XX XX XX ----> XX ----> final address in AG: XX XX XX ----> 10 ----> DLE 04 ----> EOT <---- 10 DLE <---- 06 ACK ---------------------- data -------- <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 00 NUL <---- 00 NUL <---- 00 NUL <---- 00 NUL <---- 00 NUL <---- XX first byte of data <---- XX <---- XX . . . . . . <---- XX <---- XX <---- XX last byte of data <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK ---------------------- terminate -------- <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 12 AG "end of transmission" code: 12h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK //////////////////////////////////////////////////////////////////////////////DB_WRITE input: indirizzo iniziale in AG contenuto delle datawords output: none PG AS (hex) (hex) ---------------------- function start -------- 02 ----> STX <---- 10 DLE <---- 06 ACK 03 ----> DB_WRITE function code = 03h <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 16 AG answer=16h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK ---------------------- header info -------- XX ----> initial address in AG: XX XX XX ----> ---------------------- data -------- XX ----> first byte of data XX ----> XX ----> . . . . . . XX ----> XX ----> XX ----> last byte of data 10 ----> DLE 04 ----> EOT <---- 10 DLE <---- 06 ACK ---------------------- terminate -------- <---- 02 STX 10 ----> DLE 06 ----> ACK <---- 12 AG "end of transmission" code: 12h <---- 10 DLE <---- 03 ETX 10 ----> DLE 06 ----> ACK //////////////////////////////////////////////////////////////////////////////fine documentoEsempio di disposizione in memoria in una CPU90Scritto il seguente programma:OB1 segm.1: U E 32.0: = A 32.0::: BEScritta la DW0 della DB10DW0 : 0005Memoria occupata dall’indirizzo D0000 all’indirizzo D01FD000 70 70 Codice di sincronizzazioneD002 50 01 OB1D004 80 00 D006 00 00 D008 00 0A D00A C0 20 U E 32.0D00C D8 A0 = A 32.0D00E 10 82 :D010 10 82 :D012 65 00 BED014 70 70 Codice di sincronizzazioneD016 41 0A DB 10D018 80 00 D01A 00 00 D01C 00 06 D01E 00 05 DW0 = 00 05 Protocollo AS511 Pagina 1 di 1 Link al commento Condividi su altri siti More sharing options...
draccula Inserita: 5 ottobre 2002 Segnala Share Inserita: 5 ottobre 2002 Il protocollo di comunicazione che cerchi è quello che descrive Ivan , io qualche cosa in piu' solo su supporto cartaceo , inviami il tuo indirizzo alla mia e-mail fskata[at]katamail.it ,cercherò di inviarti le fotocopie . Saluti Draccula Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora