IP control of Electrovoice N8000 audio processor
sskannan
Posts: 4
Could anyone please suggest me with some ideas on controlling the Electrovoice N8000 netmax audio processor over IP?
I have attached the codes below that iam trying to get it controlled over RS232 and IP. The Control over RS 232 is working but there is no strings going out to IP port.I am new to this IP control method.
DEFINE_DEVICE
dvPASystem = 5001:1:0 (*NI 900 Serial Port*)
dvIPClient = 0:3:0 (*NI 900 IP Port*)
dvTP = 11001:1:0
(***********************************************************)
(* CONSTANT DEFINITIONS GO BELOW *)
(***********************************************************)
DEFINE_CONSTANT
nIPPort = 23
(***********************************************************)
(***********************************************************)
(* STARTUP CODE GOES BELOW *)
(***********************************************************)
DEFINE_START
SEND_COMMAND dvPASystem ,"'SET BAUD 19200,N,8,1,485 DISABLE'"
WAIT 50
IP_CLIENT_OPEN(3,'192.168.1.100',23,1)
(************************************************************)
(* THE EVENTS GO BELOW *)
(***********************************************************)
DEFINE_EVENT
//SERIAL Test//
BUTTON_EVENT[dvTP,1]
{
PUSH:
{
SEND_STRING dvPASystem, "'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 1 ',$0D"
}
}
BUTTON_EVENT[dvTP,2]
{
PUSH:
{
SEND_STRING dvPASystem, "'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 2 ',$0D"
}
}
// IP Test//
DATA_EVENT[dvIPClient]
{
ONERROR:
{
SEND_STRING 0,"'error: client=',ITOA(Data.Number)"
}
ONLINE:
{
SEND_STRING 0,"'online: client'"
}
OFFLINE:
{
SEND_STRING 0,"'offline: client'"
}
STRING:
{
SEND_STRING 0,"'string: client=',Data.Text"
}
}
BUTTON_EVENT[dvTP,3]
{
PUSH:
{
SEND_STRING dvIPClient,"'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 3 ',13,10"
}
}
(***********************************************************)
(* THE ACTUAL PROGRAM GOES BELOW *)
(***********************************************************)
DEFINE_PROGRAM
(***********************************************************)
(* END OF PROGRAM *)
(* DO NOT PUT ANY CODE BELOW THIS COMMENT *)
(***********************************************************)
I have attached the codes below that iam trying to get it controlled over RS232 and IP. The Control over RS 232 is working but there is no strings going out to IP port.I am new to this IP control method.
DEFINE_DEVICE
dvPASystem = 5001:1:0 (*NI 900 Serial Port*)
dvIPClient = 0:3:0 (*NI 900 IP Port*)
dvTP = 11001:1:0
(***********************************************************)
(* CONSTANT DEFINITIONS GO BELOW *)
(***********************************************************)
DEFINE_CONSTANT
nIPPort = 23
(***********************************************************)
(***********************************************************)
(* STARTUP CODE GOES BELOW *)
(***********************************************************)
DEFINE_START
SEND_COMMAND dvPASystem ,"'SET BAUD 19200,N,8,1,485 DISABLE'"
WAIT 50
IP_CLIENT_OPEN(3,'192.168.1.100',23,1)
(************************************************************)
(* THE EVENTS GO BELOW *)
(***********************************************************)
DEFINE_EVENT
//SERIAL Test//
BUTTON_EVENT[dvTP,1]
{
PUSH:
{
SEND_STRING dvPASystem, "'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 1 ',$0D"
}
}
BUTTON_EVENT[dvTP,2]
{
PUSH:
{
SEND_STRING dvPASystem, "'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 2 ',$0D"
}
}
// IP Test//
DATA_EVENT[dvIPClient]
{
ONERROR:
{
SEND_STRING 0,"'error: client=',ITOA(Data.Number)"
}
ONLINE:
{
SEND_STRING 0,"'online: client'"
}
OFFLINE:
{
SEND_STRING 0,"'offline: client'"
}
STRING:
{
SEND_STRING 0,"'string: client=',Data.Text"
}
}
BUTTON_EVENT[dvTP,3]
{
PUSH:
{
SEND_STRING dvIPClient,"'//PARAM/DSP/FUNCTIONS/LOAD_PRESET 3 ',13,10"
}
}
(***********************************************************)
(* THE ACTUAL PROGRAM GOES BELOW *)
(***********************************************************)
DEFINE_PROGRAM
(***********************************************************)
(* END OF PROGRAM *)
(* DO NOT PUT ANY CODE BELOW THIS COMMENT *)
(***********************************************************)
0
Comments
But, here's some things I see.
I would not put this in the startup code myself. There's no garranty that the master will have a good IP connection going at 50 ticks after bootup. If this is so, the connection will not open. IP_CLEINT_OPEN acts like a function and will send back a result.
for example:
Other things:
1. You're connection to the unit via port 23. Is this a telnet session? If so, you might try using your computer and hyperterminal to do the same thing and see if you get results. For example, does the thing have a login/password requiremnt? Does it respond with an acknowledement when commands are sent? Does it provide unsolicted feedback? All these things should work with hyperterminal. If so, you know the unit is responding properly.
2. Does the unit maintain a connection once you're logged in or does it terminate the connection after some period of time. For some devices, there are timeouts.
So, basically I'd write a couple things for this comm file.
a. Code to deal with and maintain the IP connection to the device. This should keep track of the presence of the device at the other end and maintain the proper connection. It shold let the program know when things are okay and when things are not okay.
b. a way to send/recieve commands to/from the device.
Hope this helps.
e
Hi Eric,
Thanks for your reply,
Yes, I am connecting with Port 23 (mentioned in the RS232 protocol manual). The default IP address of the device is 192.168.1.100. I communicated with it through hyperterminal.It does asks for userID (Netmax) and Password ( Netmax).When any command sent it reports back. It doesnt timesout.It maintains the connection.
Well, then you'll need to take the user and password into consideration in your program. Once you're connected it should work as advertised. Just mimic what you'd do in hyperterminal from the AMX side.