Michele
Risposte nei forum create
-
AutorePost
-
Gennaio 11, 2016 alle 8:37 pm in risposta a: Aumentare numero di cifre sul keypad di inputazione #39283
Michele
PartecipanteSi esatto nel mio caso ho dovuto mettere 5 word! Funziona adesso grazie.
Se a qualcun altro dovesse servire si deve aprire le proprietà della Label di visualizzazione del dato del Keypad, quella con scritto “AAAAAAAA” per intenderci, poi entrare nelle impostazioni della variabile TouchScreen facendo clic sul pulsante “Impostazioni” e li cambiare il numero di Word da 4 a 5. Dove il numero è la metà delle cifre visualizzate dal Keypad. Con 4 word visualizza 8 cifre, con 5 word visualizza 10 cifre.
Michele
PartecipanteUsare la stringa va bene ma a quel punto però come calcolo il valore di check della comunicazione ?
Uso un semplice LRC Longitudinal Redundancy Check, infatti con l’array di byte sommo tutti i byte con un ciclo for e sommo 1… con una stringa come faccio ?
Esiste una funzione per ottenere il valore come byte di un carattere di una stringa tramite indice ?Michele
PartecipanteAbbiamo anche noi un problema con Sysvarsnprintf, ma è di natura diversa. Partiamo dalla premessa che esistono due macchine con il software PLC da me creato, la prima costruita a settembre 2014 funziona correttamente ed ha il firmware Sfw184a890, la seconda costruita due mesi fa con il firmware Sfw184a960 ogni tanto toppa.
Il software PLC è lo stesso. Il problema risiede nel fatto che per la trasmissione dati a PLC viene inviata una stringa ASCII contenente le variabili del pezzo testato dalla macchina. Un valore, in particolare la resistenza di continuità, certe volte non viene stampato sulla stringa… ma non viene stampato niente da quella Sysvarsnprintf in particolare, neanche la virgola… mentre tutte le altre Sysvarsnprintf funzionano correttamente. La riga è la seguente:
NrChrs := NrChrs + SysVarsnprintf(ADR(dati_array[NrChrs]), 5+1, ‘,%4.0f’, REAL_TYPE, ADR(MData[i].conti_resistenza));
La creazione della stringa è la seguente:
NrChrs := SysVarsnprintf(ADR(dati_array), 19+1, ‘<CODIC:%u’, UDINT_TYPE, ADR(MData[i].codic));
NrChrs := NrChrs + SysVarsnprintf(ADR(dati_array[NrChrs]), 18+1, ‘;LOTTO:%u’, UDINT_TYPE, ADR(MData[i].lotto));
NrChrs := NrChrs + SysVarsnprintf(ADR(dati_array[NrChrs]), 12+1, ‘;PEZZO:%u’, UINT_TYPE, ADR(MData[i].pezzo));
…
NrChrs := NrChrs + SysVarsnprintf(ADR(dati_array[NrChrs]), 5+1, ‘,%4.0f’, REAL_TYPE, ADR(MData[i].conti_resistenza));
…
LRC:=0; (* Longitudinal redundancy check *)
FOR j:=1 TO TO_INT(NrChrs – 1) DO LRC := LRC + TO_USINT(dati_array[j]); END_FOR;
LRC := (LRC XOR 16#FF)+ 1; (* Longitudinal redundancy check *)
NrChrs := NrChrs + SysVarsnprintf(ADR(dati_array[NrChrs]), 5+1, ‘>%2X$r$n’, USINT_TYPE, ADR(LRC));A volte non stampa nulla, neanche la virgola prima del REAL conti_resistenza, mandando in eccezione il PC.
Secondo voi ci potrebbe essere una soluzione o provo a caricare il firmware precedente sulla CPU ?Marzo 18, 2015 alle 4:55 pm in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #38829Michele
PartecipanteUn ultima cosa mi serve sapere, i comandi di write e read a cosa sono uguali ? Fosse per me userei per il read e il write un bit e gli altri 7 bit per definire l’indirizzo della variabile da leggere o scrivere. Come funziona ?
Marzo 18, 2015 alle 1:29 pm in risposta a: Informazioni su bus I2C, possibilità utilizzo moduli custom #38827Michele
PartecipanteMi servirebbero informazioni riguardo l’I2C dei vostri moduli SlimLine, l’I2C l’ho già usata in passato. Quello che vorrei fare è creare un scheda custom connessa ad una vostra CPU Compact Base RS232. Qual’è la velocità dell’I2C ? 100k, 400k o 1M ?
Ho letto da manuale Hardware come connettere i pin +5V, +5V (Aux), RDYO-N, SCL e SDA quindi non ci dovrebbe essere problema da questo punto di vista. Quello che mi servirebbe sapere è come funziona il blocco SysI2CWrRd dal punto di vista della connessione fisica. Il blocco accetta 5 valori: Address, Nr bytes to write, Buffer to write, Nr bytes to read, Buffer to read. Cosa da in output sull’interfaccia I2C ?
Immagino che il primo byte sia l’indirizzo, poi come è strutturato il pacchetto ? Ho letto forse sul forum che si hanno al massimo 8 byte compreso un CRC16 come sono distribuiti ?
Agosto 29, 2014 alle 3:08 pm in risposta a: Visualizzare all’accensione pagina con logo azienda #38404Michele
PartecipanteHo avuto lo stesso problema, pensavo succedesse perchè alcuni valori all’interno della pagina erano indirizzati male verso lo SlimLine, ma poi sistemati gli indirizzi su TouchScreen e verificati i valori in debug scritti su PLC da parte del TouchScreen in ModBus ho capito che è solo un problema di visualizzazione.
L’interfaccia MODBUS funziona bene ma visualizza lo stesso il messaggio di No Response in modo errato quindi… Io ho risolto impostando una pagina iniziale con il Logo dell’azienda con all’interno 8 Imposta Bit impostati su Locale HMI all’indirizzo scelto con l’opzione Tag di Sistema selezionando gli indirizzi da LB-11960 a LB-11967 definiti come disabilita messaggio PLC “PLC no response”.
Michele
PartecipanteAbbiamo ordinato il modulo PCB126C110. Intanto ho provato a connettere lo SlimLine al Touchscreen con un piccolo programma che ho fatto e riesco a rilevare i valori REAL e BOOL sul PLC da Touchscreen, quindi non è poi così importante l’accesso al Web Server.
Sembra funzionare comunque con i valori di default 🙂
Michele
PartecipanteGrazie, il modulo analogico d’espansione in uso ha indirizzo 16#01 infatti utilizzando indirizzo 1 nel blocco funzione SysGetAnInp riesco a prelevare un valore ADC e decidere se fare o no lo switch di una uscita relè del modulo CPU. Ha solo una porta COM e da manuale allegato nella scatola si chiama COM0. Il problema è che impostando: Sysfopen (‘PCOM1.0’, ‘rw’) Toolly non riesce a ricevere l’echo caratteri. Il modulo è un PCB126B110 ho letto adesso che forse la RS232 non è utilizzabile dall’utente (Vedi link). Vuol dire che non posso utilizzarla? Se è così forse mi serve la versione PCB126C110.
Michele
PartecipanteSono riuscito ad aggiornare il firmware dello slimline. I cavi RJ45 erano crossati e quindi sbagliavo tra cavo verde-bianco e blue-bianco, il problema però persiste e non riesco a fare il login nel Web Server. Proviamo a bypassare il problema.
Devo connettere alla porta COM0 dello SlimLine un touchscreen della Weintek l’MT6050ip con MODBUS (Credo si possano non cambiare le impostazioni) e alla porta COM1 (la porta COM del modulo d’espansione) un PC per la ricezione di stringhe ASCII con i dati.
Come posso impostare da LogicLab le impostazioni, ho visto un’altra discussione (link) ho provato il codice con Toolly ma funziona solo per la COM0 dove ho l’echo dei caratteri… ho provato ad impostare con quel codice sia la COM1 sia la COM2, utilizzando per quello la porta COM del modulo espansione ma non funziona. Se avete altre possibilità per correggere il Web Server consigliatemi pure.
Michele
PartecipanteHo rimesso il jumper nella sua posizione originale. Ho sempre eseguito un Upgrade Firmware, ma sembra che Toolly non riesca a scaricare il firmware durante il Send. Il PLC si avvia normalmente e dopo 3 o 4 secondi dall’accensione è disponibile il programma PLC avviato. Sembra saltare completamente l’aggiornamento firmware. I passi che faccio sono:
1-Spengo il PLC
2-Lascio il Jumper su Normal Operation
3-Premo Send su Toolly
4-Accendo il PLC
5-Mi ritrovo con il PLC avviato e Toolly che continua ad aggiungere “…” nella finestra
6-Vado a controllare su Web Server e il firmware è ancora quello precedente SFW184A870.I moduli aggiuntivi connessi all’unità PLC vanno staccati ? Il cavo USB durante l’operazione può causare problemi ? La COM0 del PLC è quella del modulo CPU ?
Michele
PartecipanteToolly non avvia la scrittura del firmware, la porta COM come dev’essere impostata 115200, 8 bit, no parità, no flowcheck ?
Per i cavi di connessione vanno bene GND, TX e RX o vuole anche gli altri ?
Come indicato dalla FAQ ho connesso i cavi RS232. Ho spostato il jumper a PLC spento su Firmware Upgrade. Ho attivato Toolly e acceso il PLC, ma sembra non fare niente, compaiono sempre più caratteri “…” in Toolly ma la barra di processo sotto non fa niente.
Michele
PartecipanteL’unità ha il firmware Software code SFW184A870 ho visto nella lista SFW184A890 scarico questo ?
Installo Toolly e provo.Michele
PartecipanteSono riuscito ad aggiornare i file su Slimline con Filezilla… cambiando semplicemente cavo mini-USB… ho riavviato il PLC e il PC ma il problema di mancato login su Web server persiste.
Michele
PartecipanteHo provato con Filezilla sia con indirizzo 192.168.1.122 porta 21 sia con quello nella guida 192.168.0.122 che però penso sia per la connessione ethernet, non il mio caso che è USB.
Filezilla dice:
Stato: Connessione a 192.168.1.122:21…
Errore: Tempo scaduto per la connessione
Errore: Impossibile collegarsi al server
Stato: In attesa di un nuovo tentativo…Anche in questo caso ho usato Admin Admin come username e password.
-
AutorePost