最近在做一个项目,串口通讯,接口是RS232,通讯协议是ModBus,一开始真的是一头雾水,如果不管协议,直接用C#自带的SerialPort类,直接发送指令,获取返回信息,解析相对应的结果,得出需要使用的字段,这样可以不管是什么协议,只要知道指令解析方式即可。
如果指令较多,还非得按照ModBus协议解析,可以用NModBus4,百度有很多解释,包括需要理解下ModBus的相关协议,及其定义的字段意思,整理下NModBus4开发好的方法名及对应的功能号(功能号很重要,慎重!)
ModBus功能码 | |
功能码 | 意义 |
1 | READ COIL STATUS |
2 | READ INPUT STATUS |
3 | READ HOLDING REGISTER |
4 | READ INPUT REGISTER |
5 | WRITE SINGLE COIL |
6 | WRITE SINGLE REGISTER |
15 | WRITE MULTIPLE COIL |
16 | WRITE MULTIPLE REGISTER |
方 |