Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumVedo un po di idee confuse…
La richiesta di set parametri è una richiesta in POST, quindi Method: 1 è corretto, ma HostAddress e HostName devono essere l’indirizzo IP del server non possono essere diversi… al limite HostName potrebbe essere il nome dell’host nel caso di server multidominio.
In Page devi mettere solo la pagina HTPP/1.1 lo mette in automatico il FB.
In Request hai messo correttamente i dati richiesti, ma DBSize mettilo molto più grande (Metterei 1000).
Vedo nell’esempio che è citato il campo Authorization: Basic YWRtaW46YWRtaW4=, questo a naso mi sembra un campo da passare in header alla richiesta per abilitare il comando di set parametri. Quindi passa al parametro Header:=ADR(Authorization: Basic YWRtaW46YWRtaW4=).
Il resto sembra essere Ok, ma ti consiglio di provare il comando con programmi come Insomnia o Postman, e quando il comando funziona spia con Wireshark cosa passa così da poterlo confrontare con quello che genera l’FB HTTPClient.
Più semplice è il comando di reboot, un semplice comando GET
Method:0
HostAddress: 192.168.1.199
HostName:192.168.1.199
HostPort:80
Page: reboot.cgi
Request: Authorization: Basic YWRtaW46YWRtaW4=Sergio Bertana
Amministratore del forumCerto che si sul sistema operativo Raspbian è possibile installare qualsiasi applicativo.
Il run time CODESYS o LogicLab utilizzano per dialogare con le nostre schede di estensione il bus I2C quindi se attivi uno di questi run time non potrai piu utilizzare il bus I2C nei tuoi applicativi.
Abbiamo applicazioni che utilizzano Node-RED insieme a CODESYS o LogicLab, lo scambio dati tra gli applicativi viene realizzato con un socket TCP o con OPC-UA (Articolo).
Sergio Bertana
Amministratore del forumIl modulo BGS5T è un modolo che ha al suo interno un engine Java, tutta la gestione del modem passa dall’engine Java che và programmato per le proprie necessità. Sia la porta COM reale che la porta COM su USB dialogano con l’engine Java, quindi puoi gestirle entrambe.
Se la tua esigenza è solo l’invio di SMS ti consiglio il modello BGS2, eventualmente abbinato ad un convertitore USB/Seriale.
Sergio Bertana
Amministratore del forumNormalmente l’IP fornito su connessioni 3G/4G non solo non è statico (Cosa che si potrebbe agggirare con un Dynamic DNS) ma è anche NATtato e questo purtroppo non è aggirabile in modo semplice.
Ma Weintek ci ha pensato, utilizzando EasyAccess tu puoi raggiungere sia il CMT che eventuali dispositivi connessi esempio il PLC potendo eseguire debug e riprogrammazione da remoto.
Giugno 21, 2019 alle 6:29 am in risposta a: Gestione pagine web dinamiche da parte dell’utente #48288Sergio Bertana
Amministratore del forumLa domanda è molto generica, non mi dici su che dispositivo hai creato la pagina.
Cosa vuol dire quando vado ad aprire nella cartella storage del PLC… Se è un modello basato su ARM basta digitare l’URL corretto “http.//xxx.xxx.xxx.xxx/Storage/File.htm”
Magari dai una occhiata a questo articolo che spiega come realizzare pagine in Ajax con il FB HTTPServer.
Sergio Bertana
Amministratore del forumMi dici che hai spostato LK9, quindi mi sembra di capire che non hai fatto la procedura di upgrade firmware (Articolo) per questa procedura non occorre spostare ponticelli, ma quella di upgrade del bootloader (Articolo) procedura che al momento attuale non è mai stata necessaria, solo per questa procedura occorre spostare il ponticello.
Ora per risistemare il funzionamemto devi eseguire prima la procedura di upgrade del bootloader e dopo quella di upgrade del firmware.
Sergio Bertana
Amministratore del forumPer cambiare l’indirizzo IP la funzione è corretta, ma dopo averlo impostato con:
ok:=SysOSIDValue(TRUE, OSID_ETH0_IP, ADR(newIP));
Occorre scrivere la configurazione in memoria FLASH, in modo che al riavvio venga accettato il nuovo valore, usa:
ok:=SysOSIDValue(TRUE, OSID_CFG_WRITE, NULL);
Per riaviare il sistema da programma è corretto quello che hai fatto (Vedi forum) ma non devi avere LogicLab connesso, perchè altrimenti il sistema si accorge di essere in debug e si ferma in stop.
Per connetterti in Telnet puoi utilizzare il FB CLIManager, c’è un esempio nel manuale, se ti connetti a localhost sulla porta 23 puoi fare il login e gestire i comandi per impostare l’indirizzo IP e fare il reboot.
Sergio Bertana
Amministratore del forumAllo stato attuale l’unico modo per gestire il CAN bus è di avere la versione CAN del modulo CPU, (Consiglio MPS054B200). Se tu guardi il Manuale programmazione IEC61131-3, troverai indicazioni su come utilizzare le funzioni SysCANTxMsg e SysCANRxMsg.
Un messaggio CAN si compone di un identificativo univoco a 11 o 29 bits ed un frame dati che può arrivare ad un massimo di 8 bytes. Tutti dispositivi in rete sono sia master che slave, ogni messaggio trasmesso è ricevuto da tutti i sistemi in rete che lo filtrano con l’ID desiderato.
Sergio Bertana
Amministratore del forumLe domande dei clienti sono sempre utili… da una domanda possono nascere riposte utili per capire meglio come funziona il sistema.
Sergio Bertana
Amministratore del forumSi la porta seriale RS232 può essere utilizzata, ma il modulo che hai (Modello PCB126C130) avendo 1 come primo numero dopo il livello C, si tratta di un modulo con solo RS232, il numero 3 indica 10 canali analogici in ingresso.
Infatti nel tuo modulo il connettore P12 non è montato.
Sergio Bertana
Amministratore del forumIl modulo CPU con porta RS485 non può gestire il CAN, lo spazio sul modulo CPU è ridotto così abbiamo condiviso lo spazio tra RS485 e CAN, occorre scegliere la versione desiderata.
Sul modulo di espansione PCB126C130 c’è una porta RS232 che può essere utilizzata da programma l’accesso è esattamente uguale a quello delle porte presenti sul modulo CPU si utilizza il FB SysSerialPort, definendo nel campo COM la definizione PCOMx.y dove con x si indica l’indirizzo del modulo e con y il numero di porta presente sul modulo nel tuo caso la numero 0.
Giugno 13, 2019 alle 4:51 pm in risposta a: Come interfacciarsi via WiFi con i moduli Sonoff della Itead #48140Sergio Bertana
Amministratore del forumSicuramente è possibile realizzare il comando con il FB HTTPClient.
Intanto vedo che il comando è in GET, quindi usa, HTTP.Method:=0;
La pagina da chiamare è cm quindi prova ad usare, HTTP.Page:=ADR(‘cm’);
%20 è la codifica di space, provvede l’FB a codificarlo prova,HTTP.Request:=ADR(‘cmnd=Power TOGGLE’)Sergio Bertana
Amministratore del forumSi certo puoi istanziare 8 FB SysTCPClient a cui connetti 8 FB ModbusMaster e tutte lavoreranno in parello indipendentemente una dall’altra. Ogni SysTCPClient si connetterà all’indirizzo IP del dispositivo server ed il ModbuaMaster potrà scambiare dati con lui.
I 50mS che richiedi potrebbero anche essere possibili, ma il protocollo modbus non è ottimizzato per la velocità, ad ogni comando è prevista la ricezione di una risposta e se devi scrivere e leggere dati dal server serviranno 4 pacchetti, essendo poi una comunicazione TCP c’è da considerare anche i pacchetti di Ack.
Per aumentare la velocità se il tuo server lo gestisce puoi utilizzare una comunicazione UDP con l’FB SysUDPClient in questo caso eviti i pacchetti di Ack.
Se i sistemi fossero tutti SlimLine una comunicazione più ottimizzata la si ottiene con la libreria eLLabDataExchLib che gestisce l’invio dei dati solo su variazione e nel pacchetto di Ack ci sono anche i dati in lettura.
Giugno 9, 2019 alle 7:42 pm in risposta a: Come interfacciarsi via WiFi con i moduli Sonoff della Itead #48037Sergio Bertana
Amministratore del forumUn elenco lo puoi trovare qui, quando ti connetti in Telnet puoi dare il comando help per visualizzare tutti i possibili comandi, ecco il report.
Available commands:
> COMMANDS
> CONFIG
> CRASH
> DEL
> DICTIONARIES
> EEPROM
> EEPROM.DUMP
> ERASE.CONFIG
> FACTORY.RESET
> FLASH.DUMP
> GET
> GPIO
> HA.CLEAR
> HA.CONFIG
> HA.SEND
> HEAP
> HELP
> INFO
> KEYS
> MQTT.RESET
> OTA
> PUBLISH
> RELAY
> RELOAD
> RESET
> RESET.SAFE
> SELECT
> SET
> STACK
> SUBSCRIBE
> UNSUBSCRIBE
> UPTIME
> WIFI
> WIFI.AP
> WIFI.RESET
> WIFI.SCANSergio Bertana
Amministratore del forumNelle funzioni PLC aggiungi un cambio pagina da variabile collegandolo ad una variabile interna del pannello, poi utilizzando la funzione SETDATA puoi da macro modificare il valore della variabile richimando la pagina che desideri.
-
AutorePost