Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumCon l’ultima versione di LogicLab PCK033I000, Pacchetto installazione suite IEC61131-3 Vers. 3.0.0 (LogicLab Ver. 5.8.0.17) l’operazione funziona. Abbiamo clienti che la utilizzano normalmente e per ulteriore scrupolo ho anche provato personalmente.
Per eseguire l’upload hai due soluzioni usare la procedura di Import project from target selezionando il protocollo Modbus 2.0 e collegandoti con lo SlimLine.
In alternativa ti connetti in FTP con lo SlimLine e scarichi dalla cartella C:/Plc il file Project.rsm, poi da LogicLab apri il progetto selezionando come tipo file rsm.
Non capisco quale possa essere il tuo problema, il tuo progetto era protetto da password ? eventualmente puoi inviare il file rsm (Scaricato in FTP) a noi oppure al supporto Axel per vedere se è possibile aprirlo.
Sergio Bertana
Amministratore del forumVediamo le diverse possibilità.
Potresti allocarti un array di memoria con l’attributo RETAIN (Massima dimensione 1 KByte), ed a ogni loop di programma (O solo su variazioni) copiare il contenuto della memoria da DB100.0 a DB100.xxx in questo array, puoi usare la funzione Sysmemmove. Ed alla accensione fare l’operazione opposta. Se vuoi eseguire la copia solo su variazioni puoi usare il FB BufferModified per il controllo.
Usando sempre l’area non ritentiva della DB100 puoi copiarla su di un file su disco utilizzando il FB FileMemoryDump. In questo caso conviene eseguire la copia solo sulle variazioni. Poi alla accensione esegui la copia inversa da file in memoria.
Puoi allocare un array in memoria non ritentiva della dimensione che ti serve e poi sempre con il FB FileMemoryDump trasferirlo su file come detto precedentemente. In questo caso per poter raggiungere questo array che non si trova in DB100 da Modbus devi utilizzare il FB ModbusSlave_v1 agganciandolo ad un FB TCPServer istanziato appositamente. Naturalmente dovrai utilizzare un’altra porta TCP non la 502.
Sergio Bertana
Amministratore del forumSi l’operazione è equivalente, ma il problema non è nello SlimLIne, il problema è nel tool LogicLab, la versione che hai tu probabilmente ha un bug e non riesce ad aprire il file .rsm.
Ti consiglio di scaricare dal nostro sito l’ultima versione ed eseguire l’upgrade. Con questa versione il problema dovrebbbe risolversi.
Sergio Bertana
Amministratore del forumQuello che hai fatto è corretto, ma avendo formattato con FAT_32 puoi usare solo nomi di files da 8+3 caratteri tutto in maiuscole.
Non è che nel tuo programma utilizzi nomi scritti in maiuscole/minuscole magari di 14 caratteri ? prchè per poterli utilizzare devi formattare in FAT_32_ELS.
Sergio Bertana
Amministratore del forumLa funzione JSONDecode al momento non è in grado di gestire oggetti JSON annidati, i caratteri di newline e gli spazi non sono un problema.
La soluzione che hai trovatoe è la migliore, con la funzione SysStrFind cerchi il campo che ti interessa e poi con la funzione SysVarsscanf ne acquisisci il valore.
Sergio Bertana
Amministratore del forumJProbe è la libreria per l’aggiornamento automatico in Ajax delle pagine, la stiamo utilizzando per le pagine di configurazione del sistema. Ma la versione a disposizione dei clienti non è ancora rilasciata, attualmente è un work in progress che cambia ogni giorno. Appena avremo una versione definitiva stabile verrà rilasciata con la relativa documentazione.
Sergio Bertana
Amministratore del forumEsistono lettori RFID con uscita seriale in commercio fai una ricerca su Google.
Noi abbiamo lettori da pannello con uscita 1-Wire (vedi questo), per la lettura di questo tipo di sensore sui nostri sistemi SlimLine abbiamo il FB sOWRdIdentifier. Eventualmente puoi utilizzare questo lettore ed un modulo SlimLine Cortex M7 per la lettura, tieni conto che il costo totale è paragonabile a quello di un lettore con uscita seriale.
Ma in questo caso il dialogo tra il terminale e lo SlimLine è gestito in Modbus e non devi sviluppare nessuna macro sul terminale per la lettura.
Sergio Bertana
Amministratore del forumLa connessione seriale mi sembra corretta a parte un refuso (Credo sia Pin5 RX>Pin2 Txd). I segnali RDY e DSR li puoi collegare come hai detto poi è da capire come gestirli guardando la documentazione sulla stampante.
Per l’uscita dei dati dopo avere aperto la porta dicomunicazione con l’FB SysSerialPort, puoi eseguire l’uscita di ogni singolo carattere con la funzione Sysfputc, esempio:
Sysfputc(16#4E, Fp); (* Invio “N” *)
Sysfputc(16#0D, Fp); (* Invio “Cr” *)E così di seguito per tutti i caratteri, oppure usi la funzione SysVarfprintf, ecco un esempio:
SysVarfprintf(Fp, ‘%s’, STRING_TYPE, ADR(‘N$rA50,0,0,1,1,1,N,”Example 1″$rP1$r’));
Nota: Può essere che dopo ogni <CR> simbolo $r, la stampante esegua il comando e non accetti altri caratteri se non dopo un tempo. In tal caso suddividi la SysVarfprintf in 3 righe interponendo una pausa tra l’invio. Trattandosi di PLC per eseguire la pausa devi realizzare una macchina a stati usando l’istruzione CASE. Nel forum quasi tutti gli esempi sono fatti con macchina a stati.
Sergio Bertana
Amministratore del forumSi in effetti basta fare come hai detto. Ma perchè appoggi il valore in TimeTmpWarning, tutto il tuo programma si sviluppa in due righe (Ho ipotizzato un ritardo di 10 Secondi).
IF (DoorClosed) THEN Warning:=FALSE; TimeBf:=SysGetSysTime(TRUE); END_IF;
IF ((SysGetSysTime(TRUE)-TimeBf) > 10000000) THEN Warning:=TRUE; END_IF;DoorClosed è l’ingresso di porta chiusa (Attivo se chiusa) e Warning è l’uscita di allarme. Ecco il programma in simulazione su PC con SimuLink (Screenshot), download programma DoorAlarm.
Sergio Bertana
Amministratore del forumL’attivazione è la stessa della versione licenziata (Vedi topic), in pratica basta inserire l’Hardware key nella registrazione di dominio e se è di un pannello nuovo mai registrato in EasyAccess si potrà utilizzarlo per 1 mese.
Attenzione: Una volta registrato il pannello in versione trial esso rimarrà ancorato al dominio di registrazione e non sarà possibile spostarlo. Per spostarlo su di un altro dominio (Esempio si manda il pannello al clìente finale che lo vuole includere nel proprio dominio) occorre registrare EasyAccess acquistando una activation card.
Sergio Bertana
Amministratore del forumNon è possibile gestire la porta USB host del pannello da macro, puoi invece inviare comandi ad una stampante connessa in seriale oppure in ethernet.
Devi installare un drivere Free protocol (Screenshot) e poi tramite macro con il comnado OUTPORT puoi inviare in uscita dalla porta i caratteri ascii. Ti rimando a questo topic dove trovi una semplice macro.
In alternativa puoi gestire dallo SlimLine l’invio delle stringhe ascii alla stampante (Vedi funzioni Sysfputc, Sysfwrite, SysVarfprintf) sul manuale. Ma anche in questo caso la stampante deve essere connessa in seriale o in ethernet.
Sergio Bertana
Amministratore del forumSi l’indirizzo della mail di supporto è corretto.
Sergio Bertana
Amministratore del forumIn tal caso devi gestire da programma il posizionamento. Per la lettura encoder puoi usare un modulo I/O digitali con il FB SysGetEncoder, per l’uscita analogica un modulo espansione I/O analogico e per gestire la rampa di velocità il FB LRamp.
Naturalmente dovrai gestire il punto di decelerazione in posizione e l’arresto in quota. Se poi il motore deve essere mantenuto in coppia dovrai gestire un loop di spazio sulla posizione.
Sergio Bertana
Amministratore del forumMi puoi dire se nel tuo progetto usi in modo massiccio i seguenti oggetti:
1. USB Barcode reader
2. Remote HMI
3. AWS IoT MQTTEventualmente potresti mandare il progetto per email al nostro supporto così verifichiamo con Weintek.
Sergio Bertana
Amministratore del forumNon abbiamo un FB per gestire il posizionamento assi.
Ma molti tra i nostri clienti hanno gestito il posizionamento di assi utilizzando drivers intelligenti che gestiscono in modo autonomo il posizionamento. E’ facile e conveniente oggi con i motori brushless e/o stepping gestire nell’elettronica di gestione del motore il posizionamento. Si evita così di dover riportare i segnali encoder al PLC e di gestire con l’uscita analogica la velocità del motore.
I drivers più semplici hanno il protocollo Modbus con il quale è possibile impostare tutti i parametri (Rampe, velocità e posizione) inoltre dallo stesso Modbus è possibile acquisire le eventuali anomalie dal driver gestendo anche la diagnostica.
-
AutorePost