- Prima fase.
- Edificio
- Progettazione dell'applicazione
- Creare valore aziendale con la ricerca sugli utenti
- Migliori pratiche di progettazione delle app
- Credo della soluzione Tulipano
- Architetture composite e monolitiche Aggiornamento
- How to Design a Tulip Solution
- Come costruire applicazioni componibili
- Come progettare un layout di base efficace
- Migliori pratiche per la denominazione degli elementi in Tulipano
- Come aggiungere forme ai passi delle app
- Editor di applicazioni
- Introduzione all'editor di app Tulip
- Creare una nuova applicazione Tulipano
- Come usare le scorciatoie da tastiera nell'editor e nel lettore dell'app
- Funzione multilingue in Tulipano
- Passi
- Widget
- Che cos'è un widget?
- Widget di input
- Widget incorporati
- Pulsante Widget
- Come configurare i widget
- Aggiunta di widget di input ai passi Aggiornamento
- Che cos'è un widget di tabella interattivo?
- Product Docs Template
- Come incorporare i video
- Come incorporare i dati analitici in un'app
- Lavorare con i file
- Popolazione dinamica di widget a selezione singola o multipla
- Come utilizzare il widget Casella di controllo
- Come aggiungere un widget codice a barre
- Come aggiungere un widget griglia a un passo
- Come copiare/incollare il contenuto all'interno delle applicazioni e tra le applicazioni stesse
- Come aggiungere un widget indicatore al proprio passo
- Panoramica dei widget personalizzati Aggiornamento
- Creazione di un modulo di firma Passo
- Convalida dei dati con i widget di input Aggiornamento
- Panoramica del widget Cronologia dei record
- Dettagli tecnici delle fasi del modulo
- Come aggiungere immagini a un'applicazione
- Come utilizzare il Widget per la firma elettronica
- Formattazione dei numeri nelle applicazioni Aggiornamento
- Innesco
- Cosa sono i trigger?
- Trigger a livello di passo
- Trigger a livello di app
- Trigger del widget
- Guida alle transizioni delle app
- Capture App Screenshot
- Trigger del timer
- Come aggiungere i trigger del dispositivo
- Come aggiungere trigger con condizioni (dichiarazioni If/Else)
- Elenco di azioni e transizioni nell'Editor trigger
- Quali sono i 10 fattori scatenanti più comuni?
- Come impostare il colore dei widget da un trigger
- Come inviare le e-mail
- Come impostare gli utenti di Tulip per le notifiche via SMS
- Come stampare i passi da un trigger
- Come utilizzare l'Editor di espressioni nell'Editor di applicazioni
- Dettagli tecnici dell'Editor di espressioni
- Elenco completo delle espressioni nell'editor di app
- Utilizzo delle espressioni Datetime
- Espressioni tipologiche
- Uso delle espressioni con array e oggetti
- Lavorare con il tempo nei trigger
- Formati di data e ora personalizzati supportati
- Come completare un'applicazione
- Come eseguire la scansione di codici a barre e codici QR tramite la fotocamera del dispositivo
- Come aggiungere un'espressione regolare a un trigger
- Utilizzo delle informazioni sulle app nelle applicazioni Tulip
- Come chiamare una funzione del connettore usando i trigger
- Variabile
- Risoluzione dei problemi
- Dati (dea indù)
- Connettore
- Cosa sono i connettori?
- Come creare un connettore
- Introduzione agli host del connettore Tulip
- Come eseguire una funzione connettore in più ambienti
- Snapshotting del connettore
- Comprendere gli array e gli oggetti negli output delle funzioni del connettore
- Visualizzazione di elenchi interattivi di record di tabelle o di output di connettori nelle applicazioni
- Risoluzione dei problemi dei connettori
- Condivisione dei connettori tra gli spazi di lavoro
- Connettore Controllo codifica ingresso
- Come creare un database di prova per una funzione del connettore
- Come impostare i connettori rapidi
- Connettori HTTP
- Come creare e configurare una funzione connettore HTTP
- Come formattare gli output del connettore HTTP
- Utilizzo dei connettori HTTP nelle applicazioni
- Catturare gli errori del connettore HTTP
- Guida al registro degli errori e ai tentativi del connettore
- OAuth 1.0
- Che cos'è OAuth2.0?
- Configurazione e dettagli tecnici di OAuth2.0
- Connettori SQL
- Connessioni MQTT
- Integrazione dei connettori
- Analisi
- Cosa sono le analisi?
- Introduzione a Analytics Builder
- Come creare una nuova analisi
- Panoramica dei tipi di display Aggiornamento
- Tipi di modelli, spiegati
- Come utilizzare il modello universale
- Formattazione dei numeri in Analytics
- Introduzione ai livelli dei grafici Aggiornamento
- Che cos'è un diagramma di controllo?
- Avviso per i grafici di controllo
- Come incorporare i dati analitici in un'app
- Come analizzare i dati da più applicazioni
- Utilizzo dei dati macchina nell'Editor di analisi
- Comprendere gli intervalli di date
- Elenco dei campi del riquadro contestuale di analisi
- Come utilizzare l'Editor di espressioni nell'Editor di analisi
- Dettagli tecnici dell'Editor di espressioni
- Elenco completo delle espressioni nell'Editor di analisi
- Come modificare un'app analitica
- Che cos'è un livello di previsione?
- Esempio di analisi
- Come calcolare la resa di primo passaggio con un'analisi numerica
- Come creare analisi basate su tabelle
- Come analizzare le liste di controllo della qualità con un'analisi a variabili multiple
- Come confrontare i difetti per tipo e per giorno utilizzando il campo "Confronta per".
- Come visualizzare le statistiche sui tempi di ciclo per utente con un'analisi tabellare
- Come creare un diagramma di Pareto dei difetti più comuni
- Come creare il primo cruscotto di officina
- Come condividere analisi o dashboard
- Come creare cruscotti
- Visione
- Come iniziare con Vision
- Centro di visione
- Funzionalità di Tulip Vision
- Linee guida e limiti della scansione di codici a barre Vision
- Utilizzo del rilevatore di colore
- Utilizzo del rilevatore di modifiche
- Utilizzo del Jig Detector
- Utilizzo del Widget Vision Camera nelle applicazioni
- Utilizzo della funzione Snapshot di Vision
- Utilizzo dei rilevatori di codici a barre e Datamatrix
- Utilizzo del rilevatore di riconoscimento ottico dei caratteri (OCR)
- Utilizzo di una cattura dello schermo come fonte della telecamera per la visione
- Tulip Vision Integrationen
- Risoluzione dei problemi di visione
- Monitoraggio delle apparecchiature
- Intro to Machine Monitoring
- Come impostare la prima macchina
- Come utilizzare gli output della macchina nei trigger
- Come costruire la prima origine dati OPC UA
- Come costruire il primo connettore MQTT
- Come aggiungere un widget macchina a un'app
- Come preparare le macchine a connettersi a Tulip
- Come aggiungere attributi, motivi di inattività e stati della macchina
- Scrivere sugli attributi della macchina utilizzando i protocolli OPC UA/MQTT Aggiornamento
- Utilizzo dei dispositivi Edge per l'esecuzione di Host Connector On Prem
- Utilizzo di Edge MC per l'esecuzione di OPC UA
- Come utilizzare l'API Attributi macchina
- Come impostare i tipi di macchina
- Come aggiungere e configurare le macchine
- Come creare il primo trigger della macchina
- Raccomandazioni per l'architettura di monitoraggio delle macchine con Tulip
- Industrie regolamentate
- Nozioni di base per la creazione di app GxP
- Migliori pratiche per la creazione di app GxP
- Una sintesi delle capacità GxP di Tulip
- Raccolta dati GxP
- Correzioni ai dati di processo e revisione degli stessi
- Funzionalità di pausa e ripresa
- Utilizzo del widget Cronologia dei record per visualizzare le modifiche ai record della tabella
- Come esportare i dati dell'app in CSV
- Revisione dei dati per la conformità GxP
- Convalida dei dati con i widget di input Aggiornamento
- Personalizzare i ruoli degli utenti Aggiornamento
- Come utilizzare il Widget per la firma elettronica
- Copilota di prima linea
- Uso e prezzi di Frontline Copilot
- Widget per la chat degli operatori
- Pagina delle impostazioni di Frontline Copilot
- Tulip AI Composer
- Tradurre l'azione di attivazione
- Estrazione del testo dall'immagine Azione di attivazione Aggiornamento
- Rispondere alle domande dei dati/documenti Azioni scatenanti
- Classificare l'azione di innesco
- Ingresso da voce a testo
- Conversazione con i tavoli
- Frontline Copilot Governance FAQ
- Automazione
- Come iniziare con le automazioni
- Panoramica dell'editor delle automazioni
- Come impostare le Automazioni programmate
- Come utilizzare le versioni delle automazioni
- Come utilizzare la cronologia delle esecuzioni delle automazioni
- Limiti dell'automazione
- Soluzione di gestione dell'inventario con automazioni
- Avviso di looping nelle automazioni
- Esportazione e importazione
- Progettazione dell'applicazione
- Applicazioni in esecuzione
- Come utilizzare il Lettore Tulipano
- Come eseguire un'applicazione nel Lettore Tulipano Aggiornamento
- Scelta tra le applicazioni Tulip Web Player o Tulip Player
- Come passare da un account Tulip Multiplo all'altro
- Come utilizzare il lettore Tulip su Apple iOS e iPadOS
- Lingue supportate in Tulip
- How to access your Tulip Player/Instance in an iFrame
- Come eseguire le applicazioni Tulip su diversi dispositivi
- Come risolvere i problemi del lettore Tulipano
- Dispositivi consigliati per l'esecuzione di Tulip Player Aggiornamento
- Come riavviare il Lettore Tulipano se lo schermo diventa vuoto
- Come esportare i dati dell'app in CSV
- Gestione
- Configurazione dell'istanza Tulip
- Gestione degli utenti
- Introduzione: Gestione degli utenti
- Aggiungere e gestire gli utenti
- Aggiornare i campi dei singoli utenti e operatori Tulip dalle applicazioni
- Personalizzare i ruoli degli utenti Aggiornamento
- Creare e gestire gruppi di utenti
- Autorizzazione e controllo degli accessi con SAML
- Come aggiungere la scheda RFID di un nuovo operatore utilizzando un lettore RFID
- Gestione delle applicazioni
- Introduzione: Gestione delle app
- Panoramica sulla pubblicazione delle app
- Aggiungere e gestire le applicazioni
- Creare e gestire versioni di app
- Impostare le approvazioni per le applicazioni
- Modifica dei permessi di modifica delle singole applicazioni
- Ripristinare una versione di sviluppo di un'applicazione da una versione pubblicata
- Confronto delle versioni delle app
- Come recuperare le applicazioni archiviate
- Gestione medica
- Un giro in officina
- Introduzione: Gestione dell'officina
- Modifiche al comportamento del dispositivo del lettore non assegnato
- Stazioni
- Interfacce (dispositivi di visualizzazione)
- Che cos'è la pagina Interfacce (dispositivi di visualizzazione)?
- Impostazione di un'interfaccia (dispositivo di visualizzazione) mediante un collegamento di registrazione
- Gestione dei driver di un'interfaccia (dispositivo di visualizzazione)
- Controllare lo stato delle interfacce e dei dispositivi in officina
- Gestione dello spazio di lavoro
- Gestione dei giocatori
- Lettore Linux
- Caratteristiche del giocatore per piattaforma Aggiornamento
- Comportamento di logout del giocatore
- Come nascondere il menu sviluppatore in Tulip Player
- Come disattivare gli aggiornamenti automatici per Tulip Player
- Risoluzione degli errori del database di fallback
- Utilizzo del Lettore Tulip con diversi account di Windows
- Distribuzioni aziendali di Tulip Player
- Panoramica delle stazioni e delle interfacce Aggiornamento
- Come risolvere i problemi del lettore Tulipano
- Developers
- Connect to Software
- Connectors
- Cosa sono i connettori?
- Come creare un connettore
- Introduzione agli host del connettore Tulip
- Configurazione e dettagli tecnici di OAuth2.0
- Come eseguire una funzione connettore in più ambienti
- Snapshotting del connettore
- Comprendere gli array e gli oggetti negli output delle funzioni del connettore
- Connettore Controllo codifica ingresso
- Come creare e configurare una funzione connettore HTTP
- Come formattare gli output del connettore HTTP
- Utilizzo dei connettori HTTP nelle applicazioni
- Come scrivere una funzione SQL Connector
- Panoramica delle funzioni MQTT
- Come costruire il primo connettore MQTT
- Linee guida per l'integrazione degli ecosistemi
- Integrazione di Amazon Bedrock
- Integrazione AWS - Recuperare tutte le tabelle Tulip e scrivere su S3
- Integrazione AWS - Invio di dati ad AWS tramite API Gateway e Lambda
- Integrazione AWS - Recuperare i dati dalle tabelle Tulip
- Integrazione AWS - Recuperare tutte le tabelle Tulip nella funzione Lambda
- Esempio di script ETL di Glue per il caricamento dei dati della tabella Tulipani
- Integrazione IoT Sitewise
- Gestione quotidiana snella con AWS
- Integrazione dell'apprendimento automatico di Microsoft Azure
- Integrazione di Microsoft Fabric
- Integrazione di Rockwell FactoryTalk Optix
- Integrazione di Snowflake con Fabric - Recuperare le tabelle Tulip in Snowflake
- Connectors
- Connect to Hardare
- Edge Devices
- Borde IO
- Rand MC
- Kit macchina
- Pasarela IO
- Annuncio di fine vendita del gateway I/O
- Impostazione di un gateway I/O Tulip
- Come registrare un gateway I/O
- Ripristino delle impostazioni di fabbrica del gateway I/O
- Come attivare il supporto remoto del gateway I/O
- Come utilizzare gli ingressi analogici sul gateway I/O
- Come utilizzare il driver seriale generico sul gateway I/O
- Specifiche tecniche del gateway I/O Tulip
- Fabrik-Kit
- Guida rapida al kit di fabbrica
- Materiali del kit di fabbrica e informazioni sull'approvvigionamento
- Configurazione della striscia luminosa Edge IO
- Come impostare un pedale in Tulipano
- Test dell'unità del sensore a sbarramento
- Test unitari dei sensori di temperatura e umidità
- Come includere i dispositivi del kit di fabbrica nelle applicazioni
- Configurazione iniziale del kit luminoso Tulipano
- Come utilizzare il kit di luci per tulipani
- Collegamento dei dispositivi USB del kit di fabbrica (codice a barre, pedale, temperatura/umidità)
- Impostazione del sensore a sbarramento
- Kit luce Test unitario
- Kit luce Tulipano Specifiche tecniche
- Assemblaggio della pila luminosa
- Gestione delle periferiche
- Come abilitare l'HTTPS sul dispositivo Edge
- Come configurare il Portale dispositivi
- Come gestire i dispositivi edge all'interno di Tulip
- Versioni del firmware supportate
- Come gestire gli aggiornamenti automatici dei dispositivi Edge
- Come configurare le impostazioni di rete del dispositivo Tulip Edge
- Come configurare l'interfaccia LAN di un dispositivo edge
- Come i dispositivi Tulip Edge ottengono il loro indirizzo IP
- Come configurare le impostazioni SNMP per i dispositivi Edge
- Come trovare la versione del sistema operativo del dispositivo Edge
- FAQ sul dispositivo Tulip Edge
- Portale HTTPS del dispositivo Edge
- Casi di studio per i dispositivi finali
- Dispositivi Edge e FlowFuse
- Come abilitare e configurare il broker MQTT del dispositivo Edge
- Come configurare un bridge MQTT su un dispositivo edge
- Utilizzo di Edge MC per l'esecuzione di OPC UA
- Come utilizzare GPIO su Edge IO
- Utilizzo di Node-RED con Edge MC
- Utilizzo di Node-RED con Edge IO
- Come fare: Utilizzare la serialità con Edge IO
- Utilizzo dei dispositivi Edge per l'esecuzione di Host Connector On Prem
- Comunicare con le macchine utilizzando Connector Host e Node-RED di Edge MC
- Cosa si può fare con Tulip + IoT
- Risoluzione dei problemi dei dispositivi Tulip Edge
- Dispositivi compatibili
- Elenco dei dispositivi plug-and-play che funzionano con Tulip
- Creazione e supporto dei driver di periferica
- Supporto del driver di periferica in Tulip
- Come impostare un lettore di codici a barre
- Utilizzo del driver seriale
- Come integrare una stampante Zebra con Tulip
- Utilizzo del driver della stampante di rete Zebra
- Utilizzo del driver della stampante per etichette Zebra serie GK
- Utilizzo del driver della scatola Bobe USB
- Utilizzo del driver In-Sight 2000 di Cognex
- Come configurare Cognex e Tulip
- Utilizzo del driver del misuratore di PH MT SevenExcellence
- Utilizzo del driver ADC generico
- Utilizzo del driver per termometro Omega HH806
- Utilizzo del driver del calibro digitale
- Come impostare la pistola termica General TS05 Bluetooth
- Utilizzo del driver TCP di Cognex DataMan
- Impostazione del ricevitore U-WAVE Mitutoyo per Windows Tulip Player
- Utilizzo del driver per bilancia Brecknell PS25
- Utilizzo del driver RFID
- Utilizzo del driver Kolver EDU 2AE/TOP/E
- Utilizzo del driver del pedale USB
- Utilizzo del driver del protocollo aperto Torque
- Utilizzo del driver della bilancia USB Dymo M10
- Utilizzo del driver In-Sight di Cognex
- Utilizzo del driver Telnet
- Utilizzo del driver I/O generico
- Come impostare un controllore di coppia Kolver
- Utilizzo del driver per calibri multicanale Insize
- Utilizzo del driver della bilancia USB Dymo S50
- Configurazione di Zebra Android DataWedge
- Utilizzare il calibro digitale Mitutoyo con il driver a onde U Mitutoyo
- Come aggiungere una bilancia Ohaus e memorizzare l'output in una variabile
- Test unitari dei sensori di temperatura e umidità
- Troubleshoot
- Nodo-Rosso
- Panoramica di Node-RED
- Istruzioni
- Casi di studio
- Come configurare i dispositivi Modbus
- Come configurare i dispositivi Banner PICK-IQ con Edge IO
- Come inviare i dati alle macchine dai dispositivi edge utilizzando i tag Node-RED e Tulip
- Comunicare con le macchine utilizzando Connector Host e Node-RED di Edge MC
- Collegamento di un sensore 4-20 mA con Edge IO e Node-RED
- Gestione degli stati della macchina e dei conteggi dei pezzi con Edge IO e Node-RED
- Collegamento di un oscilloscopio analogico con Edge IO e Node-RED
- Collegamento dei phidget cablati con Edge MC e Node-RED
- Edge Devices
- Scrivere componenti riutilizzabili
- Lavorare con le API
- Edge Driver SDK
- Connect to Software
- Documentazione tecnica e informatica
- Programma degli eventi di manutenzione Aggiornamento
- Come ottenere il supporto Tulipano Aggiornamento
- Infrastruttura IT
- Guida di benvenuto Tulip IT
- Configurazione dell'elenco dei permessi IP
- Panoramica delle opzioni di sicurezza di Tulip
- Guida alla sicurezza informatica di Tulip Aggiornamento
- Introduzione agli host del connettore Tulip
- Tulip & Device Architecture
- Supporto della versione host del connettore On-Prem Nuovo
- Abilitazione delle rotazioni dei log per il contenitore Connector Host esistente in sede
- Raccomandazioni per l'architettura di monitoraggio delle macchine con Tulip
- Dettagli della macchina virtuale Tulip On-Premise
- Componenti della piattaforma Tulip e diagramma di rete
- Distribuzione di Tulip in AWS GovCloud
- Come utilizzare un server proxy con Tulip Player su Windows
- Panoramica degli host di connettori on-premise
- Requisiti di rete per l'implementazione di Tulip Cloud Aggiornamento
- Modulo W-9 Tulip
- Quali sono le politiche e le infrastrutture di sicurezza informatica di Tulip?
- LDAP/SAML/SSO
- Come utilizzare il Tulip Partner Portal
- Guide
- Verso la trasformazione digitale
- Use Cases by Solution
- Esempi
- Come ottenere la visibilità in tempo reale degli ordini di lavoro per postazione di lavoro
- Esercitazione sull'applicazione per l'audit 5S
- Come costruire un'applicazione automatica per i rapporti sui rifiuti
- Come pianificare la vostra prima app per le operazioni in prima linea
- Come tenere traccia dei controlli delle macchine in una tabella
- Come automatizzare gli ordini di lavoro in un'app per le operazioni in prima linea
- Come utilizzare le app per la produzione in ambienti ad alta concentrazione di lavoro
- Come costruire un'applicazione digitale per le istruzioni di lavoro
- Come tracciare la genealogia dei prodotti usando le tabelle
- Come aggiungere una bilancia Ohaus e memorizzare l'output in una variabile
- Come dedurre da una tabella d'inventario al completamento di un'operazione
- Come utilizzare il "modello UI" delle istruzioni di lavoro
- Come creare una matrice di competenze con i campi utente
- Come creare una tabella di distinta base (BOM)
- Come gestire l'inventario utilizzando le tabelle
- Come passare dati dinamici tra più applicazioni con i campi utente
- Come navigare tra più applicazioni creando una "app di instradamento".
- 📄 Tracciabilità dell'ordine
- 📄 Tracciabilità dei difetti
- Biblioteca
- Utilizzo della libreria Tulipano Aggiornamento
- Laboratory Operation App Suite
- Collezioni della biblioteca
- Applicazioni della biblioteca
- Esempi di insegnamento
- Esempi funzionali
- Esempio funzionale Andon
- Esempio di funzione di ispezione
- Esempio funzionale di dati Tulipano
- Esempio funzionale di Duro PLM
- Technicon - Robot universali Esempio funzionale
- United Manufacturing Hub - Esempio funzionale
- Esempio di diagramma di controllo
- Galleria fotografica
- Test unitario AI - Domande e risposte sul documento
- Soluzioni per applicazioni
- Suite di applicazioni CMMS
- Zerokey solutions
- Visibilità delle prestazioni
- Pacchetto di richiesta per la dichiarazione elettronica delle partite (eBR)
- CAPA Lite di PCG
- 5 Perché radicare le cause con l'intelligenza artificiale
- Semplice segnalazione dei difetti con l'intelligenza artificiale
- Creazione di casi aziendali
- Riunione di avvio del turno
- Suite di app Kanban
- Semplice cruscotto OEE
- Soluzione Arena BOM
- Suite di applicazioni per la gestione delle apparecchiature
- Semplice lista di controllo
- Suite di gestione delle liste di controllo
- Soluzione semplice per la gestione delle presenze
- Applicazioni della libreria Pack & Ship
- Gestione CAPA
- Mobile Camera App
- Calcolatore OEE
- Scheda di valutazione della produzione oraria
- Materiale backflush
- Cruscotto eventi di qualità
- Applicazione della resa al primo passaggio
- Dal piccone alla luce
- Soluzioni di formazione
- Inventario dei sistemi digitali
- Tracciamento della posizione con la visione
- Gestione degli accessi ai sistemi digitali
- Gestione dei materiali
- Responsabile strumenti e risorse
- Gestione eventi di qualità
- Avanzamento del passo con sensore di rottura
- Cronometro digitale
- Lista di controllo per l'audit
- App ERP Katana
- Valutazione di base di alto livello
- Gestione della distinta base
- Responsabile degli incidenti di sicurezza
- Composable Lean
- Composable Mobile
- Come candidarsi
- Suite di applicazioni eDHR
- Modello di formazione
- Suite di app per la gestione degli eventi di qualità
- Modello di imballaggio per lotti App
- Modello di interfaccia utente per il layout del cruscotto
- Cruscotto di monitoraggio della macchina
- Modello di tracciamento dei difetti
- Configurazione del colore
- Esempio di istruzioni di lavoro
- Modello di design
- Gestione della formazione
- Modello di istruzioni di lavoro
- Modello di istruzioni di lavoro
- Modello di elenco a scelta
- Modelli di base per la creazione di applicazioni Tulip
- Cruscotto del flusso di viaggiatori e materiali
- Modello di tracciamento degli ordini
- Esempi di insegnamento
- MES compostabile
- Sistema MES per il settore farmaceutico.
- Connettori e test unitari
- Test unitario di Planeus Aggiornamento
- Connettore COPA-DATA Nuovo
- Connettore Veeva
- Connettore Inkit
- Connettore MRPeasy
- Connettore Oracle Fusion
- Connettore LabVantage e test unitario
- Connettore Google Chat
- Connettore Salesforce
- Panoramica di Litmus
- Connettore eMaint
- Connettore eLabNext
- Connettore ERP Acumatica
- Connettore CETEC
- Connettore PagerDuty
- Integrazione di NiceLabel
- Panoramica dell'integrazione di Aras
- Integrazione SDA
- Test dell'unità Nymi Band
- Integrazione dell'Arena Aggiornamento
- Test unitari per scanner di codici a barre
- Test dell'unità Footpedal
- Come iniziare con Tulip sull'auricolare RealWear
- Connettore Airtable
- Connettore Shippo
- Integrazione dei baristi
- Connettore cloud SAP S/4 HANA
- Test dell'unità di scansione RFID
- Connettore Jira
- Test dell'unità della stampante di etichette Zebra
- Connettore Google Translate
- MSFT Power Automate
- Connettore OpenAI
- Connettore calendario di Google
- Test unitario dell'API Tulip
- Test dell'unità Duro PLM
- Test unitario di HiveMQ
- Integrazione di NetSuite
- Test unitario Cognex
- Integrazione di PowerBI Desktop
- Test dell'unità ProGlove
- Integrazione Fivetran
- Integrazione di ParticleIO
- Connettore Google Drive
- Connettore a fiocco di neve Aggiornamento
- Connettore SAP SuccessFactors
- ZeroKey Integration
- Connettore Google Geocode
- Connettore Google Sheets
- Come integrare Tulip con Slack
- Test unitario dell'hub di intelligenza HighByte
- Test unitario LandingAI
- Test dell'unità LIFX (luci wireless)
- Connettore calendario Microsoft
- Connettore F&O dinamico M365
- Connettore di Microsoft Outlook
- Connettore Microsoft Teams
- Collegare l'API Microsoft Graph a Tulip con Oauth2
- Connettore Microsoft Excel
- Applicazioni e connettore NetSuite
- Connettore OpenBOM
- Test di unità della bilancia
- Connettore InfluxDB
- Connettore Augury
- Connettore ilert
- Connettore Schaeffler Optime
- Connettore MongoDB Atlas
- Connettore MaintainX
- Connettore Twilio
- Connettore SendGrid
- Connettore Solace
- Come progettare le applicazioni Tulip per l'auricolare RealWear
- Connettore OnShape
- Widget personalizzati
- Widget personalizzato di pianificazione Nuovo
- Widget della linea temporale
- Widget del visualizzatore di alberi json
- Widget per la gestione delle attività Kanban
- Widget del badge
- Widget timer avanzato
- Pulsante segmentato Widget personalizzato
- Widget personalizzato dell'indicatore dinamico
- Widget Snackbar
- Test dell'unità di rilevamento delle modifiche
- Indicatore di colore di stato Test dell'unità
- Controllo della lunghezza di ingresso Test dell'unità
- Test unitario del widget personalizzato della calcolatrice
- Test unitario del widget di annotazione delle immagini
- Widget del cruscotto Lean
- Test dell'unità Looper
- Test unitario del cronometro
- Numero Unità di ingresso Test
- Test unitario del cuscinetto numerico
- Misuratori radiali
- Test unitario del menu passo dopo passo
- Widget SVG
- Test dell'unità di input del testo
- Suggerimento per il test dell'unità
- Istruzioni di lavoro Punti di cura Test unitario
- Test unitario del widget di firma elettronica scritto
- Test unitario del visualizzatore ZPL
- Widget per un semplice grafico a linee
- Widget personalizzato per gli scaffali
- Widget di scorrimento
- Widget personalizzato NFPA Diamond
- Pass - Fail Widget personalizzato
- Widget personalizzato Simpler Timer
- Widget di integrazione della presenza di Nymi
- Automazione
- Check Expired Training
- Segnalazione ed escalation degli eventi: Gestione degli eventi in ritardo
- Notifica dello stato di produzione su base oraria
- Aggiornamento sullo stato delle apparecchiature di manutenzione
- Reset dello stato dell'apparecchiatura
- Reset dello stato di calibrazione
- Promemoria per il controllo dello stato della macchina
- Aggiornamento dell'automazione della tabella dell'inventario
- Automazione del connettore Slack
- Controllore del conteggio dei pezzi
Come inviare i dati alle macchine dai dispositivi edge utilizzando i tag Node-RED e Tulip
Imparate a usare i tag Tulip in Node-RED per inviare in modo nativo i dati dai dispositivi Edge alle macchine Tulip.
A partire dal sistema operativo 50.1, Tulip supporta in modo nativo l'utilizzo dei dispositivi Edge Tulip come sorgenti di dati delle macchine.
Utilizzando Node RED, è possibile creare "tag" arbitrari con il nuovo nodo tulip-tag
e inviare dati a tali tag. Questi tag appariranno automaticamente sotto lo specifico dispositivo Edge come origine dati durante la mappatura degli attributi della macchina.
Si consiglia di utilizzare i Tulip Tag rispetto alla Machine API nei nuovi flussi. I tag Tulip consentono di riportare i dati della macchina utilizzando flussi riutilizzabili che possono essere condivisi tra i dispositivi senza modifiche specifiche del dispositivo ed eliminano la necessità di copiare-incollare le informazioni sugli attributi della macchina nei nodi API macchina.
Panoramica
Questo articolo descrive come inviare dati da Node-RED alle macchine Tulip utilizzando il nuovo nodo Tulip Tag preinstallato sui dispositivi Tulip Edge.
La guida illustra i seguenti passaggi:
- Requisiti per l'utilizzo dei tag Tulip come origine dati macchina
- Guida per l'utente
- Esempio: Gestione dello stato della macchina e del conteggio dei pezzi in Node-RED
Requisiti
Per creare i tag Tulip, è necessario disporre di un dispositivo Edge Tulip che:
- supporta Node-RED (Edge MC o Edge IO)
- abbia il Node-RED abilitato
- abbia una versione del firmware >= OS50
Guida per l'utente
Questa guida illustra il flusso di lavoro in Node-RED per la creazione di un tag, l'invio di dati ad esso e la dimostrazione di come mappare il tag ad un attributo macchina in Tulip. Verrà inoltre descritto come scrivere su più tag contemporaneamente (solo per OS 51 e successivi).
Creare i tag in Node-RED
Aprire Node-RED sul dispositivo Tulip Edge e accedere.
- *Per un riferimento sull'accesso a Node-RED: Utilizzo di Node-RED su Edge IO
- Se siete su OS50 o successivo, vedrete il nodo Tulip Tag nella barra laterale sinistra dell'editor Node-RED.
- Trascinare il nodo
tulip-tag
nell'editor e fare doppio clic su di esso per aprire l'editor dei nodi. Dovrebbe essere visualizzata la proprietà "Elenco tag", che è richiesta: è necessario creare un elenco di tag che contenga tutti i tag per questo dispositivo Edge. È necessario creare un solo elenco di tag per ogni periferica Edge. Fare clic su Modifica per creare il nuovo elenco di tag, evidenziato di seguito.
- Nel nodo Elenco tag è possibile creare tutti i tag desiderati. Fare clic su +aggiungi per creare un tag.
Ogni tag ha tre parti: un ID, un'etichetta e un tipo.
- ID tag: è un identificatore simile a un codice che identifica il tag. Una volta creato, non deve essere modificato. I caratteri validi sono lettere, cifre (non possono iniziare con una cifra) e trattini bassi. Esempi:
part_count
,myState1
. - Etichetta del tag: È l'etichetta leggibile che si può assegnare al tag. Per rinominare il tag, basta aggiornare l'etichetta (non l'ID). Esempio: "Conteggio parti".
- Tipo: Il tipo di dati: stringa, intero, variabile o booleano. Deve corrispondere al tipo dell'attributo macchina mappato.
- ID tag: è un identificatore simile a un codice che identifica il tag. Una volta creato, non deve essere modificato. I caratteri validi sono lettere, cifre (non possono iniziare con una cifra) e trattini bassi. Esempi:
{Altezza="" Larghezza="400"}
- Una volta terminata l'aggiunta dei tag, fare clic su Aggiungi per confermare le modifiche e tornare all'editor dei nodi precedente. Assicurarsi che non ci siano errori prima di salvare.
"Unmapped" is not an error, just a warning that you have not yet mapped the tag to a machine attribute in Tulip.
Invio di dati ai tag in Node-RED
Una volta creato un elenco di tag, il menu a tendina Seleziona tag si popola automaticamente con tutti i tag (con le etichette leggibili dall'uomo).
- Selezionare il tag per questo nodo.
- Per scrivere dati su questo tag, occorre ora inviare messaggi a questo nodo
tulip-tag
. Il payload di ogni messaggio inviato al nodo (cioèmsg.payload
) sarà scritto nel tag.
Per esempio, qui sotto abbiamo collegato un nodo Inject con msg.payload=0
, che scriverà il numero intero 0 nel tag Part Count.
Mappatura dei tag agli attributi della macchina
Infine, per visualizzare i dati in Tulip, è necessario visitare il sito Tulip e mappare il tag su un attributo macchina.
- Navigare nella pagina delle macchine, selezionare la macchina a cui inviare i dati e aprire la scheda Configurazione. Si dovrebbe vedere un elenco di Attributi macchina; fare clic su un attributo per mapparlo. Dovrebbe essere visualizzata la periferica Edge (per numero di serie) come origine dati. Non è necessario creare questa origine dati, verrà creata automaticamente quando si distribuisce un flusso con un elenco di tag.
- Fare clic sul dispositivo edge nella barra laterale destra ed espandere la cartella Node-RED. Dovrebbero essere visualizzati tutti gli attributi dello stesso tipo dell'attributo. Fare clic sul pulsante di collegamento accanto all'attributo in questione per mapparlo.
{Altezza="" larghezza="350"}
- L'attributo viene ora visualizzato come mappato, con l'etichetta del tag mappato come segnale.
- Inoltre, in Node-RED, lo stato del nodo Tulip Tag dovrebbe essere cambiato da "Non mappato" a "Connesso".
- La scrittura di dati nel tag (ad esempio facendo clic sul nodo "Inject" in questo esempio) causa ora la comparsa di dati per l'attributo mappato.
Invio di dati a più tag (avanzato)
This feature is only available on OS51 and later.
È possibile inviare in batch le scritture a più tag contemporaneamente.
- In Node-RED, creare un nodo Tulip Tag e deselezionare l'opzione Seleziona tag dall'elenco.
- Il payload del messaggio di input a questo nodo deve ora contenere una mappa degli ID dei tag con i valori da scrivere. Ad esempio, se si desidera scrivere un numero di pezzi pari a 0 nel tag intero con id
part_count
e uno stato di"Running"
nel tag stringa con idstate
, il messaggio deve essere:
msg.payload = { "part_count": 0, "state": "Running" }
Esempio: Gestione dello stato della macchina e del conteggio dei pezzi con Edge IO e Node-RED
Questo esempio è una versione aggiornata del flusso della libreria Node RED descritto in questo articolo, a cui si rimanda per la configurazione dell'hardware: Managing Machine States and Part Counts with Edge IO and Node-RED.
Il flusso è stato aggiornato di seguito per utilizzare il nodo Tulip Tag invece del nodo Machine Attribute. Questo flusso può essere distribuito a molti dispositivi Edge senza modifiche.
- In Node-RED, importare e distribuire il seguente flusso:
``[{"id": "85d16074.518e2", "type": "subflow", "name": "Scale ADC to Sensor Value (2)", "info": "Scala la lettura di un Edge IO ADC alla lettura del sensore collegato al front-end ADC.La proprietà da ridimensionare deve essere data dalla proprietà configurata 'prop'. La scala e l'offset vengono applicati a msg.prop (a ogni elemento, se si tratta di una matrice) nel modo seguente:\nmsg.prop = msg.prop * scala + offset\n", "category": "Tulipano", "in":[{"x":40, "y":60, "wires":[{"id": "d99ec5b3.e9dfb8"}]}],"out":[{"x":460,"y":60,"wires":[{"id":"d99ec5b3.e9dfb8","port":0}]}],"env":[{"name":"PROPERTY","type":"str","value":"payload","ui":{"label":{"en-US":"property"},"type":"input","opts":{"types":["str","env"]}}},{"name":"SCALE","type":"num","value":"","ui":{"label":{"en-US":"scale"},"type":"input","opts":{"types":["num","env"]}}},{"name":"OFFSET","type":"num","value":"","ui":{"label":{"en-US":"offset"},"type":"input","opts":{"types":["num","env"]}}}],"color":"
65CCB8", "icon": "font-awesome/fa-arrows-v"},{"id": "d99ec5b3.e9dfb8", "type": "function", "z": "85d16074.518e2", "name": "Convertire valori con scala/offset", "func": "const scale = env.get('SCALE');\nconst offset = env.get('OFFSET');\nconst prop = env.get('PROPERTY');\nif (Array.isArray(msg[prop])) {\n msg[prop] = msg[prop].map((x) => (scala * x + offset));\n} else {\n msg[prop] = scala * msg[prop] + offset;\n}}return msg;", "outputs":1, "noerr":0, "initialize":"", "finalize":"", "x":250, "y":60, "wires":[]]},{"id": "71c9f8f2.7adf08", "type": "tab", "label": "Visibilità della macchina con pinza amperometrica e breakbeam", "disabled":false, "info": "Questo flusso di libreria è un'applicazione di base per il monitoraggio della macchina che consente di ottenere visibilità sullo stato della macchina e sul numero di pezzi utilizzando una pinza amperometrica e un breakbeam. Tiene traccia dei seguenti due ingressi Edge IO:\n\n * Conteggio pezzi: Parte da 0 e conta ogni volta che il pin GPIO 1 viene attivato, ad esempio quando viene attivato un breakbeam. Può essere riportato a 0 dal nodo 'Reset Part Count'. Invia il conteggio corrente a un attributo macchina Tulip ogni volta che il conteggio dei pezzi cambia. \ Stato macchina: Invia la corrente RMS di una macchina monitorata da una pinza amperometrica CR-3111 all'ADC differenziale Edge IO. La lettura RMS viene fornita per un buffer di 1s di dati presi a 1kHz, campionati una volta ogni 5s. È possibile impostare una soglia in Node-RED o in Tulip per determinare lo stato di accensione/spegnimento della macchina. "},{"id":"256235b9.3bb72a","type":"subflow:85d16074.518e2","z":"71c9f8f2.7adf08","name":"CR-3111 Scaling","env":[{"name":"PROPERTY","value":"data","type":"str"},{"name":"SCALE","value":"3000","type":"num"},{"name":"OFFSET","value":"0","type":"num"}],"x":800,"y":360,"wires":[["88390763.49ad58", "b594a80b.7f3f18"]]},{"id":"daf59f31.d1ec8","type":"tulip-high-speed-analog","z":"71c9f8f2.7adf08","name":"Differential ADC Readings","analogConfig":"71b68226.a6568c","dataTypeIdx":"2","inputs":0,"mode":"continuous","dataMsgProperty":"data","refreshRate":"1","refreshFrames":"all","x":150,"y":380,"wires":[["96ef65ab.afba78"]]},{"id":"82a0d2e1.62cec","type":"inject","z":"71c9f8f2.7adf08","name":"Reset Part Count","props":[],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":130,"y":100,"wires":[["25bb1de8.b3e502"]]},{"id":"579dcfa3.596ad","type":"tulip-digital-input","z":"71c9f8f2.7adf08", "name": "Monitor Pin 1", "runMode": "continuous", "configMode": "static", "outputMode": "object", "refreshRate":1, "enabledPins":[true,false,false,false,false,false,false], "x":110, "y":160, "wires":["27e78fe6.8e08c"]]},{"id":"27e78fe6.8e08c","type":"switch","z":"71c9f8f2.7adf08","name":"Filter for pinUp","property":"payload","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":300,"y":160,"wires":[["f1b02903.a2f2b8"]]},{"id":"f1b02903.a2f2b8","type":"change","z":"71c9f8f2.7adf08", "nome": "Incremento conteggio parti", "regole":[{"t": "set", "p": "partCount", "pt": "flow", "to":"$flowContext('partCount') + 1", "tot": "jsonata"},{"t":"set","p":"payload","pt":"msg","to":"partCount","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":160,"wires":[["eed4e051.7bc12"]]},{"id":"25bb1de8.b3e502","type":"change","z":"71c9f8f2.7adf08", "name": "Imposta conteggio parti = 0", "rules":[{"t": "set", "p": "partCount", "pt": "flow", "to": "0", "tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":100,"wires":[[]]},{"id":"dcb54611.9f7ca8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor Part Count", "info": "Inizia con Part Count = 0 e conta fino a quando il pin GPIO 1 viene attivato. Il conteggio dei pezzi può essere riportato a 0 facendo clic sul nodo 'Reset Part Count'. Invia il conteggio corrente all'attributo macchina Tulipano configurato ogni volta che il conteggio dei pezzi cambia. ", "x":130, "y":40, "wires":[]},{"id": "9ff956ce.4ee9b8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor RMS Current", "info": "Invia la corrente RMS di una macchina monitorata da una pinza amperometrica CR-3111 all'ADC differenziale Edge IO. La lettura RMS viene fornita per un buffer di 1s di dati presi a 1kHz, campionati una volta ogni 5s. È possibile impostare una soglia in Node-RED o in Tulip per determinare lo stato di accensione/spegnimento della macchina. ","x":140,"y":320,"wires":[]},{"id":"96ef65ab.afba78","type":"switch","z":"71c9f8f2.7adf08", "name": "Filtra 1/5 letture", "property": "numLetture", "propertyType": "flow", "rules":[{"t": "eq", "v":"4","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":380,"wires":[["41bac391.9beffc"],["78eb2b71.a4c2c4"]]},{"id":"41bac391.9beffc","type":"change","z":"71c9f8f2.7adf08","name":"Pass message","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":360,"wires":[["256235b9.3bb72a"]]},{"id":"78eb2b71.a4c2c4","type":"change","z":"71c9f8f2.7adf08", "name": "Drop message & increment", "rules":[{"t": "set", "p": "numReadings", "pt": "flow", "to":"$flowContext('numReadings') + 1", "tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":400,"wires":[[]]},{"id":"88390763.49ad58","type":"switch","z":"71c9f8f2.7adf08","name":"Is Current > 100mA?","property":"data","propertyType":"msg","rules":[{"t":"gt","v":"0.1","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":620,"wires":[["b0fc9af.9e90c68"],["b271da6d.f05098"]]},{"id":"53f44746.f831e8","type":"comment","z":"71c9f8f2.7adf08", "name": "Subflow per il calcolo dello stato della macchina", "info": "Questo subflow può essere abilitato per calcolare se la macchina è attiva o disattiva in base al valore di soglia configurato.Lo stato calcolato viene inviato come stringa a un attributo della macchina. Questo attributo macchina deve essere configurato in Tulip come attributo di testo e l'attributo deviceInfo deve essere copiato nel nodo Attributo macchina di Tulip.", "x":240, "y":620, "wires":[]},{"id": "b0fc9af.9e90c68","type":"change","z":"71c9f8f2.7adf08","name":"State = ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"ON","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":600,"wires":[["a197e7f6.0d6c58"]]},{"id":"b271da6d.f05098","type":"change","z":"71c9f8f2.7adf08","name":"State = OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"OFF","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":640,"wires":[["a197e7f6.0d6c58"]]},{"id":"eed4e051.7bc12","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"part_count","x":730,"y":160,"wires":[[]]},{"id":"b594a80b.7f3f18","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"current","x":1020,"y":360,"wires":[[]]},{"id":"a197e7f6.0d6c58","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"state","x":930,"y":620,"wires":[[]]},{"id":"80b0c03.326c84","type":"inject","z":"71c9f8f2.7adf08", "name": "Initialization", "props":[], "repeat":", "crontab":"", "once":true, "onceDelay":0.1,"topic":"","x":110,"y":440,"wires":[["81df5e3e.f5126"]]},{"id":"81df5e3e.f5126","type":"change","z":"71c9f8f2.7adf08","name":"Initialize numReadings = 0","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":440,"wires":[[]]},{"id":"71b68226.a6568c", "type": "tulip-high-speed-analog-config", "name": "ADC differenziale RMS @ 1kHZ", "bufferSize": "1000", "frequency": "1000", "adcId":"0", "diffAdcResistor": "200", "enableTime":false, "enableFreq":false, "enableRMS":true, "enablePowerSpec":false},{"id": "58dfe1ff.615b", "type": "tulip-tag-list", "name": "Part-Making Machine Tags", "tags":[{"id": "part_count", "label": "Part Count", "type": "integer"},{"id": "current", "label": "Current (RMS)", "type": "float"},{"id": "state", "label": "State", "type": "string"}]}]
{height="" width="550"}
Il flusso ha anche il seguente elenco di tag Tulip:
{height="" width="350"}
1. Questo dispositivo Edge appare in Tulip come un'origine dati con tre tag:
1. Part Count: Incrementato ogni volta che il pin di ingresso GPIO 1 si attiva. Si presume che un raggio di rottura sia collegato a quel pin.
2. Corrente (RMS): scrive la lettura della corrente RMS (in Ampere) ogni 5 secondi del CR3111-3000. Si presuppone che questo sensore di corrente sia collegato all'ADC differenziale.
3. Stato: Riporta "ON" se la corrente è >100mA e "OFF" se la corrente è <=100mA.È possibile mappare questi tag agli attributi macchina corrispondenti in Tulip:
{height="" width="350"}
1. I dati vengono visualizzati quando il fascio di luce si alterna o quando le letture di corrente vengono aggiornate ogni 5 secondi:
{height="" width=""}
---
Avete trovato quello che cercavate?
Potete anche andare su [community.tulip.co](https://community.tulip.co/?utm_source=intercom&utm_medium=article-link&utm_campaign=all) per porre la vostra domanda o vedere se altri hanno affrontato una questione simile!
Sommario
- Panoramica
- Requisiti
- Guida per l'utente
- Esempio: Gestione dello stato della macchina e del conteggio dei pezzi con Edge IO e Node-RED
- 65CCB8", "icon": "font-awesome/fa-arrows-v"},{"id": "d99ec5b3.e9dfb8", "type": "function", "z": "85d16074.518e2", "name": "Convertire valori con scala/offset", "func": "const scale = env.get('SCALE');\nconst offset = env.get('OFFSET');\nconst prop = env.get('PROPERTY');\nif (Array.isArray(msg[prop])) {\n msg[prop] = msg[prop].map((x) => (scala * x + offset));\n} else {\n msg[prop] = scala * msg[prop] + offset;\n}}return msg;", "outputs":1, "noerr":0, "initialize":"", "finalize":"", "x":250, "y":60, "wires":[]]},{"id": "71c9f8f2.7adf08", "type": "tab", "label": "Visibilità della macchina con pinza amperometrica e breakbeam", "disabled":false, "info": "Questo flusso di libreria è un'applicazione di base per il monitoraggio della macchina che consente di ottenere visibilità sullo stato della macchina e sul numero di pezzi utilizzando una pinza amperometrica e un breakbeam. Tiene traccia dei seguenti due ingressi Edge IO:\n\n * Conteggio pezzi: Parte da 0 e conta ogni volta che il pin GPIO 1 viene attivato, ad esempio quando viene attivato un breakbeam. Può essere riportato a 0 dal nodo 'Reset Part Count'. Invia il conteggio corrente a un attributo macchina Tulip ogni volta che il conteggio dei pezzi cambia. \ Stato macchina: Invia la corrente RMS di una macchina monitorata da una pinza amperometrica CR-3111 all'ADC differenziale Edge IO. La lettura RMS viene fornita per un buffer di 1s di dati presi a 1kHz, campionati una volta ogni 5s. È possibile impostare una soglia in Node-RED o in Tulip per determinare lo stato di accensione/spegnimento della macchina. "},{"id":"256235b9.3bb72a","type":"subflow:85d16074.518e2","z":"71c9f8f2.7adf08","name":"CR-3111 Scaling","env":[{"name":"PROPERTY","value":"data","type":"str"},{"name":"SCALE","value":"3000","type":"num"},{"name":"OFFSET","value":"0","type":"num"}],"x":800,"y":360,"wires":[["88390763.49ad58", "b594a80b.7f3f18"]]},{"id":"daf59f31.d1ec8","type":"tulip-high-speed-analog","z":"71c9f8f2.7adf08","name":"Differential ADC Readings","analogConfig":"71b68226.a6568c","dataTypeIdx":"2","inputs":0,"mode":"continuous","dataMsgProperty":"data","refreshRate":"1","refreshFrames":"all","x":150,"y":380,"wires":[["96ef65ab.afba78"]]},{"id":"82a0d2e1.62cec","type":"inject","z":"71c9f8f2.7adf08","name":"Reset Part Count","props":[],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":130,"y":100,"wires":[["25bb1de8.b3e502"]]},{"id":"579dcfa3.596ad","type":"tulip-digital-input","z":"71c9f8f2.7adf08", "name": "Monitor Pin 1", "runMode": "continuous", "configMode": "static", "outputMode": "object", "refreshRate":1, "enabledPins":[true,false,false,false,false,false,false], "x":110, "y":160, "wires":["27e78fe6.8e08c"]]},{"id":"27e78fe6.8e08c","type":"switch","z":"71c9f8f2.7adf08","name":"Filter for pinUp","property":"payload","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":300,"y":160,"wires":[["f1b02903.a2f2b8"]]},{"id":"f1b02903.a2f2b8","type":"change","z":"71c9f8f2.7adf08", "nome": "Incremento conteggio parti", "regole":[{"t": "set", "p": "partCount", "pt": "flow", "to":"$flowContext('partCount') + 1", "tot": "jsonata"},{"t":"set","p":"payload","pt":"msg","to":"partCount","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":160,"wires":[["eed4e051.7bc12"]]},{"id":"25bb1de8.b3e502","type":"change","z":"71c9f8f2.7adf08", "name": "Imposta conteggio parti = 0", "rules":[{"t": "set", "p": "partCount", "pt": "flow", "to": "0", "tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":100,"wires":[[]]},{"id":"dcb54611.9f7ca8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor Part Count", "info": "Inizia con Part Count = 0 e conta fino a quando il pin GPIO 1 viene attivato. Il conteggio dei pezzi può essere riportato a 0 facendo clic sul nodo 'Reset Part Count'. Invia il conteggio corrente all'attributo macchina Tulipano configurato ogni volta che il conteggio dei pezzi cambia. ", "x":130, "y":40, "wires":[]},{"id": "9ff956ce.4ee9b8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor RMS Current", "info": "Invia la corrente RMS di una macchina monitorata da una pinza amperometrica CR-3111 all'ADC differenziale Edge IO. La lettura RMS viene fornita per un buffer di 1s di dati presi a 1kHz, campionati una volta ogni 5s. È possibile impostare una soglia in Node-RED o in Tulip per determinare lo stato di accensione/spegnimento della macchina. ","x":140,"y":320,"wires":[]},{"id":"96ef65ab.afba78","type":"switch","z":"71c9f8f2.7adf08", "name": "Filtra 1/5 letture", "property": "numLetture", "propertyType": "flow", "rules":[{"t": "eq", "v":"4","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":380,"wires":[["41bac391.9beffc"],["78eb2b71.a4c2c4"]]},{"id":"41bac391.9beffc","type":"change","z":"71c9f8f2.7adf08","name":"Pass message","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":360,"wires":[["256235b9.3bb72a"]]},{"id":"78eb2b71.a4c2c4","type":"change","z":"71c9f8f2.7adf08", "name": "Drop message & increment", "rules":[{"t": "set", "p": "numReadings", "pt": "flow", "to":"$flowContext('numReadings') + 1", "tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":400,"wires":[[]]},{"id":"88390763.49ad58","type":"switch","z":"71c9f8f2.7adf08","name":"Is Current > 100mA?","property":"data","propertyType":"msg","rules":[{"t":"gt","v":"0.1","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":620,"wires":[["b0fc9af.9e90c68"],["b271da6d.f05098"]]},{"id":"53f44746.f831e8","type":"comment","z":"71c9f8f2.7adf08", "name": "Subflow per il calcolo dello stato della macchina", "info": "Questo subflow può essere abilitato per calcolare se la macchina è attiva o disattiva in base al valore di soglia configurato.Lo stato calcolato viene inviato come stringa a un attributo della macchina. Questo attributo macchina deve essere configurato in Tulip come attributo di testo e l'attributo deviceInfo deve essere copiato nel nodo Attributo macchina di Tulip.", "x":240, "y":620, "wires":[]},{"id": "b0fc9af.9e90c68","type":"change","z":"71c9f8f2.7adf08","name":"State = ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"ON","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":600,"wires":[["a197e7f6.0d6c58"]]},{"id":"b271da6d.f05098","type":"change","z":"71c9f8f2.7adf08","name":"State = OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"OFF","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":640,"wires":[["a197e7f6.0d6c58"]]},{"id":"eed4e051.7bc12","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"part_count","x":730,"y":160,"wires":[[]]},{"id":"b594a80b.7f3f18","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"current","x":1020,"y":360,"wires":[[]]},{"id":"a197e7f6.0d6c58","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"state","x":930,"y":620,"wires":[[]]},{"id":"80b0c03.326c84","type":"inject","z":"71c9f8f2.7adf08", "name": "Initialization", "props":[], "repeat":", "crontab":"", "once":true, "onceDelay":0.1,"topic":"","x":110,"y":440,"wires":[["81df5e3e.f5126"]]},{"id":"81df5e3e.f5126","type":"change","z":"71c9f8f2.7adf08","name":"Initialize numReadings = 0","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":440,"wires":[[]]},{"id":"71b68226.a6568c", "type": "tulip-high-speed-analog-config", "name": "ADC differenziale RMS @ 1kHZ", "bufferSize": "1000", "frequency": "1000", "adcId":"0", "diffAdcResistor": "200", "enableTime":false, "enableFreq":false, "enableRMS":true, "enablePowerSpec":false},{"id": "58dfe1ff.615b", "type": "tulip-tag-list", "name": "Part-Making Machine Tags", "tags":[{"id": "part_count", "label": "Part Count", "type": "integer"},{"id": "current", "label": "Current (RMS)", "type": "float"},{"id": "state", "label": "State", "type": "string"}]}]