Skip to content

Commit bc76d8c

Browse files
committed
Version 0.36-alpha.
1 parent 9b441d5 commit bc76d8c

12 files changed

+159
-35
lines changed

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
4747
* MongoDB as the real-time core database, persistence layer, config store, SOE historian.
4848
* Event-based realtime async data processing with MongoDB Change Streams.
4949
* Portability and modular interoperability over Linux, Windows, Mac OSX, x86/64, ARM.
50-
* Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.35-alpha).
50+
* Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.36-alpha).
5151
* Unlimited tags, servers, and users.
5252
* Horizontal scalability, from a single computer to big clusters (MongoDB-sharding), Docker containers, VMs, Kubernetes, cloud, or hybrid deployments.
5353
* Modular distributed architecture. Lightweight redundant data acquisition nodes can connect securely over TLS to the database server. E.g. a Raspberry PI can be a data acquisition node.
@@ -75,14 +75,19 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
7575
* Data concentrator for Big Data / ML processing.
7676
* Digital Transformation, Industry 4.0 enabler.
7777

78+
## Real-world usage
79+
80+
* 5+ years of usage in 2 big control center scanning data from 80+ substations, 90k tags.
81+
* 5+ years of usage as HMI for local operation of circa 40 substations up to 230kV level.
82+
7883
## Architecture
7984

8085
![architecture](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/riclolsen/json-scada/master/docs/JSON-SCADA_Arquitecture.txt "{json:scada} Architecture")
8186

8287
## Documentation
8388

8489
* [Generic Install Guide](https://github.com/riclolsen/json-scada/blob/master/docs/install.md)
85-
* [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.35-alpha)
90+
* [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.36-alpha)
8691
* [RedHat/Rocky Linux Installer](https://github.com/riclolsen/json-scada/blob/master/docs/install.md#rhel94-and-compatible-systems-automated-installation)
8792
* [Docker Demo](https://github.com/riclolsen/json-scada/blob/master/demo-docker/README.md)
8893
* [Schema Documentation](https://github.com/riclolsen/json-scada/blob/master/docs/schema.md)
@@ -118,14 +123,14 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
118123
- [x] DNP3 Client (TCP, UDP, TLS, Serial) - Windows x64 only!
119124
- [ ] DNP3 Server (TCP, UDP, TLS, Serial)
120125
- [x] MQTT/Sparkplug-B Client
126+
- [x] Modbus Client via PLC4X-GO
121127
- [x] I104M (adapter for some OSHMI drivers)
122128
- [x] ICCP Client (via I104M)
123129
- [x] Telegraf Client (OPC-UA, MQTT, MODBUS, SNMP, ...)
124130
- [x] OPC UA Client
125131
- [x] OPC UA Server
126132
- [ ] OPC UA Historical Data Server
127133
- [ ] OPC DA Client
128-
- [ ] Modbus Client
129134
- [x] IEC 61850 MMS Client
130135
- [ ] IEC 61850 MMS Server
131136
- [ ] IEC 61850 GOOSE Client
@@ -162,9 +167,8 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
162167
- [ ] PowerBI Direct Integration
163168
- [ ] NodeRed Integration
164169
- [ ] Alerta Integration (https://alerta.io/)
165-
- [ ] PLC4X Integration (https://plc4x.apache.org/)
170+
- [x] PLC4X-GO Integration (https://plc4x.apache.org/)
166171
- [ ] Managed Cloud Service
167-
- [x] SAGE (brazilian SCADA from CEPEL) web displays visualization
168172

169173
## Online Demo (substations simulation)
170174

index.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
4747
* MongoDB as the real-time core database, persistence layer, config store, SOE historian.
4848
* Event-based realtime async data processing with MongoDB Change Streams.
4949
* Portability and modular interoperability over Linux, Windows, Mac OSX, x86/64, ARM.
50-
* Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.35-alpha).
50+
* Windows installer available in the [releases section](https://github.com/riclolsen/json-scada/releases/tag/V0.36-alpha).
5151
* Unlimited tags, servers, and users.
5252
* Horizontal scalability, from a single computer to big clusters (MongoDB-sharding), Docker containers, VMs, Kubernetes, cloud, or hybrid deployments.
5353
* Modular distributed architecture. Lightweight redundant data acquisition nodes can connect securely over TLS to the database server. E.g. a Raspberry PI can be a data acquisition node.
@@ -75,14 +75,19 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
7575
* Data concentrator for Big Data / ML processing.
7676
* Digital Transformation, Industry 4.0 enabler.
7777

78+
## Real-world usage
79+
80+
* 5+ years of usage in 2 big control center scanning data from 80+ substations, 90k tags.
81+
* 5+ years of usage as HMI for local operation of circa 40 substations up to 230kV level.
82+
7883
## Architecture
7984

8085
![architecture](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/riclolsen/json-scada/master/docs/JSON-SCADA_Arquitecture.txt "{json:scada} Architecture")
8186

8287
## Documentation
8388

8489
* [Generic Install Guide](docs/install.md)
85-
* [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.35-alpha)
90+
* [Windows Installer](https://github.com/riclolsen/json-scada/releases/tag/V0.36-alpha)
8691
* [RedHat/Rocky Linux Installer](docs/install.md#rhel94-and-compatible-systems-automated-installation)
8792
* [Install Guide](docs/install.md)
8893
* [Docker Demo](demo-docker/README.md)
@@ -119,6 +124,7 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
119124
- [x] DNP3 Client (TCP, UDP, TLS, Serial) - Windows x64 only!
120125
- [ ] DNP3 Server (TCP, UDP, TLS, Serial)
121126
- [x] MQTT/Sparkplug-B Client
127+
- [x] Modbus Client via PLC4X-GO
122128
- [x] I104M (adapter for some OSHMI drivers)
123129
- [x] ICCP Client (via I104M)
124130
- [x] Telegraf Client (many data sources available such as MQTT, MODBUS, SNMP, ...)
@@ -127,7 +133,6 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
127133
- [ ] OPC UA Historical Data Server
128134
- [ ] OPC UA Server
129135
- [ ] OPC DA Client
130-
- [ ] Modbus Client
131136
- [x] IEC 61850 MMS Client
132137
- [ ] IEC 61850 MMS Server
133138
- [ ] IEC 61850 GOOSE Client
@@ -162,9 +167,8 @@ To provide an easy to use, fully-featured, scalable, and portable SCADA/IIoT-I4.
162167
- [ ] PowerBI Direct Integration
163168
- [ ] NodeRed Integration
164169
- [ ] Alerta Integration (https://alerta.io/)
165-
- [ ] PLC4X Integration (https://plc4x.apache.org/)
170+
- [x] PLC4X-GO Integration (https://plc4x.apache.org/)
166171
- [ ] Managed Cloud Service
167-
- [x] SAGE (brazilian SCADA from CEPEL) web displays visualization
168172

169173
## Online Demo (substations simulation)
170174

platform-rhel9/plc4xclient.ini

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[program:plc4xclient]
2+
; args: instance# loglevel
3+
command=/home/jsonscada/json-scada/bin/plc4x-client 1 1
4+
numprocs=1 ; number of processes copies to start (def 1)
5+
directory=/home/jsonscada/json-scada/bin/ ; directory to cwd to before exec (def no cwd)
6+
user=jsonscada ; setuid to this UNIX account to run the program
7+
redirect_stderr=true ; redirect proc stderr to stdout (default false)
8+
stdout_logfile=/home/jsonscada/json-scada/log/plc4xclient.log ; stdout log path, NONE for none; default AUTO
9+
stdout_logfile_maxbytes=10MB ; max # logfile bytes b4 rotation (default 50MB)
10+
stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
11+
stdout_capture_maxbytes=10MB ; number of bytes in 'capturemode' (default 0)

platform-windows/build.bat

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,20 @@ cd %SRCPATH%\lib60870.netcore\iec104server\
4949
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH%
5050
cd %SRCPATH%\dnp3\Dnp3Client\
5151
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% Dnp3Client.csproj
52-
cd %SRCPATH%\OPC-UA-Client\
53-
rmdir obj /S /Q
54-
rmdir bin /S /Q
55-
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% OPC-UA-Client.csproj
52+
5653
cd %SRCPATH%\libplctag\libplctag.NET\src\libplctag
5754
dotnet build --no-self-contained --runtime win-x64 -c Release -o %BINPATH%
5855
cd %SRCPATH%\libplctag\PLCTagsClient
5956
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% PLCTagsClient.csproj
57+
6058
cd %SRCPATH%\logrotate\
6159
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% logrotate.csproj
6260

61+
cd %SRCPATH%\OPC-UA-Client\
62+
rmdir obj /S /Q
63+
rmdir bin /S /Q
64+
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% OPC-UA-Client.csproj
65+
6366
go env -w GO111MODULE=auto
6467
set GOBIN=c:\json-scada\bin
6568
cd %SRCPATH%\calculations

platform-windows/buildupd.bat

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,20 @@ cd %SRCPATH%\lib60870.netcore\iec104server\
4949
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH%
5050
cd %SRCPATH%\dnp3\Dnp3Client\
5151
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% Dnp3Client.csproj
52-
cd %SRCPATH%\OPC-UA-Client\
53-
rmdir obj /S /Q
54-
rmdir bin /S /Q
55-
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% OPC-UA-Client.csproj
52+
5653
cd %SRCPATH%\libplctag\libplctag.NET\src\libplctag
5754
dotnet build --no-self-contained --runtime win-x64 -c Release -o %BINPATH%
5855
cd %SRCPATH%\libplctag\PLCTagsClient
5956
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% PLCTagsClient.csproj
57+
6058
cd %SRCPATH%\logrotate\
6159
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% logrotate.csproj
6260

61+
cd %SRCPATH%\OPC-UA-Client\
62+
rmdir obj /S /Q
63+
rmdir bin /S /Q
64+
dotnet publish --no-self-contained --runtime win-x64 -p:PublishReadyToRun=true -c Release -o %BINPATH% OPC-UA-Client.csproj
65+
6366
go env -w GO111MODULE=auto
6467
set GOBIN=c:\json-scada\bin
6568
cd %SRCPATH%\calculations

platform-windows/json-scada.nsi

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ RequestExecutionLevel admin
1717

1818
;--------------------------------
1919

20-
!define VERSION "v.0.35"
21-
!define VERSION_ "0.35.0.0"
20+
!define VERSION "v.0.36"
21+
!define VERSION_ "0.36.0.0"
2222

2323
Function .onInit
2424
System::Call 'keexrnel32::CreateMutexA(i 0, i 0, t "MutexJsonScadaInstall") i .r1 ?e'
@@ -134,6 +134,7 @@ SetRegView 64
134134
nsExec::Exec 'net stop JSON_SCADA_opcuaclient'
135135
nsExec::Exec 'net stop JSON_SCADA_opcuaserver'
136136
nsExec::Exec 'net stop JSON_SCADA_mqttsparkplugclient'
137+
nsExec::Exec 'net stop JSON_SCADA_plc4xclient'
137138
nsExec::Exec 'net stop JSON_SCADA_telegraf_runtime'
138139
nsExec::Exec 'net stop JSON_SCADA_telegraf_listener'
139140
nsExec::Exec 'net stop JSON_SCADA_nginx'
@@ -244,7 +245,11 @@ SetRegView 64
244245
File /a "..\platform-windows\nssm.exe"
245246
File /a "..\platform-windows\sounder.exe"
246247
File /a "..\platform-windows\vc_redist.x64.exe"
247-
File /a "..\platform-windows\dotnet-runtime-6.0.31-win-x64.exe"
248+
File /a "..\platform-windows\dotnet-runtime-6.0.32-win-x64.exe"
249+
;File /a "..\platform-windows\gbda_aut.dll"
250+
;File /a "..\platform-windows\gbhda_aw.dll"
251+
;ExecWait `regsvr32 gbda_aut.dll`
252+
;ExecWait `regsvr32 gbhda_aw.dll`
248253

249254
; Visual C redist: needed for timescaledb
250255
;ReadRegStr $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Major"
@@ -258,8 +263,8 @@ SetRegView 64
258263
Sleep 1000
259264
Exec '"$INSTDIR\platform-windows\vc_redist.x64.exe" /install /passive /quiet'
260265
Sleep 1000
261-
Exec '"$INSTDIR\platform-windows\dotnet-runtime-6.0.31-win-x64.exe" /install /passive /quiet'
262-
266+
Exec '"$INSTDIR\platform-windows\dotnet-runtime-6.0.32-win-x64.exe" /install /passive /quiet'
267+
263268
SetOutPath $INSTDIR\platform-windows\nodejs-runtime
264269
File /a /r "..\platform-windows\nodejs-runtime\*.*"
265270

@@ -638,6 +643,11 @@ Section "Uninstall"
638643
ExecWait `"${SC}" delete "JSON_SCADA_mqttsparkplugclient"`
639644
ClearErrors
640645

646+
ExecWait `"${SC}" stop "JSON_SCADA_plc4xclient"`
647+
Sleep 50
648+
ExecWait `"${SC}" delete "JSON_SCADA_plc4xclient"`
649+
ClearErrors
650+
641651
ExecWait `"${SC}" stop "JSON_SCADA_telegraf_listener"`
642652
Sleep 50
643653
ExecWait `"${SC}" delete "JSON_SCADA_telegraf_listener"`
@@ -745,6 +755,9 @@ Section "Uninstall"
745755
ExecWait '"$0" /C "$INSTDIR\platform-windows\remove_services.bat"'
746756
Sleep 5000
747757

758+
; ExecWait `regsvr32 gbda_aut.dll -u`
759+
; ExecWait `regsvr32 gbhda_aw.dll -u`
760+
748761
RMDir /r "$INSTDIR\bin"
749762
RMDir /r "$INSTDIR\platform-windows"
750763
RMDir /r "$INSTDIR\conf"

platform-windows/release_notes.txt

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,34 @@ Inkscape+SAGE:
134134

135135
-------------------------------------------------------------------
136136

137+
Notes for version 0.36:
138+
139+
* Default login credentials: username=admin password=jsonscada.
140+
* Metabase credentials: [email protected] password=jsonscada123.
141+
* New driver PLC4X Client for PLC protocols like Modbus, etc.
142+
* IEC61850 client: fixed size of origin string for commands that was crashing some devices.
143+
* Fixed Bson version errors in server_realtime_auth module.
144+
* MongoDB Compass updated to 1.43.4.
145+
* MongoDB Community Server updated to 7.0.12.
146+
* Grafana updated to 11.1.0.
147+
* Telegraf runtime updated to 1.31.1.
148+
* Nodejs runtime updated to 20.15.1.
149+
* Dotnet runtime updated to 6.0.32.
150+
* Chromium updated to 126.0.6478.183.
151+
* NPM packages updated.
152+
153+
Requirements and recommendations:
154+
155+
* Windows 10/11 64 bits or Server >=2019, Windows PowerShell. At least 20GB of free space in the "C:" drive.
156+
* Administrative rights. corporate Windows policies may cause problems with the creation of services and the opening of TCP ports.
157+
* Free TCP ports 6688, 6689, 27017, 5432, 80, 8080, 3000, 3001, 9000. Other ports may be required for optional services and protocols.
158+
* If the server already has MongoDB, PostgreSQL, Grafana, Metabase, Nginx or another webserver, please uninstall, disable or watch out for possible conflicts.
159+
* Do not update previously installed JSON-SCADA. Please uninstall previous JSON-SCADA versions before installing a new version.
160+
* If using VirtualBox configure "paravirtualization interface"=KVM, otherwise Nodejs errors may occur.
161+
* MongoDB requires AVX instructions on x86 CPU.
162+
163+
-------------------------------------------------------------------
164+
137165
Notes for version 0.35:
138166

139167
* Default login credentials: username=admin password=jsonscada.
@@ -213,7 +241,7 @@ Notes for version 0.32:
213241
* Added OpenJDK 22.0.1.
214242
* Telegraf runtime updated to 1.30.2.
215243
* MongoDB Community Server updated to 7.0.9.
216-
* MongoDB Compass updated to 1.44.0.
244+
* MongoDB Compass updated to 1.43.0.
217245
* Grafana updated to 9.5.18, now connect to local PostgreSQL.
218246
* Dotnet runtime updated to 6.0.29.
219247
* Nodejs runtime updated to 20.13.1.

src/htdocs/i18n/messages_i18n-en_us.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
var Msg =
55
{
66
NomeProduto: '{json:scada}',
7-
VersaoProduto: '0.35',
7+
VersaoProduto: '0.36',
88

99
NomeVisorTelas: 'Display Viewer',
1010
NomeVisorEventos: 'Events Viewer',

src/htdocs/i18n/messages_i18n-pt_br.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
var Msg =
55
{
66
NomeProduto: '{json:scada}',
7-
VersaoProduto: '0.35',
7+
VersaoProduto: '0.36',
88

99
NomeVisorTelas: 'Visor de Telas',
1010
NomeVisorEventos: 'Visor de Eventos',

src/htdocs/i18n/messages_i18n-uk_ua.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
var Msg =
55
{
66
NomeProduto: '{json:scada}',
7-
VersaoProduto: '0.35',
7+
VersaoProduto: '0.36',
88

99
NomeVisorTelas: 'Перегляд ',
1010
NomeVisorEventos: 'Події',

src/htdocs/i18n/messages_i18n.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
var Msg =
55
{
66
NomeProduto: '{json:scada}',
7-
VersaoProduto: '0.35',
7+
VersaoProduto: '0.36',
88

99
NomeVisorTelas: 'Display Viewer',
1010
NomeVisorEventos: 'Events Viewer',

0 commit comments

Comments
 (0)