Sign Up

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,215
 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, 1 week 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, 7 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…