Weird problems with NI700
rogerlai
Posts: 2
in AMX Hardware
Hi Guys, i'm still fairly new to AMX and recently i'm taking over from a co worker on an AMX assignment.
We have a code template used for previous similar projects. It is used mainly for Telnet controls and RS232 and it's been working fine so far on our demo NI-700 here in the office.
In the DEFINE_START section of code, we have IP_CLIENT_OPEN to start telnet connections.
For different projects, most of the time the variable for telnet connection would be the IP address and the port number.
Somehow, it just stopped working and the ONERROR feedback that we get is 7. When we check IP STATUS in the master during execute startup code process, it seems to be listening on a different port than what has been declared in code. No matter what we change in the code, this port value remains the same during execute of startup.
Since nothing worked, i did a factory reset on the unit. After that, it seems to get worse. Output LED does not respond to push event, IP_CLIENT_OPEN does not seem to execute at all during execute of startup (no active IP connections). Is my NI-700 dead? Anyway to fix this and get it up and running?
We have a code template used for previous similar projects. It is used mainly for Telnet controls and RS232 and it's been working fine so far on our demo NI-700 here in the office.
In the DEFINE_START section of code, we have IP_CLIENT_OPEN to start telnet connections.
For different projects, most of the time the variable for telnet connection would be the IP address and the port number.
Somehow, it just stopped working and the ONERROR feedback that we get is 7. When we check IP STATUS in the master during execute startup code process, it seems to be listening on a different port than what has been declared in code. No matter what we change in the code, this port value remains the same during execute of startup.
Since nothing worked, i did a factory reset on the unit. After that, it seems to get worse. Output LED does not respond to push event, IP_CLIENT_OPEN does not seem to execute at all during execute of startup (no active IP connections). Is my NI-700 dead? Anyway to fix this and get it up and running?
0
Comments
First of, what firmware do you have on the troubled NI-700? You might have even put it to factory firmware and might have to upgrade firmware.
The error 7 is code for connection timeout, most likely because your port is wrong. Are you able to upload your code sample regarding IP-connection? Also report what findings you have about what port the NI-700 tries to upload on.
Following is an example sample I use for TCP connections, here to a Digidim light controller, using port 50 000
00000 (00298)NI Master (00001)AMX LLC 00341 v3.60.453
05001 (00286)NI-700 (00001)AMX LLC 00346 v1.30.8
When i was still able to get some feedback (before factory reset), the port value that appears is always 7003. As you can see in code, it is declared as 23. No matter what value is declared, feedback is 7003.
What do you mean by what port the NI-700 tries to upload on? How do i check on that?
Try changing the D:P:S for the dvVistrol_IP from 0:3:0 to 0:6:0 as some ports are already in use as a standard. This information seems to be hard to find, but I found something in a manual:
"A range of numbers is reserved for local port numbers to make sure that this IP device-naming
convention does not interfere with future naming schemes. The program can only assign local port
numbers at or above the value of the keyword, FIRST_LOCAL_PORT. All port numbers below
FIRST_LOCAL_PORT are reserved for future use."
http://www.amx.com/assets/manuals/NetLinx.LanguageReferenceGuide.pdf
Newer firmware (If you have a 64-BIT controller, verify before attempting upgrade)
http://www.amx.com/techcenter/downloadConfirm.asp?fn=/assets/firmwareFiles/SW2105-90_Master_v4_1_419.zip
Other stuff I've found unrelated to your problem directly, but might cause other errors:
I do not know if you did a full copy+paste or have cut out parts of the code, as I see the defined IP and PORT is under DEFINE_COMBINE, they should be under DEFINE_CONSTANT.
Also, the SEND_COMMAND of the dvVistro (D:P:S 5001:2:0) should not be under the online event of the connection, but an online event on the RS-232 port itself, like this: Allthough it is highly unlikely the TCP connection comes online before the RS-232 comes online.