Author Topic: Send que full, may have lost connection or data request too fast.  (Read 2453 times)

Randy

  • Newbie
  • *
  • Posts: 23
    • View Profile
I am writing a list of tags (a Recipe) sequentially with .Write to a ControlLogix PLC.  I often get the error "Send que full, may have lost connection or data request too fast."  If I get this error I wait a while and then resend the tag that created the error and the subsequent tags.  Unfortunately it appears that occasionally some data is still not making it to the plc.  Is there a way to know ahead of time if the que is full and avoid the error altogether?

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5270
    • View Profile
    • AdvancedHMI
Re: Send que full, may have lost connection or data request too fast.
« Reply #1 on: May 16, 2014, 07:26:06 PM »
Unfortunately the que details are only exposed in the lower levels of the driver. If you are seeing the que full often, I would change the value of the PollRateOverride property of the driver. Start out with something like 500 (500ms), then increase until the errors go away.

The que fills up when requests are made faster than the PLC can respond to them. If you have multiple forms, be sure to put the code snippet in each form that pauses the polling when the form is hidden. That prevents unnecessary traffic when the value is not shown.

ShaneHoran

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Send que full, may have lost connection or data request too fast.
« Reply #2 on: May 06, 2015, 12:04:04 PM »
For those who find this in the future... I had the "send que full" error message intermittently, along with lagging and crashing of the program. The problem wasn't affected by changing poll rates. It turned out the problem was caused by trying to indirectly reference an array element in Logix 5000 like so: AngleArray[iActual]
Beware! AdvancedHMI can reference array elements, but not indirectly.

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5270
    • View Profile
    • AdvancedHMI
Re: Send que full, may have lost connection or data request too fast.
« Reply #3 on: May 06, 2015, 01:34:36 PM »
It turned out the problem was caused by trying to indirectly reference an array element in Logix 5000 like so: AngleArray[iActual]
Is iActual a tag in the PLC or a variable in the VB program?

The original problem posted here was addressed by making Write a synchronous function, therefore another write would not be queued until the previous completed.

ShaneHoran

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Send que full, may have lost connection or data request too fast.
« Reply #4 on: May 07, 2015, 03:48:39 AM »
iActual is a PLC tag, AngleArray[iActual] was literally what was in the PLCAddressValue field for the basic label. Using version 397e.

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5270
    • View Profile
    • AdvancedHMI
Re: Send que full, may have lost connection or data request too fast.
« Reply #5 on: May 07, 2015, 07:35:35 AM »
It doesn't look like that will work without some pre-processing and 2 reads. I tried with an OPC server and it doesn't work in that either.