RSS

台达dp210文本显示器的自由协议

来源: 作者: 时间:2007-01-22 点击:


         控制器与dp210显示器相连接的一个简单的通信协议,控制器是主控端, 显示器是从属端,在控制器中,只需编写简单的通信读/写程序,而不用编写通信中断服务程序。

首先,控制器发送一个请求给显示器,显示器接受请求之后,给控制器回复一个响应。
显示器和控制器交换数据为128(最大)字,为MW0~MW127,字的每个比特可以作为线圈使用,为MWx.i(x=0..127,i=0..15)。

请求的格式:
站号 命令 地址 长度 [数据] 校验
站号:显示器站号(0~255,0表示广播方式,显示器不需要回复)
命令:‘R’表示从显示器读取,‘W’表示向显示器写数据
地址:MW(0~127)的索引号
长度:需要读/写MW的个数(1~128)
数据:MW的值,如果命令是‘R’则没数据
校验:从站号到校验前的字节,所有字节相加,再取0x100的余数
 (注意:如果校验是0x5A,则忽略,不作检查)
 
响应的格式:
站号 状态 [地址 长度 数据] 校验
状态:通信的状态
 :0 – 正常
 :1 – 地址错误
 :2 – 长度错误
 :3 – 范围错误(地址 + 长度 > 128 )
 :4 – 命令错误
当命令是‘W’或不正常时,则没有地址、长度和数据

数据的格式
MWi
(高) MWi
(低) MWi+1
(高) MWi+1
(低) … MWi+n-1
(高) MWi+n-1
(低)
地址是 i , 长度是 n 。
 
协议:

首先,控制器发送一个请求给显示器。 显示器收到请求后,检查校验,如果校验正确,且站号等于显示器本身站号,显示器就响应这个请求。否则,显示器将不作响应。

控制器需要检查显示器的响应是否超时,超时时间为50毫秒。如果超时,控制器应该重新发送请求。
显示器检查接收数据是否超时,超时时间为25毫秒。如果超时,显示器初始化通信,等待控制器的新的请求。

读(从显示器读数据)
控制器
站号 ‘R’ 地址 长度 校验
显示器
站号 状态 地址 长度 数据 校验
数据:需要读的MW的值

写(向显示器写数据)

站号 ‘W’ 地址 长度 数据 校验
显示器
站号 状态 校验
状态:0 – OK


例子
a) 控制器从DP210读 MW0,MW1
控制器发送: 01H 52H 00H 02H 55H
DP210回应: 01H 00H 00H 02H 00H 00H 00H 0CH 0FH 
(MW0=0  MW1=12)

b) 控制器写 256 到 MW0
 控制器发送: 01H 57H 00H 01H 01H 00H 5AH
 DP210回应:01H 00H 01H

 

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商链接