atjbat Inserito: 12 aprile 2005 Segnala Inserito: 12 aprile 2005 Qualcuno ha idea di qual'è il comando per leggere via hostlink le work area del cj da PC ?saluti a tutti
ELMO Inserita: 13 aprile 2005 Segnala Inserita: 13 aprile 2005 Direi che in Host Link non si può leggere i canali WRdevi utilizzare il protocollo Fins con i suoi nuovi comandi e indirizzi
MarcoEli Inserita: 13 aprile 2005 Segnala Inserita: 13 aprile 2005 Purtroppo sulla serie CJ è un problema leggere gli HR ensa che anche gli NT620 non riescono a leggerli. Chiesto e richiesto in Omron non c'è verso di leggerli.Devi copiare i dati su delle DM.
ifachsoftware Inserita: 13 aprile 2005 Segnala Inserita: 13 aprile 2005 Ti estrapolo una parte di codice scritta per i dsPIC , le funzioni mancanti te le lascio implementare a te, sperando che le accodi in fondo a questo messaggio contribuendo anche tu al forum.// Esempio in C per la lettura di area W tramite comandi FINS// La creazione dell'FCS e' la stessa dell'HOST LINK#define OMRON_FINS_RESP_WAIT 15 // Tempo attesa risposta comandi fins 0-15ms// Funzione per Leggere in Hex da un'area W// Ritorna 1 Se tutto OK / 0 Se Erroreunsigned int OmronHexFinsWRead(unsigned int nUnit,unsigned int nChannel,unsigned int *nValue){ sprintf(Omron.TxB,"[at]%02uFA%X000000000101B1%04X00%04X",nUnit,OMRON_FINS_RESP_WAIT,nChannel,1); /* BuffFins = "[at]%02u" ' nUnit BuffFins = BuffFins & "FA%X" ' OMRON_FINS_RESP_WAIT 0-F tempo in ms BuffFins = BuffFins & "00" ' ICF - (00) Plc collegato direttamente al PC (80) se collegato in rete BuffFins = BuffFins & "00" ' DA2 - (00) Host Link Mode BuffFins = BuffFins & "00" ' SA2 - (00) Comunicazione Seriale BuffFins = BuffFins & "00" ' SID - (00) Valore default per counter BuffFins = BuffFins & "0101" ' Lettura CIO 0101 BuffFins = BuffFins & "B1" ' (B1) Area W a Word BuffFins = BuffFins & "04X00" ' nChannel BuffFins = BuffFins & "04X" ' N° Canali da leggere (1) */ OmronAddFcs(Omron.TxB); Omron.nRicevuti = 0; putsUART1((unsigned int *)Omron.TxB); // Invia la richiesta OmronWaitRx(31,OMRON_UART_WAIT); // Aspetta 31 Caratteri come risposta (vengono scritti nel buffer Omron.RxB definito come variabile globale) /* Risposta "[at]" 0 "xx" nUnit 1,2 "FA00xx" ICF 3,4,5,6,7,8 "xx" DA2 9,10 "xx" SA2 11,12 "xx" SID 13,14 "xxxx" Fins command code 15,16,17,18 "xxxx" Fins Response code 19,20,21,22 "0000" = Normal completition "xxxx" Dato1 23,24,25,26 "xx" FCS 27,28 * 29 Enter 30 */ if(Omron.nRicevuti == 31 && Omron.RxB[29] == '*' && Omron.RxB[30] == 13) // Se il terminatore e' giusto e sono arrivati tutti i caratteri { Omron.BuffVal[0] = Omron.RxB[27]; // Salva l'FCS Ritornato Omron.BuffVal[1] = Omron.RxB[28]; Omron.BuffVal[2] = '\0'; Omron.RxB[27] = '\0'; // Toglie l'FCS Ritornato OmronAddFcs(Omron.RxB); // Calcola l'FCS Ritornato if(Omron.BuffVal[0] == Omron.RxB[27] && // Se corrisponde l'FCS Omron.BuffVal[1] == Omron.RxB[28] && Omron.RxB[19] == '0' && Omron.RxB[20] == '0' && Omron.RxB[21] == '0' && Omron.RxB[22] == '0') // Normal Completition { Omron.BuffVal[0] = Omron.RxB[23]; Omron.BuffVal[1] = Omron.RxB[24]; Omron.BuffVal[2] = Omron.RxB[25]; Omron.BuffVal[3] = Omron.RxB[26]; Omron.BuffVal[4] = '\0'; *nValue = HexToDec(Omron.BuffVal); // Valore Letto return 1; // Dato Ok } } return 0; // Errore}Ciao
atjbat Inserita: 13 aprile 2005 Autore Segnala Inserita: 13 aprile 2005 Ok quindi farò appoggiare le wa su delle dm grazie a tutti .In quanto al discorso del fins io non ho niente perchè lavoro su hostlink in visual basic.Se serve qualcosa relativo chiedete pure, se posso rispondo volentierisaluti
ifachsoftware Inserita: 13 aprile 2005 Segnala Inserita: 13 aprile 2005 Guarda che i PLC Omron della serie CJ dialogano in seriale sia col protocollo HOST LINK per compatibilita' con i vecchi comandi (ma attento che ha delle limitazioni , per esempio non puoi con i vecchi comandi leggere tutte le DM che ti da il CJ ...) , sia con protocollo HOST LINK inglobato nei comandi FINS .Mentre se lavori su ETHERNET invece che seriale devi usare i comandi FINS puri.L'esempio che ti ho dato riguarda il dialogo in seriale e ti permette di leggere 1 area W in HEX , puoi comunque facilmente modificarlo per lavorare con VB.Il manuale di riferimento per guardare tali comandi e' il Cat. No. W342-E1-08(Communications Commands REFERENCE MANUAL) e lo trovi sul sito della omronhttp://www.omron.it.Ciao
MarcoEli Inserita: 13 aprile 2005 Segnala Inserita: 13 aprile 2005 Comunque per semplificare le cose poresti usare un OPC Server.
Mario Lavezzi Inserita: 18 aprile 2005 Segnala Inserita: 18 aprile 2005 occhio all'OPC Server e' una buona soluzione versatile ma nasconde alcuni tranelli , attenti alle array che in scrittura non sono perfettamente compatibili agli standard, comunque fatemi sapere se Omron ha fatto qualche passo in avanti con l'OPC
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