Vai al contenuto
PLC Forum


Siemens Cpu 928b _ Orologio Interno - come avviare l'orologio interno e successiva lettura di data e ora


monica_124

Messaggi consigliati

Ciao a tutti :)

Devo avviare l'orologio interno della CPU 928B per poter leggere successivamente data e ora.

Ho letto che in OB150 si debbono impostare i valori appoggiandosi ad una DB.

Onestamente sono in difficoltà sul come procedere: mi dareste una mano?

Grazie :)

Link al commento
Condividi su altri siti


Ciao Savino, grazie per l'interessamento :)

sai che ho letto e riletto, sembra tutto cosi semplice ma, di fatto mi è impossibile attivarlo per via di questo messaggio.

simatics5.png

ma questo OB speciale non dovrebbero essere disponibili nella CPU?.......o come al solito mi sfugge qualcosa?

Link al commento
Condividi su altri siti

ma questo OB speciale non dovrebbero essere disponibili nella CPU?.......

Ciao monica_124

Dunque, non avendo sotto mano il sistema, non posso fare di piu' che aiutarti cosi andando a memoria.

Si', infatti questo blocco come quelli elencati nella tabella del pdf sopra allegato, a partire dalla pagina 258 - capitolo 6,

sono dei blocchi con funzioni speciali, incastonate (integrate)nel sistema operativo della CPU, e quindi li potresti utilizzare ma non editarli e modificarli (area riservata).

Nella finestra che hai allegato, vedo che stai trattando di editare l'OB150, e quindi e' giusto il messaggio di errore, visto che non potresti farlo, cioe' come detto prima, l'OB150 lo potresti utilizzare soltanto.

Dovresti richiamarlo in OB1 ( SPA OB150), ma prima del richiamo, dovresti assegnare i paramentri di setaggio attraverso l'interfaccia software disponibile, cioe' gli accumulatori.

ACCU abbreviations

The abbreviations used in reference to the parameter assignment of special function OBs are as follows:

ACCU 1: ACCU 1, 32 bits

ACCU-1-L: ACCU 1, low word, 16 bits

ACCU-1-LL: ACCU 1, low word, low byte, 8 bits

ACCU-1-LH: ACCU 1, low word, high byte, 8 bits

Leggeti bene i due capitoli sopra segnalati nel pdf allegato.

Modificato: da Savino
Link al commento
Condividi su altri siti

Ciao Savino sei sempre gentile e molto disponibile, grazie :)

Scusami se non riesco a seguire bene la discussione ma con la bimba e tutto il resto non mi rimane molto tempo.

Allora:

Ho scritto, dal file di programma in OB1, le istruzioni dell'esempio dimostrativo (Sostanzialmente a mo di copia/incolla), ho creato successivamente il DB10 ed infine ho caricato il tutto in AG.

Risultato: la CPU da Run commuta in Stop :(

Dalle informazione del registro non riesco esattamente a capire la causa (lo leggo ad intuito) ma lo Stop sembrerebbe causato dalla mancanza dell'OB150 nella CPU.

Quindi se da una parte è vero che l'OB150 non lo posso editare, dall'altra potrebbe essere che in AG non esiste?

E se così fosse lo si potrebbe, in qualche maniera, recuperare?

Se ti può servire ti allego lo screenshot.

A presto, monica.

Modificato: da monica_124
Link al commento
Condividi su altri siti

Ciao Monica :)

Mi spiace che come detto prima non posso collegarmi alla CPU per convalidare l'operazione da eseguire.

Comunque si provi a fare una DIR (Indice) in AG dovresti trovare nella lista dei blocchi integrati, l'OB150.

Prima di leggere la data e ora dovresti impostarla.

Allora, creati il blocco DB10 :

DB 10
0: KH= 0000 // left byte = seconds (BCD), right byte = 0
1: KH= 9130 // 91 = format (=80H) + hour (= 11 BCD) 30 minutes (BCD)
2: KH= 2430 // 24 = day of the month (BCD) 30 = day of week (3 = Thursday) + bit 0 to bit 3 = 0
3: KH= 9110 // 93 = year (BCD) 10 = month (BCD)
OB1:

         :UN M 0.0         // Forza la  M 0.0 a 1 per caricare i dati 
         :SPB=M000
         :L KH 110A        //  11 set-DB; 0A = 10
         :L KF +0          // offset data DB (Word 0)
         :SPA OB 150       // imposta l'orologgio di sistema con i dati in DB10
         :R  M 0.0         // esegue solo una volta
    M000 :NOP 0



         :L KH 210A  
         :L KF +4  
         :SPA OB150     

         : A DB10         // apri DB10 e legge l'orologgio con i dati aggiornati a partire dal offset
                          //  impostato prima
         : L DW 4
         : T ....
         : L DW 5
         : T....
         : L DW 6
         : T..
         : L DW 7
         : T...

Prova cosi, e caso mai allega l'errore precedente.

Modificato: da Savino
Link al commento
Condividi su altri siti

Ciao Savino, Ciao Livio :)

Per ciò che riguarda l'orologio cosa ho fatto: ho scritto esattamente le istruzioni che mi hai suggerito in OB1, risultato la CPU commuta in stop indicando l'assenza dell'OB150.

Facendo l'emissione dei blocchi in AG effettivamente l'OB150 non c'è. Gli unici ad essere elencati sono il DB10 e il DB1.

Allora cosa ho pensato di fare: ho scritto le seguenti istruzioni.

OB1: 
          SPA FB1
.....
 FB1:
          U  M0.0
          UN M0.1
          =  M0.2
          U  M0.0
          =  M0.1

          U  M0.2
          SPB=M001
          SPA=GO
     M001:LKH 110A
          LKF +0
          SPA OB150
       GO:L KH 210A  
         :L KF +4  
         :SPA OB150     

         : A DB10        
         : L DW 4
         : T SW 400
         : L DW 5
         : T SW 500
         : L DW 6
         : T SW 600
         : L DW 7
         : T SW 700
         ......

.. Savino, impostando il bit M0.0 l'orologio parte :o

Richiamo allora l'emissione dei blocchi in AG: l'OB150 come al solito non c'è ma la CPU rimane in Run.

Un mistero?.. boh :senzasperanza:

I limiti, incredibili, della mia conoscenza non mi permettono di trovare una spiegazione.. di fatto sta che così funziona!

Ti sono infinitamente grata per gli aiuti Savino, alla prossima.. Ciao!

OT:

eh si :( , il tempo scorre inesorabile come l'orologio della mia 928B, gli anni si aggiungono e nel corso anche Sara si è aggiunta :)

Il salutino alla Stefy lo manderò al più presto, contaci.

Però scusami Livio tra i limiti che ho c'è pure la memoria: ma com'è che sai della mia cuginetta, io ne ho parlato?

Di nuovo un saluto e un sincero ringraziamento a tutti, monica.

Link al commento
Condividi su altri siti

Ciao Monica,

Dunque, adesso non mi ricordo se facendo la Dir AG ti venivano elencati i blocchi OB residente in ROM.

Comunque, se funziona, vuoldire che ci sono da qualche parte..

In ogni caso, sono contento che ci sei riuscita.

Saluto :)

Modificato: da Savino
Link al commento
Condividi su altri siti

data l' anzianita' mia e di s5 non ricordo benissimo, ma sono quasi sicuro che sia negli OB che nei PB si potevano usare solo le istruzioni base di step 5, probabilmente il richiamo di OB150 o il salto condizionato non sono accettati nell' OB1.

Di solito si usava spesso richiamare una FB in cui eseguire i salti e i richiami, proprio quello che hai fatto mettendo le istruzioni in FB1, complimenti,

saluti bellcar

Link al commento
Condividi su altri siti

Ciao a tutti :)

Savino, scusa se approfitto nuovamente della tua disponibilità: quando dici facendo la Dir AG ti riferisci alla funzione classica di emissione dei blocchi AG?

bellcar, con ogni probabilità è proprio come tu dici: sai che oggi per curiosità ho voluto provare di nuovo, il risultato è stato che l'editazione dei salti alle etichette non sono ammesse in OB1 e se scrivo il richiamo in OB1 del solo OB150 la CPU commuta in Stop.

Eppure il manuale sembra proprio suggerire di editare tutte le istruzioni in OB1 :unsure:

Siemens potrebbe aver commesso un errore? :senzasperanza:

Un sincero ringraziamento a tutti per la disponibilità e cortesia, monica.

Link al commento
Condividi su altri siti

Savino, scusa se approfitto nuovamente della tua disponibilità

Not bother, you are very welcome dear :)

quando dici facendo la Dir AG ti riferisci alla funzione classica di emissione dei blocchi AG?

Dunque, non so che SW stai utilizzando.. comunque in italiano mi sa sarebbe la funzione Indice, cioe' come hai detto te..

emissione dei blocchi sorgente AG, B (tutti i blocchi). In inglese sarebbe la funzione Dir.

Insomma, visualizzi la lista dei blocchi presente in AG.

Siemens potrebbe aver commesso un errore?

Ma no, cosa dici... sarebbe stato un'errore di trasduzione piuttosto :P

Ciao :)

Link al commento
Condividi su altri siti

se usi uno step 5 delle ultime versioni devi fare: file->blocchi->indice->indice di AG->lista blocchi B, ma non sono sicuro che gli OB "alti" si vedessero.

Ringrazio io sia Savino che Monica-124 perche' mi fanno tornare indietro nel tempo e Savino poi e' un mago con lo step 5 :thumb_yello:

saluti bellcar

Link al commento
Condividi su altri siti

Savino, come ho già detto a Livio, la vostra cordialità mi fa sentire parte di una famiglia.

Grazie davvero :)

Per il SW ho istallato lo STEP5/ST-pacchetto base per PC, versione 6.6 in italiano, e il percorso che all'occasione utilizzo per visualizzare i blocchi all'interno dell'AG è: Blocchi-> Indice-> in AG come descritto da bellcar :)

Effettivamente, a differenza delle altre CPU della serie 100 o 115, questa 928B mostra solamente i blocchi editati dall'utente e non i blocchi integrati :senzasperanza:

bellcar, grazie a te :)

ps: mi è passata ora per la mente:

se il merker M0.0 lo associassi ad un bottone da un pannello remoto riuscirei, modificando le DW del DB10 relativa all'ora e minuti, a tenere aggiornato l'orologio nel caso non rimanesse sincronizzato.

Giusto!?

Ciao a tutti e un arrisentirci a presto, monica.

Modificato: da monica_124
Link al commento
Condividi su altri siti

e Savino poi e' un mago con lo step 5

bellcar, detto da te sarebbe un onore.. ed anche te mica scherzi :)

Savino, come ho già detto a Livio, la vostra cordialità mi fa sentire parte di una famiglia.

^_^

Effettivamente, a differenza delle altre CPU della serie 100 o 115, questa 928B mostra solamente i blocchi editati dall'utente e non i blocchi integrati

Grazie tante per la conferma

Auguri :)

Modificato: da Savino
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...