modbus通信协议与程序示范

2020-01-12 17:25发布

RT.
MODBUS协议内通信,发送与回收格式。
另附stc12c5a60s2单片机上运行成功的modbus代码。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
78条回答
pingqifa
2020-01-22 18:22
主机模式有个问题看不明白,求赐教!               
        if(style == SET_COIL_MULTIPLE)
                        {// 强制多个位输出
                                ModbusPara.tBuf[6] = val/8;        // 字节数     (*此处/8如何表示字节数,看不懂,求赐教)
                                if(val%8) ModbusPara.tBuf[6] ++;
                                for (k = 0 ; k < ModbusPara.tBuf[6]; k++)
                                { // 读取指定的状态位
                                        ModbusPara.tBuf[7+k] = 0;
                                        for (i = 0 ; i < 8 ; i++)
                                        {
                                                ModbusPara.tBuf[7+k] >>= 1;
                                                if(val)
                                                {
                                                        val --;
                                                        style = 1;
                                                        style <<= sAdd%8;                                //寻找对应的BIT位号
                                                }
                                                else style = 0;                                                // 零填充
                                               
                                                if(CoilBitPara[sAdd/8] & style)
                                                {
                                                        ModbusPara.tBuf[7+k] |= 0x80;        // 将该位置1
                                                }
                                                sAdd ++;
                                        }
                                }
                                sAdd = ModbusPara.tBuf[6] + 7;
                        }

一周热门 更多>