Vai al contenuto
PLC Forum


Comunicazione Fra Diris A20 E Plc Serie 300 - via MODBUS


virgolanera

Messaggi consigliati

Salve, ho un Socomec Diris A20, con il quale leggo i valori di Potenza attiva, reattiva, etc... Il multimetro è funzionante ed effettua le sue misure. Ora devo riuscire a leggere i valori (anche solo la potenza attiva) dal plc (un 314). Sto leggendo il manuale del Diris, che però come sempre in questi casi, è molto molto sintetico.

La mia comunicazione è via MODBUS, utilizzo la porta mpi della cpu.

C'è qualcuno che ha mai utilizzato questo strumento? Devo ancora provarlo in campo, ma mi chiedo se è possibile leggere direttamente una misura dallo strumento, o se lo strmento da una sorta di serie di impulsi che vanno trasformati poi in qualche maniere in un valore..

Ho sentito qualcuno che dice che non è una procedura semplice, che servono svariate funzioni e bloccheti vari. Ma io devo solo LEGGERE un valore. E' possibile che sia cosi complicato?

Grazie a chi volesse dire la sua..

Link al commento
Condividi su altri siti


Salve,

La mia comunicazione è via MODBUS, utilizzo la porta mpi della cpu.

No, non è possibile.....la porta MPI lavora con un protocollo di trasmissione RS485 proprietario di Siemens.

Se devi acquisire dati dallo strumento, l'unica cosa che puoi fare è quella di acquistare un processore di comunicazione CP340 o CP341 da inserire come ulteriore scheda nella guida profilata contenente la tua CPU, e gli eventuali moduli I/O presenti.

o se lo strmento da una sorta di serie di impulsi che vanno trasformati poi in qualche maniere in un valore..

Personalmente non conosco questo strumento, e possibile che possa fornire previa programmazione un'uscita analogica o un treno di impulsi proporzionale al valore del dato che devi acquisire (anche la soloa potenza attiva).

Cercando nelle caratteristiche tecniche del Socomec dovrebbe essere indicato qualcosa, oppure magari è possibile ordinare qualche modulo opzionale da inserire nello strumento che ti permetta di far ciò.

Personalmente ritengo che se devi solo acquisire un dato dallo strumento (potenza attiva), mi muoverei verso quest'ultima soluzione, ovvero andando a leggere un valore analogico o un treno di impulsi per poi convertire e scalare il dato letto dal PLC nella grandezza che devi visualizzare.

Scarterei a priori la comunicazione in Modbus mediante processori tipo CP340-341 anche per un solo discorso economico, dal momento che come hai scritto

(anche solo la potenza attiva)

Se poi non fosse possibile trasmettere il dato dallo strumento via analogica o mediante treno di impulsi, in questo caso allora non hai altra soluzione se non quella di passare attraverso una comunicazione, in questo caso Modbus.

Ho sentito qualcuno che dice che non è una procedura semplice, che servono svariate funzioni e bloccheti vari. Ma io devo solo LEGGERE un valore. E' possibile che sia cosi complicato?

In linea di massima la tecnica da utilizzare per metter su una comunicazione in Modbus con le CP340-341 prevede l'utilizzo di alcuni blocchi funzione ed altro sviluppati da Siemens e sicuramente qualche altra funzione che dovrai sviluppare per conto tuo.

Quindi che tu debba leggere o scrivere uno o 5-10-20 dati da o verso lo strumento, dovrai sempre far uso di questi blocchi funzione.

Mi ripeto, se è possibile, cercherei di effettuare la lettura, se devi leggere solamente un dato, mediante le altre soluzioni di cui sopra.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Grazie per la risposta.

Sullo strumento, viene montato nelle parte posteriore, un modulo opzionale, che rende possibile ciò (riporto da manuale):

Il modulo opzionale Comunicazione IP mette a disposizione un collegamento di serie RS485 col protocollo JBUS/MODBUS che permette l'uso del DIRIS A20 a partire da un pc o un plc.

http://www.socomec.com/webdav/site/Socomec...0/876_581_C.pdf

Modificato: da virgolanera
Link al commento
Condividi su altri siti

Salve,

ho visto che trà i moduli disponibili, non sono presenti moduli analogici, però è disponibile il mdulo denominato "1Output" che opportunamente parametrizzato può "restituire" come informazione un valore relativo all'energia in [Kwh] è all'energia reattiva [Kvarh] come da figura a seguire.

immaginevd.png

Nella parametrizzazione dell'uscita basta configurare il "peso" di un impulso inteso come 1impulso= 10Kwh e la durate dell'impulso stesso.

Ovviamente questa funzionalità si presta per la realizzazione di un totalizzatore o contatore dell' energia utilizzata.

Non so quindi se faccia al caso tuo.

Forse quello di cui necessiti, è una visualizzazione della potenza attiva istantanea, per cui questo modulo credo non faccia al caso tuo.

A questo punto rimane la soluzione Modbus mediante apposita interfaccia , da dove implementando la comunicazione verso una CP340 o 341 avrai la possibilità di leggere una serie di dati che il misuratore di enegia ti mette a disposizione, oltre alla potenza attiva.

Sicuramente se non hai esperienza in merito alle CP340-341, considera di dover dedicare un pò di tempo alla lettura di manuali, esempi, stesura del programma e relativo test del medesimo per la realizzazione di quanto ti è stato richiesto.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Allora..quello che serve a me è solo di ricevere in ingresso al plc la misura della potenza attiva. Per due motivi. 1) Per visualizzarla e farla vedere a chi di dovere, il che non sarebbe un problema gravissimo perchè comunque il diris è vicino al pannello operatore. Quindi leggere la misura dal diris o da pannello è piu o meno la stessa cosa.

2) La cosa piu importante è che mi servirebbe fare qualche semplice controllo. Ovvero sapere quando siamo dentro a determinati range di potenza attiva per attivare/disattivare determinate funzioni.

Il mio plc è un vipa 314 (che si conifgura come un siemens 318). Ho a disposizione nella configurazione hw una CP 343-1 per l'ethernet e una CP342-5 per il profibus. Mi sembra di capire che posso utilizzare la cp342-5, anche se con il protocollo modbus anziche profibus.. in effetti non ho molta esperienza, anzi direi quasi nessuna con le cp, dato che è la prima volta che uso questo sistema.

Mi dici quindi che è una cosa molto difficile? Saresti cosi gentile da fornirmi, se di tua conoscenza, qualche link o qualche riferimento (tutorial, esempi..)?

Grazie infinitamente..

Link al commento
Condividi su altri siti

Salve,

Ho a disposizione nella configurazione hw una CP 343-1 per l'ethernet e una CP342-5 per il profibus

immagino tu faccia riferimento alla possibile scelta dei processori di comunicazione presenti nella biblioteca hardware.

Come da immagine allegata nel mio precedente post, i protocolli di comunicazione supportati dallo strumento in questione sono il Jbus ed il Modbus.

La cosa tra l'altro mi sembra sia trattata bene anche nel link da te allegato, relativo alla documentazione del modulo di comunicazione........quindi quando

scrivi:

Mi sembra di capire che posso utilizzare la cp342-5

dici una cosa inesatta. La CP342-5 prevede espressamente una comunicazione di tipo Profibus.

anche se con il protocollo modbus anziche profibus

sono due cose ben diverse, non lasciarti trarre in inganno dal fatto che ci sia il termine bus in comune......

Come ribadito nei precedenti post se proprio devi comunicare con lo strumento, il solo sistema possibile visto i protocolli di comunicazione supportati

Jbus/Modbus, consiste nell'impiego dei CP340 o 341.

Mi dici quindi che è una cosa molto difficile? Saresti cosi gentile da fornirmi, se di tua conoscenza, qualche link o qualche riferimento (tutorial, esempi..)?

Non è una cosa impossibile, certo che essendo alla tua prima esperienza in fatto di comunicazioni, come primo approccio non risulterà subito immediata nellìapprendimento di tutto ciò che deve essere fatto e considerato per "mettere in piedi" una trasmissione.

Poi dipende molto dal tuo intuito e nel saper interpretare correttamente quello che sono esempi e descrizioni riportate nei manuali.

Per quanto concerne link,esempi etc. etc. puoi partire da qui

inserisci nel campo search CP340 CP341, Modbus etc. etc. quindi filtra gli argomenti che non sono di tuo interesse, inizia a scaricarti i manuali delle CP340 - 341 . Quasi sicuramente dovresti trovare esempi e forse anche dei tutorial in merito alle CP340-341.

2) La cosa piu importante è che mi servirebbe fare qualche semplice controllo. Ovvero sapere quando siamo dentro a determinati range di potenza attiva per attivare/disattivare determinate funzioni.

Se è veramente questa la cosa più importante io dedicherei ancora un minimo di attenzione al modulo 1 Output, dal momento che si parla di "sorveglianza" di un certo range di dati (vedi sempre foto allegata nel precedente post).

Penso valga la pena "perdere" un pò di tempo parlando con qualcuno dell'assistenza tecnica Socomec, per capire sè utilizzando l'uscita digitale è possibile attivare quest'ultima quando sei dento,fuori o all'interno di soglie ben definite di potenza attiva.

Buon lavoro

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Intanto grazie per le riposte e x il tuo tempo.

Cerco di fare chiarezza, sorpatutto per me! :)

Prima ho fatto un po di confusione fra profibus e modbus perche la cpu vipa in pratica mette a disposizione una porta rs485 che può essere configurata o come profibus o come modbus. Generalmente si usa come profibus. Invece in questo caso dovrò utilizzarla con il modbus.

Dopo di che il modulo opzionale del DIRIS è per forza di cose quello chiamato "comunicazione". Per il semplice fatto che è stato comprato quello e ora pre ragioni di tempo, non posso cambiarlo.

Ora quindi cercherò di capire come funziona la CP341... e vi romperò di nuovo le scatole.. :rolleyes:

Link al commento
Condividi su altri siti

Non ho mai usato CPU della VIPA, ma sè viene messa a disposizione una porta configurabile in profibus o modbus, allora direi che la CP340 0 341 non dovrebbe servire.

Ribadisco che non conosco la CPU 314 di VIPA, quindi non ho idea se la porta di comunicazione configurabile in Profibus/Modbus è la sola porta presente nella CPU oppure ve ne è un'altra in Profibus/MPI per collegare il PC on line.

Nel caso in cui ve ne fosse solo una di porta, è da tener presente che se viene configurata in modalità Modbus, non so nel caso di debug o test del programma ed altro ancora, utilizzando come software S7, se hai ancora la possibilità di connetterti online con il PC.

Quindi dal sito della VIPA dovresti scaricarti il manuale della 314, sicurmanete troverai le indicazioni del caso per una comunicazione in Modbus e l'uso di eventuali funzioni di biblioteca sviluppate sempre da VIPA.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Credo che la 314 di VIPA sia riconducibile alla 314PtP della Siemens, per cui dovresti avere a disposizione due porte, una MPI per collegamento con PC mentre la seconda configurabile nel tuo caso Modbus, quindi non ti dovrebbe servire la CP340 o 341.

Link al commento
Condividi su altri siti

Credo che la 314 di VIPA sia riconducibile alla 314PtP della Siemens, per cui dovresti avere a disposizione due porte, una MPI per collegamento con PC mentre la seconda configurabile nel tuo caso Modbus, quindi non ti dovrebbe servire la CP340 o 341.

esatto. ho una porta MPI dove mi collego con il pc per scaricare il software, e un'altra che si può utilizzare o come profibus o come modbus. (oppure potrei sempre collegare il pc con l'ethernet)

Modificato: da virgolanera
Link al commento
Condividi su altri siti

l'uso di eventuali funzioni di biblioteca sviluppate sempre da VIPA.

Si. Ci sono delle funzioni (SFC216, 217, 218) per la comunicazione modbus. Certo che non avendolo mai usato questo protocollo, al moìmento non mi è chiarissimo il suo funzionamento. comunque sto leggendo i vari manuali...

Link al commento
Condividi su altri siti

Mi pare di capire che, siccome io devo solo leggere un valore, mi conviene usare il plc come slave.

Oppure, addirittura, forse mi converrebbe collegare via modbus il diris e il pc supervisore e poi leggere il valore dal pc che ha una porta rs485 in ingresso. E poi girare quel valore dal programma di supervisione al plc. E' una cosa fattibile secondo voi?? (Il pc supervisore ha Movicon 11 su winCE)

Modificato: da virgolanera
Link al commento
Condividi su altri siti

Mi pare di capire che, siccome io devo solo leggere un valore, mi conviene usare il plc come slave.

No, semmai è il contrario....La CPU sarà il tuo Master, e lo strumento da cui leggere il dato o i dati sarà il tuo slave.

Oppure, addirittura, forse mi converrebbe collegare via modbus il diris e il pc supervisore e poi leggere il valore dal pc che ha una porta rs485 in ingresso.

Il fatto di avere una porta RS485 a disposizione sul PC di supervisione, immagino che come ben saprai non significa che colleghi il cavo di trasmissione allo strumento ed il gioco è fatto.

Tanto per rimanere in ambito Siemens, anche la comunicazione MPI e Profibus sono delle trasmissioni in RS485, ma i loro protcolli così come per il Modbus sono diversi.

Sicuramente quello che dici è possibile, cioè metter su una comunicazione trà il supervisore e lo strumento, anche qui comunque dovrai sviluppare del codice per mettere in comunicazione i due.

Altra cosa devi stabilire inoltre quale tipo di comunicazione scegliere a seconda di quello che i dispositivi (CPU,PC e strumento) supportano:

MODBUS RTU oppure MODBUS ASCII.

Link al commento
Condividi su altri siti

Ok. A questo punto non mi conviene mettermi a perdere tempo a fare del codice per il pannello. Ma mi conviene credo cercare di stabilire direttamente la comunicazione plc -> diris, come master slave. Dovrebbe essere supportato anche il modbus rtu.

Link al commento
Condividi su altri siti

Ho cominciato a smanettare. Posto perchè scrivere mi aiuta a capire cosa sto facendo e condividere fa scoprire gli errori :rolleyes:

Ho tre funzioni (di vipa) SCF216 per la parametrizzazione, SCF217 per il send e SCF 218 per il receive. Usando un esempio tratto dal sito di vipa, nell' OB100 imposto i parametri della comunicazione, che andrò a impostare anche sullo strmento:

L 20000 //timeout

T "PARAM_MODBUS".timeout

CALL SFC 216

Protocol :=B#16#5 // protocollo MODBUS master RTU

Parameter :="PARAM_MODBUS" // DB1 appoggio

Baudrate :=B#16#B // 19200

CharLen :=B#16#3 // 8 Bit

Parity :=B#16#0 // parità nessuna

StopBits :=B#16#3 // 2 stop bit

FlowControl:=B#16#1 // SEMPRE A 1

RetVal :=MW200 // Return-Code

Nell'OB1 invece, metto le funzioni send e receive.

In un segmento:

CALL SFC 218 //ricezione

DataPtr:=P#DB21.DBX0.0 BYTE 40 //DB21 DW0 buffer ricezione lunghezza 40 byte

DataLen:=MW140 //conteggio uso interno

Error :=MW142 //Word di errore

RetVal :=MW144 //Return-Code

In un altro segmento:

UN M 100.0 // in questo esempio il telegramma viene lanciato a tempo

L S5T#500MS

SE T 1

U T 1

= M 100.0

S M 1.2 // abilita telegramma SEND

UN M 1.2

BEB

AUF "DB-SEND"

L W#16#403 // slave 4 ,funzione 3 leggi n words

T DBW 0

L W#16#0 // da indirizzo 0 hex

T DBW 2

L 10 // 10 words

T DBW 4

CALL SFC 217 // Send

DataPtr:=P#DB20.DBX0.0 BYTE 6 // Send inizio e LUNGHEZZA (VARIABILE!!!)

DataLen:=MW190 // uso interno SFC

RetVal :=MW192 // Return-Code

L MW 192 // telegramma eseguito senza errore

L W#16#2000

==I

R M 1.2

SUlle prime due funzioni mi pare che non c'è molto da dire.. mentre sto cercando di capire la send, di cui ho postato in pratica l'esempio chje ho scaricato dal sito della vipa..

Modificato: da virgolanera
Link al commento
Condividi su altri siti

Per quanto riguarda la SFC217 [sEND] direi che non è di difficile interpretazione......

In paratica ogni 500ms per effetto del set del bit M1.2, non viene eseguita la fine incondizionata del programma attraverso l'istruzione BEB.

Viene quindi abilitato il blocco dati DB-SEND che è il DB20, contenente il telegramma da inviare allo slave.

Nell'esempio postato, la struttura del telegramma in MODBUS RTU è così composta:

immagineo.png

Puoi quindi notare che l'indirizzo dello slave e rappresentato da un byte ed il codice funzione da un'altro byte, per cui come da te già commentato

L W#16#403 // slave 4 ,funzione 3 leggi n words

T DBW 0

viene scritto sul byte DBB1 della DW0 il valore 4 che contiene l'indirizzo dello slave

mentre nel byte DB00 della DW0 viene scritto il valore 03, che contiene il codice funzione richiesto (3=lettura di un'area dati)

proseguendo

L W#16#0 // da indirizzo 0 hex

T DBW 2

L 10 // 10 words

T DBW 4

se osservi la figura allegata di cui sopra nella struttura del telegramma, il successivo dato è una word che contiene l'indirizzo di partenza di quello che deve essere letto.

La word sucessiva dichiara invece quante word (nell'esempio da te allegato) devono essere lette, in questo caso 10.

Riassumento quindi verranno lette 10 word partendo da quella con indirizzo 0.

Preparato il telegramma, questo viene spedito mediante la SFC 217 [sEND]

DataPtr:=P#DB20.DBX0.0 BYTE 6 // Send inizio e LUNGHEZZA (VARIABILE!!!)

In questo campo viene passata l'intera struttura del telegramma, composto da 6 byte della DB20=DB-SEND.

Quindi da DBB0 a DBB5

Se tutto va a buon fine la SFC217 ritorna come valore il codice 16#2000,

per cui viene effettuato il reset del bit M1.2 e fine della storia....

Poi il tutto si ripete dopo altri 500ms, ovviamente una volta inviata la SEND bisogna attivare la SFC218 per interpretare la lettura dei dati richiesti con la SFC217.

Aggiungo che sei fortunato, perchè già la SFC217 assolve al suo interno la funzione del checksum in modalità CRC16 come riportato da manuale VIPA.

immaginesl.png

Se la funzione non lo faceva, avresti dovuto "perderci" del tempo per la sua realizzazione, in quanto non è così immediata da realizzare, specialmente non avendo esperienze passate di comunicazione in Modbus.

Buon lavoro

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Grazie mille per la risposta esaustiva. A tutti voi.

Allego dal manuale:

comunic.jpg

Uploaded with ImageShack.us

Allora, il mio obbiettivo in pratica adesso è far partire la comunicazone dal plc, che dica al diris, che ha indirizzo 04, di darmi il valore di una tensione (ad esempio). ll valore della tensione, da manuale, è nell'indirizzo esadecimale 707.

Dunque ho corretto la precedente porzione di codice in:

AUF "DB-SEND"

L W#16#403 // slave 4 ,funzione 3 leggi n words

T DBW 0

L W#16#707 // da indirizzo 707 hex

T DBW 2

L 10 // 10 words

T DBW 4

CALL SFC 217 // Send

DataPtr:=P#DB20.DBX0.0 BYTE 6 // Send inizio e LUNGHEZZA (VARIABILE!!!)

DataLen:=MW190 // uso interno SFC

RetVal :=MW192 // Return-Code

L MW 192 // telegramma eseguito senza errore

L W#16#2000

==I

R M 1.2

Link al commento
Condividi su altri siti

Il problema è che se andasse bene la comunicazione il M1.2 dovrebbe essere a 1, per esempio. Ma non ci va. Anzi non so perche ma non riesco a vedere i valori online. Sembra proprio che non cicli la funzione. Probabilmente c'è ancora qualche problema sulla comunicazione fra plc e diris a livello piu basso...

Esiste un modo piu semplice e diretto per vedere se la comunicazione fra i due è in piedi'??

:(

Link al commento
Condividi su altri siti

Innanzitutto devi esser certo, di aver fatto il cavo di collegamento tra strumento e porte in modo appropriato, come da manuali.

Il passo successivo è quello di verificare che le impostazioni di comunicazione fatte sullo strumento, siano le medesime che fai eseguendo la SFC216, ovvero velocità di comunicazione,stop bit,parità e quant'altro.

Altra cosa da non trascurare e quella di aver inserito le resistenze di terminazione sui connettori sia lato PLC che lato strumento.

Poi prima di attivare una trasmissione dovresti verificare se la SFC216 che imposta la porta di comunicazione in OB100, da di ritorno un codice di errore in retval, giusto per capire se intanto il setup della porta è andato a buon fine.

L'indirizzo 707hex che corrisponde alla tensione di linea della fase 1 occupa 1 word, quindi giusto per evitare inutili complicazionianziche

L 10 // 10 words

T DBW 4

inizia a vedere di leggere solo un valore relativo alla 707 e non dei sucessivi 10 parametri per cui scrivi

L 1 // 1 word

T DBW 4

Poi richiamerei la SFC 217 comandanto M1.2 quando lo decido io , per il momento lascia perdere il comando a tempo.

Se M1.2 si resetta significa che la funzione di invio è stata inviata correttamente, a questo punto attivi la SFC218 e vai a leggere il contenuto depositato nella DB del buffer di ricezione assegnato (DB21).

E importante che tu legga sia su SFC217 e 218 gli eventuali retval ed error, interpretando questi dati dal manuale VPIA riesci quantomeno ad avere maggiori dettagli al problema.

Link al commento
Condividi su altri siti

Il passo successivo è quello di verificare che le impostazioni di comunicazione fatte sullo strumento, siano le medesime che fai eseguendo la SFC216, ovvero velocità di comunicazione,stop bit,parità e quant'altro.

La configurazione fatta sullo strumento e quella fatta nella sfc216 combaciano, anche se farò altri controlli ovviamente.. In ogni caso è cosi impostato:

Protocol :=B#16#5 // protocollo MODBUS master RTU

Baudrate :=B#16#B // 19200

CharLen :=B#16#3 // 8 Bit

Parity :=B#16#0 // parità nessuna

StopBits :=B#16#3 // 2 stop bit

FlowControl:=B#16#1 // SEMPRE A 1

Per quanto riguarda il cavo, sono due fili, ho provato anche a invertirli, ma senza risultato.

Lato plc il connettore è terminato (terminazione su ON). Lato diris la terminazione non esiste. O meglio, credo sia interna al modulo opzionale, che si aggancia al multimetro.

L'indirizzo 707hex che corrisponde alla tensione di linea della fase 1 occupa 1 word, quindi giusto per evitare inutili complicazionianziche

L 10 // 10 words

T DBW 4

inizia a vedere di leggere solo un valore relativo alla 707 e non dei sucessivi 10 parametri per cui scrivi

L 1 // 1 word

T DBW 4

Poi richiamerei la SFC 217 comandanto M1.2 quando lo decido io , per il momento lascia perdere il comando a tempo.

Ok.

La cosa strana comunque è che non leggo valori di errore di ritorno. Come dicevo, sembra proprio che non ci sia comunicazione... Proverò a vedere le configurazioni suddette.

Link al commento
Condividi su altri siti

Lato diris la terminazione non esiste. O meglio, credo sia interna al modulo opzionale, che si aggancia al multimetro

Esiste,esite a giudicare da quanto scritto sul manuale

immagineaa.png

non hai risposto alla domanda relativa alla SFC216, che cosa da come retval?????????

Una volta attivato M1.2 questo deve essere resettato dal controllo fatto con

L MW 192 // telegramma eseguito senza errore

L W#16#2000

==I

R M 1.2

se questo accade, significa che la SFC di invio è andata a buon fine.

Non ho sottomano la CPU VIPA, ma esiste per la seriale che stai usando qualche led denominato Trx/Rtx che indica per lo meno se la porta trasmette e riceve???

Lato plc il connettore è terminato (terminazione su ON).

Stai usando un conettore Profibus/MPI???

Ora non conosco il pinout della porta della CPU che stai usando, confermi che ci sia compatibilità trà segnali, pin del connettore Profibus/MPI e resistenza di terminazione??

Ok, ho verificato il pinout del connettore con quello della porta ed è ok, francamente mi ero dimenticato che la porta può essere configurata anche in modalità profibus. Per chiudere il discorso connettore si tratta solo di vedere il valore della resistenza di terminazione che non ricordo mai .....Se si aggira su valori attorno ai 120ohm, direi che non ci sono problemi.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Si in pratica su vipa, la stessa porta che si usa per il profibus si puo usare per il modbus, cambiando impostazioni nella configurazione hardware.

non hai risposto alla domanda relativa alla SFC216, che cosa da come retval?????????

Il problema è che non lo riesco a vedere. Quando vado online, non mi appaiono i valori delle varie espressioni come succede d solito, ma la colonna a dx rimane bianca. Cosa molto strana.

L MW 192 // telegramma eseguito senza errore

L W#16#2000

==I

R M 1.2

Se comunque vado a vedere come sta il merker m1.2 lo trovo a zero. Come se si fosse resettato correttamente. Ma la mia impressione è che non sia mai stato settato.

Inoltre, non vedo led, ne da parte del plc ne lato diris, che mi possano dire visivamente, che qualcosa sta comunicando..

:(

Link al commento
Condividi su altri siti

Per quanto riguarda la terminazione è, appunto, interna al modulo comunicazione. Io parto dal modulo comunicazione con i due fili del cavo, uno dal pin "+" e uno dal pin "-". Ho provato a invertirli. Ma niente.

Link al commento
Condividi su altri siti

Il problema è che non lo riesco a vedere. Quando vado online, non mi appaiono i valori delle varie espressioni come succede d solito, ma la colonna a dx rimane bianca. Cosa molto strana.

Se fai riferimento alla RetVal della SFC216 che nel tuo esempio è la MW200, potrebbe essere plausibile se vai Online su OB100 dopo che il blocco è stato eseguito non riesci a visualizzare nulla, perchè viene chiamato solo come nuovo avviamento (a caldo) della CPU.

Perchè allora non apri una VAT (tabella controllo variabili) e controlli il valore che ha la MW200 dopo che hai acceso la CPU una volta che questa è andata in RUN???

La stessa cosa falla anche per le altre RetVal ed Error delle SFC217 e 218, metti le variabili sempre nella VAT, anche se in questo ultimo caso cioè per le SFC217 e 218 dovresti vedere in Online se vengono almeno eseguite anche se per tempi brevi.

Link al commento
Condividi su altri siti

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