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节点运行。
  • Supports Modbus gateway functionality.

 

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 节点,在通道上接收指令并执行回呼函式。 <p>>

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通讯资料的闸道器。 <p>>

ModbusGateway 类别

转发 Modbus Master 通讯资料的闸道器。

 begin()
 connect()
 setTimeout()
 poll()


Show the film

 


函式库参考主页面

86Duino 参考资料中的文本修改自 Arduino 参考资料,并根据 知识共享署名-相同方式共享 3.0 许可证 授权。参考资料中的代码示例已发布到公共领域。