lele1975 Inserito: 27 marzo 2018 Segnala Share Inserito: 27 marzo 2018 Ciao ragazzi del forum, sono in fase di programmazione con un vecchio PLC Siemens simatic S5-100U cpu 103 e volevo utilizzare la funzione shift. Dal manuale seguo le istruzioni SHIFT+F3 (sposta) e qui dovrebbero comparire tutte le operazioni, nel mio caso F1 (SRW) ma il menù compare vuoto senza operazioni, premendo F1 il programma dice "funzione non consentita". Uso lo Step5/ST versione 7.23 potete gentilmente aiutarmi a capire cosa c'è che non funziona? Devo inserire un pacchetto supplementare per utilizzare le operazioni avanzate in step5? Stranamente le operazioni aritmetiche ci sono tutte.... Ciao grazie a tutti. Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 27 marzo 2018 Segnala Share Inserita: 27 marzo 2018 Assicurati di aver impostata la modalità [RW] nella shermata iniziale del progetto Le istruzioni di shift funzionano entro un FB non in OB o PB Link al commento Condividi su altri siti More sharing options...
lele1975 Inserita: 27 marzo 2018 Autore Segnala Share Inserita: 27 marzo 2018 Grazie mille rguaresc. Non ho mai editato un FB in step5 e non saprei da dove iniziare, puoi darmi qualche suggerimento? Il mio progetto fa quanto segue: ingresso E0.0 Byte MB100 fronte in salita di e0.0 allora OR tra MB100 e 2#100 e mi colloca il risultato in MB100 Fronte in discesa di E0.0 shift a destra di 1 del mio MB100 Questo è quanto devo realizzare, con step7 e codesys uso spesso questo sistema di memorizzazione per tavole rotanti ma in step5 non l'ho mai fatto. Ringrazio tutti per l'aiuto Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 27 marzo 2018 Segnala Share Inserita: 27 marzo 2018 Non c'è la funzione di rilevamento di fronte in S5 bisogna costruirsela. Verifica la word binaria KM 00000000 00000100 è possibile che si debba scrivere con i byte scambiati KM 00000100 00000000 poi chiama la FB1 da OB1 con SPA FB1 ///////////////////////////////////////////////////////// esempio FB1 Segmento 1 Nome :TEST ; qualsiasi nome // la seconda riga SGOP non serve, passare alla terza :U E 0.0 :UN M 10.6 ; un merker libero := M 10.0 ; fronte di salita :U E 0.0 := M 10.6 : :UN E 0.0 :UN M 10.7 ; merker libero := M 10.1 ; fronte di discesa :UN E 0.0 := M 10.7 : :UN M 10.0 ; salta se non fronte salita :SPB =UNO :L MB 100 ; altrimenti carica MB100 :L KM 00000000 00000100 ;verificare con i byte scambiati :OW ; or a word :T MB 100 ; salva UNO :UN M 10.1 ; salta se non fronte discesa :SPB =DUE :L MB 100 :SRW 1 :T MB 100 DUE :NOP 0 :BE Link al commento Condividi su altri siti More sharing options...
lele1975 Inserita: 28 marzo 2018 Autore Segnala Share Inserita: 28 marzo 2018 Grazie mille per questo utile FB tra poco programma e ti faccio sapere. Link al commento Condividi su altri siti More sharing options...
lele1975 Inserita: 12 aprile 2018 Autore Segnala Share Inserita: 12 aprile 2018 ciao ragazzi ciao rguaresc ho provato l'esempio sopra citato FB 1 ma non funziona correttamente(ho provato anche a scambiare l'ordine dei byte) ma quando lo testo il mio bit M100.0 si alza anche quando non dovrebbe , vi scrivo il mio programma in Step7 funzionante: LD I 0.0 ingresso sensore AB>= VB100 , 45 camma elettronica di lettura e VB100 rappresenta il valore attuale dell'encoder AB<= VB100 , 70 camma elettronica di letture e VB100 rappresenta il valore attuale dell'encoder ORB 4, VB1293 se il sensore è on ed è in camma combino OR tra i due ingressi : #100 e VB1293 e carico il risultato sempre in VB1293 LDB>= VB100 , 45 camma elettronica AB<= VB100 , 70 camma elettronica ED fronte di discesa SRB VB1293 , 1 ogni volta che ho il fronte di discesa della camma faccio scorrere il byte VB1293 verso desta con valore di scorrimento 1 Forse è identico all'esempio di rguaresc ma allora perché non funziona ? grazie infinite a tutti Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 12 aprile 2018 Segnala Share Inserita: 12 aprile 2018 post #3 fronte in salita di E0.0 allora OR tra MB100 e 2#100 e mi colloca il risultato in MB100 post #6 non fai uso del fronte di salita, LD I0.0 è solo una interrogazione che in step 5 diventa U E 0.0 prova a rimuovere il fronte di salita. Inoltre il fronte di discesa è elaborato dopo una catena di confronti oltre all'interrogazione dell'ingresso le operazioni di confronto in step 5 non sono condizionate dall'interrogazione dell'ingresso come, invece, in step 7 microwin Quote :UN E 0.0 :UN M 10.7 ; merker libero := M 10.1 ; fronte di discesa :UN E 0.0 := M 10.7 : ::L MB 100 ; carica MB100 :L KM 00000000 00000100 ;verificare con i byte scambiati :OW ; or a word :T MB 100 ; salva UNO :UN M 10.1 ; salta se non fronte discesa :SPB =DUE :L MB 100 :SRW 1 :T MB 100 DUE :NOP 0 Link al commento Condividi su altri siti More sharing options...
lele1975 Inserita: 16 aprile 2018 Autore Segnala Share Inserita: 16 aprile 2018 Grazie mille vi faccio sapere come si comporta il programma Link al commento Condividi su altri siti More sharing options...
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