MES & Matrix.Drive 4.0

Deze pagina beschrijft MatrixKozijn Project Manufacturing Execution System (MatrixProject MES). Hier wordt ingegaan over de opbouw van het gehele systeem. MatrixProject MES is beschikbaar vanaf de MatrixKozijn Project versie 4.0.
Deze pagina is van toepassing voor MatrixKozijn Project 4.0.

Vanaf MatrixKozijn Project 3.0 Service pack 2 is er een Configuratie Tool beschikbaar om de services in te richten, te starten en de logs te bekijken.
Kies in de Configuratie Tool voor Wizard Configuratie om een wizard te starten die u begeleid in een aantal stappen bij de configuratie.

MatrixProject_ConfiguratieTool_40.png

Opbouw MatrixProject MES

MatrixProject MES bestaat uit verschillende onderdelen.

De onderstaande afbeelding geeft een schematisch overzicht:

MatrixProject 4.0 MES diagram
MatrixProject MES diagram

Onderdelen van MatrixProject MES:

Pas op: Gebruik voor het bewerken van mongod.cfg een geschikte editor (bijvoorbeeld https://notepad-plus-plus.org/downloads/).

Matrix.Drive.Server

Matrix.Drive.Server is een NodeJS server die het documentenbeheer via Matrix.Drive regelt. Deze vervangt het documentenbeheer in MatrixKozijn Project 2.4.

De service Drive.exe wordt als een Windows service geregistreerd tijdens de installatie via 'NssM'.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

Standaard draait deze service op poort 1337.

De configuratie wordt ook opgeslagen in het bestand config.json in de map van de service:

{
  "production": {
    "config_id": "production",
    "port": 1337,
    "host": "0.0.0.0",
    "file_storage_location": "c:\\Matrix\\MatrixDrive",
    "backups_location": "c:\\Matrix\\MatrixDrive_BAK",
    "mongo_tools_location": "c:\\Program Files\\MongoDB\\Server\\4.2\\bin",
    "database_connection": "mongodb://matrix_drive:mx4ever@localhost:27017/file-storage",
    "jwtPrivateKey": "bXg0ZXZlcg==",
    "cloud": [
      {
        "id": "mxk",
        "host": "http://publichostname",
        "port": 2000
      }
    ],
        "migrate": {
            "direction": "up"
        }
  }
}

De configuratie bevat twee secties. Standaard wordt de sectie production gebruikt.

Wijzig eventueel waardes in de production sectie voor aangepaste instellingen:

  • port
    De poort waarop de service bereikt kan worden.
  • host
    De host waarop de Matrix.Drive service bereikt kan worden.
  • file_storage_location
    De locatie waar de bestanden worden opgeslagen. Deze kan aangepast worden naar een andere locatie.
    UNC paden (https://en.wikipedia.org/wiki/Path_(computing)#UNC) zijn toegestaan.
    Bijvoorbeeld: 
    \\ComputerName\SharedFolder\Resource
    

    Het account waaronder de Matrix.Drive.Server draait dient voldoende rechten te hebben op de opgegeven locatie om bestanden te schrijven (Modify).
    Het is aan te raden een netwerk share te gebruiken waar de service toegang tot heeft, maar normale gebruikers niet.
    Belangrijk: Gebruik geen drive mappings/redirected drives maar altijd een volledige verwijzing naar een netwerk share of een lokale map (zie ook: https://docs.microsoft.com/en-us/windows/win32/services/services-and-redirected-drives).
    Bij het gebruik van een "\" dient de door een "\" vooraf gegaan te worden om het teken te 'escapen'.
    Voor het aanpassen van het account waaronder de service draait zie: Matrix.Drive.Server service account
  • backups_location
    De locatie waar de backups worden weggeschreven
  • mongo_tools_location
    Locatie naar de tools bestanden van MongoDB
  • database_connection
    Database verbinding naar MongoDB database. De gebruiker matrix_drive met wachtwoord mx4ever is tijdens de installatie aangemaakt.
  • jwtPrivateKey
    Een sleutel (https://jwt.io/) om de gebruiker te versleutelen

Foutopsporing

De Matrix.Drive.service service schrijft zijn logs in de map log binnen de installatiemap van de service.
Indien men inlogt op de site van de service (http://iphost:port) dan wordt men doorvewezen naar een pagina die het laatste log toont.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

MongoDB

Matrix.Drive maakt gebruik van MongoDB om de objecten op te slaan in een Object database.
Zie ook: https://www.mongodb.com/download-center/community

Minimaal vereist is mongodb-win32-x86_64-2012plus-4.2.5-signed. MongoDB  (Community Edition) kan door de setup van MatrixProject gedownload en geïnstalleerd worden. Eventueel kan MongoDB handmatig geïnstalleerd worden door deze te downloaden via de volgende link: https://downloads.matrix-software.biz/misc/MongoDB/mongodb-win32-x86_64-2012plus-4.2.5-signed.msi.

De standaard installatie locatie is: %programfiles%\MongoDB\Server\4.2.

Standaard draait deze service op poort 27017.

Met het bestand mongod.cfg in %programfiles%\MongoDB\Server\4.2\bin kan MongoDB geconfigureerd worden.

Matrix.Drive.File.Processing.Service

Webservice voor het verwerken van gegevens (Barcodes,RFID) naar de MatrixKozijn Hout en Kunststof Projecten.
De webservice wordt aangeroepen vanuit de MatrixProject applicaties (Client, Database Management Tool) en kan draaien op een centrale server.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

De configuratie wordt ook opgeslagen in het bestand Matrix.Drive.File.Processing.Service.exe.json:

{
  "database_connection": "Data Source=localhost\MATRIX;initial catalog=MatrixKozijn;user id=ADMIN;password=;application name=MxP",
  "drive_connection": "http://localhost:1337",
  "drive_user": "admin",
  "drive_pass": "admin",
  "kozijn_web_connection": "http://localhost:8080/MxKozijnWeb/service",
  "timeout": 600,
  "barcode_rfid_flush_interval": 60
}

Voorwaarden:

  • drive_user dient een gebruiker van Matrix.Drive te zijn.
  • database_connection dient een login te zijn met een bestaande gebruiker met rechten in de MatrixProject database.

Foutopsporing

De service schrijft meldingen en fouten naar het Windows Aplication eventlog.
Zoek naar de bron Matrix.Drive.File.Processing.Service.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

Matrix.MxProject.MxKozijn.Web.Service

Service voor het werken met MatrixKozijn Hout 3.5 en MatrixKozijn Kunststof 3.0 projecten. Verzorgt het calculeren van gegevens en andere zaken.

Deze service wordt niet gebruikt voor MatrixKozijn Hout 4.0 en MatrixKozijn Kunststof 4.0 projecten. Bij deze versies wordt de MatrixKozijnAPI40 gebruikt.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

Standaard draait deze service op poort 8080.

De service wordt automatisch gekoppeld aan alle IP-adressen van de server waarop de service draait (bij instelling IP = 0.0.0.0). Indien gewenst kan de service op een vast IP-adres worden geconfigureerd.

De configuratie wordt ook opgeslagen in het bestand  Matrix.MxProject.MxKozijn.Web.Service.exe.json:

{
    "baseAddress": "http://0.0.0.0:8080/MxKozijnWeb/service",
    "drive_connection": "http://localhost:1337",
    "drive_user": "admin",
    "drive_pass": "",
    "calculation_func_path": "Matrix.MxProject.MxKozijn.Web.Func.exe",
    "calculation_func_cache_expire": 3600,
    "timeout": 600
}

Voorwaarden:

  • drive_user dient een gebruiker van Matrix.Drive te zijn.

Tip: Draai deze service onder een lokaal account om de instellingen voor het tekenen van kozijnmerken in de website over te nemen van deze gebruiker.

Foutopsporing

De service schrijft meldingen en fouten naar het Windows Aplication eventlog.
Zoek naar de bron Matrix.MxProject.MxKozijn.Web.Service.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

MatrixKozijn API 40

Service voor het werken met MatrixKozijn Hout 4.0 en MatrixKozijn Kunststof 4.0 projecten. Verzorgt het calculeren van gegevens en andere zaken.

Standaard draait deze service op poort 2000.

Voor details zie het artikel MatrixKozijn API 40.

Deze service wordt niet gebruikt voor MatrixKozijn Hout 3.5 en MatrixKozijn Kunststof 3.0 projecten. Bij deze versies wordt de Matrix.MxProject.MxKozijn.Web.Service gebruikt.

Matrix.MxProject.WorkStation.Service

Service voor het afhandelen van werkplekken.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

Standaard draait deze service op poort 8000.

De service wordt automatisch gekoppeld aan alle IP-adressen van de server waarop de service draait (bij instelling IP = 0.0.0.0). Indien gewenst kan de service op een vast IP-adres worden geconfigureerd.

De configuratie wordt ook opgeslagen in het bestand Matrix.MxProject.WorkStation.Service.exe.json:

{
  "baseAddress": "http://0.0.0.0:8000/WorkStation/service",
  "license_server": "localhost",
  "license_code": "99999999",
  "database_connection": "Data Source=localhost\MATRIX;initial catalog=MatrixKozijn;user id=ADMIN;password=;application name=MxP",
  "drive_connection": "http://localhost:1337",
  "drive_user": "admin",
  "drive_pass": "admin",
  "kozijn_web_connection": "",
  "reports_printing_connection": "",
  "timeout": 600
}

Instellingen:

  • baseAddress
    Het adres en poort waarop de service draait. Standaard draait deze service op poort 8000 op localhost.
    Wanneer deze poort/host aangepast wordt dient deze ook in Matrix.MES.Server aangepast te worden.
  • license_server
    De licentie server voor het ophalen van de licentie. Zie ook Licenties.
  • license_code
    De code (licentienummer) van de te gebruiken licentie
  • database_connection
    Database verbinding naar de MatrixProject database. Geef een gebruiker op met permissies in de MatrixProject database.
  • drive_connection
    De verbinding naar de Matrix.Drive server
  • drive_user
    De Matrix.Drive login die gebruikt word om Matrix.Drive te benaderen

Foutopsporing

De service schrijft meldingen en fouten naar het Windows Aplication eventlog.
Zoek naar de bron Matrix.MxProject.WorkStation.Service.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

Matrix.MES.Server

Matrix.MES.Server is een NodeJS server die de websites op de werkplekken toont.

De service MES.exe wordt als een Windows service geregistreerd tijdens de installatie via 'NssM'.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

De website draait bij een standaard installatie op poort 1338 op de machine waar de service is gestart.

De service wordt automatisch gekoppeld aan alle IP-adressen van de server waarop de service draait (bij instelling IP = 0.0.0.0). Indien gewenst kan de service op een vast IP-adres worden geconfigureerd.

Het benaderen van camera's werkt alleen in een beveiligde website (HTTPS), hiervoor is het noodzakelijk om een certificaat en bijbehorende key op te geven.

Het is ook mogelijk om de website op meerdere poorten/adressen te laten draaien. Zo kan bijvoorbeeld de beveiligde website op een andere poort geconfigureerd worden.

De configuratie wordt ook opgeslagen in het bestand config.json in de map van de service:

[
  {
    "host": "0.0.0.0",
    "port": 1338,
    "workstation_host": "http://localhost:8000/WorkStation/service",
    "certificate": "",
    "private_key": ""
  },
  {
    "host": "0.0.0.0",
    "port": 1339,
    "workstation_host": "http://localhost:8000/WorkStation/service",
    "certificate": "D:\\OpenSSLCertificate\\server.cert",
    "private_key": "D:\\OpenSSLCertificate\\server.key"
  }
]
  • host
    De host of het IP-adres waarop de service draait
  • port
    De poort waarop de service draait
  • workstation_host
    De verwijzing naar de Matrix.MxProject.WorkStation.Service
    Wanneer de Matrix.MxProject.WorkStation.Service op een ander IP-adres draait (dan localhost) of op een andere poort draait (dan 8000) dan dient de locatie naar Matrix.MxProject.WorkStation.Service aangepast te worden
    Voorbeeld wanneer de Matrix.MxProject.WorkStation.Service draait op 192.168.100.10:8004:
    "workstation_host": "http://192.168.100.10:8004/WorkStation/service"
  • certificate
    Certificaat voor het draaien van de service als https
  • private_key
    Private key voor het certificaat

Matrix.MxProject.ReportsPrinting.Service

Service voor het printen van rapporten.

Configuratie

Via de Configuratie Tool kan de configuratie aangepast worden (zie ook: Configuratie MatrixKozijn Project Services 4.0 Server).

Standaard draait deze service op poort 8060.

De configuratie wordt ook opgeslagen in het bestand Matrix.MxProject.ReportsPrinting.Service.exe.json:

{
  "baseAddress": "http://0.0.0.0:8060/ReportsPrinting/service",
  "license_server": "localhost",
  "license_code": "99999999",
  "database_connection": "Data Source=localhost\MATRIX;initial catalog=MatrixKozijn;user id=ADMIN;password=;application name=MxP",
  "reports_directory": "Reports",
  "timeout": 600,
  "locale": "nl",
  "kozijn_web_connection": "http://localhost:8080/MxKozijnWeb/service",
  "drive_connection": "http://localhost:1337",
  "drive_user": "admin",
  "drive_pass": ""
}

Instellingen:

  • license_server
    De licentie server voor het ophalen van de licentie. Zie ook Licenties.
  • license_code
    De code (licentienummer) van de te gebruiken licentie
  • database_connection
    Database verbinding naar de MatrixProject database. Geef een gebruiker op met permissies in de MatrixProject database.
  • reports_directory
    Pad naar de map waar de rapporten zijn opgeslagen
  • timeout
    Timeout in seconden voor de service
  • locale
    De taal die gebruikt wordt voor de rapporten ("nl" = Nederlands, "en" = Engels)

Foutopsporing

De service schrijft meldingen en fouten naar het Windows Aplication eventlog.
Zoek naar de bron Matrix.MxProject.ReportsPrinting.Service.

Ook kunnen de logs eenvoudig bekenen worden via de Configuratie Tool.

Rapporten toekennen aan werkplekken

In MatrixProject kunnen rapporten toegekend worden aan acties per Werkplek:

  1. Afdrukken bij starten van het Merk
    Rapporten van gegevenstype: Fase Merk
  2. Afdrukken bij voltooien van het Merk
    Rapporten van gegevenstype: Fase Merk
  3. Afdrukken nadat de Merken aan Levering zijn toegevoegd
    Rapporten van gegevenstype: Fase Merk
  4. Afdrukken nadat een Levering geladen is
    Rapporten van gegevenstype: Levering
  5. Afdrukken nadat een Bok geladen is
    Rapporten van gegevenstype: Bok

Firewall

Indien de services van MatrixProject vanaf andere locaties benaders worden is toegang via de firewall nodig.

Bij standaard instellingen draaien de services op de volgende poort. Zorg dat deze poorten opnen staan (inbound) in de firewall:

  • Matrix.Drive.Server: poort 1337 TCP
  • Matrix.MxProject.WorkStation.Service poort 8000 TCP
  • Matrix.MxProject.MxKozijn.Web.Service poort 8080 TCP
  • Matrix.MES.Server poort 1338 TCP
  • Matrix.MxProject.Web.Service 8025 TCP
  • Matrix.Project.Server poort 1335 TCP

Wordt gebruik gemaakt van de Windows Firewall dan kunnen de Firewall regels eenvoudig toegevoegd worden via de Nestsh.exe app van Microsoft.
Het onderstaande script voegt de Firewall regels toe via de Netsh.exe app:

netsh advfirewall firewall add rule name="Matrix.Drive.Server 1337 TCP" dir=in action=allow protocol=TCP localport=1337
netsh advfirewall firewall add rule name="Matrix.MxProject.WorkStation.Service 8000 TCP" dir=in action=allow protocol=TCP localport=8000
netsh advfirewall firewall add rule name="Matrix.MxProject.MxKozijn.Web.Service 8080 TCP" dir=in action=allow protocol=TCP localport=8080
netsh advfirewall firewall add rule name="Matrix.MES.Server 1338" dir=in action=allow protocol=TCP localport=1338
netsh advfirewall firewall add rule name="Matrix.MxProject.Web.Service 8025 TCP" dir=in action=allow protocol=TCP localport=8025
netsh advfirewall firewall add rule name="Matrix.Project.Server 1335 TCP" dir=in action=allow protocol=TCP localport=1335