modbus里功能码的意义。

2019-08-23 14:19发布

ModBus常用功能码 (功能码为10进制)  
01 READ COIL STATUS                       读线圈寄存器   
02 READ INPUT STATUS           读状态寄存器
03 READ HOLDING REGISTER      读保持寄存器
04 READ INPUT REGISTER                  读输入寄存器   
05 WRITE SINGLE COIL                        写单线圈寄存器  
06 WRITE SINGLE REGISTER       写单保持寄存器
15 WRITE MULTIPLE COIL          写多线圈寄存器
16 WRITE MULTIPLE REGISTER           写多保持寄存器void ModBus(void)
{
     switch(Function)
     {   
          case 0x01:
                    ReadCoil();     
                    break;
          case 0x02:         
                    break;
          case 0x03:
                    ReadReg();   
                    break;
          case 0x04:
                    break;   
          case 0x05:
                    SetCoil();
                    break;
          case 0x06:
                    SetReg();
                    break;
          case 0x0f:
                    SetNCoil();
                    break;
          case 0x10:
                    SetNReg();
          default: ;
     }      
}
哪位大虾帮忙解释下什么意思?这个是接受到一个字节后执行的程序。阅读线圈,设置线圈是什么意思啊?只有一个站号01  麻烦大虾说的通俗点,小弟没搞过PLC ,用的STM32f103vct6芯片。(公司程序里面的)


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
八度空间
1楼-- · 2019-08-24 06:01
沧海 发表于 2017-3-28 10:12
我的这个函数是属于从站响应是吧?主站发送一个数据帧,然后执行函数里面响应的功能是把?

看你做主机还是从机咯

1、从机的话就是响应功能码,执行相应的功能,有现成的开源代码FreeModbus
2、主机的话就是根据你想要获取的信息进行相应的功能码组合相应的数据帧,返回的数据解释数据帧就是了
沧海
2楼-- · 2019-08-24 08:17
 精彩回答 2  元偷偷看……
操作系统
3楼-- · 2019-08-24 12:28
把线圈去掉就好理解了.总线又不是专门控制线圈的.

一周热门 更多>