NI VeriStand Add-Ons Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

J1939 Add-on Feedback

Hey,

You should just be able to open the source code from LV 2011 in LV 2013.  That is what I do when I build the VS 2013 version.

Thanks!

Daniel Eaton
National Instruments
Systems Engineering
Embedded and Industrial Control
0 Kudos
Message 61 of 175
(4,900 Views)

The create custom device.vi is broken.  It is looking for NationalInstruments.VeriStand.SystemDefinitionAPI.dll and can't find it.  Any thoughts?

0 Kudos
Message 62 of 175
(4,900 Views)

Hey,

This is common.  I assume you have VeriStand 2013 installed?  If so, you should be able to mass compile the custom device (From LabVIEW; Tools >> Advanced >> Mass Compile).  If that doesn't work, let me know.

Thanks!

Daniel Eaton
National Instruments
Systems Engineering
Embedded and Industrial Control
0 Kudos
Message 63 of 175
(4,900 Views)

These dlls are in the GAC. 

Mine are here on my pc:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL

0 Kudos
Message 64 of 175
(4,900 Views)

LabVIEW hard links to a particular version of a .NET API. So the 2011 source is hard linked to the 2011 NIVS assemblies. If you dont have NIVS 2011 installed, it will sarch for a higher version.

You can force it over to a particular version by placing a *.config file next to the project where the * is the same name. So if the project is "Blah.lvproj" the config file should be "Blah.lvproj.config". Then restart LV and open the project

I've attached one for NIVS 2013 SP1. You might need to edit it if you dont have NIVS 2013 SP1

Stephen B
0 Kudos
Message 65 of 175
(4,900 Views)

Daniel,

Do you have a way to respond to a cyclic address claim request?  Currently we have no way of knowing if a new request has been sent because the message is exactly the same, and if we don't respond our system throws errors.  We are currently just sending a cyclic response, but the timing can get off and cause errors.  Thoughts?

Tyler

0 Kudos
Message 66 of 175
(4,900 Views)

Hey,

Is the request addressed to the custom device address or a simulated address?  I looked at the code and confirmed that the custom device will/should always response to a request for its address.  It will not do that for devices you are simulating.  So, if you give the custom device an address of xF9 and you are also sending messages from F8, the custom device will respond to requests for F9's address and not F8.  This is unlikely to change in the near future.  If you have a spare CAN port available, requests and address claims are only 8 bytes.  You could set up that port to handle those pieces using the triggers and timestamps that are supported in the native XNET device.

Daniel Eaton
National Instruments
Systems Engineering
Embedded and Industrial Control
0 Kudos
Message 67 of 175
(4,900 Views)

I think I got it working, we managed to use the XNET channels like you suggested and we got the timestamp off of that.  After that we implemented a "flip-flop" signal into the address claim message.  Then we have a Matlab model that changes the value of the flip-flop every time a new request timestamp is recognized.  With the value of the flip-flop changed, the custom device thinks it's a new message and re-sends the address claim response.  So thanks for the idea, it worked.

Now I have a new question.  The CAN card in our PXI chassis claims an address when the system starts up, the source of that address claim is 00, is there any way to change that source?

0 Kudos
Message 68 of 175
(4,900 Views)

Hey,

Do you mean the CAN card being used by the J1939 custom device?  If so, there should be a Source Address (J1939 Network Address) on the main page of the J1939 custom device in the system explorer (configuration file).  You should be able to change the address there.

Let me know if that is not the case.

Daniel Eaton
National Instruments
Systems Engineering
Embedded and Industrial Control
0 Kudos
Message 69 of 175
(4,900 Views)

Yes that worked, thanks Daniel

Tyler

0 Kudos
Message 70 of 175
(4,900 Views)