Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged sm_modbus_tcp_relay_test_1 at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | Apache-2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/robosoft-ai/SMACC2.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-01-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Brett Aldrich
Authors
sm_modbus_tcp_relay_test_1
Test state machine for the cl_modbus_tcp_relay SMACC2 client library. This state machine exercises all relay behaviors to verify proper operation.
Overview
This state machine connects to a Waveshare 8-Channel POE ETH Relay via Modbus TCP and tests all available client behaviors:
- CbRelayOn - Turn on a single channel
- CbRelayOff - Turn off a single channel
- CbAllRelaysOn - Turn on all channels
- CbAllRelaysOff - Turn off all channels
- CbRelayStatus - Read channel status
State Flow
StConnect ─► StConnected ─► StRelayOn ─► StRelayOff ─► StAllOn ─► StAllOff ─► StReadStatus ─► StComplete
▲ │ │ │ │ │
└───────────────────────────┴─────────────┴───────────┴───────────┴────────────┘
(EvConnectionLost returns to StConnect)
State Descriptions
| State | Description |
|---|---|
StConnect |
Waits for Modbus TCP connection to establish |
StConnected |
Connection established, transitions to relay tests |
StRelayOn |
Turns ON channel 1 |
StRelayOff |
Turns OFF channel 1 |
StAllOn |
Turns ON all 8 channels |
StAllOff |
Turns OFF all 8 channels |
StReadStatus |
Reads status of all channels |
StComplete |
Test complete, displays results |
Configuration
Edit config/sm_modbus_tcp_relay_test_1_config.yaml:
sm_modbus_tcp_relay_test_1:
ros__parameters:
signal_detector_loop_freq: 20
modbus_relay:
ip_address: "192.168.1.254" # Your relay board IP
port: 502 # Modbus TCP port
slave_id: 1 # Modbus slave ID
heartbeat_interval_ms: 1000 # Connection monitoring interval
connect_on_init: true # Auto-connect on startup
Dependencies
-
cl_modbus_tcp_relay- The Modbus TCP relay client library -
smacc2- SMACC2 framework
System Dependencies
sudo apt install libmodbus-dev
Building
# Build both packages
colcon build --packages-select cl_modbus_tcp_relay sm_modbus_tcp_relay_test_1
Running
Prerequisites
- Ensure the relay board is powered and connected to the network
- Verify network connectivity to the relay (default: 192.168.1.254)
Manual Connectivity Test (Optional)
Before running the state machine, you can verify connectivity with mbpoll:
# Install mbpoll if not already installed
sudo apt install mbpoll
# Test connection by reading all coil states
mbpoll -m tcp -a 1 -t 0 -r 1 -c 8 192.168.1.254
Launch the Test
source install/setup.bash
ros2 launch sm_modbus_tcp_relay_test_1 sm_modbus_tcp_relay_test_1.launch.py
Expected Output
```
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| cl_modbus_tcp_relay | |
| smacc2 |