La prima Transazione SAP MII

In questo articolo vi spiegherò come creare la nostra prima Transazione in SAP MII 15.1 utilizzando il Workbench.

Il primo passo da fare e scaricare il Workbench accedendo al menu amministrativo di SAP MII ci loggeremo quindi sul portale
http://SERVER_MII_HOST_NAME:50000/XMII/

Andremo quindi nel menu Content Development e selezioneremo Workbench per scaricare il file eseguibile per accedere appunto al Workbench di SAP MII, normalmente sarà necessario cambiarne l’estenzione in*.jnlp

Possiamo quindi eseguire il Workbench e loggarci.

Una volta aperto possiamo andare nel Tab Catalog e successivamente creare una nuova transazione dal menu File => New =>Transaction

Apparirà un nuovo tab con il nome “Untitled” con al suo interno un Sequence Box.

Selezioniamo il Sequence Box e andiamo nel tab Actions in basso a sinistra, scegliamo ad esempio Logging => Tracer e facciamo doppio click, la action scelta sarà inserita nel Sequence Box selezionato.

Clickando con il tasto destro del mouse sulla action entreremo nel suo menu, e possiamo selezionare Properties. Da qui sarà possibile dare un nome e una descrizione alla singola action.

Ora possiamo andare dentro Configure Object, per il Tracer potremo quindi definire il messaggio da visualizzare.

Click su OK per confermare, nel caso dovessimo configurare qualche proprietà più specifica possiamo andare dentro Configure Links

Per un Tracer abbiamo le proprietà Message e Level come in Configure Object, ma la differenza è che nei Link possiamo utilizzare espressioni, funzioni e altri dati disponibili per valorizzare le nostre proprietà.

A questo punto abbiamo la nostra prima Transazione pronta per essere testata, ovviamente la Transazione attuale logga solo un messaggio nella console, quindi è necessario inserire nuovi Sequence box con nuove Actions per avere una Transazione completa e funzionante.

In ogni caso la Transazione è pronta all’uso quindi possiamo testarla eseguendola tramite il menu Transaction => Execute.

Ed ecco che a fine esecuzione SAP MII ci mostra il log dell’esecuzione stessa con al suo interno il nostro messaggio di prova loggato dal Tracer che abbiamo creato.

Ora non ti resta che esplorare tutte le possibili Actions da usare per creare le tue Transazioni in SAP MII!

Ah ricordati di Salvare!

Segnali ModBus con SAP PCo verso SAP MII

Il Modbus è un protocollo di comunicazione seriale creato nel 1979 usato per mettere in comunicazione i PLC (Programmable Logic Controller). Standard nella comunicazione di tipo industriale, è uno dei protocolli di connessione più diffusi al mondo fra i dispositivi elettronici industriali.

Durante lo sviluppo di un sistema MES Custom ho avuto necessità apprendere come mettere in comunicazione lo shop floor con i sistemi informatici a livello più alto, dovendo quindi interfacciare sistemi di campo, quali dispositivi ModBus, verso il sistema di integrazione ad alto livello SAP MII (SAP Manufacturing Integration and Intelligence).

Tali dispositivi sono stati utilizzati per ricevere determinati segnali dal campo some sensori di vario tipo o al contrario per comandare azioni o allarmi in generale.

Per mettere in comunicazione un dispositivo ModBus con SAP MII è stato usato come standart SAP PCo (Plant Connectivity). Questo modulo permette infatti di collegare alcuni sistemi Sorgente ( ad esempio ModBus) ad alcuni sistemi Destinazione (ad esempio SA MII) esponendo di fatto un windows service che ne gestisce la connessione e la comunicazione tra i due.

La prima cosa da fare è quindi configurare i due sistemi!

La Sorgente ModBus avrà bisogno di alcune informazioni base per la connessione e per configurare i tag da gestire.

Sarà quindi necessario configurare nel tab “ModBus Agent” l’indirizzo IP del dispositivo (host) e la porta sulla quale connettersi (default 502) per una connessione via TCP, il Response timeout (200ms di default) ed il Minimum Update Rate (20ms di default). Nel tab “Tag Definition” saranno configurati i tag, per ognuno di questi andrà definito un nome univoco, il tipo (es boolean per i segnali), l’indirizzo ModBus e l’update rate che di default è 1000 ms.
L’update rate del singolo tag sarà valido se maggiore del Minimum Update Rate definito nel tab “ModBus Agent”.

A questo punto possiamo configurare il Sistema Destinazione.
Solitamente ne utilizzo almeno due:
– Simulation Destination System: per testare la connessione in caso di notifica
– MII Destination System: come sistema reale di destinazione.

Simulation Destination System
La configurazione è decisamente semplice, basta infatti inserire il path dove vogliamo che i file di test XML siano salvati.

MII Destination System
Per configurare questa destinazione abbiamo bisogno di conoscere il server MII (IPAddress o hostName), la porta del XMII (50000 di default), la versione di MII e avere un’utenza valida. Da qui sarà possibile tramite apposito bottone, testare la connessione appena configurata.

Una volta configurati sorgente e destinazione, possiamo creare il nostro primo agente Modbus.
Per crearlo bisognerà selezionarne la sorgente creata in precedenza ed assegnargli un nome.

A questo punto il nostro agente è già creato e pronto ad essere utilizzato, saremo infatti in grado di vedere questo agente nella lista dei windows services.

Per andare a leggere i nostri tag e soprattutto per catturare eventi di variazioni sui nostri tag, dovremo andare nel tab “Subscription Item” ed appunto sottoscrivere il nostro tag da monitorare, spuntando la casella “only changes”. In questo modo PCo pur leggendo a cadenza regolare il singolo tag, effettuerà l’azione richiesta solo quando determina una variazione del valore del tag stesso.

Quindi per poter comunicare questa variazione al nostro sistema di destinazione, creeremo una notifica all’interno del nostro agente e nel tab “Output” creeremo il messaggio che vogliamo ricevere, ovviamente può essere importante o fondamentale aggiungere in tale messaggio il valore del tag sottoscritto.

Andando nel tab “Destinations” aggiungeremo la nostra destinazione dove vogliamo che il messaggio sia inviato, qui possiamo scegliare più destinazioni contemporaneamente a seconda delle esigenze.
Nel caso di “Simulation Destination System” quando la notifica viene triggerata, un file XML sarà generato, nel caso invece di “MII Destination System” dovremo navigare all’interno del nostro Catalog e selezionare quale transazione vogliamo che venga eseguita, tale transazione sarà quindi eseguita da PCo passando in input il messaggio configurato, sempre sotto forma di XML.

Questo un esempio di messaggio generato:

<?xml version="1.0" encoding="UTF-8"?>
<NotificationMessage>
   <Header>
      <Name>Test</Name>
      <Description><![CDATA[Test]]></Description>
      <Destination>test</Destination>
      <CreatedDate>2019-04-07T14:45:13</CreatedDate>
      <ID>2a24f595-b18d-4164-9abe-0bb19b47a254</ID>
      <Status>Delivered</Status>
   </Header>
   <Body>
      <Values>
         <value type="xsd:string" quality="Good" timeStamp="2019-04-07T14:45:13.7119393Z"><![CDATA[Value-1]]></value>
      </Values>
   </Body>
   <Faults />
</NotificationMessage>

Abbiamo visto come è possibile configurare in pochi passi una comunicazione tra un device ModBus presente sul campo e un sistema destinazione come SAP MII semplicemente configurando un servizio esposto e gestito da SAP PCo.
Ovviamente SAP PCo può gestire altri tipi di sistemi Sorgente e Destinazione da scegliere a seconda dei casi di utilizzo.