Vai al contenuto
PLC Forum


Impostazione Temperature Crono Hplc Da Supervisione


Rikyd88

Messaggi consigliati

Salve a tutti,

sono nuovo del forum, per questo mi scuso per eventuali errori nel postare i messaggi.

Come da titolo mi trovo ad affrontare il seguente problema: l'impostazione da supervisione del crono interno dell'homePLC, per capirci lo stesso che si può settare da ABS.

Premetto che per effettuare la supervisione utilizzo il software premium HMI di ASEM, il quale comunica con l'HPLC attraverso un convertitore usb/rs485.

Il software di supervisione ha già implementata la formattazione per l'invio di comandi come protocollo modbus RTU. Il problema nello specifico è il seguente, mi è stato detto che i registri in cui scrivere per settare i valori di temperatura, indirro master, ind slave ecc... sono i registri dal 60011 in poi. Purtroppo però non appena nel progetto inserisco come variabili tali registri (Es. Var. IND_MASTER, che fa riferimento al registro 60011, di tipo multiple register), il programma quando mando in esecuzione la supervisione mi da un errore di comunicazione, che si risolve solo eliminando tali variabili.

Ho provato inoltre a scrivere da supervisione delle word di appoggio, ma non appena nel ladderHome inserisco una variabile che fa riferimento ai registri del PLC, (Es %MW60011), mi viene dato un errore di compilazione, cioè il compilatore non accetta il registro %MW60011.

C'è qualcuno che ha avuto lo stesso problema o che può aiutarmi?

Grazie in anticipo

Link al commento
Condividi su altri siti


ciao e benvenuto,

non mi quadrano molto gli indirizzi che dici tu....

premesso che comunque quando programmi lato HMI , utilizzando protocollo Modbus, le variabili che elenchi hanno normalmente un suffisso

che precede il numero della variabile.

esempio, negli HMI che uso io con protocollo modbus RTU il suffisso e' 40, quindi se vuoi indirizzare la word del plc MW1000, l'indirizzo che metto lato HMI e' 401000.

nel caso voglio indirizzare un singolo bit ,supponiamo il bit 1 della word MW400, allora l'indirizzo lato HMI sara' 400400.1

e comunque in ogni caso le word del hplc partono da 0 a 8000, e l'indirizzamento dell'area estesa parte da MW 5500 fino a MW5999 percio'

in ogni caso il 60001 e rotti che dici tu non e' esatto. :toobad:

prova a vederti l'-. dell ladderhome nella sezione indirizzamento e risorse di sistema e vedi tutta la mappatura della memoria

ciao ;)

Link al commento
Condividi su altri siti

Grazie per la risposta,

il programma di supervisione che utilizzo non richiede nessun tipo di prefisso per le word, se non il fatto che scrivendo direttamente da modbus, devo inserire il numero del registro fisico che voglio scrivere decrementato di 1.

Tali registri sembrano strani anche a me, ma mi sono stati forniti dall'assistenza. Questo perché credo che il crono interno dell'Hplc ha dei registri particolari a lui dedicati e non sono presenti nelle risorse di sistema nella guida in linea del ladderhome.

Link al commento
Condividi su altri siti

Non uso molto il Modbus RTU... non ha eventi quindi è molto limitato.... :lol:

ma provo a darti qualche dritta comunque ...

i registri in HomePLC sono 7999 e sono tutti divisi ad aree..

quello che stai accennando tu non riguarda ne il PLC ne il Modbus RTU in se...

la dizione 10000, 20000, 40000 ecc.. serve solo agli HMI per evitare di far impostare all'utente...

il vero numero del comando Modbus RTU.... i numeri di comando utilizzati nello standard in realtà sono questi!

Function Code Action Table Name

01 (01 hex) Read Discrete Output Coils

05 (05 hex) Write single Discrete Output Coil

15 (0F hex) Write multiple Discrete Output Coils

02 (02 hex) Read Discrete Input Contacts

04 (04 hex) Read Analog Input Registers

03 (03 hex) Read Analog Output Holding Registers

06 (06 hex) Write single Analog Output Holding Register

16 (10 hex) Write multiple Analog Output Holding Registers

Il comando che puoi usare per la tua configurazione può essere solo il 16 dato

che è l'unico che esegue scritture multiple di Word...

adesso se il tuo HMI non fa impostare direttamente il comando Modbus ma esegue una conversione da indirizzo a Comando...

devi capire quale indirizzamento utilizzare per fare questo...

se l'HMI rispetta lo standard dovrebbe essere questa... ;)

40001-49999 - Read-Write .- Analog Output Holding Registers

Modificato: da Aleandro2008
Link al commento
Condividi su altri siti

Grazie aleandro per la risposta,

Avevo capito che i comandi da te indicati sono quelli da utilizzare e l' HMI che utilizzo gestisce automaticamente la sintassi corretta dei comandi inviati tramite modbus. Per questo le variabili che utilizzo sono impostate come " multiple register" che corrisponde al comando 16, cioè scrittura multipla di più registri.

Se non ho capito male devo guardare su quale registro esatto scrivere fra quelli forniti dall' Hplc giusto?

Link al commento
Condividi su altri siti

Se non ho capito male devo guardare su quale registro esatto scrivere fra quelli forniti dall' Hplc giusto?

Per impostare il crono devi seguire attentamente le istruzioni della documentazione...

Link al commento
Condividi su altri siti

ho avuto modo di controllare meglio la documentazione e mi è stato anche confermato che non ci sono dei registri fisici di sistema nei quali scrivere i setpoint del Crono del termoregolatore.

La documentazione riporta solo i registri da 60011 a 60037 a questo punto mi trovo in difficoltà, non so come fare a settare il crono.

Nessuno che si è trovato a risolvere la stessa problematica e che può aiutarmi?

Link al commento
Condividi su altri siti

La documentazione riporta solo i registri da 60011 a 60037 a questo punto mi trovo in difficoltà, non so come fare a settare il crono.

vista la curiosità mi sono fatto inviare quel documento....

Nessuno che si è trovato a risolvere la stessa problematica e che può aiutarmi?

non penso che possa aiutarti nessuno al di fuori dell'assistenza del software da cui programmi...

il limite non è nel protocollo, il Modbus RTU si può indirizzare fino a 65535...

il problema come ti dicevo già ieri sono gli alias, se il tuo Scada/HMI non supporta l'indirizzamento originale ma lavora tramite

gli alias per esempio se scrivendo 40001 lui elabora che deve leggere i registro 1 tramite il comando 16

e non hai la possibilità invece di indirizzare direttamente un registro e specificare il comando che vuoi usare...

il limite del programma è questo...

Link al commento
Condividi su altri siti

Dopo aver contattato l'assistenza dell' hmi che utilizzo ed eseguito alcune prove, sono in attesa di sapere se l'hmi che utilizzo è in grado di inviare comandi secondo lo standard modbus direttamente al termoregolatore.

Credo dovrò farlo attraverso uno script, visto che il software non utilizza degli alias ma ha l'indirizzamente diretto alle risorse dell' HPLC.

L'aiuto che cercavo era magari in qualcun'altro ce avesse usato lo stesso software per fare la supervisione, oppure movicon e si fosse trovato ad affrontare la stessa problematica.

Link al commento
Condividi su altri siti

sono in attesa di sapere se l'hmi che utilizzo è in grado di inviare comandi secondo lo standard modbus direttamente al termoregolatore.

Intendevi se l'HMI è in grado di indirizzare un registro qualsiasi del Modbus RTU...

oppure lavora solo con gli alias 10000, 20000, 40000 ... :blink:

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