Sign Up
EU Cyber Resilience Act (CRA) — First Deadline September 2026
If you sell LabVIEW-based software and systems in the EU, please be aware that new CRA regulations may require you to implement security vulnerability reporting starting September 11, 2026. The VIPM Team has prepared guides to help you understand how this applies to your software applications and published packages, since it's important you understand these regulatory requirements (click the Learn More link to read these guides). Thank you for your help in keeping security front-and-center within the LabVIEW community.
Learn more

Communicable State Machine(CSM) by NEVSTOP-LAB - Toolkit for LabVIEW Download

LabVIEW Application Framework extended from JKI State Machine(JKISM)

D Discussion Watch * 16 ↓5,366
 screenshot
Version2026.1.26.120535
ReleasedJan 26, 2026
Publisher NEVSTOP-LAB
License MIT
LabVIEW VersionLabVIEW>=17.0
Operating System Windows, Mac, and Linux
Dependencies jki_lib_state_machine  
Used By nevstop_lib_csm_api_string_arguments_support   nevstop_lib_csm_massdata_parameter_support   nevstop_programming_palette   nevstop_lib_csm_mermaid_plugin   nevstop_lib_csm_tcp_router_example   nevstop_lib_csm_continuous_meausrement_and_logging_example   nevstop_lib_csm_ini_static_variable_support  
Project links Homepage   Documentation   Repository   Discussion

Description

Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules.

CSM Syntax

// Local Message Example
DoSth: DoA >> Arguments
// Sync Call Example
API: xxxx >> Arguments -@ TargetModule
// Async Call Example
API: xxxx >> Arguments -> TargetModule
// Async Call without Reply Example
API: xxxx >> Arguments ->| TargetModule

Please visit this link for more syntax information:
https://github.com/NEVSTOP-LAB/Communicable-State-Machine/tree/main/.doc/Syntax.md

CSM Hightlights

- Pure text process control makes documentation, scripting and testing easy.
- Easy to change program behavior even after application is built.
- Easy to build 1:1, 1:N and M:N communication.
- No need to directly invoke LabVIEW queues or user events.
- Parameters and data are passed through "encoding", "transmission" and "decoding" with arguments.
- User's code is highly concentrated; most visible code is user-generated.
- VIs serve as modules, and their Singleton/Cloneable behavior is defined by VI attributes.
- Detailed global log interface with multiple debugging tools built on it.
- Compatible with JKISM Editor.

For more information, please visit the CSM wiki: https://nevstop-lab.github.io/CSM-Wiki/
For instructions on JKI State Machine(JKISM), visit: http://jki.net/state-machine
For information on NEVSTOP-LAB, visit: https://github.com/NEVSTOP-LAB

Release Notes

2026.1.26.120535 (Jan 26, 2026)

## 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 argument type

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

## API
[add] Support ¡°=> 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

yao was a contributor to this release


Recent Posts

Best Effluent Treatment Plant Manufacturers in Delhi – High-Tech STP Systems
Netsol Water is one of the best Effluent Treatment Plant Manufacturers in Delhi, offering high-tech…

by Sewage Treatment Plants, 10 months, 4 weeks ago, 0 , 0
suggestion
Enhancing Your Gaming Experience with Console Extenders
Console extenders are a game-changer for avid gamers looking to optimize their setups. These device…

by bakersopie2, 1 year, 8 months ago, 0 , 0
suggestion

Forum Posts

LOAN PraJeev App CUSTOMER CARE HELPLINE NUMBER (91)∆O❼❾⓿❹❾❻❹❺❻❷///7904964562@)\x{Call Now
LOAN PraJeev App CUSTOMER CARE HELPLINE NUMBER (91)∆O❼❾⓿❹❾❻❹❺❻❷///7904964562@)\x{Call NowLOAN Pra…

 
How to recover wrongly transferred money in PhonePe?
Phone Pe for a wrong transaction, you should immediately contact PhonePe's customer support: 0846…

 
How do I complain to Anjani Courier Service?
To get a refund from Anjani Courier, you can contact their customer support team by: Calling 0997…