08-13-2012 12:55 PM
How would you simulate a comm loss?
I thought by simply using the conditional statement and taking out the write to CAN block, I would not transmit to CAN, but monitoring the bus shows that nothing happens to the frames and they keep transmitting regardless. I can see the change implemented if I stop the VI and then restart the VI, but I would like this to happen dynamically. I thought about using the stop and erase block or even the flush block, but then realize that the timed loop would not have anything for a session to write to CAN after you enable the conditional statement and the write.VI.
Attached is a subset of the larger VI I am using. All it is is a timed loop in which I am writing to CAN a user controlled CAN message from the UI (front panel), using a queued output mode write.VI after creating a session outside of the loop to write the specific CAN card and frame.
How would I be able to disrupt comms of a particular frame being sent out and then recover it for the purposes of fault injection? I was hoping that some user controlled boolean button could enable the comm loss from the front panel and restore it by disabling the button. Any ideas?
08-13-2012 02:03 PM
If you are using XNET, you probably have a cyclic frame, which will transmit old data. However, there is a property Session>>Frame>>Skip N Cyclic Frames that you can use to skip sending N frames to simulate a disconnect of a particular frame.