12-05-2017 08:07 AM
I have a project with many CAN Tx frames that are individually controlled using signals coming from a model.
In order for each frame to be sent on its associated signal non-null value, I set the frame as follows
- "Transmission Trigger > Transmit trigger > Trigger channel (non zero)"
- "Transmission Trigger > Trigger channel > ModelSignal_N"
This is working properly and frames are being sent when their command signal is non-null. The problem I have is that in my development cycle I have cases where my database will change, effectively removing every trigger channel setting. Considering that I'm controlling around 500 frames, I would like to know if there is a system similar to the System Configuration Mappings Import / Export functionality, but for Trigger Channels.
I'm considering manually manipulating the raw nivssdf as xml but I haven't found an easy way to manipulate the somewhat obfuscated signal names of the object for that purpose
12-05-2017 12:18 PM
I feel you, editing all those will be such a pain.
I would go with the System Definition .NET API to automate the triggers edition, from a LabVIEW or C# piece of code
Look for the Help file on your local computer (in the Start Menu), or online - http://zone.ni.com/reference/en-XX/help/372846K-01/TOC141.htm
--Eric
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
12-07-2017 03:58 AM
Hi Eric,
Thanks for the info, it looks like I could build a tool using this !
12-08-2017 06:39 AM - edited 12-08-2017 07:05 AM
Hi Eric,
Would you happen to know why I am unable to use the constructors that are called in the online examples ?
For instance I cannot call the newModel() or newSystemDefinition() constructors. These constructors don't seem to be available either in the offline NI VeriStand .NET API Help that I have on my computer. I don't think it is a version problem -I'm using 2015 SP1- because the documentation for the NationalInstruments.VeriStand.SystemDefinitionAPI Namespace only has one constructor: DAQCounterInput().
I should actually be missing something because there are not any class constructors (except the one of DAQ counter input) in the documentation.
EDIT : I'm unable to access the constructor functions in my C# editor either by trying to call the constructors from the namespace :
SystremDefinition SDF = NationalInstruments.VeriStand.SystemDefinitionAPI.newSystemDefinition("MyPath");