Chengdu Yingchuang Information Technology Co., Ltd.
Casa>Prodotti>Pacchetto di protocollo ModBus
Pacchetto di protocollo ModBus
Il protocollo Modbus è un protocollo di comunicazione universale ampiamente utilizzato nel campo del controllo industriale di oggi, con i pacchetti so
Dettagli del prodotto

Introduzione al protocollo ModBus

Modbus è un protocollo di comunicazione universale ampiamente utilizzato nel campo del controllo industriale di oggi. Con questo protocollo, i controller possono comunicare tra loro o con altri dispositivi tramite una rete, come Ethernet. Il protocollo Modbus utilizza la tecnologia di comunicazione master-from, cioè la richiesta attiva e l'operazione dal dispositivo master. Il protocollo utilizzato dal dispositivo master è generalmente chiamato Modbus Master e il protocollo utilizzato dal dispositivo è chiamato Modbus Slave. Le attrezzature principali tipiche includono macchine di controllo industriali e controllori industriali, ecc.; Tipico da dispositivi come PLC controllori programmabili, ecc. Le interfacce fisiche di comunicazione Modbus possono essere scelte con porte seriali (comprese RS232 e RS485) o con porte Ethernet. La sua comunicazione segue il seguente processo:

● Il dispositivo principale invia richieste dal dispositivo

● Analizzare ed elaborare le richieste dal dispositivo principale e inviare i risultati al dispositivo principale

● Se si verificano errori, un codice di funzionalità eccezionale viene restituito dal dispositivo


Introduzione del software ModBus

I prodotti software per il protocollo di comunicazione ModBus lanciati da Intel sono utilizzati principalmente per l'ambiente di scheda madre Embedded ARM9 di Intel, tutte con una ricca gamma di porte seriali, risorse di rete, interfaccia GPIO universale, ecc. e una potente capacità di elaborazione. In combinazione con il software del protocollo di comunicazione ModBus, è possibile creare facilmente piattaforme di applicazione master (Master) e slave (Device) conformi alle specifiche di comunicazione ModBus. Il pacchetto ModBus è diviso in due parti che possono essere utilizzate in modo indipendente, cioè il "ModBus Master Protocol Software" (abbreviato modbus_Master) e il "ModBus Device Side Protocol Software" (abbreviato modbus_Slave). Attualmente, il software ModBus viene eseguito in ambiente WinCE e viene fornito ai clienti come funzione C più librerie LIB statiche. Le caratteristiche principali sono le seguenti:

Ideale per applicazioni industriali in tempo reale

Possibilità di supportare applicazioni ModBus basate su porta seriale o applicazioni ModBus basate su TCP

Modalità di trasmissione RTU

Supporta la maggior parte delle operazioni di codice funzionale Modbus, incluse le operazioni di bit di input per bobine, interruttori discreti e byte di registro

• Indirizzi di trasmissione supportati

Possibilità di impostare flessibilmente i tempi di scadenza della comunicazione ModBus

● Possibilità di ottenere dettagli sui codici di errore del protocollo di trasmissione nella comunicazione


Diagramma delle comunicazioni del software ModBus


Codice funzionale supportato dal software ModBus

Codice funzionale

Descrizione

1

Leggere bobina singola

2

Leggere l'input discreto

3

Leggere più registri

4

Leggere il registro di ingresso

5

Scrivere una bobina singola

6

Scrivere un singolo registro

15

Scrivere più bobine

16

Scrivere più registri

22

Blocca il registro di scrittura

23

Registro di lettura/scrittura


Uso fondamentale del software

Per semplificare l'uso delle applicazioni e mantenere una forma di codice coerente per i diversi mezzi di comunicazione, le funzioni API nel software ModBus (tra cui modbus_Master e modbus_Slave) fornito da InGen possono supportare sia il protocollo Modbus basato su porta seriale che TCP, l'applicazione deve solo distinguere con diversi parametri quando si chiama la funzione di inizializzazione, per le istruzioni sui parametri vedere i file di intestazione corrispondenti: modbus_Master.h e modbus_Slave.h


Applicazione di modbus_master

L'applicazione come modalità client Modbus consiste principalmente nella preparazione delle richieste e nell'invio delle richieste al dispositivo server in attesa della risposta del server. Durante lo sviluppo di tali applicazioni, l'utente può fare riferimento alla letteratura standard Modbus e al manuale dei dati dell'interfaccia di comunicazione del dispositivo controllato, chiamando direttamente il pacchetto modbus_Master fornito da Intel per fornire la funzione API operativa corrispondente per completare l'accesso e il controllo del dispositivo server. Per lo sviluppo di tali applicazioni, è sufficiente includere modbus_master.h/modbus_master.lib.


Applicazione di modbus_slave

Come applicazione in modalità server ModBus, è necessario principalmente implementare l'analisi e la risposta ai messaggi dell'applicazione ModBus, ma questa è solo una parte dell'intera comunicazione ModBus, l'altra parte è anche necessario avere accesso ai dati dell'applicazione, questa parte del contenuto deve essere definita dall'utente stesso. Per facilitare l'uso del cliente, il caricamento automatico di queste funzioni dell'interfaccia utente è implementato nel pacchetto modbus_Slave sotto forma di puntatori di funzione che collegano l'elaborazione dei dati dell'applicazione utente alla risposta ai messaggi dell'applicazione ModBus. Gli utenti devono semplicemente definire queste funzioni di interfaccia in base alle loro esigenze per implementare le funzioni corrispondenti, le definizioni specifiche di ciascuna funzione vengono implementate attraverso un file CPP dedicato: DataProvider.cpp.


Di conseguenza, questo tipo di applicazione di sviluppo deve contenere due parti di contenuto, una parte è la funzione API definita da modbus_slave.h/modbus_slave.lib; Un'altra parte è la funzione di interfaccia dati utente definita da DataProvider.h / DataProvider.cpp, dove la funzione di interfaccia richiede che l'utente implementi specificamente in DataProvider.cpp.


Per rispondere tempestivamente ai messaggi dell'applicazione ModBus, è importante notare che durante la programmazione è necessario progettare un thread che richiama ripetutamente la funzione di esecuzione modbus_Slave, che è in modalità di blocco.


Ad esempio:

(1) Avviare il protocollo Modbus

hPort = mbusSlave_StartupServer(_T('*'), 1, 10000, mbusSlave_Interface );

Oppure...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) Chiama della funzione esecutiva Serverloop nel thread per rispondere alla richiesta

mentre( 1 )

{

//Chiama la funzione esecutiva per l'analisi e la risposta ai messaggi ModBus.

risultato = mbusSlave_ServerLoop( hPort );

    se(risultato!=0)//Controlla se restituisce un errore

{

      //Risoluzione degli errori: questo esempio è un messaggio di testo per ottenere e stampare il codice di errore

wcscpy( szText, mbusSlave_GetErrorText( risultato ) );

i1 = wcslen( szText );

      se( i1>0 )

{

wcstombs( strText, szText, i1 );

stampa(codice di errore: %s! n'Stretex);

}

}

}


In precedenza, il software ModBus era disponibile come funzione C più librerie statiche (file modbus.lib o libmodbus.a). Con l'uso crescente da parte dei clienti, Intel ha preinstallato il protocollo ModBus, in particolare il software del protocollo master (abbreviato modbus_Master), come libreria dinamica (file modbus_Master.dll o libmbusmaster.so) nel sistema di kernel della scheda madre Embedded Industrial Control Intel per facilitare la chiamata delle applicazioni dei clienti. Le schede motherboard con protocollo Modbus preinstallate includono tutte le schede motherboard della serie ESM (ESM6802, ESM6800, ESM335x, ESM928x, ecc.).


Riferimenti correlati


Applicazioni per l'acquisizione di anelli di corrente da 4 a 20 mA Modbus Master Protocol per WinCE

Modbus Device Party Protocol Software sotto WinCE Scheda madre Embedded Linux con supporto per il protocollo Modbus

Introduzione al software Modbus per Linux ESM6802 supporta lo sviluppo di programmi Qt MODBUS

Preinstallazione del protocollo Modbus nella scheda madre
Richiesta online
  • Contatti
  • Società
  • Telefono
  • Email
  • WeChat
  • Codice di verifica
  • Contenuto del messaggio

Successful operation!

Successful operation!

Successful operation!