LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI MAX custom scale protection

How can I protect my NI MAX custom scales from being changed by unauthorized personnel.  I use custom scales to implement calibration information for sensors and transducers, and as part of the Quality Management system, these should not be changed unless the instrument is re-calibrated.  Unauthorized changes will affect data quality and produce unwanted errors.  Thanks in advance!

0 Kudos
Message 1 of 6
(221 Views)

I don't think you can hard-block changes in NI MAX itself.  But there are 3 possible workarounds I can see.

 

Option 1: Active Directory security settings

Change the security settings on either the NI-MAX executable to be blocked for all but authorized users, or change the NI-MAX data directory ("C:\ProgramData\National Instruments\MAX\Data") to be read-only for all except authorized users.

 

I have not tried this to confirm that it works or not, in case doing so has unintentional side effects.

 

Option 2: Read scale settings and validate

 

Every time you launch, you should be able to read out all these settings from a DAQmx property node, for each scale:

Kyle97330_0-1737568392720.png

Either save this for validation or compare it (somehow) with the current allowed values that you download from a secured location (such as a change control database).

 

Option 3: Manually import settings each time to overwrite any unauthorized changes

If you export a configuration file containing all the settings authorized under current change control, you can programmatically import them using the Import VI:

https://www.ni.com/docs/en-US/bundle/ni-system-configuration-lv-ref/page/nisyscfg/import.html

You can use the "import mode" setting to guarantee that your imported file overwrites any existing configurations.  It will be up to you to guarantee that the settings file you import is similarly protected from unauthorized changes.

0 Kudos
Message 2 of 6
(212 Views)

Expanding on option 2 proposed above, you could write the scale parameters to a cluster, flatten it to a string and convert it to MD5 hash.  Store this somewhere and check against this value every time the scale needs to be used. 

aputman
0 Kudos
Message 3 of 6
(184 Views)

Thank you all for the suggestions.  Perhaps NI could look into password protections of Custom Scales like they password protect the cRIO system I am using.  This would help greatly to protect data integrity. 😎👍

0 Kudos
Message 4 of 6
(174 Views)

Did you make a suggestion on Idea Exchange?

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas

aputman
0 Kudos
Message 5 of 6
(170 Views)

You can generate custom scales programmatically, outside of MAX. This is what I always do. If you protect the source so it can't be changed or overwritten, then you can just generate the scales right before you need them.

Message 6 of 6
(167 Views)