Vai al contenuto
PLC Forum


Sr3B261Bd & Comunicazione Con Pc Attraverso Modbus (Java)


KarmDanzig

Messaggi consigliati

Salve a tutti,

Mi è stato assegnato un progetto in cui sostanzialmente devo implementare un'interfaccia grafica rappresentante un semaforo che possa comunicare col PLC, leggendone lo stato sostanzialmente. All'avvio (sia tramite bottone da PLC o da interfaccia grafica) esso accende i tre LED ciclicamente (verde poi giallo e infine rosso e poi nuovamente verde, etc...) e registra sulla memory word 20 (dovrebbe essere questa) il valore d'uscita, che poi andrò a leggere dalla mia interfaccia grafica. Il PLC in questione è SR3B261BD e ho utilizzato l'estensione Ethernet SR3NET01.

Interfaccia Grafica (JAVA):

Quest'interfaccia consta di 4 bottoni (Start, Stop, Check, Chiudi). Il bottone "START" invia un pacchetto contenente il valore 1 e poi 0 che avvia il semaforo nel PLC. Il bottone "STOP" invia un pacchetto contente il valore 2 e successivamente 0 per fermare il ciclo [NOTA: il fatto che subito dopo invio 0 è perchè se ciò non accadesse, andrebbero in conflitto l'accensione sia dal PLC che quella da interfaccia grafica, potrete vedere dal mio elaborato nel link che vi ho proposto più sotto]. "CHECK" invece legge lo stato dal PLC ogni 150 msec, ridisegnandone la grafica automaticamente in 4 casi:

- se il valore è 0 allora disegna 3 cerchi grigi

- se il valore è 1 disegna il cerchio verde e 2 grigi

- se il valore è 2 disegna il cerchio giallo e 2 grigi

- se il valore è 4 disegna il cerchio rosso e 2 grigi

Problematiche:

Sostanzialmente il PLC non si avvia quando premo START da interfaccia grafica. Il PLC in questione comunque, dal display vedo che è sempre in stato di STOP, potrebbe essere che qualcosa non funziona? Perchè credo che il PLC debba essere sempre in RUN, eppure non è così.

Oppure se qualcuno di buon cuore può vedere un attimo il mio elaborato e vedere se ho commesso qualche errore (premetto che non sono esperto ne di JAVA ne di programmazione FBD).

Ad ogni modo l IP e numero di porta sono quelli nel file StateContext.java.

Il tutto si trova qui:

https://dl.dropbox.c...meloProject.zip

Esso contiene l'elaborato in Java, il bytecode, la libreria per MODBUS e il file SemaforoMio.zm2 che è il programma che andrà caricato sul PLC.

Vi prego, se avete qualche consiglio o qualcosa, ditemelo che non so come risolvere sto problema e dovrei anche sbrigarmi.

Spero di essere stato chiaro, in caso di chiarimenti contattatemi.

Saluti!

Link al commento
Condividi su altri siti


Il PLC deve essere in run , quindi spunta la voce run dopo caricato il programma , oppure dopo averlo caricato , mentre sei collegato , lo metti tu in run da PC .

Una cosa che non mi torna , è che parli di modbus , ma usi un modulo ethernet . Forse mi sbaglio io , ma sei sicuro ????Non ho mai lavorato in java , quindi non posso darti consigli in quel campo. Non ha guardato bene il programma per lo zelio , ma mi sembra molto elaborato per quello che deve fare . Dopo quando ho più tempo , ci guardo più attentamente . Le specifiche sono quelle che hai postato , solo quelle ????

Aloha

Link al commento
Condividi su altri siti

Grazie per la risposta!

Ecco appunto io leggevo sta cosa del RUN! Infatti mi sembrava strano che un PLC funzionasse in stato di stop. Ad ogni modo Modbus gira su TCP/IP e si puo far comunicare via Ethernet (dovrebbe), appunto per questo ho il modulo Ethernet. Per lo piu i miei colleghi hanno utilizzato Modbus su Ethernet per fare la comunicazione tra PC e PLC (pero loro avevano un altro plc, non avevano lo zelio, forse addirittura di un altra marca).

Ad ogni modo le specifiche son solo quelle: Avvio e Stop, entrambe da PLC e PC.

Spero sia stato chiaro, Saluti e grazie nuovamente :)

Link al commento
Condividi su altri siti

Se non ti offendi ,nella sezione Up/Download ti ho aggiunto un esempio di come farei io (solo la parte zelio ) dimmi cosa ne pensi .

Si chiama SemaforoMioBernie

Aloha

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