Modbus 函式庫
86Diuno IDE 從 Coding 318 版開始加入此函式庫,用於支援 Modbus 通信協定,此協定是為了 可程式化邏輯控制器(PLC) 等自動化電子設備之間的通信,於 1979 年發表的一個工業通訊標準。
Modbus 是一種基於 master/slave 架構的協定,整個網路上存在一個 master 節點與多個 slave 節點進行通訊。每個節點都有一個唯一的地址,當 master 節點發送指定地址的封包時,只有對應地址的 slave 節點會接收及解析封包,並根據封包內容執行及回應指令。
86Duino 的 Modbus 函式庫具有下列特色:
- 同時支援 Modbus RTU、TCP、ASCII 三種子通訊協定。
- 既可作為 Modbus master 節點運行,也可作為 Modbus slave 節點運行。
- 支援 Modbus gateway 功能。
Modbus Master
Modbus Master 能使 86Duino 模擬成 Modbus Master ,對通道上的 Slave 節點傳送封包。
ModbusMaster 類別
將 Serail / Ethernet 用於 Modbus 傳輸。
- begin()
ModbusMasterNode 類別
發送對應節點封包指令。
- attach()
- getResponseBuffer()
- clearResponseBuffer()
- setTransmitBuffer()
- clearTransmitBuffer()
- beginTransmission()
- sendBit()
- send()
- available()
- receive()
- readCoils()
- readDiscreteInputs()
- readHoldingRegisters()
- readInputRegisters()
- writeSingleCoil()
- writeSingleRegister()
- writeMultipleCoils()
- writeMultipleRegisters()
- maskWriteRegister()
- readWriteMultipleRegisters()
Modbus Slave
Modbus Slave 能使 86Duino 模擬成 Modbus Slave 節點,在通道上接收指令並執行回呼函式。
ModbusSlave 類別
將 Serail / Ethernet 用於 Modbus 傳輸。
- begin()
ModbusSlaveNode 類別
接收並解析對應封包,並根據指令存取資料暫存器與呼叫回呼函式。
- attach()
- poll()
回呼函式指標陣列。
- *cbFunc[]()
直接存取 Slave 暫存器之函式,通常用於回呼函式內。
- readCoil()
- writeCoil()
- writeDiscreteInput()
- readHoldingRegister()
- writeHoldingRegister()
- writeInputRegister()
Modbus Gateway
Modbus Gateway 能使 86Duino 模擬成 Modbus Gateway ,是轉發 Modbus Master 通訊資料的閘道器。
ModbusGateway 類別
轉發 Modbus Master 通訊資料的閘道器。
- begin()
- connect()
- setTimeout()
- poll()
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.