Modbus--一文通俗易懂系列--功能码(01-06)

Modbus的功能码。可以把它们当作是**“命令”**,每个命令告诉设备做不同的事情。比如在家里开关灯、调节空调温度,类似地,Modbus协议中的每个功能码就是一种操作设备的命令。

1. 功能码 01(读取开关状态--保持型寄存器--线圈--数字量(0,1)

  • 是什么:告诉设备“告诉我这些开关是开着还是关着”。
  • 举个例子:你想知道家里的灯(开关)是开着还是关着。你发出一个“读取开关状态”的请求,设备会返回灯是开着还是关着的结果。
  • 举例:你想知道0号到5号的6个开关的状态。

2. 功能码 02(读取输入信号--输入型寄存器--线圈--数字量(0,1)

  • 是什么:告诉设备“告诉我这些传感器的状态”,比如一些数字信号(如按钮的开关状态)。
  • 举个例子:你想知道门上的传感器是否有信号(是否被打开)。你发出一个“读取传感器信号”的请求,设备会告诉你这些传感器的状态。
  • 举例:你想知道10号到15号的6个传感器的状态。

3. 功能码 03(读取数值数据--保持型寄存器--寄存器--模拟量(23.56等)

  • 是什么:告诉设备“告诉我这些数值数据”,比如温度、压力等数字数据。
  • 举个例子:你想知道家里的温度是多少。你发出一个“读取温度数据”的请求,设备会告诉你温度是多少(例如20℃)。
  • 举例:你想知道0号到3号的4个数值数据(例如温度或压力)的数值。

4. 功能码 04(读取输入数值--输入型寄存器--寄存器--模拟量(23.56等)

  • 是什么:告诉设备“告诉我这些传感器的数值数据”,例如测量值(温度、湿度等)。
  • 举个例子:你想知道一个温度传感器的温度是多少。你发出一个“读取传感器数据”的请求,设备会告诉你实际测量到的温度。
  • 举例:你想知道100号到103号的4个传感器的数值(例如温度数据)。

5. 功能码 05(写入开关状态--数字量1)

  • 是什么:告诉设备“开关这个设备”或“关闭这个设备”。这通常是用来控制设备的开关状态。
  • 举个例子:你想开一个电灯。你发出一个“开灯”的命令,设备会把灯打开。
  • 举例:你想把5号开关设为“开”。

6. 功能码 06(写入数值数据--模拟量2)

  • 是什么:告诉设备“设置这个数值”。这通常是用来控制设备的设置,比如调节温度、设定阈值等。
  • 举个例子:你想设置空调的温度为22℃。你发出一个“设定温度”的命令,设备会把温度设置为你想要的数值。
  • 举例:你想设置10号的数值为100(比如设定温度或压力)。

总结:

  • 功能码 1 和 2:用来读取开关或传感器的状态,像是“查看灯是开还是关”或者“查看传感器的状态”。
  • 功能码 3 和 4:用来读取数值数据,像是“查看温度”或者“查看传感器的测量值”。
  • 功能码 5 和 6:用来设置写入设备状态,像是“开灯”或者“设置温度”。
  • 功能码 01 是用来读取设备的 输出线圈(Coils) 状态,即设备本身的开关状态(例如继电器开关、指示灯状态等)。
  • 功能码 02 是用来读取设备的 输入信号(Discrete Inputs) 状态,即外部传感器或开关的状态信号(例如温度传感器、外部控制信号等)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值