12-01-2008 08:10 AM
12-01-2008 08:24 AM
12-01-2008 08:29 AM
12-03-2008 02:41 PM
8bitbanger,
I've looked into this and it seems that the discrepancy might be coming from the way that you're testing your timeout case. The ethernet module will behave differently when not connected then if it simply times out. The KB What Happens if FP Read is Called and the FieldPoint Network Module is Offline? elaborates on this difference, but basically this timeout setting is in a different place than the one for the FP Read.
The behavior you're seeing is exactly what is described in the KB above. Please post back if you have additional questions about this and I'll do my best to get them answered. Thanks!
12-03-2008 03:00 PM
Hi Chris,
Thanks for getting back to us on that one. Going back and reading both KBs again, the difference between the "timeout" and "connect timeout" settings is now much more clear. The latest KB you've posted also confirms a few things I've noticed in the behavior of the Ethernet communication. (Namely the heartbeat - I noticed from the Ethernet traffic that there's some synchronization occurring) This is very useful information.
Thanks again,
Jim
12-04-2008 08:20 AM
Hi Chris,
Thanks for the response. I see no discrepancy in how I am testing - this is a real end-user situation, in which the ethernet is not physically connected on cFP powerup/LV startup.
I have read that KB many times over: "33162"..."The first error will be returned if the program has started while the module was offline and has not been communicated with"
-ok-
So I reference this KB : "Error 33162 with FieldPoint Ethernet Module", which states "The Connect Timeout period configured within Measurement and Automation Explorer (MAX) specifies the wait time the FieldPoint Server uses before reporting a connection error."
Tell me what I'm missing here. It can't take a whole 15seconds to determine connectivity... especially if there's a periodic heartbeat.
Jamie
12-04-2008 11:43 AM
8bitbanger-
Sorry for jumping in the middle and needing clarification, but here I go. Tell me if this is correct. You are seeing that with the timeout set to 15 ms in MAX, your program will attempt the first FP Read for 15ms, stop, and then each Read after that stops immediately. You are wanting to not even start the first FP read for 15 ms? You are wanting to develop a program that will timeout (not run) immediately after connection lost, correct? Sorry for not understanding, but I think this will help me understand exactly what the overall issue is. Thanks!!
12-04-2008 01:27 PM
Hi G,
The attached example should clarify - I want to reduce the timeout for a FP Read when there is no physical connection from the host to target (cFP). No matter what the settings are in MAX, the first initial attempt takes around 15,000mS. If you try this on a connection that has already failed (or still cached from what I understand) it will return immedately.
Thanks for the help,
Jamie
12-04-2008 02:15 PM
8bitbanger-
This might be a stupid question but after you change the Communciation Timeout Settings in MAX and hit apply, do you go up to the Fieldpoint iak file under Data Neighborhood, highlight it, and save it? If you have already done this, try rebrowsing back to your module and channel you are monitoring in LabVIEW (the Fieldpoint I/O input on the FP Read). I am thinking that something isn't getting reestablished after changing the settings but I do know that you can change the Timeout settings all the way down to 1000 ms so this is possible. To answer on of your earlier questions though, this configuration is stored in the iak file and not the mis file. Let me know what you think. Thanks!!
12-04-2008 03:16 PM
Ok this took a bit of fiddling, but it works now.
BTW I already tried doing everything you suggested - 'made sure to save the IAK after applying the Timeout Settings, etc... So this is the sequence of events:
1)Isolated IAK file for testing
2)Created blank project, added test.vi, and imported IAK as FieldPoint configuration
3)Opened IAK, ensured that item names were properly linked/updated between DataNeighborhood and Remote Systems
4)Changed ConnectionTimeout to 2000mS, kept Timeout at 15,000mS.
5)Apply was greyed, so Saved IAK from DataNeighborhood; MAX informed me item names were downloaded, OK
6)In test.vi, I browsed for the IO point: the IAK was now associated w/the project so I chose a random ch. FYI no other additional configurations were added in 'FieldPoint Device Selection'
7)disconnected LAN
8)Ran - timeout took 15,000mS.
9)Thinking that the project needs to reload the IAK (since I changed timeout before adding to project), I removed the Target device from my project, and re-imported.
10)Again, chose IO point, ran, 'still took 15,000mS
11)Confused, I tried to add a manual configuration under the 'FieldPoint Device Selection'. I chose the same IAK as the one already imported.
12)LabView doesn't like this and crashes hard.
13)I pick up the pieces, and this time do *not* import the IAK file into the project. I add the IAK as a new configuration under 'FieldPoint Device Selection'.
14)I chose a different IO point, run, 'still takes 15,000mS.
15)I remove the custom configuration, and try to import again.
16)This time it works.
I have noticed before that when an IAK is imported into a project, if I change channel names afterwards in MAX, they do *not* populate through the project, even when re-browsing. I have to remove the target and re-import.
'Still shaking my head...