C++ / Execução registrada

PLC Modbus Controller

A motor state machine with interlocks, a Structured Text reference, and Modbus TCP frame processing.

O que foi verificado

Os comandos abaixo executam o código do repositório e conferem os cenários registrados. A evidência cobre esses cenários na versão indicada; não comprova todas as entradas possíveis nem uso em produção. As entradas de laboratório e os testes do software não comprovam conexão ou operação em equipamentos físicos.

Versão executada
eb4db4dacc065efba964d74c2adcd4a25a1c4dfb
Registro
2026-10-10T05:28:05.069210+00:00
Repositório
brunnojob/plc-modbus-safety-controller
Licença
MIT

A evidência abaixo pertence à versão registrada. A consulta usa a API pública do GitHub e pode atingir o limite de requisições.

Comandos e resultados reais

Resultados extraídos dos logs do Actions. Saídas extensas podem estar resumidas; a execução original e o artefato contêm o registro completo.

Baixar relatório JSON
PASS cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug

Saída: 0 · esperada: 0 · 1.655 s

$ bash -e -o pipefail -c cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug

-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (1.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/runner/work/plc-modbus-safety-controller/plc-modbus-safety-controller/build
PASS cmake --build build --parallel 2

Saída: 0 · esperada: 0 · 6.921 s

$ bash -e -o pipefail -c cmake --build build --parallel 2

[ 16%] Building CXX object CMakeFiles/plc_reference.dir/src/motor.cpp.o
[ 33%] Linking CXX static library libplc_reference.a
[ 33%] Built target plc_reference
[ 50%] Building CXX object CMakeFiles/plc_tests.dir/tests/motor_test.cpp.o
[ 66%] Building CXX object CMakeFiles/modbus_test.dir/tests/modbus_test.cpp.o
[ 83%] Linking CXX executable plc_tests
[ 83%] Built target plc_tests
[100%] Linking CXX executable modbus_test
[100%] Built target modbus_test
PASS ctest --test-dir build --output-on-failure

Saída: 0 · esperada: 0 · 0.452 s

$ bash -e -o pipefail -c ctest --test-dir build --output-on-failure

Internal ctest changing into directory: /home/runner/work/plc-modbus-safety-controller/plc-modbus-safety-controller/build
Test project /home/runner/work/plc-modbus-safety-controller/plc-modbus-safety-controller/build
    Start 1: plc_tests
1/2 Test #1: plc_tests ........................   Passed    0.00 sec
    Start 2: modbus
2/2 Test #2: modbus ...........................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   0.06 sec
PASS Compile motor transition demonstration

Saída: 0 · esperada: 0 · 0.853 s

$ g++ -std=c++20 -Wall -Wextra -Werror -Iinclude .proof/demo.cpp src/motor.cpp -o build/proof-demo

PASS Demonstrate emergency trip and guarded reset

Saída: 0 · esperada: 0 · 0.051 s

$ build/proof-demo

{"starting":true,"running":true,"emergency_stop_trip":true,"unsafe_reset_denied":true,"healthy_reset":true}
Baixar transcrição

Reproduzir a execução

Os pré-requisitos e as entradas são públicos no repositório. Faça checkout da versão exata antes de executar os cenários.

git clone https://github.com/brunnojob/plc-modbus-safety-controller.git
cd plc-modbus-safety-controller
git checkout eb4db4dacc065efba964d74c2adcd4a25a1c4dfb
python .proof/record.py