Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 4,036 a 4,050 (di 4,309 totali)
  • Autore
    Post
  • in risposta a: Comunicazione modbus RTU master #36599
    Sergio Bertana
    Amministratore del forum

    E’ ora disponibile nella libreria ePLCUtyLib.pll (Versione SFR054A500) un nuovo blocco funzione per la gestione del modbus master, rimando a questo post per altre informazioni.

    in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #36598
    Sergio Bertana
    Amministratore del forum

    Trattandosi di impianto per domotica, ti consiglio nei files InputRead ed OutputWrite di rinominare le variabili di appoggio degli I/O distribuiti utilizzando dei nomi che siano mnemonici per il tuo impianto.

    Per gli ingressi TRPC26Input[0] potrà diventare PlsLuceSaloneTRPC26Input[1] potrà diventare PlsLuceCucina, ecc.
    Per le uscite TRPC24Output[0] potrà diventare CdoLuceSaloneTRPC24Output[1] potrà diventare CdoLuceCucina, ecc.

    in risposta a: Copiare un carattere da una stringa in una variabile #36596
    Sergio Bertana
    Amministratore del forum

    La soluzione piu semplice è utilizzare un puntatore. Ti allego la stampa di un programma in ST che effettua quello di cui hai bisogno. Download programma sorgente (Funziona su emulatore PLC).

    VAR
        DString : STRING[ 10 ] := ‘ABCDEFGHIL’; (* Data string *)
        Ch : ARRAY[ 0..9 ] OF USINT; (* Character *)
        ChPtr : @USINT; (* Character pointer *)
    END_VAR

    ChPtr:=ADR(DString); (* Punto origine stringa *)
    Ch[0]:=@ChPtr+0; (* Leggo carattere in posizione 0 ‘A’ *)
    Ch[1]:=@ChPtr+1; (* Leggo carattere in posizione 1 ‘B’ *)

    ChPtr:=ADR(DString)+2; (* Punto carattere in stringa *)
    Ch[2]:=@ChPtr; (* Leggo carattere in posizione 2 ‘C’ *)

    in risposta a: Differenze tra i diversi convertitori da USB a RS232 #36597
    Sergio Bertana
    Amministratore del forum

    In merito al livello dei segnali RS232 riporto le caratteristiche di tensione richieste dallo standard EIA RS-232 sui segnali, che sono:

    Mark: Compresi tra -3 e -15 V;
    Space: Compresi tra +3 e +15 V;
    Incertezza: Compresi tra -3 e +3 V;

    Per permettere di verificare la compatibilità dei livelli di tensione dei segnali RS232 in uscita dai diversi convertitori, riporto una rilevazione oscillografica degli stessi.

    in risposta a: Impostazione indirizzo nodo modbus moduli I/O distribuito #36595
    Sergio Bertana
    Amministratore del forum

    In questo post è documentato, ed è possibile il download, di un programma su SlimLine che gestisce la lettura di un modulo di ingressi logici e la scrittura di un modulo di uscite logiche.

    in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #36594
    Sergio Bertana
    Amministratore del forum

    Il modulo TRPC26 utilizza il comando modbus 01 Read Coil Status per la lettura dello stato dei 16 ingressi digitali, mentre il modulo TRPC24 utilizza il comando modbus 15 Force Multiple Coils per la scrittura delle 16 uscite digitali. Utilizzando il blocco funzione ModbusRTUMaster (Estratto manuale), è possibile eseguire la lettura degli ingressi dal modulo TRPC26 e la scrittura delle uscite sul modulo TRPC24.

    Ho realizzato un programma su SLine che effettua ciclicamente la lettura dei 16 ingressi del modulo di ingressi e li appoggia in 16 variabili BOOL (TRPC26Input[0..15]), copia 16 variabili BOOL (TRPC24Output[0..15]) sulle 16 uscite logiche del modulo di uscita. I due moduli sono stati connessi in rete RS485, occorre definire al modulo di ingressi logici indirizzo 0x01 (Default), al modulo uscite logiche indirizzo 0x02, vedi post.

    Nel programma troverai un programma ladder Logic, che appoggia l’ingresso DI0 del moduli di ingressi sull’uscita DO0 del modulo di uscita. Potrai aggiungere tutte le logiche che ti servono aggiungendo linee a questo file e/o aggiungendo altri programmi al progetto.

    Il programma TRPComm esegue la letura e scrittura ciclica dei moduli di I/O, i programmi InputRead e OuputWrite, eseguono lo swap dei bits letti e da scrivere verso i moduli TRP per poter avere le variabili BOOL ordinate in funzione degli I/O sul modulo. Stampa programma, download programma.

    in risposta a: Impostazione indirizzo nodo modbus moduli I/O distribuito #36593
    Sergio Bertana
    Amministratore del forum

    E’ possibile connettersi al modulo in RS485 definendo parametri di comunicazione 9600, n, 8, 1, i moduli TRP sono settati di default con indirizzo 0x01. Come visibile dal manuale del prodotto è possibile con un comando modbus eseguire il set dell’indirizzo del modulo (Vedere capitolo Set up the module’s address). Il comando è ID 46 04 IP 00 00 00 (CRC), dove ID è l’indirizzo attuale del modulo, di default è 0x01, IP è l’indirizzo che si vuole definire, mentre il CRC deve essere calcolato utilizzando l’algoritmo definito dalle specifiche modbus.
    Attenzione! tutti i caratteri della stringa (Trattandosi di modbus RTU) sono da considerarsi binari. Per inviare caratteri binari consiglio di utilizzare il programma Toolly. Per impostare ad esempio l’indirizzo 0x02 occorre inviare la stringa modbus 01 46 04 02 00 00 00 F5 1E (Da programma Terminal $01$46$04$02$00$00$00$F5$1E). Per impostare ad esempio l’indirizzo 0x03 occorre inviare la stringa modbus 01 46 04 03 00 00 00 F4 E2 (Da programma Terminal $01$46$04$03$00$00$00$F4$E2). Il nuovo indirizzo verrà memorizzato permanentemente nel modulo il quale risponderà a comandi modbus che iniziano con l’indirizzo definito, vedere anche questo post.

    in risposta a: Convertitore USB/Seriale per registratore di cassa #36592
    Sergio Bertana
    Amministratore del forum

    I modelli che hai indicato possono funzionare entrambi senza problemi in unione al registratore di cassa. In merito al problema che tu lamenti con l’uso di altri convertitori, posso riportare che esistono in commercio diversi tipi di convertitori USB/seriali, le differenze tra i vari modelli a parte la costruzione piu o meno professionale è da ricercare nel chipset utilizzato

    .I chipset piu utilizzati sono il Prolific, il Moschip (Puoi trovare informazioni in questo post), e FTDI (Puoi trovare informazioni in questo post). Nella nostra gamma di prodotti abbiamo convertitori USB/Seriali basati sul chipset di tutti e tre i produttori. A mio parere tutti questi produttori hanno a corredo drivers affidabili, FTDI si distingue sugli altri per una maggiore disponibilità di informazioni ed è il più attivo sul rilascio dei drivers per le nuove versioni di sistema operativo.

    L’ATC-810 è un convertitore economico, l’ATC-850 ha come suo vantaggio l’isolamento galvanico tra la porta USB e la porta seriale, e mette a disposizione interfaccie RS232, RS422, RS485. Entrambi i modelli utilizzano il chipset FTDI.

    In generale ti posso dire che su ATC-810 abbiamo avuto qualche problema di compatibilità nella connessione con dei modem, problemi superati con l’ATC-850. Credo che il problema sia di ricercare nei livelli dei segnali RS232 che probabilmente nell’ATC-810 sono molto vicini ai limiti della specifica.

    in risposta a: Conversione formato con convertitori seriale/fibra #36591
    Sergio Bertana
    Amministratore del forum

    Tutti i convertitori seriale/fibra da noi trattati permettono di gestire indifferentemente comunicazioni seriali nei diversi formati RS232, RS422, RS485. E’ quindi possibile avere da un lato un convetitore che gestisce una RS232 e dall’altro lato un convertitore che gestisce una RS422 o RS485. I convertitori gestiscono la modalità di commutazione linea RS485 automatica.

    Naturalmente i convertitori utilizzati dalled ue estremità della fibra devono essere dello stesso modello. Si sceglierà il convertitore per fibre multimodali se la distanza di connessione non è molto elevata (Fino a 2 Km) mentre occorrerà utilizzare il convertitore per fibre monomodali se la distanza di connessione è maggiore (Fino a 20 Km).

    in risposta a: Funzionamento convertitore seriale da RS232 a RS422/485 #36590
    Sergio Bertana
    Amministratore del forum

    Rimando alla lettura di questo post per ulteriori informazioni, ed aggiungo alcune considerazioni sul convertitore ATC-105. Questo convertitore è un modello economico e come tale non utilizza un convertitore DC/DC per l’alimentazione della parte RS232.

    L’alimentazione della parte RS232 è ricavata dagli stessi segnali presenti sul connettore, in pratica i segnali TXD, RTS, DTR, cooperano per l’alimentazione del dispositivo. Il dispositivo funziona anche solo connettendo i tre fili Rx, Tx e GND della seriale. In merito alle connessioni sul connettore DB9 della RS232, sul manuale del prodotto sono riportati solo i 3 fili indispensabili, di seguito riporto la reale connessione:

    Pin 1:
    Pin 2: TxD
    Pin 3: RxD
    Pin 4: DTR (Connesso con pin 6)
    Pin 5: GND
    pin 6: DSR (Connesso con pin 4)
    Pin 7: RTS (Connesso con pin 8)
    Pin 8: CTS (Connesso con pin 7)
    Pin 9:

    in risposta a: Differenze tra i diversi convertitori da RS232 a RS485 #36589
    Sergio Bertana
    Amministratore del forum

    In merito al livello dei segnali RS232 riporto le caratteristiche di tensione richieste dallo standard EIA RS-232 sui segnali, che sono:

    Mark: Compresi tra -3 e -15 V;
    Space: Compresi tra +3 e +15 V;
    Incertezza: Compresi tra -3 e +3 V;

    Come visto precedentemente i convertitori che distribuiamo hanno livelli di tensione sulla RS232 diversi. Tutti i livelli sono in accordo alle specifiche EIA, ma nel modello ATC-105 vista la particolarità del suo circuito di alimentazione (Derivato dai segnali Rx/Tx della RS232) sono molto vicini ai limiti inferiori della specifica.

    Per chiarezza e per permettere di verificare la compatibilità dei livelli di tensione dei segnali RS232 in uscita dai diversi convertitori, riporto una rilevazione oscillografica degli stessi.

    in risposta a: Problemi di configurazione convertitore WiFi/Seriale #36588
    Sergio Bertana
    Amministratore del forum

    Ricordo che se nella definizione di SSID e passphrase per sicurezza WPA e/o WPA2 ci sono degli spazi, essi vanno sostituiti con il carattere $.

    Con il comando set wlan ssid <string>, definire SSID della rete wireless.
    Con il comando set wlan phrase <string>, definire la passphrase per sicurezza WPA e/o WPA2.

    Nota: se SSID o passphrase contengono spazi, occorre sostituirli con $, per esempio the “yellow brick road” diventa”yellow$brick$road”.

    in risposta a: Virtual COM su convertitore WiFi seriale ATC-2000WF #36587
    Sergio Bertana
    Amministratore del forum

    Il programma HW VirtualSerialPort prevede di defaul l’invio di una stringa di mantenimento connessione, si tratta di una stringa binaria che viene inviata ad intervalli di tempo regolare, i dati inviati sono riportati in uscita dalla seriale del convertitore.

    Per evitare l’invio di questi dati occorre togliere il tick dalla opzione NVT Enable nel tab Settings del programma.

    in risposta a: Virtual COM su convertitore WiFi seriale ATC-2000WF #36586
    Sergio Bertana
    Amministratore del forum

    Per l’installazione di una Virtual COM per il convertitore WiFi seriale ATC-2000WF è possibile utilizzare il programma HW VirtualSerialPort presente nel CD allegato al prodotto, il programma è anche disponibile per il download direttamente dal sito dello sviluppatore HWGroup. Seguendo le informazioni reperibili dal sito è possibile configurare il programma in base alle proprie necessità. Le informazioni essenziali da definire nel tab Virtual Serial Port, sono:IP Address: Definire l’indirizzo IP del dispositivo ATC-2000WF.Port: Definire la porta configurata sul dispositivo ATC-2000WF come server (Di default 2000).COM Name: Nome della porta sul PC.A questo punto agendo sul tasto Create COM, verrà creata la porta COM definita nel PC, i dati inviati sulla porta saranno inviati in uscita sulla seriale del convertitore ATC-2000WF e viceversa.Attenzione! L’UART in uscita dal modulo supporta solo 8 bit di dati e nessuna parità, per l’impostazione dei parametri seriali occorre utilizzare i comandi definiti nel manuale del prodotto:set uart baud <rate>, imposta baud rate.set uart flow <0,1>, imposta il controllo di flusso.

    in risposta a: Connessione convertitore Wi-Fi seriale ad access point #36585
    Sergio Bertana
    Amministratore del forum

    Utilizzando un programma di emulazione terminale impostato a 9600, n, 8, inviare i caratteri $$$ per forzare la modalità comandi sul modulo, il modulo risponde con CMD.

    Con il comando set wlan ssid <string>, definire SSID della rete wireless.
    Con il comando set wlan phrase <string>, definire la passphrase per sicurezza WPA e/o WPA2.

    Nota: se SSID o passphrase contengono spazi, occorre sostituirli con $, per esempio the “yellow brick road” diventa”yellow$brick$road”.

    Con il comando set wlan join 1, si esegue il join con la rete  definita in SSID. Lasciare channel settato a 0 per permettere al modulo di eseguire lo scan di tutti i canali.

    Il comando save, esegue il salvataggio della configurazione nel file di default.

    Alla accensione il modulo sulla porta seriale invierà un report delle operazioni del tipo:

    WiFly Ver 2.18, 02-02-2010
    MAC Addr=00:06:66:00:39:94
    Auto-Assoc Elsist WiFi chan=1 mode=OPEN SCAN OK
    Joining Elsist WiFi now..
    Associated!
    DHCP: Start
    DHCP in 16ms, lease=691200s
    IF=UP
    DHCP=ON
    IP=192.168.0.37:2000
    NM=255.255.255.0
    GW=192.168.0.1
    Listen on 2000

    Questo stà ad indicare che si è connesso all’access point, il DHCP gli ha asegnato l’indirizzo 192.168.0.37, e sulla porta 2000 verrà connessa la porta seriale del modulo.

Stai visualizzando 15 post - dal 4,036 a 4,050 (di 4,309 totali)