01-22-2025 11:38 AM
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!
01-22-2025 12:04 PM - edited 01-22-2025 12:05 PM
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:
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.
01-22-2025 01:58 PM
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.
01-22-2025 03:27 PM
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. 😎👍
01-22-2025 03:34 PM
Did you make a suggestion on Idea Exchange?
https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas
01-22-2025 03:44 PM
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.