node-red-contrib-me-vplc 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/me-vplc.html +64 -0
- package/me-vplc.js +603 -0
- package/package.json +26 -0
- package/project/README.md +1052 -0
- package/project/START_ME_VPLC.cmd +176 -0
- package/project/backend/active_project.json +3 -0
- package/project/backend/app.py +839 -0
- package/project/backend/connector_runtime.py +585 -0
- package/project/backend/requirements.txt +3 -0
- package/project/backend/st_compiler.py +1415 -0
- package/project/frontend/index.html +12 -0
- package/project/frontend/package.json +18 -0
- package/project/frontend/src/App.jsx +631 -0
- package/project/frontend/src/style.css +964 -0
- package/project/frontend/vite.config.js +14 -0
- package/wheelhouse/Flask_Cors-4.0.1-py2.py3-none-any.whl +0 -0
- package/wheelhouse/blinker-1.9.0-py3-none-any.whl +0 -0
- package/wheelhouse/click-8.3.3-py3-none-any.whl +0 -0
- package/wheelhouse/colorama-0.4.6-py2.py3-none-any.whl +0 -0
- package/wheelhouse/flask-3.0.3-py3-none-any.whl +0 -0
- package/wheelhouse/itsdangerous-2.2.0-py3-none-any.whl +0 -0
- package/wheelhouse/jinja2-3.1.6-py3-none-any.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp310-cp310-win_amd64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp311-cp311-win_amd64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp312-cp312-win_amd64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
- package/wheelhouse/markupsafe-3.0.3-cp313-cp313-win_amd64.whl +0 -0
- package/wheelhouse/pymodbus-3.6.9-py3-none-any.whl +0 -0
- package/wheelhouse/werkzeug-3.1.8-py3-none-any.whl +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
setlocal EnableExtensions EnableDelayedExpansion
|
|
3
|
+
|
|
4
|
+
set "ROOT=%~dp0"
|
|
5
|
+
set "BACKEND_DIR=%ROOT%backend"
|
|
6
|
+
set "FRONTEND_DIR=%ROOT%frontend"
|
|
7
|
+
set "BACKEND_URL=http://127.0.0.1:5000/api/status"
|
|
8
|
+
set "FRONTEND_URL=http://127.0.0.1:5173"
|
|
9
|
+
|
|
10
|
+
title ME vPLC Starter
|
|
11
|
+
cd /d "%ROOT%"
|
|
12
|
+
|
|
13
|
+
echo ================================================================
|
|
14
|
+
echo ME vPLC - Starter
|
|
15
|
+
echo ================================================================
|
|
16
|
+
echo Projektordner: %ROOT%
|
|
17
|
+
echo Backend: %BACKEND_URL%
|
|
18
|
+
echo Frontend: %FRONTEND_URL%
|
|
19
|
+
echo.
|
|
20
|
+
|
|
21
|
+
rem ---------------------------------------------------------------
|
|
22
|
+
rem 1) Python finden
|
|
23
|
+
rem ---------------------------------------------------------------
|
|
24
|
+
set "PYTHON_CMD="
|
|
25
|
+
where py >nul 2>nul
|
|
26
|
+
if not errorlevel 1 set "PYTHON_CMD=py -3"
|
|
27
|
+
|
|
28
|
+
if not defined PYTHON_CMD (
|
|
29
|
+
where python >nul 2>nul
|
|
30
|
+
if not errorlevel 1 set "PYTHON_CMD=python"
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
if not defined PYTHON_CMD (
|
|
34
|
+
echo FEHLER: Python 3 wurde nicht gefunden.
|
|
35
|
+
echo Bitte Python installieren und die Option "Add python.exe to PATH" aktivieren.
|
|
36
|
+
echo.
|
|
37
|
+
pause
|
|
38
|
+
exit /b 1
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
echo [1/7] Python gefunden: %PYTHON_CMD%
|
|
42
|
+
|
|
43
|
+
rem ---------------------------------------------------------------
|
|
44
|
+
rem 2) Backend Virtual Environment erstellen
|
|
45
|
+
rem ---------------------------------------------------------------
|
|
46
|
+
cd /d "%BACKEND_DIR%"
|
|
47
|
+
|
|
48
|
+
if not exist ".venv\Scripts\python.exe" (
|
|
49
|
+
echo [2/7] Erstelle Backend Virtual Environment ...
|
|
50
|
+
%PYTHON_CMD% -m venv .venv
|
|
51
|
+
if errorlevel 1 (
|
|
52
|
+
echo.
|
|
53
|
+
echo FEHLER: Backend Virtual Environment konnte nicht erstellt werden.
|
|
54
|
+
echo Bitte pruefen, ob Python korrekt installiert ist.
|
|
55
|
+
echo.
|
|
56
|
+
pause
|
|
57
|
+
exit /b 1
|
|
58
|
+
)
|
|
59
|
+
) else (
|
|
60
|
+
echo [2/7] Backend Virtual Environment vorhanden.
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
rem ---------------------------------------------------------------
|
|
64
|
+
rem 3) Backend Dependencies installieren/pruefen
|
|
65
|
+
rem ---------------------------------------------------------------
|
|
66
|
+
echo [3/7] Installiere/pruefe Backend Dependencies ...
|
|
67
|
+
"%BACKEND_DIR%\.venv\Scripts\python.exe" -m pip install -r "%BACKEND_DIR%\requirements.txt"
|
|
68
|
+
if errorlevel 1 (
|
|
69
|
+
echo.
|
|
70
|
+
echo FEHLER: Backend Dependencies konnten nicht installiert werden.
|
|
71
|
+
echo Ursache ist meistens fehlendes Internet, Proxy, Firewall oder ein Python/PIP Problem.
|
|
72
|
+
echo.
|
|
73
|
+
pause
|
|
74
|
+
exit /b 1
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
rem ---------------------------------------------------------------
|
|
78
|
+
rem 4) NPM pruefen
|
|
79
|
+
rem ---------------------------------------------------------------
|
|
80
|
+
where npm >nul 2>nul
|
|
81
|
+
if errorlevel 1 (
|
|
82
|
+
echo.
|
|
83
|
+
echo FEHLER: npm wurde nicht gefunden.
|
|
84
|
+
echo Bitte Node.js LTS installieren und danach diese CMD erneut starten.
|
|
85
|
+
echo.
|
|
86
|
+
pause
|
|
87
|
+
exit /b 1
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
echo [4/7] npm gefunden.
|
|
91
|
+
|
|
92
|
+
rem ---------------------------------------------------------------
|
|
93
|
+
rem 5) Frontend Dependencies installieren/pruefen
|
|
94
|
+
rem ---------------------------------------------------------------
|
|
95
|
+
cd /d "%FRONTEND_DIR%"
|
|
96
|
+
|
|
97
|
+
if not exist "package.json" (
|
|
98
|
+
echo.
|
|
99
|
+
echo FEHLER: frontend\package.json wurde nicht gefunden.
|
|
100
|
+
echo Das Projekt ist unvollstaendig. Bitte ZIP erneut entpacken oder Projektstruktur pruefen.
|
|
101
|
+
echo Erwarteter Pfad: %FRONTEND_DIR%\package.json
|
|
102
|
+
echo.
|
|
103
|
+
pause
|
|
104
|
+
exit /b 1
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
if not exist "node_modules\.vite" (
|
|
108
|
+
echo [5/7] Installiere Frontend Dependencies ...
|
|
109
|
+
call npm install
|
|
110
|
+
if errorlevel 1 (
|
|
111
|
+
echo.
|
|
112
|
+
echo FEHLER: Frontend Dependencies konnten nicht installiert werden.
|
|
113
|
+
echo Ursache ist meistens fehlendes Internet, Proxy, Firewall oder ein Node/NPM Problem.
|
|
114
|
+
echo.
|
|
115
|
+
pause
|
|
116
|
+
exit /b 1
|
|
117
|
+
)
|
|
118
|
+
) else (
|
|
119
|
+
echo [5/7] Frontend Dependencies vorhanden.
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
rem ---------------------------------------------------------------
|
|
123
|
+
rem 6) Backend starten
|
|
124
|
+
rem ---------------------------------------------------------------
|
|
125
|
+
echo [6/7] Starte Backend ...
|
|
126
|
+
start "ME vPLC Backend" /D "%BACKEND_DIR%" "%COMSPEC%" /k ""%BACKEND_DIR%\.venv\Scripts\python.exe" "%BACKEND_DIR%\app.py""
|
|
127
|
+
|
|
128
|
+
call :WAIT_FOR_URL "%BACKEND_URL%" 40
|
|
129
|
+
if errorlevel 1 (
|
|
130
|
+
echo.
|
|
131
|
+
echo FEHLER: Backend ist nicht erreichbar.
|
|
132
|
+
echo Bitte das Fenster "ME vPLC Backend" pruefen.
|
|
133
|
+
echo.
|
|
134
|
+
pause
|
|
135
|
+
exit /b 1
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
echo Backend ist erreichbar.
|
|
139
|
+
|
|
140
|
+
rem ---------------------------------------------------------------
|
|
141
|
+
rem 7) Frontend starten
|
|
142
|
+
rem ---------------------------------------------------------------
|
|
143
|
+
echo [7/7] Starte Frontend ...
|
|
144
|
+
start "ME vPLC Frontend" /D "%FRONTEND_DIR%" "%COMSPEC%" /k "npm run dev"
|
|
145
|
+
|
|
146
|
+
call :WAIT_FOR_URL "%FRONTEND_URL%" 60
|
|
147
|
+
if errorlevel 1 (
|
|
148
|
+
echo.
|
|
149
|
+
echo FEHLER: Frontend ist nicht erreichbar.
|
|
150
|
+
echo Bitte das Fenster "ME vPLC Frontend" pruefen.
|
|
151
|
+
echo.
|
|
152
|
+
pause
|
|
153
|
+
exit /b 1
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
echo Frontend ist erreichbar.
|
|
157
|
+
start "" "%FRONTEND_URL%"
|
|
158
|
+
|
|
159
|
+
echo.
|
|
160
|
+
echo Start erfolgreich abgeschlossen.
|
|
161
|
+
echo Backend und Frontend laufen in separaten Fenstern.
|
|
162
|
+
echo.
|
|
163
|
+
pause
|
|
164
|
+
exit /b 0
|
|
165
|
+
|
|
166
|
+
:WAIT_FOR_URL
|
|
167
|
+
set "CHECK_URL=%~1"
|
|
168
|
+
set "MAX_SECONDS=%~2"
|
|
169
|
+
set /a COUNT=0
|
|
170
|
+
:WAIT_LOOP
|
|
171
|
+
powershell -NoProfile -ExecutionPolicy Bypass -Command "try { $r = Invoke-WebRequest -Uri '%CHECK_URL%' -UseBasicParsing -TimeoutSec 2; if ($r.StatusCode -ge 200 -and $r.StatusCode -lt 500) { exit 0 } else { exit 1 } } catch { exit 1 }" >nul 2>nul
|
|
172
|
+
if not errorlevel 1 exit /b 0
|
|
173
|
+
set /a COUNT+=1
|
|
174
|
+
if !COUNT! GEQ %MAX_SECONDS% exit /b 1
|
|
175
|
+
timeout /t 1 /nobreak >nul
|
|
176
|
+
goto WAIT_LOOP
|