Modbus协议开发(2)--实例

硬件:12DO+12DI+2AO+5AI模块 + 485集线器 + 485转232


软件:NModbus开源库,支持wince下.net开发

功能解析(电压的控制)

DO 数字量输出(继电器输出,可接入220v + 电机, 效果:通过12v控制220v开关)

Modbus:05指令,Set

DI 数字量输入(开关量输入,可接入开关,效果:采集到数字信号0或1) 

Modbus:01指令,Get

AO 模拟量输出(寄存器效果:输出一个电压<=5v) 

Modbus:10指令,Set

AI 模拟量输入(效果:采集电压值(可接入电位器)) 

Modbus:03指令,Get


2.1 设置继电器开关(05指令)

发送请求:  01 05 00 00FF 00 8C 3A

模块应答:  01 05 00 00 FF 00 8C 3A

 

2.2 获取开关量信号(01指令)

发送请求: 01 01 00 00 00 0A BC 0D

模块应答: 01 01 02 0202 39 5D (DI-2接入)

          01 01 02 04 02 3A FD (DI-3接入)

          01 01 02 08 02 3F FD (DI-4接入)

          01 01 02 10 02 35 FD (DI-5接入)

          01 01 02 20 02 21 FD (DI-6接入)

 

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

          转2进制数,反序添加到数组

 

3.1设置模拟量输出(10指令)A0

发送请求: 01 10 00 00 00 02 04 FF FD FF FD D2 3A (5v电压)

iValue* 65535 / 5 –>IntToByte(高低位)

模块应答: 01 10 00 00 00 02 41 C8

 

3.2 获取模拟量输出(03指令)AI

发送请求:  01 03 00 0000 05 85 C9

模块应答:  01 03 0A 01 C6 00 00 00 00 00 00 00 000E D6

           两个字节表示一个数字



code:

http://download.csdn.net/detail/arno1988/6607811

猜你喜欢

转载自blog.csdn.net/arno1988/article/details/16945783
今日推荐