LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Changing the Timeout on a FieldPoint Read in LabVIEW

Thanks Jeff!
0 Kudos
Message 11 of 22
(1,642 Views)
Jim - 'hope you don't mind the threadjack, it just seemed the appropriate place to get this resolved.
v2009 devel. w/RT
0 Kudos
Message 12 of 22
(1,637 Views)
Hey, it's fine with me.  I may not offer much input right now because I'm using a workaround, but I'm just as curious as you are and I'd use any answer later on.  Threadjack away!
0 Kudos
Message 13 of 22
(1,632 Views)

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!

Sincerely,

Chris G in AE
Message 14 of 22
(1,605 Views)

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

0 Kudos
Message 15 of 22
(1,598 Views)

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

v2009 devel. w/RT
0 Kudos
Message 16 of 22
(1,583 Views)

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!!

0 Kudos
Message 17 of 22
(1,568 Views)

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

v2009 devel. w/RT
Download All
0 Kudos
Message 18 of 22
(1,558 Views)

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!!

0 Kudos
Message 19 of 22
(1,551 Views)

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...

v2009 devel. w/RT
0 Kudos
Message 20 of 22
(1,537 Views)