Skip to content

Commit eaaf18d

Browse files
author
NEVSTOP
committed
update vipb
1 parent 9be9bb9 commit eaaf18d

File tree

1 file changed

+37
-8
lines changed

1 file changed

+37
-8
lines changed

CSM-TCP-Router.vipb

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-09-27 14:21:53" Modified_Date="2025-02-13 11:09:15" Creator="liyao" Comments="" ID="5b9ce7589ab42f4a81209695e3e6a4fd">
1+
<VI_Package_Builder_Settings Version="2020.1" Created_Date="2023-09-27 14:21:53" Modified_Date="2025-02-28 15:22:55" Creator="liyao" Comments="" ID="87a1501566075aebed5513952fe62c41">
22
<Library_General_Settings>
33
<Package_File_Name>NEVSTOP_lib_CSM_TCP_Router_Example</Package_File_Name>
44
<Library_Version>2025.2.0.2</Library_Version>
@@ -18,9 +18,9 @@
1818
<Advanced_Settings>
1919
<Package_Dependencies>
2020
<Additional_External_Dependencies>jki_lib_tcp_server &gt;=5.0.0.8</Additional_External_Dependencies>
21-
<Additional_External_Dependencies>nevstop_lib_communicable_state_machine &gt;=2025.1.27.141432</Additional_External_Dependencies>
21+
<Additional_External_Dependencies>nevstop_lib_communicable_state_machine &gt;=2025.2.28.95859</Additional_External_Dependencies>
2222
<Additional_External_Dependencies>nevstop_lib_csm_api_string_arguments_support &gt;=2025.1.27.145038</Additional_External_Dependencies>
23-
<Additional_External_Dependencies>nevstop_lib_csm_ini_static_variable_support &gt;=2025.1.27.143156</Additional_External_Dependencies>
23+
<Additional_External_Dependencies>nevstop_lib_csm_ini_static_variable_support &gt;=2025.2.28.100053</Additional_External_Dependencies>
2424
<Additional_External_Dependencies>nevstop_lib_csm_massdata_parameter_support &gt;=2024.12.31.84154</Additional_External_Dependencies>
2525
<Additional_External_Dependencies>nevstop_lib_globalstop &gt;=2022.12.12.102654</Additional_External_Dependencies>
2626
<Additional_External_Dependencies>oglib_error &gt;=4.2.0.23</Additional_External_Dependencies>
@@ -37,13 +37,41 @@
3737
<VI_Package_Configuration_File>CSM-TCP-Router.vipc</VI_Package_Configuration_File>
3838
<Description>
3939
<One_Line_Description_Summary>Application Example to show how to setup a TCP Server and Client using CSM and JKI TCP Server.</One_Line_Description_Summary>
40-
<Description>Application Example to show how to setup a TCP Server and Client using CSM and JKI TCP Server.
40+
<Description>This repository demonstrates how to create a reusable TCP communication layer (CSM-TCP-Router) to turn a local program into a TCP server for remote control. This example showcases the advantages of the CSM framework's invisible bus.
4141

42-
How to test it:
42+
## Features
4343

44-
1. Open Project in &lt;LabVIEW&gt;/examples\NEVSTOP\Communicable State Machine(CSM)\CSM TCP Router Application
45-
2. Run Server VI: CSM-TCP-Router(Server).vi
46-
3. Run Client Console VI: Client.vi and try it.</Description>
44+
- All CSM messages that can be sent locally can be transmitted to the local program via TCP connection using CSM synchronous and asynchronous message formats.
45+
- Based on the JKI-TCP-Server library, it supports multiple TCP clients connecting simultaneously.
46+
- [client] Provides a standard TCP client that can connect to the server to verify remote connections and message sending.
47+
48+
&gt; [!IMPORTANT]
49+
&gt; `TCP Packet Format:` | Data Length (4 bytes) | CSM Command String (plain text) |
50+
51+
&gt; [!NOTE]
52+
&gt; Example: Suppose there is a CSM module named DAQmx locally with an interface "API: Start Sampling".
53+
&gt; Locally, we can send messages to this module to control the start and stop of sampling:
54+
&gt;
55+
&gt; - API: Start Sampling -@ DAQmx // Synchronous message
56+
&gt; - API: Start Sampling -&gt; DAQmx // Asynchronous message
57+
&gt; - API: Start Sampling -&gt;| DAQmx // Asynchronous message without return
58+
&gt;
59+
&gt; Now, by sending the same text message via TCP connection, remote control can be achieved.
60+
61+
&gt; [!WARNING]
62+
&gt; Currently, CSM-TCP-Router only supports synchronous messages (-@) and asynchronous messages without return (-&gt;|). Asynchronous messages (-&gt;) will be treated as asynchronous messages without return.
63+
64+
## Usage
65+
66+
1. Install this tool and dependencies via VIPM
67+
2. Open the example project CSM-TCP-Router.lvproj in the CSM examples
68+
3. Start the CSM-TCP-Router(Server).vi in the code project
69+
4. Start Client.vi, enter the server's IP address and port number, and click connect
70+
5. Enter commands and click send to see the returned messages in the console
71+
6. View the history of executed messages in the log interface of the Server program
72+
7. Enter `Bye` in Client.vi to disconnect
73+
8. Close the Server program
74+
</Description>
4775
<Copyright/>
4876
<Packager>NEVSTOP</Packager>
4977
<URL>https://github.com/NEVSTOP-LAB/CSM-TCP-Router-App</URL>
@@ -189,6 +217,7 @@ How to test it:
189217
<close_labview_before_install>false</close_labview_before_install>
190218
<restart_labview_after_install>false</restart_labview_after_install>
191219
<skip_mass_compile_after_install>false</skip_mass_compile_after_install>
220+
<install_into_global_environment>false</install_into_global_environment>
192221
</LabVIEW>
193222
<VI_Docs>
194223
<Edit_VI_Description>true</Edit_VI_Description>

0 commit comments

Comments
 (0)