View Single Post
Old 01-05-2017, 03:31 PM
sagar29 sagar29 is offline
Join Date: Oct 2016
Posts: 7
Smile Sending data from MATLAB(Simulink) to Vizard

I am trying to send data as packets of doubles in little endian format from MATLAB(Simulink) to Vizard. Since MATLAB is non-python interface, I am using code give on the forum and it is:

from __future__ import print_function
import viz
import vizact
import socket

print("Hi there",file=log)

#The maximum amount of data to receive at a time

#The port to send/receive data on
PORT = 5600

#Get the name of this computer
COMPUTER_NAME = socket.gethostname()

#Get the IP address of this computer
COMPUTER_IP_ADDRESS = socket.gethostbyname('localhost')

#Create a socket to send data over
#OutSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#OutSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

#Create a socket to receive data from
InSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
InSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
InSocket.bind(('', PORT))

#def SendData(data):

def ReceiveData():
return InSocket.recv(MAX_DATA_SIZE)
except socket.error:
#Insert error handling code here
print("Error has occured",file=log)

#vizact.onkeydown(' ',SendData,'hello there')

def CheckSocket():
#Try to receive data from socket
data = ReceiveData()
if data:
print (data,file=log)
print("Data not received",file=log)

I have removed data sending part by making it comment and trying to get data in file so that I can analyse(One more reason is that when I write simple print, I am getting nothing in Vizard). I am not understanding second line in socket creation for receiving data and also not getting any output.

I tried to send data from MATLAB to MATLAB and its working but with Vizard it is giving problem.

Please suggest appropriate corrections in code.

Reply With Quote