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.
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 JSONPASS 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}
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