VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

XNET's Frame Information -> 'Receive Time' is not updating and remains zero

Hi experts,

 

My simulation model communicates with an actual ECU using Veristand. ECU sends CAN frames to the simulated model with a help of Veristand. Because I need to act on when a new frame is received, I added Frame Information -> Receive Time data into my incoming CAN message. This way, only when Receive Time is changed, I can respond.

 

The problem is that even though I am receiving the frames correctly (confirmed by Veristand Panel and CANoe device), 'Receive Time' remains zero and never updates (can tell this by dropping Receive Time on Veristand UI panel). Therefore I cannot know when a new data is received. 

 

I am not sure if it helps but when this happens, 'Receive Time' on other frame was saturated to some number 4+e9 and never moved from there. But it is not always reproducible.

 

Any advise is highly appreciated. Thank you in advance.

 

SKTheLimit
0 Kudos
Message 1 of 13
(3,153 Views)

HI SKTheLimit,

Just so you know, this week is NI Week, our big conference, so many of the experts who are normally on the forums are probably there. 

 You mentioned and ECU. Are you using the ECU MC toolkit? Regardless if you are or not, I recommend cross posting here: https://forums.ni.com/t5/Automotive-and-Embedded-Networks/bd-p/30/page/2

Is it just your UI isn't updating? Or are you not receiving the Recieve Time data? Or is just VeriStand not recieving the data? It might be a good idea to open up a service request with our support team on this topic. 


ZK
Licensing Product Owner | NI
0 Kudos
Message 2 of 13
(3,115 Views)

Hello, I am having the same problem with the rcv time value, did you manage to solve it?

0 Kudos
Message 3 of 13
(2,921 Views)

mchiar,

 

Problem disappeared after a while. Not sure why 😞

 

If your CAN frame has no payload (no data in the frame), then try to use raw option when you import it into veristand tree. Then Receive time updates correctly.

SKTheLimit
0 Kudos
Message 4 of 13
(2,908 Views)

You need to have a signal defined in the frame, even if its not a useful signal in anyway 

Ashley Nunn | MEng (Hons) | CLAD | CTD
Application Engineer, National Instruments
0 Kudos
Message 5 of 13
(2,199 Views)

I have the same problem... a valid XNET Frame including signals, that does not update the Receive Time channel. I tried to delete and then re-add it to the Sysdef, but to no avail. I definitely have signals in the frame. I even tried to import only some and all of them into the Sysdef file. Didn't help either 😞

 

At the same time, the other frames behave just fine.

Any new ideas on this?

 

I'm using Veristand 2020R5.

0 Kudos
Message 6 of 13
(2,064 Views)

So here are the things I've tried:

  1. Delete and Re-add the CAN frame to the Sysdef: Nothing changes
  2. Delete all channels except the XNET frames from the Sysdef: Nothing changes
  3. Delete all other incoming CAN frames: Receive Time is behaving fine
  4. Add the offending CAN Frame to an otherwise empty Sysdef: Receive Time is behaving fine

 

So it seems to be somewhat depending on the other CAN frames in the System Definition File. Unfortunately, I didn't see any systematic as to which other CAN frames I have to delete to make it work. All in all, I cannot put the XNET functionality to good use.

0 Kudos
Message 7 of 13
(2,052 Views)

Since you're using a version beyond VeriStand 2020 R3, maybe the Status Channels for XNET Comms State feature we added will help you debug the situation?  You can access it like like this, and then drop those on a VeriStand screen to see XNET port state.

Darin_G_0-1637594919742.png

Darin Gillis
NI - Chief Product Owner - VeriStand
Message 8 of 13
(2,048 Views)

Hi Darin,

 

thanks for the advice. I tried just that but get an error on deployment as result:

MaWei_0-1637652404598.png

 

Regards,

Markus

0 Kudos
Message 9 of 13
(2,029 Views)

Hi Markus - 

 

In order to get a deployable SD that has CAN ports with CAN port status channels, you must set the Sleep Mode Control Channel field here:

t-state.png

to some existing channel to get the SD into a deployable state.

You can either
  1. Delete the Transceiver state status channel OR
  2. Create a "SleepCAN1" User Channel in your SD (leaving the default initial value set at zero), and then map the CAN1 Transceiver State's Sleep mode control channel to this User Channel.


Please comment on this thread if that doesn't do the trick for you.

Darin Gillis
NI - Chief Product Owner - VeriStand
0 Kudos
Message 10 of 13
(2,000 Views)