Ricerca:

System integrator solutiontechnology

Soluzioni di integrazione con Erp Esolver-JGalileo. Consulenza gestionale. Organizzazione processi aziendali. Agile Software. Applicazioni Cloud.

Tecnologia Consulenza

Servizi Consulenza Analisi

Erp gestionali, sistemi di integrazione, api, progettazione integrazioni, consulenza, project management

Collaborazioni

Collaboro con la comunity FAQ400. Faq400 nasce con l’idea di creare in Italia un punto di riferimento per tutto ciò che riguarda la piattaforma Power IBM i

Processi semplici

Mappare i processi gestionali. Organizzazione aziendale.

Sviluppo

Sviluppo di applicazioni di integrazione: rpgfree, python, javascript

Blog

Articoli

Attenti a Quei Tre: La Forza di RPGFree, Python e Java sulla Piattaforma IBM i

Attenti a Quei Tre: La Forza di RPGFree, Python e Java sulla Piattaforma IBM i

Premessa

Nella galassia delle tecnologie IBM i, tre linguaggi spiccano per la loro potenza, versatilità e adattabilità: RPGFree, Python e Java. Come i protagonisti della famosa serie “Attenti a Quei Due”, anche questi linguaggi hanno caratteristiche distintive che, se usate insieme, possono portare enormi benefici. Scopriamo come ciascuno di essi contribuisce a rendere la piattaforma IBM i una scelta ancora più potente, moderna e sicura per le aziende.

RPGFree: sicurezza e potenza

RPG è da sempre il cuore delle applicazioni su IBM i, ma con la versione free-format (RPGFree), il linguaggio ha subito un’evoluzione che lo rende più leggibile, moderno e flessibile. RPGFree mantiene la potenza e la familiarità del vecchio RPG, ma con una sintassi rinnovata che lo rende più accessibile alle nuove generazioni di sviluppatori. Le principali caratteristiche includono:

  • Leggibilità Migliorata: La sintassi free-format rende il codice meno denso e più simile ad altri linguaggi moderni.
  • Efficienza e Performance: Mantiene la storica efficienza di RPG, ottimizzata per l’hardware IBM i.
  • Facilità di Integrazione: RPGFree si integra perfettamente con altri linguaggi e tecnologie presenti su IBM i.

Python: chiaro, potente e flessibile

Python è diventato uno dei linguaggi più popolari al mondo per la sua semplicità e versatilità. Sulla piattaforma IBM i, Python offre una vasta gamma di librerie e strumenti che consentono di sviluppare applicazioni moderne, gestire i dati e automatizzare processi complessi. Le sue principali caratteristiche sono:

  • Facilità di Uso: Python è noto per la sua curva di apprendimento ridotta e la leggibilità del codice.
  • Ecosistema Ricco: Grazie alla sua enorme community, Python dispone di una vasta gamma di librerie per ogni esigenza, dall’analisi dati al machine learning.
  • Integrazione con IBM i: Può essere utilizzato per estendere le funzionalità delle applicazioni RPG esistenti o per sviluppare nuove applicazioni da zero.

Java: linguaggio di alto livello per applicazioni enterprise

Java, con la sua filosofia “write once, run anywhere”, è ideale per lo sviluppo di applicazioni che devono operare in ambienti eterogenei. Sulla piattaforma IBM i, Java consente di creare applicazioni scalabili, robuste e altamente performanti. Le sue principali caratteristiche sono:

  • Portabilità: Java consente di scrivere applicazioni che possono essere eseguite su qualsiasi piattaforma, inclusa IBM i.
  • Robustezza e Sicurezza: È noto per la sua gestione avanzata della memoria e la sicurezza integrata.
  • Ampia Adozione nelle Imprese: Java è ampiamente utilizzato nelle grandi aziende, facilitando l’integrazione tra diverse applicazioni e sistemi.

Sinergia dei Tre Linguaggi: Una Piattaforma Potenziata Utilizzati insieme, RPGFree, Python e Java creano una sinergia che amplifica le capacità di IBM i. RPGFree gestisce i processi core, Python aggiunge agilità e nuove funzionalità, mentre Java fornisce scalabilità e integrazione.

Questo trio offre una flessibilità senza precedenti, permettendo alle aziende di modernizzare le loro applicazioni senza perdere l’affidabilità delle loro soluzioni legacy.

Conclusione La combinazione di RPGFree, Python e Java rende IBM i non solo una piattaforma storica ma una scelta moderna, potente, sicura per le esigenze aziendali attuali. Ogni linguaggio porta il suo set unico di strumenti e vantaggi, permettendo alle aziende di essere più reattive, innovative e competitive. Quindi, davvero, attenti a quei tre: insieme, possono trasformare la tua strategia IT!

 

Fabbrica 4.0

Tipologie di protocollo

Mtconnect

Mtconnect è uno standard opensource.

Tutti i dati della macchina sono disponibili connettendosi via ethernet alla macchina e mettendo un software di raccolta dati (per esempio Putty) in ascolto alla porta 7878 della macchina (es: connettendosi ad “IPMACCHINA:7878”).

Per il collegamento informatico devono essere realizzati i seguenti step:

  • Assegnare ip statico alla macchina
  • Pc per l’installazione dell’agent.

Il software MTConnect va scaricato dal seguente link:
https://drive.google.com/drive/folders/1ITUu_BRdmM9dctmNW1QORGj5uCLlKOYU?us p=sharing

Il programma scaricato deve essere copiato in una cartella del PC C:\MTConnect\agent

Dopo aver settato il file di configurazione: Devices.xml eseguire il seguente comando:
C:\MTConnect\agent\bin\agent.exe run agent.cfg

Per verificare il funzionamento connettersi all’indirizzo ip della macchina http://localhost:5000

L’agent può essere installato come servizio nel pc dove risiede il programma.

Ulteriori informazioni e dettagli tecnici presso il sito del consorzio www.mtconnect.org.

I dati esposti sono in formato XML.

Opcua

OPC Unified Architecture è un protocollo di comunicazione da macchina a macchina per l’automazione industriale sviluppato da OPC Foundation. Le caratteristiche distintive sono: Basato su una comunicazione client server

Questo è il software per la gestione dei nodi del protocollo OPCUA:
UaExpert.

Esempio di codice python

from opcua import Client, ua
from opcua.ua import Variant, VariantType

connect_string = “opc.tcp://cMT-C490:4840/G01”
c = Client(connect_string)
c.connect()

datiopc = {}

Esempio di codice per il reperimento del conta pezzi
datiopc[‘Cnt’]=c.get_node(‘ns=2;s=Siemens S7-300/ET200S (Ethernet).Tags.Cnt’).get_value()