VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

ASAM XIL/MA Port Questions and Limitations

Hello all,

 

I am currently playing around with the ASAM.XIL API to log directly from VeriStand to MDF4 and am stuck at the following points:

1.: Is there any way to give better names to the channel groups?

In the XML File that determines, which Tasks are present in the System, I can set the names to "TaskN" where N is the frequency. What I would like, is to name them "Temperature" at best, or at least "Temperature1" to get a good structure into those files.

2.: Is there a way to connect to the Model Access Port without getting having to start and deploy the project? My goal is to run the program I'm writing from a console step from the Stimulus Profile. Best Case, this would be done without interrupting project execution.

However, when I run the code from the Example, it throws an error, when the 

maport.Configure

 step executes and the project is already running. Is there a different way to connect?

 

Best regards,

Peter



Remember Cunningham's Law
0 Kudos
Message 1 of 9
(4,814 Views)

Bonus Question:

I created a MaPortConfig Class to be able to serialize into the correct XML Format. Is there a class I could inherit from that already has the structure needed?

IMAPortConfig seems like the logical choice, but it looks pretty empty.



Remember Cunningham's Law
0 Kudos
Message 2 of 9
(4,794 Views)

Hello,

 

Per Veristand help:

"Format task names as follows: TaskN, where N is the frequency in Hz of the task."

To my understanding, this would mean answer "not possible" to your question #1.

 

This example here may be some hint to achieve your goal: The following example, written in C#, uses the ASAM XIL API to capture and save channel value data to an MDF4 file. This C# code references the Engine Demo example project.

 

Take care

Best Regards,
TK
Certified LabVIEW Architect (CLA)

0 Kudos
Message 3 of 9
(4,751 Views)

I think the second link you posted is incorrect, can you please check again, so I can have a better look?



Remember Cunningham's Law
0 Kudos
Message 4 of 9
(4,744 Views)

I double checked and link should work fine. In case if for any reason it doesn't for you, try to find "C# Walkthrough: Capturing and Logging Channel Values" via Google.

Best Regards,
TK
Certified LabVIEW Architect (CLA)

0 Kudos
Message 5 of 9
(4,739 Views)

OK, thanks for checking again! It is, however, the link from my initial question.

I guess it is a "no" on that one as well.



Remember Cunningham's Law
0 Kudos
Message 6 of 9
(4,732 Views)

The situation is, that this two things are mandated by the ASAM XIL standard/XIL group. So as we strictly follow that, you cannot f.e. change the state machine...

 

Recommended reading: 

 

https://www.asam.net/standards/detail/xil/ 

https://www.asam.net/standards/detail/xil-ma/

 

~Jiri

CLA, CTA

Message 7 of 9
(4,729 Views)

Awesome Jiri!

 

Thanks for the links I'll work through them when I get back on this project.



Remember Cunningham's Law
0 Kudos
Message 8 of 9
(4,725 Views)

Sorry that I'm digging this up again, but I have additional questions:

 

How can I log multiple Tasks? The example only shows one channel group. From that alone I can't really understand what needs to be done to log some data to a second task, e.g. a slower task.

I've tried generating a second capture Task, but it does not show up in the file.

 

Is there any more Documentation on the Trigger Conditions for IConditionWatcher? I can figure out what posedege(enginePower, 0.5) does, but what else can it do?

 

Finally, how come they can pass a Task Name formatted differently to "TaskN" in this document by dSpace? In Chapter 5.5 the example seems to show this, yet with VeriStand I get an exception.



Remember Cunningham's Law
0 Kudos
Message 9 of 9
(4,608 Views)