ST-2智能型控制器通讯协议MODBUS-RTU版上海磊跃自动化设备有限公司ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司1一.协议概述协议类型:MODBUS-RTU协议适用于ST-2系列控制器物理层:传输方式:RS485通讯地址:3-126通讯波特率:9600BPS,19200BPS通讯介质:屏蔽双绞线链路层:传输方式:主从半双工方式。协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。一个数据帧格式:1位起始位,8位数据,1位停止位。一个数据包格式地址功能码数据校验码8-Bits8-BitsNx8-Bits16-Bits协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。[注]ST响应查询信号的时间为0.1~0.5秒(典型值为0.2秒)当数据帧到达终端设备时,它通过一个简单的“口”进入寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。返回的响应数据中包含了以下内容:终端从机地址(Address)、被执行了的命令(Function)、执行命令生成的被请求数据(Data)和一个校验码(Check)。发生任何错误都不会有成功的响应。地址(Address)域地址域在帧的开始部分,由8位(0~255)组成,这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。1功能(Function)域功能域代码告诉了被寻址到的终端执行何种功能。表1–1列出了所有的功能码、它们的意义及它们的初始功能。表1–1功能码ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司2代码意义行为03读数据获得一个或多个寄存器的当前二进制值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的值。ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司3二.应用层功能详解本章的目标是为ST系统的程序员定义特定有效命令的通用格式,在每条数据查询格式说明的后面有一个该数据查询所执行的功能的解释和一个例子。第一章已经简述了协议和数据帧,使用此软件的程序员可以使用下述的方法以便通过协议正确的建立他们的特定应用程序。本章所述协议将尽可能的使用如图2–1所示的格式,(数字为16进制)。地址功能码变量起始地址高字节变量起始地址低字节变量的个数高字节变量的个数低字节校对验码低字节校对验码高字节03H03H00H01H00H03H55HE9H图2–1协议例述2.1读数据(功能码03)查询此功能允许用户获得采集与记录到的数据及ST系统参数。图2–2的例子是从03号从机读3个采集到的基本数据U1,U2,U3,U1的地址为0001H,U2的地址为0002H,U3的地址为0003H,地址功能码变量起始地址高字节变量起始地址低字节变量的个数高字节变量的个数低字节校对验码低字节校对验码高字节03H03H00H01H00H03H55HE9H图2–2读Uca和Ia的查询数据帧响应响应包含从机地址、功能码、数据的数量和CRC错误校验。图2–3的例子是读取U1,U2,U3的响应。地址功能码变量的总字节数变量值高字节变量值低字节变量值高字节变量值低字节变量值高字节变量值低字节校对验码低字节校对验码高字节03H03H06H01H7CH01H7DH01H7CHF9H9BH图2–3读U1,U2,U3的响应数据帧2.2预置多寄存器(功能码10)查询ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司4功能码10H允许用户改变多个寄存器的内容,ST控制器可从任何地址开始设置最多16个变量的值。控制器是以动态扫描方式工作的,任何时刻都可以改变寄存器内容。图2-4是修改3号从站设备的负载监控1和负载监控2的动作及延时时间的设定值,其中负载监控1的动作设定值地址为2AH,延时时间的设定值为2BH,负载监控2的动作设定值地址为2CH,延时时间的设定值为2DH。地址功能码变量起始地址高字节变量起始地址低字节变量的个数高字节变量的个数低字节变量的总字节数变量值高字节变量值低字节变量值高字节变量值低字节变量值高字节变量值低字节变量值高字节变量值低字节校对验码低字节校对验码高字节03H10H00H2AH00H04H08H07HD0H00H0AH07H0D0H00H0AH25H7CH图示2-4修改负载监控1和负载监控2的动作值及延时时间的设定值响应地址功能码变量起始地址高字节变量起始地址低字节变量的个数高字节变量的个数低字节校对验码低字节校对验码高字节0310H00H2AH00H04HEBH8DH图示2-5修改负载监控1和负载监控2的动作值及延时时间的设定值的响应2.3预置单寄存器(功能码06)查询功能码06允许用户改变单个寄存器的内容,DAE系统内部的任何单寄存器都可以使用此命令来改变其值。既然仪器是以动态扫描方式工作的,任何时刻都可以改变单寄存器内容。下面的例子是请求03号从机修改过载动作设定值Ir1,Ir1地址是002EH.地址功能码变量起始地址高字节变量起始地址低字节变量值高字节变量值低字节校对验码低字节校对验码高字节03H06H00H2EH07H0D0HEBH8DH图示2-6修改过载动作设定值Ir1响应对于预置单寄存器请求的正常响应是在寄存器值改变以后将接收到的数据传送回去。地址功能码变量起始地址高字节变量起始地址低字节变量值高字节变量值低字节校对验码低字节校对验码高字节03H06H00H2EH07H0D0HEBH8DH图示2-7图示2-6修改过载动作设定值Ir1ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司5三.变量地址分配通过03H读取变量值,06H写单个变量,10H写多个变量地址变量代号变量名称变量类型单位读写性质变量格式系统参数00HDEVICE_CODE设备识别号R电网参数01HUaA相电压IntVR×102HUbB相电压IntVR×103HUcC相电压IntVR×104HPF功率因素IntR×10005HF频率IntHZR×10006HP(低字)功率IntKWR/10007HP(高字)功率IntKWR08HIaA相电流Int(两个字节)AR×1或×2注109HIbB电流IntAR×1或×2注10AHIcC电流IntAR×1或×2注10BHInN电流IntAR×1或×2注10CHIg接电电流IntAR×1或×2注10DHIbaA相不平衡度IntR百分率0EHIbbB相不平衡度IntR百分率0FHIbcC相不平衡度IntR百分率电网故障记录数据10HFTiaA相电流Int(两个字节)AR×1或×2注111HFTibB电流IntAR×1或×2注112HFTicC电流IntAR×1或×2注113HFTinN电流IntAR×1或×2注114HFtig接电电流IntAR×1或×2注115HFTibaA相不平衡度IntR百分率16HFTibbB相不平衡度IntR百分率17HFTibcC相不平衡度IntR百分率18HFTIME(低字)故障延时时间IntSR/5019HFTIME(高字)故障延时时间IntSR/501AH1BHFstyleR注:见4。1设备诊断信息及电网状态信息1CHSelf_Check自诊断信息IntR见4。21DHCircuit_Check电网状态信息IntR注:见4。3保护整定值及系统参数设置ST-2智能型控制器MODBUS-RTU通讯协议上海磊跃自动化设备有限公司628H输出触点1输出触点2功能R/W见4。429H输出触点3输出触点4功能R/W见4。42AHIC1负载1整定值IntAR/W×1或×2注12BHTC1负载1整定时间IntSR/W见4。9。12CHIC2负载2整定值IntAR/W×1或×2注12DHTC2负载2整定时间IntSR/W见4。9。12EHIr1长延时整定值IntAR/W×1或×2注12FHTL长延时整定时间IntSR/W见4。9。130HIr21短延时反时限定值IntAR/W×1或×2注131HIr22短延时定时限定值A×1或×2注132HTS短延时定时限整定时间IntSR/W见4。9。433HIr4接地漏电整定值IntAR/W×1或×2注134HTG接地整定时间IntSR/W见4。9。235HCG接地修正因子IntR/W见4。9。336HIr3瞬时整定值IntAR/W×1或×2注137HI0不平衡动作值int百分数38HTB不平整定时间IntSR/W见4。9。239HON_OFF系统功能intR见4。53AHCL保护曲线类型IntR/W见4。63BHIkind额定电流intAR/W见4。83CHIekind接地互感器额定电流intR/W3DHTYPE断路器型号IntR/W见4。103EHProduct_code_H(低字)产品序列号intR/W3FHProduct_code_L(高字)产品序列号intR/W40HProduct_date