7.0.0.1280 (Dec 14, 2023)
The release notes for this package can be found in the main DQMH package or by visiting https://dqmh.org/release-notes
6.1.0.51 (Mar 22, 2022)
The release notes for this package can be found in the main DQMH package or by visiting https://dqmh.org/release-notes
6.0.0.49 (Jun 10, 2021)
### DQMH Thermal Chamber Examples
1. Ran validation tools to ensure DMQH Modules in the examples match DQMH 6.0.
2. #DQMH-664 Made the MHL frame names with "---" prefixes have consistent spacing.
3. #DQMH-686 Change data type of Module ID input to Wait on Module Sync.vi to be an I32 instead of a U32.
4. #DQMH-696 Updated all the modules in the shipping example to call Update Module Execution Status.vi inside Close Module.vi.
5. #DQMH-693 Updated the Stop Module.vi in the cloneable DUT module with the Andreas 2.0 fix (and updated context help).
6. #DQMH-638 Updated the 'Error Reported' broadcast VIs in the shipping example to use the new DQMH 6.0 approach for parsing DQMH tags out of the incoming error source string. Removed the Module Name--constant.vi from the 'Error' frame of the Main VI MHL case structure.
7. #DQMH-713 Updated changed VI steps in sequence files.
5.0.0.42 (Apr 20, 2020)
1. Ran validation tools to ensure DMQH Modules in the exampless match DQMH 5.0
2. #DQMH-597 Updated Wait on Stop Sync.vi in the cloneable module of the shipping examples to use the improved approach that makes it only wait until the current instance stops.
3. #DQMH-547 Updated X axis label in main tester VI chart from 'Time' to 'Received Broadcast Count' to more accurately reflect the chart contents.
4.2.1.32 (Apr 09, 2019)
Make the Start Module.vi for the cloneable module in the shipping example be non-reentrant.
4.2.0.31 (Feb 21, 2019)
Upgraded DQMH modules to match DQMH 4.2:
* Added event icon overlay to all broadcast VIs in DQMH example
* Tag all request and broadcast VIs in shipping example
4.1.0.28 (Oct 17, 2018)
1. Updated DQMH shipping examples to DQMH 4.1 design.
2. TestStand: Fixed bug where sequence files would fail due to a change in output name for Find TestReport Directory.vi.
3. Recreated the Request and Wait for Status.vi and Update Chamber Status.vi into Request Chamber Status.vi which is part of a round trip that is linked to Chamber Status Updated.vi. Updated the code to broadcast the reply when the request is called as a request and wait for a reply. This follows DQMH best practices. If several modules are registered to listen to broadcasts and only one module sends a request and wait for a reply, the others will know the reply via the broadcast. This is particularly useful when calling DQMH API in TestStand and using the DQMH API as a sniffer.
4. Recreated old round trip events to no longer be linked. Instead, the request and broadcast have their own argument. This affected Update Set Point.vi, Set Point Updated.vi, Update Ramp Rate.vi, Ramp Rate Updated.vi, Update Heater State.vi, Heater State Updated.vi, Update DUT Status.vi, and DUT Status Updated.vi.
5. Created a Launch Module from TestStand.vi that calls Start Module and Synchronize Module Events with a clear comment that TestStand does not register for the broadcast events. Having this Launch Module from TestStand.vi means that every time the developer creates a new DQMH event, they don’t have to go relink the Start Module.vi because the Broadcast cluster changed and thus the Start Module.vi connector pane changed.
4.0.0.21 (Apr 19, 2018)
Modifications to DQMH Thermal Chamber examples to improve them:
TestStand: Added #DQMH_HowTo bookmarks to Main VIs, API Testers and simple examples with How-To information, including how the different events were created, and links to youtube videos.
TestStand: Renamed Local variables Temperature_Set_Point and Temperature_Set_Points to be Current_Temperature_SetPoint and Temperature_SetPoint_List. Both are more descriptive and less likely to cause confusion while editing sequence steps.
TestStand: Replaced the Do-While with For-Each Loop since the code is looping through arrays of values that are not dynamic during looping.
TestStand: Removed Locals.TempAsString variable, it had no purpose as a variable that is not satisfied just by the numeric value that we already had, moving the conversion to where it is needed.
TestStand: Disabled Result Recording at the sequence level and Force enabled the required steps in sequence. The previous approach of disabling every step result except one led to a very cluttered sequence view.
TestStand: Edited sequence file properties to select the required Model file instead of modifying the TestStand station options programmatically. This respects the TestStand station options the people trying out our DQMH examples have. Updated the welcome message. Updated notes in the sequence as well.
For the TestStand Thermal Chamber Controller Example.seq we removed the model since there is no device under test in that example.
We added a Model option to set the number of sockets to 2. This way it will always run 2 regardless of the station settings.
TestStand: Strengthened the logic when searching for the Delacor examples path to ensure it only searches for configured paths and not a TestStand autogenerated paths.
TestStand: Deleted Locals.Furnace_Shutdown and Locals.FurnaceModuleSync because they are no longer used. Deleted skipped steps that were no longer used.
TestStand: Fixed spelling error in subsequence name.
TestStand: Set TestStand reports to be HTML instead of XML. Introduced the ReportOptions Sequence File Callback to pass the Report Format, Directory Type, and Directory Path. Changed the Find Test Report Directory.vi to create the DQMHTS Reports folder if it is not present. Added a DQMH Reports folder with a placeholder text file. This way the example folder does not get cluttered with reports.
LabVIEW: Added Check Execution Status Case to the MHL. Added case Stop DQMH Modules.
LabVIEW: Updated the exit case to include the Close Termination Monitor.vi
LabVIEW: Verified that all DQMH modules pass the DQMH 4.0 validation tools. Modified other minor style differences to match the DQMH 4.0 style. Added note to documentation of DQMH Main for each module to include
Reviewed and updated to match QMH Project Template 4.0.
LabVIEW: LabVIEW: Thermal Chamber Controller DQMH Status Updated.vi did not share the same Library header on its icon as ll the rest of the VIs in this library
3.1.0.12 (Jan 20, 2017)
Previous versions of the examples were inserting the Delacor examples directory at the bottom of the Search Directories every time the sequence was loaded.
This version removes any Delacor Examples duplicate directories (even if they are from a different LabVIEW version) and ensures the Delacor Examples directory is only inserted once at the end of the Search Directories in TestStand.
Added a Test TestStand Manager_DQMH API.vi with the explanation of why this tester is not used. The TestStand Manager_DQMH Start Module.vi was modified to require the TestStand Sequence Context reference directly from the executing TestStand sequence. It is not a traiditional DQMH module. The purpose of the TestStand Manager_DQMH Module is to check if the TestStand sequence is terminated. If so, it sends the request to stop all Thermal Chamber DQMH modules. This module is only used when running the TestStand examples.
3.0.1.5 (Dec 05, 2016)
Updated example to DQMH 3.0:
1. Added arguments to Show Panel/Hide Panel requests.
2. Added 'run as singleton' functionality to cloneable DUT module, and used this functionality in the single DUT example.
3. Improved error handling in tester VIs when the main loop completes.
4. Updated 'Show Diagram' message code.
5. Updated Stop Module code in TestStand Manager module. This also required chaning the Stop Module prototype call in TestStand sequences.
2.1.0.26 (May 19, 2016)
Added a wait to the loops in the three Temperature Chamber examples so the event queues are not flooded with status requests.
Brought the examples up to par with the latest version of the project template (DQMH 2.1).
This included modifying how the Thermal Chamber Controller DQMH waits for the module to stop.
The TestStand DQMH Module was not modified, because it does not use the traditional DQMH Start Module.vi, instead it starts the module by reference resulting in not being able to use the Execution Status update to determine if the module is running or not.
Details on changes done to the Thermal Chamber Controller DQMH Module:
The 'Wait for Module to Stop' functionality of the Stop Module VI has been improved in DQMH 2.1 and later to use a more robust approach to determine when a singleton module main VI has finished execution. Specifically, the Stop Module now checks the execution state of the module main VI to know when it has truly completed execution. Here are the changes that were made to various VIs in the DQMH module to implement this functionality in version 2.1 and later:
1. Main VI - Remove the Boolean value passed from the Handle Exit VI in the Exit message of the MHL to the Close Module VI outside of the MHL.
2. Close Module VI - Removed the Boolean input passed from the Handle Exit VI. Removed the call to the Wait on Stop Sync rendezvous VI.
3. Destroy Sync Refnums VI - Removed the Wait on Stop Sync rendezvous.
4. Get Sync Refnums VI - Removed the Wait on Stop Sync rendezvous.
5. Wait on Stop Sync VI - Removed from the library, no longer ships with the template.
6. Module Not Stopped--error VI - Changed text to address that the module may still be running.
7. Get Module Main VI Information VI - A new VI added to the project template that retrieves the module main VI execution state.
8. Start Module VI - Added a call to the new Get Module Main VI Information VI.
9. Stop Module VI - Completely rewritten to use the new execution state approach to determine when the module has stopped running, including a new 'timeout' value on the Stop Module VI conpane that the user can specify. Teststand module specifiers updated to allow for new timeout value.
2.0.0.22 (May 19, 2016)
Brought the examples up to par with the latest version of the project template (DQMH 2.0).
This included adding the Stop Sync code. Modifying the Hide Panel case in the MHL to use the FP.Open invoke node with State = Hidden instead of FP.Close method. This ensures the VI stays in memory and hides the front panel.
Updated module name constant VIs to use a string constant to specify the module name.
Edited the VI description for both Main.vi to describe what this modules are doing.
Eliminated race condition and took advantage of this fix in the Thermal Chamber tester to update the values of all the controls when the module is started.
Modified "Update Heater State" to use an enumerator (heater enabled/heater disabled) instead of boolean.
Renamed "Request and Return Status.vi" as "Request and Wait for Status.vi" to make it more evident that it is an example of an event of the type "Request and Wait for Reply"
Updated the TestStand Sequences to reflect these changes.
1.0.0.20 (May 19, 2016)
Brought the examples up to par with the latest version of the project template.
This included adding the Stop Sync code. Modifying the Hide Panel case in the MHL to use the FP.Open invoke node with State = Hidden instead of FP.Close method. This ensures the VI stays in memory and hides the front panel.
Updated module name constant VIs to use a string constant to specify the module name.
Edited the VI description for both Main.vi to describe what this modules are doing.