01-08-2015 03:42 PM
Thanks when I get some time I'll look into supporting this. I did notice that Signal_K is used when the Mode Value is 2, and your Multiplexer (Signal_M) is only one bit, so the value of 2 can never happen. If you are using this in an actual device you might want to fix that, if you made this as a demo just for me then nevermind.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-09-2015 01:06 AM
Dear Hooovahh ,
Thanks for pointing out.
Please correct my mistake.
I'm not using this DBC in actual device. It's Just demo
Please add one more byte (So, Total 2 Bytes).
01-14-2015 08:42 AM
You probably already got a notification but I just updated the frame to channel conversion to support multiplexed signals, and added an example showing it working.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-14-2015 10:54 PM
Dear Hooovahh,
Thanks a lot for your help.
Now, it’s working well.
I have few questions about this, Please help me.
As per your approach, If No. of signals are more, Index size will increase. Please correct me if I’m wrong.
Small issue:
In “Basic Frame Signal Conversion Example.vi”,
I have sent specific signals to “Fame Signal Conversion.vi”. Here problem is,
I think, depends on user request, it should convert data Frame to Signal (vice versa).
01-15-2015 07:49 AM
1. The Wait 0 is probably not needed, but the intent is to minimize CPU usage by allowing the processor to be interrupted to perform some other tasks. If I have a while loop with a False wired to the stop, it will consume lots of CPU usage for no reason. Adding a Wait 0 helps fix this. So if a loop may have a large number of iterations I generally add a Wait 0 but it probably won't make a difference. Here is the help.
Wiring a value of 0 to the milliseconds to wait input forces the current thread to yield control of the CPU.
2. Had this library been designed on LabVIEW 2012 and newer I'd use the conditional index, but this was made to be in 2011 and newer and 2011 didn't have that function.
As for you minor complaint:
I knew that this would be a problem, and I knew it would be a lot of work to fix it. From your original post it seemed Frame to Signal was the main issue, and so I didn't put as much effort in the Signal to Frame conversion. What should happen obviously is two frames should be made, one for each value of the multiplexer. But what about the values of all the other signals in those frames? In this case they are zero because they aren't specified, but what if a value for a static frame is specified. Is it intended that this value be used in both frames? I couldn't think of a good way that would satisfy all situations, so I figured if you are crating mux frames, you can do that one conversion at a time, instead of doing it all in one shot. It could be supported, it would just take some more time.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-14-2015 01:03 AM
just wondering. is it posssible to use the 'formula node' in order to to convert the data of CAN bus to physical value in labview? thanks in advance
03-14-2015 09:39 PM
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-28-2015 07:05 AM
I am having some problem with your great library, because in project I'm working on I would like to use two dbc files, because I will monitor two different devices. But when I put them together and even if I close session after operation I always have a fault. Would be great if you could take look.
05-28-2015 07:17 AM
The first issue you may see is the fact that when importing a database the name of the database is set to "temp_database". So you can't import two databases at once, but closing one and opening another should work. What might be a better approach is to generate a random name on the import, but then you could have an issue of many random named databases so maybe there could be a cleanup option which deletes databases, whos files don't exist anymore.
But these issues only exist if you try to open two sessions at once. I see no reason why opening a database one at a time wouldn't work. Can you give more details on what the "fault" is, when you see it, and under what conditions you see it.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-28-2015 07:46 AM
Ok it started to work after some time and debuging, seems like I didn't close the session correctly. But maybe I could set the name of the database to temp_database 1 and temp_database 2, would that work? I would really need two databases at the same time, one database all the time translates data from the battery control unit and the other sets the DC power supply unit.