基于串口;
Modbus Plus
基于网络
,
它有四层
:Modbus
、
LLC
、
MAC
、
HDLC
;
通信方式:
ASCII
(每个八位字节用
2
个
ASCII
码表示,如
128
,表示成‘
8
’和‘
0
’
,
LRC
校验)
、
RTU
(二进制,
CRC
校验)
;
报文格式:
(
RTU
方式)
35 characters time
延时、地址(
1
字节)
、功能码(
1
字节)
、数据(
n
字节)
、
CRC
(
2
字
节)
、
35 characters time
延时;
主站发送报文间隔时间
>35 characters time
,否则认为是一封报文;
Query
和
Response
格式一样
;
Query
读
, Response
:所要数据
;
Query
写
, Response
:前
6
个字节与
Query
一样;
寄存器起始地址、
个数和数据
:
高字节在前、
低字节在后;
而
CRC
是低字节在前、
高字节在后
串行字节格式:
启动(
1
位)
、数据(
8
位)
、停止(
2
位)
;
或启动(
1
位)
、数据(
8
位)
、奇
/
偶(
1
位)
、停止(
1
位)
;
地址:
0~247
,
0
:广播;
寄存器号
=
实际号
-1
,每种类型寄存器的高位不变号作为隐含可不表示;
Slave device
对
Query
的处理:
⑴未收到
Query
,
no response;
⑵收到
Query
但校验错,
no response;
⑶正确收到
Query
但不能处理,
Exception response;
Exception response
格式:
地址
(
1
字节)
、
原功能码
+80H
(
1
字节)
、
Exception
Code
(
1
字节)
、
CRC
(
2
字节)
Exception
Code
见
P103/121
⑷正确收到
Query
且能处理,
normal response;
功能码
01~24
,见
P31/121~
;
其中
08
为
diagnostic function code,
详见
P81/121
;
08
码
Query
格式:地址(
1
字节)
、功能码(
1
字节)
、
Subfunction Code(1
个字节
)
、数据、
CRC
(
2
字节)
;
最大参数见
P106/121~
;
收发时间估算:
P112/121~
;
CRC/LRC
计算:
P115/121~
。标准办法:CP341+从站狗
经济点的:CP340+自己编写MODBUS(这就看个人能力水平了)
如果是200的话,200自身就有可以编程的串口,相应的MODBUS从站程序也有。官方免费,你到西门子网站上看看>1、准备硬件测试条件,485转232,232转USB,接入PC,PC打开串口助手,设置好波特率,选择好串口号。
2、根据传感器提供的手册,列出测试的协议编码。
3、系统上电。
4、开始通过串口助手逐一发送协议编码,等待传感器返回结果,与理论结果比较
此外通常的485设备的测试,均可以采用这样的办法,用串口工具调试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)