LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

building large programs in labview

[Shameless plug follows]

Click on the link in my signature, we will consult by the hour.

[End of Shameless plug]

 

You may want to get Craig Larman's book on Object Oriented Design. He uses the Unified Process while teaching UML and OOP. If you have not heard about the Unified Process (also called Agile ?) the following contrast Waterfall with UP.

 

Waterfall : Codify all requirements before coding

UP : Start coding then find what it is supposed to do.

 

OOP or in my world LVOOP could help you once you get your head around it.

 

Not all of my customers know what they want and I work with them to get an arcitecture in place that will do what they need and adapt after I am no longer involved. But even those apps get some form of up front design to at least get them started and allow for changes.

 

The Event Logger principly handles error but we can post info messages as well. A queue is used to transfer the messages ig the error boolean is set. The logger itself creates and maintains the queue and when signalled will shut itself down. I wrote it as a "drop-in" so aside from launching and shutdown, the developers never have to think about what it does aside from using the "post event" function in their code. Yes it works in an exe.

 

I hope that helps,

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 21 of 31
(2,586 Views)

Hi folks,

 

I wanted to suggest that you look at Dia for your documention. Its a little bit like Visio and has lots of different templates depending on what you are doing.

 

I like it and use it a lot for process flow and state machine documentation.

 

cheers

 

David

 

 

Message 22 of 31
(2,563 Views)

Hi,

 

David, thanks for the link. It's certainly easier to work with than powerpoint!

 

Ben, thanks for the book recommendation and all the information (and the shameless plug :)). I'll probably have more questions in the future...

 

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
Message 23 of 31
(2,527 Views)

Hi Albert,

 

Thanks for the links. However, we have LV 8.5 so I can't open your subvi. Could you post it as an earlier version?

 

Thanks!

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
Message 24 of 31
(2,519 Views)

David,

 

I'm gonna hijack this thread to say 'thank you'. The dia-editor is the tool I was looking about for ages. 3 clicks and I got some uml. One more click and I could document some hardware. Accepted by the team in 30 sec... Made my day...

 

Felix

Message 25 of 31
(2,500 Views)

Hi Ben,

 

Thanks for the book suggestion. However, we were searching for something Labview specific (and desinging large, object oriented programs). Is there such a book?

 

Thanks,

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 26 of 31
(2,431 Views)

There is no book on LV + OOP. You will need to write it yourself 😉

 

Felix 

0 Kudos
Message 27 of 31
(2,421 Views)

NI does offer a course in LVOOP but it is really kindergarten level compared with the Larman book although.... it does offer a specail look at LVOOP from with the world of LV.

 

As Felix posted, we are just going to have to write the book ourselves as we go.

 

If you don't want to wait around YOU could lead the adventure by starting to ask questions and let the rest of us contribute where we can.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 28 of 31
(2,406 Views)

Hi all,

 

As a start on the book 🙂 I would like to ask general OO questions:

 

I have a system of programs that need to communicate with each other. Two of these are written by me and the third is external. so A sends to B; B sends and recieves from C, and recieves from A. (I attached a diagram with  the communications).

I made an object Communicator which, well, communicates :). My questions are.

1) Should there be a seperate communicator for receiving from A and sending from A? Or should they be the same? For example , Object ACommunicator which will be both in program A and program B sending and recieving? Or two objects, A2BSender and A2BReciever?

 

2) The communication is via TCP. Is it necessary to include that A gets an acknowledgement from B? I understood that TCP takes care that the information arrives. On the other hand, if we change communication later, maybe it would be better to include an acknowledgement?

 

Thanks for your help!!

 

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 29 of 31
(2,309 Views)

David,

 

your link to the dia editor has fallen on fertile grounds. Check this on LAVA

 

Felix

Message 30 of 31
(2,217 Views)