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
Encoder incrementale e PLC
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
14 messaggi
• Pagina 2 di 2 • 1, 2
0
voti
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
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
-

Ivan_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
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
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
0
voti
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
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
14 messaggi
• Pagina 2 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 240 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

