Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
21f00ac
init dev_2026Q1
yao0928 Feb 4, 2026
5148372
修复文档中的CSM消息关键字列表格式
yao0928 Feb 4, 2026
ec4c17d
#326 #321 不再支持 VI Analyzer
yao0928 Feb 9, 2026
3b72a72
trial license 显示 xxminxxs
yao0928 Feb 9, 2026
6d83575
#595 docs(CSM): 添加自动注册状态更改事件句柄的文档说明
yao0928 Feb 9, 2026
abe3619
docs(CSM): 更新Global Log处理等级说明并删除过时文档
yao0928 Feb 9, 2026
643d63a
docs(CSM): Add Global Log Processing Level description to English doc…
Copilot Feb 9, 2026
0c5556d
[update] #586 Update Complete log for Sync/Async Message
yao0928 Feb 9, 2026
033a66c
Merge branch 'Dev_2026Q1' of https://github.com/NEVSTOP-LAB/Communica…
yao0928 Feb 9, 2026
2a3ab25
#586
yao0928 Feb 9, 2026
4e8f16b
[update] #590 Show nodes left number in module destroy log for worker…
yao0928 Feb 9, 2026
a913ff0
[fix] #591 Exiting issue for chain mode when some node is timout for …
yao0928 Feb 10, 2026
cf4c908
OpenFP for all tools
yao0928 Feb 13, 2026
43e765f
docs: change multiple-CSMs-in-single-VI admonition from NOTE to WARNI…
Copilot Mar 2, 2026
2a40fc5
#93 在 exe/lvlibp 的情况下也关闭前面板
Mar 6, 2026
511a5c7
[remove] Remove "fCSM - Add VI Reference Case to CSMs.vi" tool
Mar 6, 2026
b0073f6
调整 VI 属性
Mar 6, 2026
094bda0
[fix] fix "CSM - Interface Browser.vi" launcher entry
Mar 6, 2026
402e98e
#587 _shared/ 目录的 VI 修改为 inline
Mar 14, 2026
0a681ad
update CSM - user.lib Dir.vi method
Mar 14, 2026
313b8c8
[update] CSM tool Update
Mar 14, 2026
59b7770
[update] CSM tool Update: fix CSM - Switch Language Tool.vi
Mar 14, 2026
a6634d1
apply document change
Mar 14, 2026
975b8b2
fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions…
Mar 15, 2026
81e4210
更新工作流:将 actions/checkout 更新至 v4.2.2
Mar 15, 2026
2707dd5
延长 macro: exit 的等待时间
Mar 15, 2026
7d9857a
mass compile
Mar 15, 2026
e9827bd
wait timeout extend to 60000
Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions .doc/CSM_Unittest_README(en-us).md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The unit tests are categorized according to CSM framework functionalities and ma
1. **Message**
Test messages between different CSM modes (Normal Mode, SubModule Mode, System Level Mode, Worker Mode, Chain Mode, lvlibp Mode). Synchronous messages, asynchronous messages with reply, and asynchronous messages without reply. Verify if messages are correctly passed, if arguments, response, and error information are also correctly carried.
Specific test case description is explained in the table below and test code is in `testcase-CSMMessage.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -184,7 +184,7 @@ The unit tests are categorized according to CSM framework functionalities and ma
3. **Response**
Verify the correctness of message response/return values between different modes (Normal Mode, SubModule Mode, System Level Mode, Worker Mode, Chain Mode, lilvbp Mode), including the transmission of error information, and aslo test the behavior of response/return values during **macro message** execution meets expectations under different circumstances.
Specific test case description is explained in the table below and test code is in `testcase-CSMResponse.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -286,7 +286,7 @@ The unit tests are categorized according to CSM framework functionalities and ma
</tr>
<tr>
<td colspan="9">
¹ Related issue tracking:
¹ Related issue tracking:
<a href="https://github.com/NEVSTOP-LAB/Communicable-State-Machine/issues/547">
https://github.com/NEVSTOP-LAB/Communicable-State-Machine/issues/547
</a>
Expand All @@ -299,7 +299,7 @@ The unit tests are categorized according to CSM framework functionalities and ma
4. **Broadcast**
Test status, interrupt (high priority), and state change broadcast (state change is a unique broadcast mechanism provided by CSM) across different modes (Normal Mode, SubModule Mode, System Level Mode, Worker Mode, Chain Mode, Packed Project Library Mode), including registration, unregistration, and selective registration (both senders and receivers can flexibly decide priority). Additionally test scenarios where broadcast functionality is called outside the CSM framework, extending cross-framework compatibility.
Specific test case description is explained in the table below and test code is in `testcase-CSMBroadcast.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand All @@ -320,7 +320,7 @@ The unit tests are categorized according to CSM framework functionalities and ma
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
Expand Down Expand Up @@ -670,7 +670,7 @@ test31-MappingRelationshipByLocalRegistration_WIthoutSubscriberName_State.vi</td
Test global logging functionality across different modes (Normal Mode, SubModule Mode, System Level Mode, Worker Mode, Chain Mode, lilvbp), including module creation and destruction, state change, registration and unregistration, syn messages, async messages with reply, async messages without reply, broadcast, and user-defined log.
The CSM programming framework provides two implementation methods: Global Log Queue and Global Log User Event. This unit test class covers all possible scenarios for both implementations.
Specific test case description is explained in the table below and test code is in `testcase-CSMGlobalLog.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -891,7 +891,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
6. **System Level Module**
Test the `CSM List Module.vi` API functionality by modifying the input Scope parameter to identify scenarios that include or exclude system-level modules. Other related system-level module functionalities have been covered in the Message class tests.
Specific test case description is explained in the table below and test code is in `testcase-CSMSystemLevelModule.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -930,7 +930,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
7. **SubModule**
Test the `CSM List SubModules.vi` API functionality to correctly find corresponding first-level or multi-level submodules(resursive) based on the input module/submodule names.
Specific test case description is explained in the table below and test code is in `testcase-CSMSubModule.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand All @@ -948,7 +948,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
8. **Worker Mode**
Test data sharing among multiple worker nodes, ensuring data written externally can be read by all nodes via `CSM Attribute`. Other related functionalities have been covered in the Message class tests.
Specific test case description is explained in the table below and test code is in `testcase-CSMWorkerMode.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand All @@ -966,7 +966,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
9. **Chain Mode**
Test data sharing and message processing among multiple nodes, verify whether Allowed Messages defined by different nodes can be processed and report errors correctly, and test the sequence of node exit. Other related functionalities have been covered in the Message class tests.
Specific test case description is explained in the table below and test code is in `testcase-CSMChainMode.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -1016,7 +1016,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
10. **Management API**
Test CSM built-in management APIs, such as `Module Status.vi`, verifying if they can correctly read module information (name, node count, etc.), and test the polymorphic VI with various filtering functions. Other related functionalities have been covered in the Message class tests.
Specific test case description is explained in the table below and test code is in `testcase-CSMManagementAPI.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -1055,7 +1055,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
11. **Non-CSM Caller Support API**
Test APIs that take effect when a module exits, such as `Module Exit Event.vi` and `Module Turns Invalid.vi`. Other related functionalities have been covered in the Message class tests.
Specific test case description is explained in the table below and test code is in `testcase-CSMNonCSMCallerSupportAPI.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down Expand Up @@ -1094,7 +1094,7 @@ Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker M
12. **CSM Loop Support**
Test the loop mode supported by the CSM framework, verifying that a module can both receive and process external messages while running in a loop, and send messages to other modules without blocking the running loop.
Specific test case description is explained in the table below and test code is in `testcase-CSMAddonLoopSupport.lvclass`.
<table>
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Build_VIPM_Library.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
- uses: FranzDiebold/github-env-vars-action@v2

# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4.2.2

# Runs a set of commands using the runners shell
- name: BuildDailyVIP
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Check_Broken_VIs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4.2.2

# Runs a set of commands using the runners shell
- id: Check_Broken_VIs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Run Testcases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v4.2.2

- name: Run lvCICD Test cases with VITester
id: StartVITester
Expand Down
9 changes: 5 additions & 4 deletions Communicable State Machine(CSM).lvproj
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@
<Item Name="Check CSM Modules Exist Or Not.vi" Type="VI" URL="../testcases/_support/Check CSM Modules Exist Or Not.vi"/>
<Item Name="Package Error Info.vi" Type="VI" URL="../testcases/_support/Package Error Info.vi"/>
<Item Name="Ensure All Modules Exit.vi" Type="VI" URL="../testcases/_support/Ensure All Modules Exit.vi"/>
<Item Name="passifeqal - StringArray.vi" Type="VI" URL="../testcases/_support/passifeqal - StringArray.vi"/>
</Item>
<Item Name="_previous" Type="Folder">
<Item Name="_CSMs" Type="Folder">
Expand Down Expand Up @@ -248,12 +249,8 @@
<Item Name="VI Scripting - Traverse.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/traverseref.llb/VI Scripting - Traverse.lvlib"/>
<Item Name="TRef Find Object By Label.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/traverseref.llb/TRef Find Object By Label.vi"/>
<Item Name="Get GObject Label.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/traverseref.llb/Get GObject Label.vi"/>
<Item Name="VIAnCtl TestRanking.ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl TestRanking.ctl"/>
<Item Name="VIAnCtl Reconstruct Data.ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl Reconstruct Data.ctl"/>
<Item Name="VIAnCtl ResultsData (index).ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl ResultsData (index).ctl"/>
<Item Name="VIAnUtil Has Diagram.vi" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerutils.llb/VIAnUtil Has Diagram.vi"/>
<Item Name="VIAnUtil Clear Specific Error.vi" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerutils.llb/VIAnUtil Clear Specific Error.vi"/>
<Item Name="VIAnUtil Has Panel.vi" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerutils.llb/VIAnUtil Has Panel.vi"/>
<Item Name="Stall Data Flow.vim" Type="VI" URL="/&lt;vilib&gt;/Utility/Stall Data Flow.vim"/>
<Item Name="LVPointTypeDef.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/miscctls.llb/LVPointTypeDef.ctl"/>
<Item Name="subFile Dialog.vi" Type="VI" URL="/&lt;vilib&gt;/express/express input/FileDialogBlock.llb/subFile Dialog.vi"/>
Expand Down Expand Up @@ -563,6 +560,10 @@
<Item Name="Build Path - File Names Array - path__ogtk__jki_vi_tester.vi" Type="VI" URL="/&lt;vilib&gt;/addons/_JKI Toolkits/VI Tester/_support/Support.llb/Build Path - File Names Array - path__ogtk__jki_vi_tester.vi"/>
<Item Name="Build Path - File Names and Paths Arrays - path__ogtk__jki_vi_tester.vi" Type="VI" URL="/&lt;vilib&gt;/addons/_JKI Toolkits/VI Tester/_support/Support.llb/Build Path - File Names and Paths Arrays - path__ogtk__jki_vi_tester.vi"/>
<Item Name="Get LV Class Path.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/LVClass/Get LV Class Path.vi"/>
<Item Name="VIAnCtl TestRanking.ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl TestRanking.ctl"/>
<Item Name="VIAnCtl Reconstruct Data.ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl Reconstruct Data.ctl"/>
<Item Name="VIAnCtl ResultsData (index).ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl ResultsData (index).ctl"/>
<Item Name="VIAnUtil Has Panel.vi" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerutils.llb/VIAnUtil Has Panel.vi"/>
</Item>
<Item Name="Shortcut Menu Item Definition.ctl" Type="VI" URL="/&lt;resource&gt;/plugins/PopupMenus/support/Shortcut Menu Item Definition.ctl"/>
<Item Name="Transaction Control.ctl" Type="VI" URL="/&lt;resource&gt;/plugins/PopupMenus/support/Transaction Control.ctl"/>
Expand Down
55 changes: 9 additions & 46 deletions Communicable State Machine(CSM).vipb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-07-01 11:20:47" Modified_Date="2026-01-26 11:27:24" Creator="liyao" Comments="" ID="e3fca4490153f2d7f37c36f99c77633d">
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-07-01 11:20:47" Modified_Date="2026-03-14 23:23:20" Creator="liyao" Comments="" ID="461bacd65e4d182b96245a05e65fc378">
<Library_General_Settings>
<Package_File_Name>NEVSTOP_lib_Communicable_State_Machine</Package_File_Name>
<Library_Version>2025.12.0.1</Library_Version>
<Library_Version>2026.1.0.1</Library_Version>
<Auto_Increment_Version>false</Auto_Increment_Version>
<Library_Source_Folder>src</Library_Source_Folder>
<Library_Output_Folder>vip</Library_Output_Folder>
Expand Down Expand Up @@ -65,50 +65,13 @@ For information on NEVSTOP-LAB, visit: &lt;color=blue&gt;&lt;u&gt;&lt;i&gt;https
<Copyright/>
<Packager>NEVSTOP</Packager>
<URL>https://github.com/NEVSTOP-LAB</URL>
<Release_Notes>## Core
[feature] #502 Support modules in lvlibp
[add] #588 Add "Current State" and "Remaining States" to CSM Data Core for better debugging
[update] #504 Do not use global variable as changing flag
[update] #555 When CSM starts processing the Macro: Exit state, it no longer processes any messages
[update] #584 Add more detailed information to CSM errors
[fix] #499 Fix critical error that occurs when CSM module is built into lvlibp and run asynchronously

## Argument
[update] #545 ErrStr now supports warnings, which are ignored and converted to empty strings
[update] #501 Use ErrString for critical errors
[update] #498 SafeString now starts with &lt;SafeStr&gt; argument type

## Global Log
[add] #596 Add message log type for CSM global log
[add] #561 Add &lt;Logger Thread Exit&gt; log and show the number of remaining logs
[add] #520 Show call-chain of CSM module in "module created" log

## API
[add] Support ¡°=&gt; VariableName" in CSM - Run Script.vi
[add] Add additional ¡°wait" command in CSM - Run Script.vi
[add] #543 Add ¡°CSM - Resolve Module Name.vi¡± to get module name from worker/chain node name
[add] #552 Add "CSM - Drop Broadcast Registry.vi" to clear all registration relationships
[fix] #549 Reset CSM - Module VI Reference.vi cache after topmost VI restarts
[fix] #548 Fix CSM - Remove Module in Broadcast Registry.vi

## Attribute
[fix] #535 Fix CSM Attribute TagDVR cache error
[fix] #533 CSM Attribute should be case insensitive

## Advance Modes
[fix] #540 Fix "VI Reference" not allowed in Chain Mode by default
[fix] #560 #556 Management API should work for worker mode and chain mode
[fix] #557 Fix removal of internal registry rules for chain/worker

## Debug Tools
[add] New Example Browser Tool
[add] #496 Add script running function in debug console
[update] #461 Logviewer uses queue of global log events

## Doc/Palette
[feature] More testcases to cover all features of csm
[update] Improve palette and documentation
</Release_Notes>
<Release_Notes>[update] #586 Update Complete log for Sync/Async Message
[update] #590 Show nodes left number in module destroy log for worker/chain mode.
[update] Doc Update
[update] CSM tool Update
[fix] #591 Exiting issue for chain mode when some node is timout for "macro: exit"
[fix] fix "CSM - Interface Browser.vi" launcher entry
[remove] Remove "fCSM - Add VI Reference Case to CSMs.vi" tool</Release_Notes>
</Description>
<Destinations>
<Toolkit_VIs>
Expand Down
Binary file modified src/API Tree.vi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,18 @@
> - The default value is "Macro: Exit", which is consistent with the JKISM state machine.
> - This state is used to exit the state machine of a CSM module. After entering this state, a CSM module no longer processes externally sent messages.

> [!WARNING]
> <b>Multiple CSMs in a Single VI</b>
>
> - It is not recommended to place multiple (>=2) CSMs in a flat layout within a single VI. While this will not cause logical issues in the program, it will prevent the CSM Debug Console from loading all the inner and outer interfaces of the flat CSMs in that VI - only one will be loaded.

## CSM User Interface(UI) Module Template.vi
A template for creating a CSM module with a user interface. This template includes a user Event Structure for responding to user actions.

> - Ref: CSM Naming Rules
> - Ref: CSM Initialize State
> - Ref: CSM Exit State
> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Name ("" to use UUID)</b>: CSM module name. Refer to <b>CSM Naming Rules</b> for module naming rules.
Expand All @@ -38,6 +44,7 @@ A template for creating a CSM module without a user interface. This is the most
> - Ref: CSM Naming Rules
> - Ref: CSM Initialize State
> - Ref: CSM Exit State
> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Name ("" to use UUID)</b>: CSM module name. Refer to <b>CSM Naming Rules</b> for module naming rules.
Expand All @@ -48,6 +55,7 @@ Compact code template for creating a CSM module without a user interface. The fu
> - Ref: CSM Naming Rules
> - Ref: CSM Initialize State
> - Ref: CSM Exit State
> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Name ("" to use UUID)</b>: CSM module name. Refer to <b>CSM Naming Rules</b> for module naming rules.
Expand All @@ -58,6 +66,7 @@ Compact code template used to create a CSM module with a user interface. This te
> - Ref: CSM Naming Rules
> - Ref: CSM Initialize State
> - Ref: CSM Exit State
> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Name ("" to use UUID)</b>: CSM module name. Refer to <b>CSM Naming Rules</b> for module naming rules.
Expand All @@ -75,6 +84,7 @@ Refer to the following example `[CSM-Example]\4. Advance Examples\CSMLS - Contin
> - Ref: CSM Naming Rules
> - Ref: CSM Initialize State
> - Ref: CSM Exit State
> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Name ("" to use UUID)</b>: CSM module name. Refer to <b>CSM Naming Rules</b> for module naming rules.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
> [!NOTE]
> <b>CSM Message Keywords</b>
>
> The following are CSM message keywords: `->`, `->|`, `-@`, `-&`, `<-`, `\r`, `\n`, `//`, `>>`, `>>>`, `>>>`, `;`, `,`.
> The following are CSM message keywords: `->`, `->|`, `-@`, `-&`, `<-`, `\r`, `\n`, `//`, `>>`, `>>>`, `>>>>`, `;`, `,`.

> [!NOTE]
> <b>CSM Argument Type</b>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ Behavior for CSM in special operation modes:
- <b>Chain of Responsibility Mode</b>: Returns the VI reference of the first node of the CSM module in Chain of Responsibility Mode.
- <b>System-Level Module</b>: Same as normal mode CSM. Returns the VI reference of the system-level module.

> - Ref: Multiple CSMs in a Single VI

-- <b>Controls</b> --
- <b>Current Module ("" to Generate an ID)</b>: Tag for the querying CSM module. If empty, a unique ID is generated.
- <b>CSM Name</b>: CSM module name.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ Obtains the CSM status change event refnum.
-- <b>Controls</b> --
- <b>CSM Module</b>: CSM module name.
- <b>Wait (5000 ms)</b>: Timeout duration for waiting module to be alive. The default is 5000 ms.
- <b>Auto Register? (T)</b>: Whether to automatically register all status change event handlers. The default is TRUE, which specifies to register.

-- <b>Indicators</b> --
- <b>Status Change Event</b>: CSM status change event refnum.
Expand Down
Loading
Loading