Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Encoder incrementale e PLC

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[11]

Messaggioda Foto UtenteLUCAP86 » 2 mag 2007, 20:29

Con un PLC Telemecanique invece come dovrei strutturare il prgramma?
Ho provato ad effettuare al memorizzazione di alcune posizioni attraverso la funzione "operate", sulla rappresentazione ladder, ma mi viene fuori un errore di sintassi e non riesco a capire dove sbaglio. C'è qualcuno che conosce bene il software "Unity Pro" per darmi qualche aiuto?
Grazie a tutti attendo notizie.

Luca
Avatar utente
Foto UtenteLUCAP86
0 3
 
Messaggi: 24
Iscritto il: 3 feb 2007, 0:27

0
voti

[12]

Messaggioda Foto UtenteIvan_Iamoni » 3 mag 2007, 11:18

Purtroppo per telemecanique non riesco ad aiutarti in questo momento, avrei bisogno di vedermi il suo manuale per capirne la sintassi , ma non ne ho la possibilita' ora .
In effetti il comando "operate" non mi dice nulla se non che sia richiesta un'operazione, ma non ben specificata, forse manca la descrizione dell'operazione.
Effettivamente l'errore di sintassi ti viene visualizzato dal compilatore quando
il comando usato e' incopleto o gli operandi sono incompleti, errati o inesistenti.
In genere per muovere un valore qualsiasi all'interno delle area di memoria del controllore i comandi piu' diffusi sono MOV oppure MOVE.
un errore ricorrente potrebbe essere quello che tu cerchi di trasferire un tipo di valore ad esempio REAL (decimale con segno) all'iterno di un byte o di una word , poiche' di norma andrebbe in una doppia parola (32bit).
Ammesso che il comando che cerchi di usare sia corretto, come dicevo prima.

Ivan
Avatar utente
Foto UtenteIvan_Iamoni
5.336 6 10 12
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 2330
Iscritto il: 22 ott 2006, 18:45

0
voti

[13] Re: Encoder incrementale e PLC

Messaggioda Foto Utentewalterr » 20 ago 2007, 15:41

S7-200 mette a disposizione due ingressi (I0.0 e I0.1) come ingressi veloci
Devi poi settare i registri inerenti al conteggio , al tipo di conteggio , alla direzione
Trovi tutto nella guida on line
Se puo esserti utile ti posto un codice che ho appena usato per un posizionamento di una taglierina .L'ho anche usato per contare impulsi da simulatore di encoder open collector che sto realizzando
Purtroppo non ci sono i simbolici , ma quello che ti interessa sono i registri speciali SMBxx
e come richiamare ed agganciare l'interrupt all'avento , come gia ti ha ben spiegato kamikaze

//// IN OB1

LD SM0.1
CALL HSC_INIT:SBR0

//HSC_INIT(SBR0)

D SM0.0
MOVD +0, SMD38
MOVD VD92, SMD42
MOVB 220, SMB37
HDEF 0, 9
HSC 0

// SEGMENTO

LD SM0.0
MOVB 6, SMB34
ATCH INT_0:INT0, 10

// SEGMENTO

LD SM0.0
ENI

// SEGMENTO

LD SM0.0
MOVD +0, VD108
R M2.1, 1
S M2.3, 1

//in INT_0 (INTERRUPT )

LD SM0.0
LPS
DTR HC0, VD88
AENO
DTR VD92, VD96
LRD
+R 300.0, VD104
LRD
AR>= VD104, VD96
MOVR VD96, VD104
LPP
MOVR VD104, VD108
-R VD88, VD108

// SEGMENTO

LD M0.0
O M1.4
LPS
AR> VD108, 0.0
MOVR VD108, VD116
AENO
*R VD636, VD116
AENO
LPS
AR>= VD116, 32000.0
MOVR 32000.0, VD116
LPP
AR<= VD116, 0.0
MOVR 0.0, VD116
LPP
TRUNC VD116, VD120
AENO
DTI VD120, VW140

// SEGMENTO

LD SM0.0
MOVW +320, VW624
*I VW620, VW624

// SEGMENTO

LD M0.0
LPS
AW>= VW140, VW624
MOVW VW624, VW140
LPP
AW<= VW140, +300
LPS
AN V1.3
MOVW +300, VW140
LPP
A V1.3
MOVW +0, VW140

// SEGMENTO

LD M0.0
LPS
AR<= VD108, 0.0
MOVR 10.0, VD112
AENO
+R VD108, VD112
AENO
= L63.7
LRD
AR>= VD108, 0.0
MOVR 4.0, VD112
AENO
-R VD108, VD112
AENO
O L63.7
AR>= VD112, 0.0
= M1.1
LPP
A M1.1
MOVW +0, VW140

// SEGMENTO

LD M0.0
S M5.3, 1
R M5.4, 1

Se in fase di compilazione ti da qualche errore , controlla che le routine e gli interrupt sian chiamati col nome giusto , oppure visualizza in modo assoluto
Copia all'interno del codice rispettando lo spazio tra ogni segmento , cosi puoi anche visualizzarlo in kop (ladder)
E' una parte di un progetto sviluppato , realizzato commercialmente , non chiedermi altro , devo mantenere e rispettare alcuni compromessi.
guardati bene come vengono settati i registri di sistema , e studiati bene bit per bit il significato all'itnerno della guida
Per programmare i plc, come i micro o i PC , bisogna rimboccarsi le maniche e studiare i manuali , altrimenti non se ne cava fuori nulla
Spero possa servirti
ciao
walter
Avatar utente
Foto Utentewalterr
0 2
Expert
Expert
 
Messaggi: 41
Iscritto il: 19 ago 2007, 14:22

0
voti

[14] Re: Encoder incrementale e PLC

Messaggioda Foto Utentewalterr » 20 ago 2007, 15:46

unity e' il software di programamzione che dovrebbe abbracciare tutti i plc di casa schneider (telemecanique , modicon ect)
Era molto meglio il PL7PRO
I plc piccoli , tipo twido , micro o altri li conosco poco e la loro programmazione , mio punto di vista , non e' il massimo , dl'altronde sono moduli programambili piu che plc .
Se vuoi realizzare qualcosa di serio con un plc valido e molto performante spostati su s7-200.Ha una guida ben fornita , assistente istruzioni per comunicazione , modem , posizionamneti e schede speciali varie .
Ne vale la pena credimi
Del resto lo uso poco , programmo soprattutto serie S7-400 e reti complesse
ciao
walter
Avatar utente
Foto Utentewalterr
0 2
Expert
Expert
 
Messaggi: 41
Iscritto il: 19 ago 2007, 14:22

Precedente

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 240 ospiti