SVC上位机软件设计说明.docx

上传人:b****2 文档编号:2160060 上传时间:2022-10-27 格式:DOCX 页数:46 大小:214.78KB
下载 相关 举报
SVC上位机软件设计说明.docx_第1页
第1页 / 共46页
SVC上位机软件设计说明.docx_第2页
第2页 / 共46页
SVC上位机软件设计说明.docx_第3页
第3页 / 共46页
SVC上位机软件设计说明.docx_第4页
第4页 / 共46页
SVC上位机软件设计说明.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

SVC上位机软件设计说明.docx

《SVC上位机软件设计说明.docx》由会员分享,可在线阅读,更多相关《SVC上位机软件设计说明.docx(46页珍藏版)》请在冰豆网上搜索。

SVC上位机软件设计说明.docx

SVC上位机软件设计说明

 

上位机软件设计说明

 

(内部资料)

 

设计:

陈晏伯

2009年8月5日

荣信电力电子股份有限公司

一.模块说明

各模块之间的通讯关系

现有的模块文件(由于设备模块比较多,数量也正在增加,这里就不全部列举了):

GDIPLUS.DLL画矢量图使用的GDI+运行库

gds32.dllFirebird本地数据库引擎(数据库仅有这一个文件就可以使用,不用注册)

msvcp60.dllVC6.0运行库文件,由数据库引擎调用

ringin.wav报警声音

RxpeSvcConOp.exe本地用户界面

RxpeSvcConOp.ini本地用户界面配置文件

RxpeSvcDataMgr.exe数据库模块

RxpeSvcDataSvr.exe通讯模块

DIAGRAMS主接线图(文件夹)

SchDiagram.vcs元件表

SchDiagramS.vdr电铁主接线图

SchDiagramT.vdr三相主接线图

MODULES设备模块(文件夹)

JCJ600D.exeJCJ600D温控仪

Nz103toSvc.exe南自的继保设备

RxpeSvc200.exe11块DSP的SVC控制器

SVC_OP_001.exe新版本单片机的SVC控制器

SVC_OP_CON.exe老版本单片机的SVC控制器

SVC_TO_NZ103.exe把SVC数据传输到南自后台

_Rxpe_Svc_Modules.cfg模块配置文件

_Rxpe_Svc_Control.cfg特殊(连锁)遥控的遥控表

*.var设备模块对应的变量表,由通讯模块RxpeSvcDataSvr.exe管理

*.cfg*.ini*.dat等设备模块的配置文件,由相应的设备模块生成和处理

SVCDATA

RXPESVC.DAT数据库结构,Firebird数据库

Dyyyymm.DATyyyy年mm月数据,Firebird数据库

TEMP临时文件(文件夹)

detail.tmp主界面明细查询结果存放在这个临时文件里面

failure.tmp主界面故障查询结果存放在这个临时文件里面

1.设备模块

具体内容根据相应的设备而定

①负责设备数据的采集,发送到通讯模块

②处理由通讯模块传过来的遥控

③如果数据送到其他厂家的设备,可接受那个厂家的设备的遥控,把遥控信息传递到通讯模块

2.通讯模块

①负责与设备模块的通讯

②数据库模块通过通讯模块获取设备信息和数据,通讯模块负责转发数据和各种命令

③管理模块,可设定加载哪些模块

④管理数据,可设定所有模块的数据的校正系数

⑤向外提供的数据,可设定数据转发的参数,即数据由一个设备模块转发到另一个设备模块

⑥可设定和管理特殊遥控表,以满足用户要求的连锁控制功能

⑦调试信息,可查看所有的通讯报文,可根据IP地址:

端口过滤(可输入前几位,也可输入全部)

3.数据库模块

①通过连接到通讯模块获取所有设备信息和设备的数据,根据这些信息创建数据库和储存数据

②把用户的遥控信息转发到通讯模块,并且把遥控操作都记录到数据库里

③记录由模块之间转发的遥控信息,即由其他厂家的设备对SVC系统进行的控制

4.本地用户界面

①显示主接线、实时曲线、历史曲线、历史数据、故障记录、硅状态、功率因数统计

②可以设定显示的计量单位(V/kV,W/kW/MW等),可以设置显示曲线的量程(曲线的y轴范围)

③可以编辑主接线,可设定主接线上显示的变量和遥控

④可以对设备的参数进行设置,采用通用的表格方式处理设备模块的设备参数与程序参数

二.通讯协议概述

1.数据帧结构

数据帧采用头、尾识别方式,在头、尾之间为转义之后的一包数据。

数据

字节数

说明

头0xeb

1

数据包头,一个字节:

0xeb

转义之后

的数据包

不定长

数据,头、尾之间为一包数据,使用0xec作为转义符,

遇到0xeb、0xec、0xee分别转换为0xec0xeb,0xec0xec,0xec0xee

尾0xec

1

数据包尾,一个字节:

0xee

注1:

以后所描述的所有的数据包结构,均为未转义的数据包。

注2:

数据包在发送的时候,经过转义,添加头、尾,发送出去。

2.数据包结构

数据

字节数

说明

功能号

1

详见功能号表,表示此包数据的功能

识别索引

1

请求数据的时候,可以随意设置的参数,一般可以每发送一次请求,这个数值加一,对方应答的数据包的识别索引必须是请求方提供的索引号,请求方认为回答的是请求的问题。

应答方回答对方的请求时,此索引号必须原样返回,请求方发现此索引号与请求时一致,认为回答的是请求的问题。

虽然请求方可以放弃识别这个索引,但是应答方必须遵从这个约定。

没有请求/应答关系的数据,这个值可以为零。

数据

不定长

数据包所提供的数据,内容和长度根据具体功能号而定。

校验码

4

数据包的CRC32校验码,包括功能号、识别索引、数据,

计算初始值为0xffffffff,最终结果取反,计算方法见后面的程序。

3.功能号一览表

功能号

说明

0x01

获取登录验证码

0x02

提供登录验证码

0x03

登录申请

0x04

登录应答

0x05

请求模块端退出、打开设置对话框、关闭对话框放弃设置

0x06

应答模块端退出、打开设置对话框、关闭对话框放弃设置

0x07

服务端准备就绪请求

0x08

服务端准备就绪应答

0x09

数据库结构发生了变化(数据模块发向界面模块)

0x0A

界面模块应答数据库结构发生了变化

0x11

获取设备信息

0x12

应答设备信息

0x13

请求模块列表

0x14

应答模块列表

0x15

通讯状态请求

0x16

通讯状态应答

0x17

特殊控制列表请求

0x18

特殊控制列表应答

0x19

模块初始化错误,需要重新启动模块:

发程序退出,然后重新加载

0x21

获取变量值请求(提供单元组名)

0x22

设备数据(可以是主动发,也可以是请求的结果)

0x23

远端控制请求

0x24

远端控制应答(返回是否成功)

0x25

请求故障

0x26

应答故障

0x28

模块时间同步,同时避免网络掉线现象发生

0x29

模块主动上送的事件或报警信息

/

0x31

实时数据请求

0x32

实时数据应答

0x33

实时故障请求

0x34

实时故障应答

0x35

远端控制请求

0x36

远端控制应答

0x37

数据转发列表

0x38

遥控命令转发

0x39

事件请求(产生事件只上送一次,不可查询)

0x3A

事件应答(产生事件只上送一次,不可查询)

0x3B

请求实时波形数据(由于波形都是主动上送,不需要询问这个命令)

0x3C

应答实时波形数据(波形数据主动上送,不需要等待询问再上送)

0x41

历史数据请求

0x42

历史数据应答

0x43

历史故障请求

0x44

历史故障应答

0x45

历史曲线请求

0x46

历史曲线应答

0x47

功率因数统计表请求

0x48

功率因数统计表应答

0x49

用户操作记录请求

0x4A

用户操作记录应答

0x50

获取用户表

0x51

提供用户表

0x52

获取用户权限

0x53

提供用户权限

0x54

修改用户信息请求

0x55

修改用户信息应答

0x56

修改密码请求

0x57

修改密码应答

0x58

核对密码请求

0x59

核对密码应答

0x60

获取工控机系统信息

0x61

提供工控机系统信息

0x62

界面修改了主接线,发送主接线信息

0x63

数据模块应答收到界面发过来的主接线信息

0x64

主接线信息请求

0x65

主接线信息应答

0x66

主接线文件请求

0x67

主接线文件应答

三.设备模块

1.设备模块的通讯流程:

设备模块连接到服务端的21098端口,一般情况下模块都是连接到本机(127.0.0.1)的这个端口上,连接成功之后,发送获取验证码和登录信息。

登录成功之后,如果服务端发送了服务端就绪信号,可以发送实时数据和故障信息,同时服务器无论在是否就绪的情况下,都可能询问有关设备的信息,例如硬件节点的变量表等。

如果无法连接到服务端,或者掉线了,可以每隔一段时间重试连接。

一个设备模块,可以对应一个硬件设备,也可以对应成组的组合设备,例如南自的一台设备,由若干独立的模块组成,而这些独立的模块都是TCPClient,必须对应一个TCPServer,这样就只能用一个设备模块去处理这些独立的模块,而设备上那些独立的模块,在程序里面就称作单元(Unit)。

每个单元,可以分若干组数据,根据设备的习惯或功能等区分都可以,例如遥测组、遥信组等、设定值组等,每个组可以有若干条数据。

命名约定:

模块名、单元名、组名、变量名,都必须符合C语言的变量的命名规则,原因是需要以这些名称创建数据库的表名和字段名。

表名由模块名+下划线+单元名构成,字段名由组名+下划线+变量名组成。

其他描述可以随意。

2.设备模块数据结构

0x01:

获取验证码

模块向服务端发送数据:

数据

字节数

说明

---

0

此数据包没有数据

0x02:

提供验证码

服务端发送给设备模块:

数据

字节数

说明

KeySeed

16

由这16个字节产生验证码Key16和Key32:

Key16=KeySeed的CRC16值,计算初始值为0xabcd

Key32=KeySeed的CRC32值,计算初始值为0x12345678

Key16和Key32计算结果需取反,计算方法见CRC校验码

0x03:

登录申请

设备模块发送到服务端:

数据

字节数

说明

Key16

2

功能0x02提供的16位验证码

Key32

4

功能0x02提供的32位验证码

ClientType

1

客户端类型(对于设备模块,为1),见编码表:

ClientType

ModuleName

WideString

模块(设备)名称,格式见数据类型:

WideString

ModuleFile

WideString

本地模块:

模块文件名,不含扩展名

远程模块:

L”RemoteModule”

格式见数据类型:

WideString

0x04:

登录应答

服务端发送到设备模块:

数据

字节数

说明

LoginStatus

1

如果登录成功,这个值等于这个模块的ClientType,对于设备模块这个值等于1,见编码表:

ClientType。

如果登录失败,这个值一般为0

DeviceID

WideString

设备编号,格式见数据类型:

WideString

RegInfo

WideString

注册信息,格式见数据类型:

WideString

ErrorCode

1

登录错误编码,见编码表:

LoginError

0x05:

请求模块端退出、打开设置对话框、关闭对话框放弃设置

由服务端发给模块的命令,只对本地模块有效,远程模块不处理。

本地模块必须处理的命令:

程序退出,其他命令可以不处理。

数据

字节数

说明

DialogOperation

1

模块操作命令,见编码表:

Di

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

当前位置:首页 > PPT模板 > 商务科技

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

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