KarmDanzig Inserito: 21 giugno 2012 Segnala Inserito: 21 giugno 2012 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!
bernie Inserita: 21 giugno 2012 Segnala Inserita: 21 giugno 2012 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
KarmDanzig Inserita: 21 giugno 2012 Autore Segnala Inserita: 21 giugno 2012 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
bernie Inserita: 21 giugno 2012 Segnala Inserita: 21 giugno 2012 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
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