Jump to content
The simFlight Network Forums

ZFW and Payload Values not Static


Recommended Posts

Hello,

I have searched through the forum but I couldn't find any similar topic to my question.

I am developing an ACARS application for my VA and I need to get the ZFW values from FSUIPC.

I am using the following VB code:

Dim fsZFW As Offset(Of UInteger) = New Offset(Of UInteger)(&H3BFC)
Dim ZeroFuelWeight As Double = fsZFW.Value / 256

The value that I am getting is correct but is not static. For example if the ZFW is 108010 lbs the value in my app is changing continuously from 108009.5 to 108010.4

The current range of change is too small, but it is still a problem for other calculations.

Is that normal or I am doing something wrong?

I have tested it with various models like PMDGs 737NGX, Wilco Airbus and default FS airplanes with the same results.

I am using FSUIPC v4.703 and I am communicating with FS through WideFS.

Regards,

Tasos

Link to comment
Share on other sites

The value that I am getting is correct but is not static. For example if the ZFW is 108010 lbs the value in my app is changing continuously from 108009.5 to 108010.4

The current range of change is too small, but it is still a problem for other calculations.

It appears to be "normal" for FSX, when the engines are running. It's been checked already with lots of different aircraft models.

FSX doesn't actually supply the ZFW, so FSUIPC4 has to compute it from the total weight and the fuel weight -- 0x3BFC shows exactly 0x30C0 minus 0x126C.

0x30C0 , 8 , Current loaded weight in lbs in double floating point format.

0x3BFC , 4 , Zero Fuel Weight, lbs * 256.

0x126C , 4 , Fuel: total quantity weight in pounds (32-bit integer)

It seems that with the engines running the total fuel weight will be decreasing. I suspect that the resulting total fuel weight is adjusted for this but that SimConnect is asynchronously supplying these changed values separately, at different times. So you get the little ups and down as one is changed before the other, then the other compensates. Typical changes are shown by monitoring the offset, thus:

  6708168 Monitor IPC:3BFC (U32) = 30259288
  6708901 Monitor IPC:3BFC (U32) = 30259136
  6709494 Monitor IPC:3BFC (U32) = 30259392
  6709899 Monitor IPC:3BFC (U32) = 30259240
  6711397 Monitor IPC:3BFC (U32) = 30259084
  6711397 Monitor IPC:3BFC (U32) = 30259340
  6712317 Monitor IPC:3BFC (U32) = 30259188
  6712489 Monitor IPC:3BFC (U32) = 30259444
  6712910 Monitor IPC:3BFC (U32) = 30259292
  6713940 Monitor IPC:3BFC (U32) = 30259140
  6714501 Monitor IPC:3BFC (U32) = 30259396
  6714938 Monitor IPC:3BFC (U32) = 30259240
  6715937 Monitor IPC:3BFC (U32) = 30259088
  6716498 Monitor IPC:3BFC (U32) = 30259344
  6716951 Monitor IPC:3BFC (U32) = 30259192
  6717465 Monitor IPC:3BFC (U32) = 30259448
  6717949 Monitor IPC:3BFC (U32) = 30259296
  6718947 Monitor IPC:3BFC (U32) = 30259144
  6719478 Monitor IPC:3BFC (U32) = 30259400
  6719961 Monitor IPC:3BFC (U32) = 30259248

You can see the changes are up and down by 256 (1 pound) max at intervals ranging for 150 to 1000 mSecs.

If your application needs a stable value I suggest you either take the average of two of more values, or simply ignore single pounds. If you are using kilograms you shouldn't even notice a change.

Regards

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.