atjbat Inserito: 12 aprile 2005 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
ELMO Inserita: 13 aprile 2005 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
MarcoEli Inserita: 13 aprile 2005 Segnala Share 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. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 13 aprile 2005 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
atjbat Inserita: 13 aprile 2005 Autore Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 13 aprile 2005 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
MarcoEli Inserita: 13 aprile 2005 Segnala Share Inserita: 13 aprile 2005 Comunque per semplificare le cose poresti usare un OPC Server. Link al commento Condividi su altri siti More sharing options...
Mario Lavezzi Inserita: 18 aprile 2005 Segnala Share 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 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