Ctec Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 Supponiamo 38400, 8N1 Modbus RTU master: la word sarà (in binario): 0000110010100001b, che in esadecimale è 0x0CA1, quindi dovrai fare: MOV H0CA1 D8120 In colore ti ho evidenziato i singoli elementi della tabella. Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 Cominci da sinistra a comporre i bytes facendo così: 8 bit, quindi tieni 1 parity nessuna quindi tieni 00 che, per adesso, fa 001 stop bit 1 bit, che corrisponde a 0 quindi adesso hai 0001 Baud rate (velocità) a 19200 (Mitsubishi di più non fa) quindi tieni 1001 che aggiunto ai bit precedenti fa 10010001 gli altri due bit (forbidden) sono a 0 quindi 0010010001 Setti il MODBUS come slave ( e darai i comandi di lettura e scrittura da Arduino o altro) ed hai 010 che aggiunto a quelli sopra fa 0100010010001 poi altri tre 0 (forbidden) e i tuoi bytes diventano 0000100010010001 che tradotto in esadecimale (cerchi convertitore esadecimale in google) fa 891 Quindi copi questo valore su D8120 con LD M8000 ---[ MOV H891 D8120]- muovo anche K20 sul D8129 e muovo K1 sul D8121 (il nr. dell'interfaccia) Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 3 ore fa, Livio Orsini ha scritto: Forse intendi dire che il tempo di scansione è molto piccolo quindi la velocità è molto elevata. Questo certamente non è molto professionale. Non c'è nemmeno bisogno di contare i cicli, si possono fare facilmente delle misure del tempo di ciclo;anzi molti PLC lo fanno direttamente e lo mettono a disposizione in un dato di memeoria. Hai ragione, il tempo è molto piccolo, mi sono espresso male intendevo dire che il numero di cicli nel tempo è molto elevato. Per quanto riguarda il tempo di ciclo, ad oggi, non mi è mai interessato perché ho sempre fatto macchinari nell'industria del vetro, linee automatiche per vetrocamera dove entra la lastra di vetro ed esce il doppio vetro da inserire nel serramento, quindi nel tempo che ci mette una elettrovalvola per attivarsi il plc ha già fatto migliaia di cicli... Sicuramente sarà poco professionale ma oggi come oggi il tempo di ciclo a cosa serve quando sai già che i PLC moderni sono velocissimi? Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 8 dicembre 2020 Autore Segnala Share Inserita: 8 dicembre 2020 Ahhhh, grazie mille adesso ho capito io provavo ad inviare direttamente la serie binaria e sbagliavo in quanto doveva essere convertita in esadecimale! Un altra domanda, mi pare di aver capito che per leggere i dati dalla slave usi from e per inviarli usi To. Ma non mi è chiaro cosa sia il primo parametro perché anche qui penso a questo punto che sia in esadecimale. Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 Devi ricordare che qualsiasi cosa comincia per H è un dato esadecimale.... 😀 Per quanto riguarda le istruzioni FROM e TO, non le ho mai usate perché io il Modbus lo uso mettendo il PLC in SLAVE con tre righe di ladder e tutto il lavoro lo faccio sul Master, che nel mio caso è un WeMos che legge dati dal PLC FX3u, li manda sul data base, dal MySql li leggo su pagina HTML, li modifico, li rimando al WeMos e il Wemos li scrive sul PLC. Quindi nessun sbattimento sul PLC e poche istruzioni sul Wemos con la libreria ModbusMaster.h Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 8 dicembre 2020 Autore Segnala Share Inserita: 8 dicembre 2020 Ah no io invece lo devo usare come master... quindi mi servirebbe capire come funzionano from e to o meglio il concetto dovrei averlo capito ma non so cos’è quel dato Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 Ricorda che non hai un vero Mitsubishi. Hanno integrato il modulo Modbus (che di serie sugli FX2N non c'è) con il quale (come tutti i moduli non I/O digitali) comunica con il PLC mediante TO e FROM. TO per inviare dati al modulo (quindi trasmettere Modbus) e FROM per leggere dati dal modulo (ricezione Modbus). Dalla tabella, mi par di capire che quello che non hai chiaro è il parametro M1. Come si vede lella descrizione, la word è divisa in due byte. Quello basso indica l'indirizzo dello slave, quello alto il codice della funzione Modbus che andrai ad utilizzare. Supponiamo che vuoi leggere dei dati dallo slave numero 5, allora avrai numero slave H05 e comando Modbus H03 (leggi registri), allora M1 sarà H0305. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 (modificato) 1 ora fa, Stefano Dellanoce ha scritto: Sicuramente sarà poco professionale ma oggi come oggi il tempo di ciclo a cosa serve quando sai già che i PLC moderni sono velocissimi? Sono velocissimi rispetto ad un processo lento; però non ci sono solo processi lenti. Poi c'è la questione di una metodologia più o meno corretta. Lo chiarisco conn un esempio. Se hai un alimentatore che eroga 5 A continuativi e tustai collaudando un circuito che dovrebbe assorbire <1A a cosa serve aver calcolato la corrente assorbita in modo esatto? Serve per verificare che non ci sia un assorbimento anomalo. Così la verifica del tempo di ciclo ti da un'indicazione se hai ottimizzato bene, se non c'è qualche giro di pista a vuoto e, soprattutto, se ci fossero forti variazioni del tempo di ciclo, capire se c'è qualche anomalia. Io mi sono formato programmando microcontrollori (a partire dallo F8) ed acquisito una mentalità che ho mantenuto anche con i PLC, anche se da un po' di anni a questa parte, ho (fortunatamente) smesso di usarli. Modificato: 8 dicembre 2020 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 Sulla metodologia, Livio, sfondi una porta aperta. Sono molto rigido anche io, venendo dalla "vecchia scuola" e preferendo ancora il buon vecchio ladder anche al C++ che nei PLC mi pare oltremodo inutile, ma qui so di scontrarmi con la new generation che preferisce ore e ore di programmazione alla sintesi e alla semplicità (con lo stesso risultato, s'intende!). Poi, per ciò che riguarda il tempo di ciclo, è una mia mancanza, lo riconosco, però probabilmente non ho mai avuto bisogno di conoscerlo in trent'anni di programmazione. Forse avrei potuto ottimizzare? Può darsi, dipende anche se ne valesse la pena. Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 1 ora fa, nikopoli ha scritto: Ah no io invece lo devo usare come master... quindi mi servirebbe capire come funzionano from e to o meglio il concetto dovrei averlo capito ma non so cos’è quel dato Se non lo hai ancora, qui c'è il MANUALE per il Modbus Mitsubishi. Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 8 dicembre 2020 Autore Segnala Share Inserita: 8 dicembre 2020 Ma solo per capirci quindi non è un valore che va scritto in esadecimale da come ho capito giusto? Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 8 dicembre 2020 Autore Segnala Share Inserita: 8 dicembre 2020 Ah si grazie mille del manuale non lo avevo ancora! Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 1 ora fa, nikopoli ha scritto: quindi non è un valore che va scritto in esadecimale da come ho capito giusto? Scusa, ma io ho scritto: 2 ore fa, Ctec ha scritto: allora M1 sarà H0305 e il prefisso H sta per valore esadecimale. Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 8 dicembre 2020 Segnala Share Inserita: 8 dicembre 2020 5 ore fa, Stefano Dellanoce ha scritto: Devi ricordare che qualsiasi cosa comincia per H è un dato esadecimale.... 😀 .... Così, giusto per RIBADIRE 😀😀😀 Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 9 dicembre 2020 Autore Segnala Share Inserita: 9 dicembre 2020 Per fare un esempio funzione 3 h03 indirizzo slave 30 mi resterà H031E corretto? Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 9 dicembre 2020 Segnala Share Inserita: 9 dicembre 2020 Esattamente Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 9 dicembre 2020 Autore Segnala Share Inserita: 9 dicembre 2020 Perfetto grazie mille! Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 13 dicembre 2020 Autore Segnala Share Inserita: 13 dicembre 2020 Stefano mi potresti mandare il tuo programma e spiegarmi a che pin ti sei collegato e che transistor hai usato per portare il 5v a 24v nell attesa che mi arrivino i moduli rs485 per arduino voglio provare anche la tua soluzione se per caso in casa avessi il transistor... grazie! Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 19 dicembre 2020 Segnala Share Inserita: 19 dicembre 2020 Ho preso l'uscita DA0 (digitale analogica 0) dove, in ladder, ho stabilito due valori che dovrò richiamare per NON SUPERARE i 5 volt e cioè 0 per la variabile (per esempio) D100 e 2048 per la variabile D101 (sapendo che l'uscita massima a 10 volt corrisponde a 4096). Quindi per me On è D101 e Off è D100. Poi per leggere i dati basta un ingresso digitale qualsiasi. Ho in casa dei transistor NPN (qualsiasi tipo) dove l'emettitore sarà a massa, la base collegata a DA0 e il collettore all'ingresso del PLC (ci sono migliaia di esempi in google tipo QUESTO). Quindi se hai un NPN il tuo ingresso andrà a ZERO quando la schedina andrà ad ON, mentre se colleghi un PNP (emettitore a +24, base sempre alla schedina e collettore all'ingresso del PLC) a schedina ON avrai una uscita +24. Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 26 dicembre 2020 Segnala Share Inserita: 26 dicembre 2020 Poi CTEC mi ha fatto pensare.... L'uscita analogica è un treno di impulsi che, per tanto veloce sia, potrebbe essere riconosciuto dall'ingresso digitale della schedina HX711. Quindi, in queste feste, anzi, oggi che è il mio onomastico, ho rimontato la schedina HX711 su breadboard, un transistor sull'uscita DATA per portare il livello alto a +24 e il livello basso a 0 volt (perché la schedina funziona a +5) e l'ingresso SCK direttamente all'uscita analogica del clone MITSUBISHI FX3u. Carico le poche righe di ladder che avevo salvato e la cella di carico legge perfettamente. Allora mi ricordo che da qualche parte ho un oscilloscopio FLUKE 97, un po datato ma portatile e versatile. Metto il puntale sul SCK (che è collegato all'uscita analogica che ho settato a 2048, quindi 5volt) e mi aspetto di vedere il PWR, la frequenza del treno di impulsi.... Niente. Cioè, il PWR c'è di sicuro, ma a 50 mS si vede poco o nulla, forse è ammortizzato bene (molto bene) da un condensatore, quindi capisco come mai HX711 vede una tensione e non un treno PWR. Rifaccio le stesse misure con l'oscilloscopio sull'uscita analogica sconnettendo il filo SCK, ma non cambia nulla. Sicuramente un OTTIMO PWR. Quindi ecco spiegato come mai riesco a leggere le celle di carico da PLC SENZA HARDWARE AGGIUNTIVO oltre la HX711 e un transistor NPN (un BC548) che quando è pilotato in positivo a +5 dal pin DATA mi chiude il transistor a massa e a me va bene dato che il PLC legge l'ingresso ON quando è a massa. Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 2 gennaio 2021 Autore Segnala Share Inserita: 2 gennaio 2021 Ciao, a tutti sono qui per avere un chiarimento sempre a riguardo dell utilizzo del modbus. Ho comprato una scheda modbus con 32 uscite ho settato la scheda a 9600 come anche il plc in D8120 come mi avevate spiegato. A questo punto avrei voluti attivare le bobine allora ho usato la funzione TO e ho fatto questo (vedi foto) Con S dovrei ho indicato 05 write single coil 01 indirizzo slave n1 e la bobina che voglio attivare cioè la 1 n2 e n3 non mi è chiaro a cosa servano fatto sta che cosi com'è non funziona quindi, sapreste aiutarmi gentilmente? Link al commento Condividi su altri siti More sharing options...
Stefano Dellanoce Inserita: 4 gennaio 2021 Segnala Share Inserita: 4 gennaio 2021 Come mai usi TO? Io sapevo che si usava ADPRW (funzione 276). Leggi il capitolo 8. MANUALE MODBUS Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 4 gennaio 2021 Segnala Share Inserita: 4 gennaio 2021 Nikopoli non usa un Mitsubishi, ma un clone display+PLC, dove le funzionalità aggiuntive (è un FX2 compatibile) sono gestite con TO e FROM. Il tuo manuale fa riferimento agli FX3 Non ho il tempo di rivedere il suo manuale per controllare i dati. Spero in questi giorni. Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 4 gennaio 2021 Autore Segnala Share Inserita: 4 gennaio 2021 Si esatto è un clone, grazie mille! Non ho fretta! Link al commento Condividi su altri siti More sharing options...
nikopoli Inserita: 4 gennaio 2021 Autore Segnala Share Inserita: 4 gennaio 2021 Ti ho postato qui le pagine di manuale per risparmiarti un po’ di tempo, ma ripeto non ho fretta! 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