Random Ramblings on LabVIEW Design

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

Re: Seeing the Moving Parts

Active Participant

Hello Darlings, I hope you and your loved ones are keeping safe and sane.

I'm sorry I've not been very vocal in a time when noise would be a diversion, I've really been struggling to apply myself to anything.

Talking of diversions, Ted is finding the hose very diverting...

93136632_899099943844948_3837542477133250560_n.jpg

Anyways.. Based on my State Machines presentation a friendly competitor of ours started poking around with the example. https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/Transitions-are-Important-State-Machines-Done-R...

 

And here's the nice thing they said...

"I’d just like to add that in 30 years of my LabVIEW engineering, your software Steve is exactly as I believe LabVIEW is intended to be implemented and a pleasure to start and grow projects upon. I’m getting all my Architects to base their design on your well crafted template so we can easily understand each other’s code today and ten years from today.

 

LabVIEW essentially has a front panel for the user and under the lid an area to craft good or bad code. Bad code used to just be messy, now I think bad code is also made up of over abstracted objects .. which can result in code equivalent to a ‘potted’ car engine under the hood rather than one where you can see the vital moving parts and wires.

 

I love this analogy and it's something I've been alluding to more and more of late, I think you should see some moving parts and wires to help understand the design.

 

Also

 

"Really like the way the state machine isolates the activities going on in each state. It pays back at the back end of the project when you need to make late changes. As the logic is isolated we were able to make clean changes with little risk of unpredictable issues. Also I had to move a graph completely into another vi running on a separate screen. Having the screen updates decoupled made this straight forward."

 

I honestly think that of all the things I've designed/stolen over the years, using a QMH to decouple screen updates is the most useful.

To explain briefly...

You have a QMH that receives UI update messages like this as part of your main screen.

 

UIQ.png

 

And this allows you to set the screen from any subvi in the hierarchy like this..

 

Set Screens.png

 

The point of this is to allow changes late on in a project and without affecting the integrity of the project.

 

I'm thinking of a doing a webex type session where I run through our template and how to use it, is this something of interest? I'm thinking of a Bob Ross style painting session, informal and with lots of interruptions. Email me on swatts@ssdc.co.uk and we can work out a date if there's enough interest.

 

Bob.png

 

Lots of love

 

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

Comments
Active Participant

Sign me up!


An opportunity to learn from experienced developers / entrepreneurs (Fab, Steve and Brian amongst them):
DSH Pragmatic Software Development Workshops

Automate the testing, documenting, building, packaging and publishing of your projects via CI/CD:
Release Automation Tools for LabVIEW

Knight of NI

Me, too!

Active Participant

I'd like to participate. Pencil me in please.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Active Participant

Me too!

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
automatedenver.com
GCentral
Knight of NI

I rarely use State Machines anymore, but I would still be interested in going through the logic.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Active Participant

How about

18:00 BST (UK Time) Friday 17 April, I will need emails to send the webex invites (I probably have most of them already)

= 13:00 EST

= 10:00 PDT

= 11:00 MDT

= 19:00 CEST

 

I think webex works it all out for me anyway

 

To set expectations, this will be a casual affair with hopefully some chatting.

 

I'm not very interested in discussing the merits of the technique tho', this is what we have successfully employed for years and it's going to take a very compelling argument to get us to change.

I also won't be going into the benefits of User Events vs Queues... again I don't really care, I like queues. If you like events I will still like you, nearly all my best pals do.

I also won't be talking about git and anyone who tries will be muted.. I don't hate git, but I do hate talking about git.

 

I would be interested in formalising some of the State Transition stuff (see Joergs Blog), I think there is benefit to that. I also think you could formalise a template to a point where you could expand on Joergs State Machine diagramming tool and add some QMH / Event stuff. Maybe even do something with the database stuff. 

 

I'm happy to share our template on an individual basis.

 

I'm thinking of just showing all the individual bits and discussing the reason why we did this way. The code is pretty lightweight and you will learn nothing about OOP, Actors etc. It's just dumb LabVIEW in its simplest form.

 

I will also show how to add new functionality and some guidelines. Show the database config stuff and how to interact/add new data and tables.

 

How can we pay I don't hear you say, well in truth this is a practice run for a workshop I'm doing the week after and you are my guinea pigs mwhahahah.

 

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

Knight of NI

@swatts wrote:

How can we pay I don't hear you say, well in truth this is a practice run for a workshop I'm doing the week after and you are my guinea pigs mwhahahah.


So we should be the ones getting paid then?😁


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Active Participant

Happy to be a guinea pig. I promise not to mention git, oop, actors or events

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
automatedenver.com
GCentral
Active Participant

@Sam That was mostly a joke...

@Tim your payment is to hang with your friends for a bit. But I like your spirit! 

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

Active Participant

Excellent as usual!

 

One of the reasons I don't like the idea of replacing every single case structure with dynamic dispatch is exactly that, I like to see the moving parts.

 

I still use classes for things that I can touch and where for the most part, I am OK treating as black boxes.

 

I have a meeting the day of the proposed talk... I am moving everything around so I can be there!

 

Thanks,

 

Fab



Opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
DSH Pragmatic Software Development Workshop

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
Trusted Enthusiast

The 17th is conveniently still in the future, so sign me up! I have a (hopefully soon to not be chronic) problem with UI overcoupling, so excited to avoid many future mistakes and bad choices.


GCentral
Knight of NI

"I also won't be going into the benefits of User Events vs Queues... again I don't really care, I like queues. If you like events I will still like you, nearly all my best pals do."

 

Well, some of us are into Messenger Channel Wires ...

 

Looking forward to helping you "tune" your Presentation (and learning a lot, myself, I am sure ...).

 

Bob Schor

 

 

Active Participant

Invites sent, you may notice that it's from my Sierra Peaks account rather than the one I initially asked for. I'm a man of many email accounts, what can I say...

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile