首页/网络/工控与物联网速查/Modbus线圈与离散输入的读写方式
工业协议80 条

Modbus线圈与离散输入的读写方式

线圈可读可写,对应继电器与指示灯等输出,读用 01、写用 05 或 0F;离散输入只读,对应限位与按钮等输入,读用 02。配置时应标注读写属性、写后回读确认,并对批量写与位填充规则特别注意。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​​‌​​‌‌‌​‌​‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​​​​​‌‌‌​‌​‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

两种 1 位数据区的区别

线圈与离散输入都是 1 位数据,区别在读写能力:线圈可读可写,通常对应继电器、接触器与指示灯的开关状态;离散输入只读,通常对应限位开关、按钮与外部触点的状态。读线圈用功能码 01,读离散输入用 02,写线圈用 05 或 0F。把两者区分清楚是配置点表的第一步,否则会出现能读不能写、写入被拒的困惑。

基本信息

线圈可读写,读用 01,写单个用 05,写多个用 0F
离散输入只读,读用 02
数据宽度均为 1 位,在报文中按位打包传输
常见错误用写功能码操作只读区,设备返回异常码
数量上限读与写的单次数量存在上限,具体以协议规范与设备能力为准
典型用途线圈用于控制输出,离散输入用于采集输入状态

读写对照

操作功能码数据区说明
读01线圈读取输出状态与反馈
读02离散输入读取输入触点状态
写05线圈写单个位,常见取值 0xFF00 与 0x0000 表示通断
写0F线圈按位批量写入,请求中带位数量与字节序列
异常响应功能码最高位置 1两者表示请求被拒绝或数据非法

配置与使用建议

  • 点表中标注每个点所属数据区与读写属性,避免采集系统尝试写只读点
  • 写操作后回读确认,验证结果与预期一致再记录
  • 批量写线圈时注意位序与字节填充规则,不足一字节的部分需要补位
  • 控制类写操作单独授权与留痕,不与采集共用账号
  • 对写入被拒的返回码做专门处理,区分权限问题与设备不支持
写单个线圈时,请求数据字段常用 0xFF00 表示置位、0x0000 表示复位,其他取值在规范中视为非法。这一约定在早期实现中容易被误用并触发异常响应,具体取值与例外以规范和设备手册为准。
线圈写操作直接影响设备动作,例如启停与阀门开关。批量写可以一次改变多个输出状态,生产环境中应限制使用范围并保留操作记录。

易错点

  • 把只读的离散输入配上写操作:设备返回异常码,排查方向被误导到通信链路
  • 批量写线圈未做位填充:位序错乱导致相邻输出被误动作
  • 写操作不回读确认:写入失败但被当作成功,后续逻辑基于错误状态运行
  • 采集与控制共用账号:读权限的通道顺带具备写能力
  • 点表不标读写属性:交接后无人知道哪些点可以写,变更时容易误操作

数据来源与参考

  • Modbus 应用协议规范(Modbus Organization)
  • Modbus over Serial Line 规范
  • IEC 62443-3-3:使用控制要求

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/modbus-coil-discrete-input.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​​‌​​‌‌‌​‌​‌​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​​​​​‌‌‌​‌​‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​