ST500II通讯协议.docx

上传人:b****3 文档编号:2843548 上传时间:2022-11-15 格式:DOCX 页数:68 大小:34.15KB
下载 相关 举报
ST500II通讯协议.docx_第1页
第1页 / 共68页
ST500II通讯协议.docx_第2页
第2页 / 共68页
ST500II通讯协议.docx_第3页
第3页 / 共68页
ST500II通讯协议.docx_第4页
第4页 / 共68页
ST500II通讯协议.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

ST500II通讯协议.docx

《ST500II通讯协议.docx》由会员分享,可在线阅读,更多相关《ST500II通讯协议.docx(68页珍藏版)》请在冰豆网上搜索。

ST500II通讯协议.docx

ST500II通讯协议

ST500II智能型电机控制器

通讯协议V1.0

 

苏州智能配电自动化有限公司

 

一.概述

ST500II智能型电机控制器(以下简称ST500II)支持两种通讯协议:

1.MODBUS-RTU

2.PROF-DP。

两种协议都是在工业控制领域中应用非常广泛的开放型协议.两种协议只能选择一种,由用户在定货时指定.

ST500II在硬件上可同时支持两个通讯口,其中一个为编程/显示接口,用于连接现埸显示模块或编程器,当不需要显示模块或编程器时,编程/显示接口可用作通讯端口,编程/显示接口只支持MODBUS协议。

另一接口为远程通讯接口支持PROFIBUS-DP和MODBUS两种协议。

二.Modbus通讯协议简介

物理层:

传输方式:

RS485

通讯地址:

0-254,其中255为保留地址,用于广播命令扩展。

通讯波特率:

4800BPS,9600BPS,19200BPS,38400BPS

通讯介质:

屏蔽双绞线

通讯距离:

≤1200米

链路层:

Ø传输方式:

主从半双工方式。

协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号

沿着相反的两个方向传输。

首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。

协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换。

Ø一个数据帧格式:

1位起始位,8位数据,1位停止位。

Ø一个数据包格式

地址

功能码

数据

校验码

8-Bits

8-Bits

Nx8-Bits

16-Bits

协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。

[注]ST500II响应查询信号的时间为0.05~0.2秒(典型值为0.1秒)

当数据帧到达终端设备时,它通过一个简单的“端口”进入寻址到的设备,该设备去掉

数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。

返回的响应数据中包含了以下内容:

终端从机地址(Address)、被执行了的命令(Function)、执行命令生成的被请求数据(Data)和一个校验码(Check)。

发生任何错误都不会有成功的响应。

地址(Address)域

地址域在帧的开始部分,由8位(0~255)组成,这些位标明了用户指定的终端设备

的地址,该设备将接收来自与之相连的主机数据。

每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。

当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。

1

功能(Function)域

功能域代码告诉了被寻址到的终端执行何种功能。

表1–1列出了所有的功能码、它们的意义及它们的初始功能。

表1–1功能码

代码

意义

行为

03

读数据

获得一个或多个寄存器的当前二进制值

05

DO输出控制

放置一个特定的二进制值到一个DO命令寄存器中

06

预置单寄存器

放置一个特定的二进制值到一个寄存器中

16

预置多寄存器

放置特定的二进制值到一系列多寄存器中

数据域

数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。

些数据的内容可能是数值、参考地址或者极限值。

例如:

功能域码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同能力而有所不同。

错误校验域

该域允许主机和终端检查传输过程中的错误。

有时,由于电噪声和其它干扰,一组数

据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的方法。

[注]发送序列总是相同的–地址、功能码、数据和与方向相关的出错校验。

错误检测

循环冗余校验(CRC)域占用两个字节,包含了一个16位的二进制值。

CRC值由传

送设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC域中的值进行比较,如果这两个值不相等,就发生了错误。

CRC运算时,首先将一个16位的寄存器预置为全1,然后连续把数据帧中的8位字节

与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成CRC,起始位和终止位以及可能使用的奇偶位都不影响CRC。

在生成CRC时,每个8位字节与寄存器中的内容进行异或,然后将结果向低位移位,高位则用“0”补充,最低位(LSB)移出并检测,如果是1,该寄存器就与一个预设的固定值进行一次异或运算,如果最低位为0,不作任何处理。

上述处理重复进行,知道执行完了8次移位操作,当最后一位(第8位)移完以后,下一个8位字节与寄存器材的当前值进行异或运算,同样进行上述的另一个8次移位异或操作,当数据帧中的所有字节都作了处理,生成的最终值就是CRC值。

生成一个CRC的流程为:

1、预置一个16位寄存器为0FFFFH(全1),称之为CRC寄存器。

2、把数据帧中的第一个8位字节与CRC寄存器中的低字节进行异或运算,结果存回CRC寄存器。

3、将CRC寄存器向右移一位,最高位填以0,最低位移出并检测。

4、如果最低位为0:

重复第三步(下一次移位)。

如果最低位为1:

将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。

5、重复第三步和第四步直到8次移位。

这样处理完了一个完整的八位。

6、重复第2步到第5步来处理下一个八位,直到所有的字节处理结束。

7、最终CRC寄存器得值就是CRC的值。

三.MODBUS协议应用详解

ST500II为每一个可在通讯网络上传输的变量一个编址,通过功能码和变量地址的结合可以对ST500II中每一个可通讯变量进行存取。

本节的目标是为程序员定义特定有效命令的通用格式,在每条数据查询格式说明的后面有一个该数据查询所执行的功能的解释和一个例子。

本节所举实例将尽可能的使用如下表3.1所示的格式,(数字为16进制)。

设备地址

功能码

变量起始地

址高字节

变量起始

地址低字节

变量的个

数高字节

变量的个

数低字节

校对验码

低字节

校对验码

高字节

03H

03H

00H

01H

00H

03H

55H

E9H

表3.1协议例述

注:

ST500II智能型(电动机)控制器只支持03H,05H,06H,10H功能,03H功能可以读取任何类型的变量,包括DI/DO状态,05H功能用于继电器输出控制,06H和10H预置单个或多个寄存器。

3.1读数据寄存器(03H)

通过03功能码,允许用户获得设备采集与记录的任何数据及系统参数。

下面例子是从3号从机读3个采集到的基本数据(数据帧中每个地址占用2个字节)B相电流、C相电流、接地电流,ST500II中B相电流的地址为0001H,C相电流的地址为0002H,接地电流的地址为0003H。

下行报文(主站到从站):

设备地址

功能码

变量起始地

址高字节

变量起始

地址低字节

变量的个

数高字节

变量的个

数低字节

校对验码

低字节

校对验码

高字节

03H

03H

00H

01H

00H

03H

55H

E9H

表3.203功能码下行示例

上行报文(从站到主站):

响应包含从机地址、功能码、数据的数量和CRC错误校验。

地址

功能

变量

的总

字节

变量

值高

字节

变量

值低

字节

变量

值高

字节

变量

值低

字节

变量

值高

字节

变量

值低

字节

校对

验码

低字

校对

验码

高字

03H

03H

06H

01H

7CH

01H

7DH

01H

7CH

F9H

9BH

表3.303功能码上行示例

3.2DO输出控制(05H)

ST500II中有四个输出继电器,当其功能设为”通用DO”功能时,可通过05功能码对其实现断开,闭合控制.

05功能码强行设置一个独立的DO为ON或OFF,ST500II中的DO的地址从0000H开始(DO1=0000H,DO2=0001H,DO3=0002H,DO4=0003H)。

当变量值为FF00H时将设DO为ON状态,而0000H则将设DO为OFF状态;所有其它的值都被忽略,并且不影响DO状态。

下面的例子是请求17号从机设置DO1为ON状态。

下行报文(主站到从站):

设备地址

功能码

变量地址高字节

变量地址低字节

变量值高字节

变量值低字节

校对验码低字节

校验码高字节

11H

05H

00H

00H

FFH

00H

8EH

AAH

表3.405功能码下行示例

上行报文(从站到主站):

设备地址

功能码

变量地址高字节

变量地址低字节

变量值高字节

变量值低字节

校对验码低字节

校验码高字节

11H

05H

00H

00H

FFH

00H

8EH

AAH

表3.505功能码上行示例

3.3预置单寄存器(06H)

功能码06允许用户改变单个寄存器的内容,ST500II系统内部的任何可写的单寄存器都可以使用此功能码来改变其值。

ST500II是以动态方式工作的,任何时刻都可以改变单寄存器内容。

例如:

预置起动时间寄存器的值为07D0H,地址是002EH

下行报文(主站到从站):

地址

功能码

变量起始

地址高字节

变量起始

地址低字节

变量值

高字节

变量值低

字节

校对验码

低字节

校对验码

高字节

03H

06H

00H

2EH

07H

0D0H

EBH

8DH

表3.606功能码下行示例

对于预置单寄存器请求的正常响应是在寄存器值改变以后将接收到的数据传送回去。

上行报文(从站到主站):

地址

功能码

变量起始

地址高字节

变量起始

地址低字节

变量值高

字节

变量值低

字节

校对验码

低字节

校对验码

高字节

03H

06H

00H

2EH

07H

0D0H

EBH

8DH

表3.706功能码上行示例

3.4预置多寄存器(10H)

功能码16(十进制)(十六进制为10H)允许用户改变多个连续地址寄存器的内容,ST500II中可以用06功能写入的可写的参数均可用此功能码写入。

下面的例子是预置17号从机额定功率为1400000W。

16进制为155cc0H。

额定功率的地址是0054H、0055H,额定功率占用32位,共4个字节。

下行报文(主站到从站):

设备地址

功能码

变量起始

地址高字节

变量起始

地址低字节

变量个数

高字节

变量个数

低字节

字量字节数

11H

10H

00H

54H

00H

02H

04H

变量值高

字节

变量值低

字节

变量值高

字节

变量值低

字节

校对验码

低字节

校对验码

高字节

5cH

C0H

00H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1