Siamo alla ricerca di una connessione diretta con labview. Come appare su MathLab che si tratta di uno scambio TCP/IP: https://de.mathworks.com/matlabcentral/fileexchange/42567-matlab-and-labview-data-exchange-over-tcp-ip
È possibile creare qualcosa di simile per JMP o esiste già?
Grazie per l'aiuto in anticipo!
Markus
Sembra che dovrebbe essere possibile. https://www.ni.com/en-us/support/documentation/supplemental/06/basic-tcp-ip-communication-in-labview.html è un punto di partenza per LabView ; dice "Gli utenti di LabVIEW possono sviluppare applicazioni personalizzate per la comunicazione TCP/IP. Il programmatore è responsabile dello sviluppo sia del client che del server ."
Conosco molto poco LabVIEW, quindi non posso aiutarti in tal senso. Sembra che si utilizzerebbe la GUI di LabView per creare un server a cui JMP potrebbe connettersi per lo scambio di dati. Sul lato LabVIEW quel server sarebbe responsabile della raccolta e dell'invio dei dati dalla configurazione di LabVIEW e della ricezione e dispersione dei dati nella configurazione di LabVIEW.
Il server non è ovvio (per me) nel link che hai fornito, ma deve esistere. Vedere https://www.vut.cz/www_base/zav_prace_soubor_verejne.php?file_id=125490 pagina 21 - che potrebbe mostrare un server. Sembra avere un ascoltatore (con un orecchio) e un trasmettitore (freccia in uscita) e un ricevitore (freccia in entrata).
Alla fine di JMP scriverai uno script JSL usando i socket. Le versioni recenti di JMP >=15 hanno esempi di socket piuttosto buoni nell'indice di scripting. Scriverai codice simile al codice Java(?) nell'esempio matlab.
Salva il tuo JSL prima di eseguirlo; è facile ottenere un socket da appendere in attesa di dati che il server non invierà mai! È possibile impostare i socket JSL per utilizzare I/O non bloccanti (NBIO) per prevenire il blocco... sarà necessario eseguire il polling del socket.
È anche possibile utilizzare le connessioni UDP e la parte inaffidabile di UDP potrebbe essere abbastanza affidabile su localhost. Ciò potrebbe semplificare notevolmente entrambe le estremità.
L'esempio che hai trovato fa sembrare che ci debba sempre essere uno scambio bidirezionale, ma sono abbastanza sicuro che sia proprio il modo in cui l'esempio è stato scritto.
Che ore sono?esempio di presa UDP
Feed di notizie esempio di creazione di un server in JSL (sto suggerendo il contrario, creare il server in LabVIEW)
Questo non è "solo andare a lavorare" la prima volta. Pianifica di imparare qualcosa su TCP e socket; quando non funziona non ci sono molte indicazioni su cosa c'è che non va.
Potresti voler creare prima un prototipo basato su file. Salvando un file su disco in LabVIEW e leggendolo in JMP (o viceversa, o entrambi) hai un modo per vedere cosa sta succedendo. Se è abbastanza veloce, potresti essere fatto.