# MAPO-IOB-WIN

Qui sono raccolte le informazioni relative al sw **MAPO-IOB-WIN**, progetto per IOB windows based

- funzionamento base come IOB-PI
- autoupdate
- nascosta nel tray

<!-- TOC -->autoauto- [MAPO-IOB-WIN](#mapo-iob-win)auto  - [Standard Tecnici](#standard-tecnici)auto  - [Setup Salt Based](#setup-salt-based)auto  - [Setup - old (da rivedere)](#setup---old-da-rivedere)auto  - [Applicativo](#applicativo)auto  - [Siemens](#siemens)autoauto<!-- /TOC -->

## Standard Tecnici

Il progetto impiega i seguenti standard tecnici:

- asp.net / C# (W-IOB)

## Setup Salt Based

Il computer deve avere

- un account admin
  - username: **steamware**
  - pwd: musicale numerica standard
- un account utente base
  - username: **IOB**
  - pwd: viadante16
- saltminion (via chocolatey) con la seguente procedura

- A questo indirizzo http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/IOB-WIN.zip si trova un file ZIP che contiene il BAT da avviare ed il file XML del dask da importare: 
  - va creato task di avvio per avviare il programma c:\Steamware\IOB-WIN, per fare prima sfruttare XML da importare in "Utilita di Pianificazione" (modificando "al login" in modo che prenda nome PC corrente) che si trova nello zip (**STEAM-IOB-WIN.xml**)
  - va usato il file bat di avvio compreso nello zip (**Start-IOB-WIN.bat**)
  
- interfaccia di rete configurata in base al cliente (rete dedicata? rete aziendale?)


Appunti da rivedere:
 * inserito salt state iobWin
 * inserito autologin by sysinternals (VA ESEGUITO POI)
 * inserito download MAPO-.IOB-WIN da SWS, protare a nexus (con md5...) finendo jenkinsfile di pubblicazione

## Setup - old (da rivedere o cancellare)

- sul pc vanno installati preventivamente i files di test per il controller (es FANUC) x verificare corretta configurazione rete/porte/firewall del PC e del CN
- vanno installati sw "standard", prendendoli da **\\\\freenas02\Software\Win\IOB**
  - Notepad++
  - WinMerge
  - WinDirStat
  - MTail (manualmente in c:\Programmi(x86))
  - Fanuc Libs (FOCAS)

  Oppure meglio ancora dal web all'indirizzo
  - http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/BaseSw/

- se si installa il FOCAS library detector server dotNet 3.5 --> con win 10 18.03 non si installa --> conviene andare su WIN --> "Attiva e disattiva funzionalità windows" --> si richiede install da li... (https://docs.microsoft.com/it-it/dotnet/framework/install/dotnet-35-windows-10)

- va installato IOB-WIN (prima versione) dall'indirizzo specificato all'URL http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/develop/manifest.xml
- va configurato correttamente il file INI in **C:\Steamware\IOB-WIN\DATA\CONF\IOB.ini** specificando ID impianto, tipo adapter, URL, e SOPRATTUTO IL BRANCH del progetto (Jetco, develop,...) sito in fondo al file
- impostare visualizzazione nella tray basso dx dei programmi predefiniti ("seleziona icone da visdualizzare sulla barra..." --> **mostra sempre tutte** oppure selezionare task manager, IOB-WIN, ...)
- va creato task di avvio per avviare il programma c:\Steamware\IOB-WIN, per fare prima sfruttare XML da importare in "Utilita di Pianificazione" (modificando "al login" in modo che prenda nome PC corrente) che si trova all'indirizzo http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/STEAM-IOB-WIN.xml
- va abilitato autologin di windows (usare Netplwiz, vedere http://www.intowindows.com/how-to-automatically-login-in-windows-10/)
  - WIN + R --> **Netplwiz**
  - Aggiungere utente (se non ci fosse) come account locale (IOB/viadante16)
  - selezionare account desiderato e togliere segno di spunta a "utente deve inserire password per login" --> apply così compare dialogo conferma
  - impostare **Automatic SignIn**/**Accesso Automatico** confermando la pwd dell'utente
- **Disabilitare** infine **gli aggiornamenti di windows** per evitare che il PC possa avere problemi e/o riavviarsi in automatico (Win10):
  - servizi (come amministratore)
  - vedere proprietà del servizio
  - **arrestare** se avviato, mettere **Disabilitato**
  - verificare non riparta con windows update (NON DEVE funzionare...)

## Applicativo

L'applicativo si basa in parte sulle esperienze MTC per comunicazione con i controlli NC (Fanuc, ...) ma sopratutto si basa sull'architettura del sw python di IOB-PY per la lettura di informazioni (via rete e non leggendo via parallela degli input elettrici) dai CNC e l'invio dei segnali con il "Protocollo Mapo" al server centrale


## Siemens

Per accedere ai PLC siemens è necessario abilitare, da TIA PORTAL, la possibilità di avere permissionx leggere put/get:

- andare nel TIA portale Siemens
- protezione > Meccanismi di collegamento > consenti put /get


![ConfSiemens_01](images/ConfTiaPortal_01.png)
![ConfSiemens_02](images/ConfTiaPortal_02.png)

Alcuni riferimenti:
- 
https://www.mesta-automation.com/how-to-write-a-siemens-s7-plc-driver-with-c-and-sharp7/


NB:verificato su alcuni casi (es Aprochim) che le memorie "alte" non funzionano / non vengono lette correttamente...