夜光带你走进 Modbus(九)擅长的领域

序言:

 

 完美的人生并不存在,就像那完美的绝望并不存在一样。

 

夜光带你走进 Modbus(九)擅长的领域

 

 

 

 

 

 

正文:

如果上手一个Unity3D的项目,并且这个项目需要和真机联动,和真机联动我们需要通过Modbus协议,这就有些涉及PLC部分的知识了,下面我们主要看代码和如何模拟

夜光带你走进 Modbus(九)擅长的领域

完整的项目,见我的码云~~

https://gitee.com/noctilucent/dn-modbus

这里,我们需要了解一下:读取Slave上面数据的代码其实是很简单的,也有很多开源的代码可以实现这个功能,都在ModbusUtil类中


我们都知道:    Slave设备上的数据分四种类型

夜光带你走进 Modbus(九)擅长的领域

四种类型

  • 可以读写的布尔类型(0x)

 

  • 只能读的布尔类型(1x)

 

  • 只能读的数字类型(3x)

 

  • 可以读写的数字类型(4x)

对应到实际java代码,分为请求和响应


  • 可以读写的布尔类型(0x)   请求类:ReadCoilsRequest                     响应类:ReadCoilsResponse
  • 只能读的布尔类型(1x)      请求类:ReadInputDiscretesRequest       响应类:ReadInputDiscretesResponse
  • 只能读的数字类型(3x)      请求类:ReadInputRegistersRequest       响应类:ReadInputRegistersResponse
  • 可以读写的数字类型(4x)   请求类:ReadMultipleRegistersRequest    响应类:ReadMultipleRegistersResponse

夜光带你走进 Modbus(九)擅长的领域

夜光带你走进 Modbus(九)擅长的领域

我们先新建三个,用来模拟一下

之后就是连接,设置好ip和port


夜光带你走进 Modbus(九)擅长的领域

 

夜光带你走进 Modbus(九)擅长的领域

夜光带你走进 Modbus(九)擅长的领域

 

夜光带你走进 Modbus(九)擅长的领域

 

夜光带你走进 Modbus(九)擅长的领域

 

夜光带你走进 Modbus(九)擅长的领域