What This Module Does
M0307 is an embedded protocol conversion module that converts Modbus RTU slave devices into PROFIBUS PA slave devices. It is designed for OEM manufacturers who want to add PROFIBUS PA communication capability to their existing Modbus instruments without redesigning the entire product.
The module is embedded directly into Modbus protocol devices — such as transmitters, actuators, process instruments, and other industrial field equipment — and communicates with the user board via TTL-level UART using the Modbus RTU protocol. The M0307 serves as the Modbus master on the field-device side and as a PROFIBUS PA slave on the control system side, converting data between the two protocols.
This means you can take an existing Modbus instrument and turn it into a PROFIBUS PA-compliant field device with minimal hardware changes and without developing a PROFIBUS protocol stack from scratch. The module provides a GSD file template that users can modify for their own products.
Who Uses It
OEM manufacturers of industrial instruments who need to add PROFIBUS PA communication to their product lines. Product engineers looking to upgrade Modbus-based devices — transmitters, actuators, process instrumentation, smart field devices — to support PROFIBUS PA without developing a PROFIBUS stack from scratch. A GSD file template is provided and can be customized for the user’s product.
The M0307 is particularly valuable for manufacturers who want to quickly enable PROFIBUS PA communication on their instruments without purchasing a PROFIBUS development system or writing protocol software. It’s a drop-in module that gets you to market faster.
Como Funciona
The M0307 sits between the PROFIBUS PA network and the Modbus device. It connects to the main control board of the field device through a 16-pin connector — externally connected to the PROFIBUS PA network via the user’s PCB, internally connected to the user board via TTL-level UART.
Data flow direction:
- Modbus to PROFIBUS: The module, acting as a Modbus master, reads data from the user board (Modbus slave) via TTL-level UART using configured Modbus commands. The data is then mapped to PROFIBUS PA input data and made available to the PROFIBUS master control system.
- PROFIBUS to Modbus: When the PROFIBUS master sends output data, the module maps the data to Modbus commands and writes it to the user board via TTL-level UART.
Key mapping concept:
User Board Modbus Data ↔ M0307 ↔ PROFIBUS PA Master I/O Data
The module contains 1 physical block, 1 user transducer block, and 16 function blocks (4 AI, 4 AO, 4 DI, 4 DO). The transducer block includes 4 analog input channels, 4 analog output channels, 4 discrete input channels, and 4 discrete output channels — totaling 16 cyclic parameters. It also provides 42 acyclic parameters for additional configuration data.
Hardware Interface
The M0307 uses a 2.54mm pitch 16-pin connector (JP1) to connect to the user board.
Pin definition (JP1):
| Fixar | I/O | Nome | Descrição |
|---|---|---|---|
| 1 | I | IVCC_IS | Signal isolated external power supply (provided by user board) |
| 2 | I | IGND_IS | Signal isolated external power ground (provided by user board) |
| 3 | I | /RES | CPU reset, low active |
| 5 | O | TXD | CPU serial data transmission |
| 6 | O | RTS | RS-485 control terminal |
| 8 | I | RXD | CPU serial data receiving |
| 10 | I/O | Status | Communication status indicator |
| 11 | I/O | BUS+ | Bus power supply positive |
| 12 | I/O | BUS- | Bus power supply negative |
DIP switches:
Two DIP switches (S1 and S2) provide hardware reset, write protection, address setting, and working mode selection:
S1 (Special function dial switch):
| Item | Nome | Descrição |
|---|---|---|
| 1 | RST | Reset enable — module data recovery to factory status |
| 2 | WP | Write protection enable |
| 3 | S/E | Hardware dial address enable |
S2 (Address and mode dial switch):
| Item | Descrição |
|---|---|
| 1 | If ON, address +1 |
| 2 | If ON, address +2 |
| 3 | If ON, address +4 |
| 4 | If ON, address +8 |
| 5 | If ON, address +16 |
| 6 | If ON, address +32 |
| 7 | If ON, address +64 |
| 8 (M) | ON = Configuration mode, OFF = Normal working mode |
LED indicators:
| LED | Função |
|---|---|
| LED1 (PA) | PROFIBUS PA communication status |
| LED2 (Modbus) | Modbus communication status |
Two Working Modes
The M0307 supports two operating modes, switchable via the DIP switch S2.8:
Configuration Mode (S2.8 = ON):
- M0307 acts as a Modbus slave
- Modbus General Configuration Tool acts as the Modbus master
- Used for configuring: Modbus communication parameters, cyclic parameters, acyclic parameters, device ID, and other settings
- Configuration data is downloaded to the module via the configuration tool
Normal Operating Mode (S2.8 = OFF):
- M0307 acts as a Modbus master on the device side
- M0307 acts as a PROFIBUS PA slave on the control system side
- Cyclically executes the configured Modbus command queue to read/write user board data
- Exchanges I/O data with the PROFIBUS master control system in real time
Configuration Overview
The M0307 is configured using the Modbus General Configuration Tool provided by Microcyber.
Configuration steps:
- Set S2.8 to ON (Configuration Mode) and power on the module
- Connect the module to a PC via a TTL serial device
- Open the Modbus General Configuration Tool and add the device
- Configure the following parameters:
- Device initialization parameters: Manufacturer ID, device ID, profile ID, device type, serial number, certification, installation date
- Modbus communication parameters: Baud rate (2400-19200), data bits (7/8), parity (None/Even/Odd), physical standard (TTL/RS232/RS485), stop bits, slave address, CRC order, timeout, retry times
- Cyclic input/output parameters: 4 AI, 4 AO, 4 DI, 4 DO with configurable read/write attributes, data format, register address, function code
- Acyclic parameters: 10 float variables, 10 USIGN32 variables, 10 USIGN16 variables, 10 USIGN8 variables, 2 Octet String variables
- Save the configuration to the module
- Set S2.8 to OFF (Normal Operating Mode) and power cycle the module
The module supports up to 16 cyclic parameters (4 AI, 4 AO, 4 DI, 4 DO) and 42 acyclic parameters (10 float, 10 USIGN32, 10 USIGN16, 10 USIGN8, 2 Octet String).
Batch download: For manufacturers with multiple modules requiring the same configuration, save the configuration to a file and batch download to all modules.
Cyclic Parameters
The user transducer block provides 4 analog inputs, 4 analog outputs, 4 discrete inputs, and 4 discrete outputs — totaling 16 cyclic parameters.
| Parâmetro | Data Type | Descrição |
|---|---|---|
| MOD_IN1 ~ MOD_IN4 | 101 (Float + Status) | Analog inputs, transfer values to AI function blocks |
| MOD_OUT1 ~ MOD_OUT4 | 101 (Float + Status) | Analog outputs, transfer values from AO function blocks |
| MOD_IN_D1 ~ MOD_IN_D4 | 102 (Unsigned8 + Status) | Discrete inputs, transfer values to DI function blocks |
| MOD_OUT_D1 ~ MOD_OUT_D4 | 102 (Unsigned8 + Status) | Discrete outputs, transfer values from DO function blocks |
Acyclic Parameters
The M0307 also provides 42 acyclic parameters for flexible configuration:
| Parameter Type | Count | Descrição |
|---|---|---|
| GENERIC_FLOAT | 10 | Floating point variables |
| GENERIC_USIGN32 | 10 | 32-bit unsigned integer variables |
| GENERIC_USIGN16 | 10 | 16-bit unsigned integer variables |
| GENERIC_USIGN8 | 10 | 8-bit unsigned integer variables |
| GENERIC_OCTET | 2 | 32-byte Octet String variables |
These parameters can be used to store auxiliary data such as upper/lower limits, unit codes, or other configuration values. They are read during power-up and can be written at any time.
Technical Specifications
| Parâmetro | Especificação |
|---|---|
| Alimentação do barramento | 9-32 VCC |
| Current consumption | ≤14mA |
| Protocolo | 2-wire PROFIBUS PA |
| Tensão de isolamento | 500V AC between Modbus and PA interface |
| Intervalo de temperatura | -40 °C a 85 °C |
| Humidity range | 5-95% RH |
| Startup time | ≤5s |
| Atualizar hora | 0,2s |
| Peso | 16g |
| Dimensions (L×W×H) | 65×42×14 mm |
Supported Modbus Function Codes
| Código | Operation |
|---|---|
| 1 | Read coils |
| 2 | Read discrete inputs |
| 3 | Read holding registers |
| 4 | Read input registers |
| 5 | Write single coil |
| 6 | Write single register |
| 15 | Write multiple coils |
| 16 | Write multiple registers |
Default Communication Parameters
| Parâmetro | Default |
|---|---|
| Slave Address | 1 |
| Baud Rate | 9600 |
| Data Bit | 8 |
| Stop Bit | 1 |
| Parity | EVEN |
| CRC Check | Low byte first |
Troubleshooting
| Problem | Causa Possível | Solução |
|---|---|---|
| Modbus communication failure | Incorrect baud rate / parity / slave address | Check Modbus communication parameters in configuration |
| PA communication failure | Incorrect address / GSD file mismatch | Check S2 DIP switch settings, verify device ID |
| LED2 (Modbus) off | No Modbus communication / Slave failure | Check user board connection and configuration |
| LED1 (PA) off | No PA communication / Power failure | Check PROFIBUS PA network and bus power |
For detailed diagnostic information, use the BAD_STATUS parameter to identify which cyclic command is failing, and ERR_LOOK_RESULT to view the specific Modbus exception code.
Need to add PROFIBUS PA to your Modbus instruments? Contact our OEM support team for integration assistance.
