美章网 资料文库 储能监控系统结构设计论文范文

储能监控系统结构设计论文范文

时间:2022-04-16 11:03:29

储能监控系统结构设计论文

1系统功能设计

监控系统结构功能图如图2。对于储能监控系统,除了必要的数据采集分析等常见功能外,根据工程需求,还需要有相应定制化的功能,例如针对风电的平抑风功率波动优化控制等等。监控系统功能如下:

1.1基本功能(1)数据采集监控系统通过通信网络将电站中各设备的信息上送值,采集终端服务器或规约转换器,现场通过RS485/232、以太网等方式通信,将信号转换为网络信号传输给就地监控系统。交换机的功能为实现与储能电站网络设备或其他网络设备之间的通信。使用RS232方式传递信号的有PCS以及电能表等设备。使用以太网方式传递信号的有BMS等设备。网络接口有交换机和路由器。交换机的功能为实现与电站网络设备或其他网络设备之间的通信,如:变电站综合自动化系统等监控系统。(2)实时数据服务系统实时对大量数据进行读取和更新,要求对数据库的快速访问,因此实时数据库在系统的每台主机都运行一个备份,所有数据存放在内存中,各种操作在内存中完成,通过网络子系统实现全网实时数据库系统数据的一致,以及跨应用的数据访问。实时数据库管理生成、维护实时库,完成对数据库访问的控制。包括管理数据库数据字典,创建并初始化实时数据库系统控制区、创建并初始化实时数据库中的表、删除实时数据库中数据表、接收来自服务器的对实时数据库中的表内容的增加、删除及修改操作。(3)历史数据服务历史数据库采用商用数据库。商用数据库部署在数据服务器,一般选用Oracle为商用数据库管理系统,但可以根据用户的要求选用MicrosoftSQLServer、Sybase或Informix。采用双机配置时,两台数据库服务器通过数据库复制技术保持数据一致。商用数据库中存放以下信息:字典信息、SCADA的设备定义及描述信息、历史数据采样信息、各种告警操作记录信息等。系统商用数据库面向电力系统对象设计,以区别于传统的厂、点号设计。面向电力系统设备对象进行数据库设计,可以将SCADA应用,各高级应用有机地结合在一起,真正做到一体化实现,保证了系统功能的灵活扩展。系统提供了专门的历史数据库修改维护的工具,该工具可根据所授权限浏览、修改、管理数据。随时可以处理数据库中的数据,不影响系统的正常运行,也不影响已完成的报表、曲线、饼图显示。(4)图形显示图形显示部分是人机交互的界面,即传统的SCADA图形界面,包括显示功能模块划分、系统设备拓扑展示、告警界面。(5)报警报警是对测量值的范围、变化速度的预警。报警包括限值报警,变化率报警,偏差报警,异常报警等。复杂的报警可以通过对测量值进行数学运算,然后对运算结果进行报警检查而产生。发生报警后,操作员可以通过报警画面对报警进行“确认”。报警信息,报警确认信息,报警恢复(报警消除)等信息都可以被系统自动记录下来。

1.2应用功能(1)储能电站数据的采集和处理储能电站包含电气设备(开关、变压器、母线),储能变流器和电池堆,储能监控系统应能和上述设备的智能测控终端和智能二次部分进行通信,采集上述设备的运行参数,并进行预处理。(2)基本监控功能对采集的数据进行再处理,可以实现数据告警、曲线显示、报表功能,并通过图形系统及运行工具浏览储能电站的运行情况,对风储联合系统基本运行情况进行统计分析,并可对储能电站进行相关设置和控制操作。(3)优化控制优化控制即为风储联合运行控制策略。策略类型有:平抑波动[1]、储能系统计划调度、PCS跟踪计划、无功补偿控制、协调控制、顺序控制、自维护等等。按控制对象分类,可以分为储能电站优化控制、PCS优化控制、BMS实时监视。储能电站优化控制采用在闭环控制方式,不论控制目标为目标曲线还是目标值,系统定期更新,读取控制目标当前值,重新进行优化计算,根据当前系统实时运行信息,重新分解控制目标,下发至各就地设备执行。不管是处理来自界面程序的控制策略执行命令还是来自目标执行程序的重新执行请求,或者是自动按时执行既定的闭环控制策略,程序处理流程类似,大致分为执行条件判别,初始化,预处理,优化计算,结果分配、目标执行几个部分。(4)图形框架利用Qt技术构建图形框架。建立可视化设备树索引,以在不同设备的SCADA界面和应用监控对象之间进行切换。利用编写好的配置工具进行应用快捷方式等的配置,非常灵活便捷。(5)控制命令下发利用Qt库中的QThread、Qtimer、QVector等类,实现储能系统的功率值点和计划值曲线的下发、变更、删除、计划值队列管理、数值校验等。(6)信息模型修改利用Qt提供的库和ADO方法访问数据库,对历史数据库中的数据表表结构及内容,菜单结构及内容等进行维护,包括数据库的备份和还原。配合设备树及编写好的模型配置工具,对信息模型拓扑结构等进行修改。通过读写配置文件的方式,使配置手段更为灵活和便捷。

2系统通信设计

2.1设备之间的通信(1)监控系统与PCS之间的通信通信方式为RS232串口,连接到终端服务器后再转接为以太网与监控系统进行通信。采用标准的莫迪康ModbusRTU协议,采用一主一从的通讯方式。监控为上位机,PCS控制板DSP为下位机,上位机主动向下位机发送消息;下位机为被动方式,接受上位机发送的指令,并根据信息内容进行响应回送。物理层通讯接口采用RS485,通信波特率选择9600bps,通信数据格式为8个数据位,1个停止位,无校验位,其中字符低位(LSB)在前,即先起始位,后d0-d7位,最后停止位。通信链路的建立与解除均由主站发出的信息帧来控制。每帧由目标地址、功能码、数据信息、校验码组成。报文格式如表1,其中数据位的长度取决于功能码:其中各位的含义如下:地址域用来区分通讯网络上的主机和各从机,一个通讯网络上的主机和各从机装置的地址不能重复,必须唯一。地址的范围是1~255,其中255被保留用做主机对所有从机的广播地址。其中监控主站做主机,PCS装置做从机,地址编码为0x16。功能码域用来告诉被寻址的从机装置要完成何种功能。数据域包含了主机执行特定功能所传下来的数据或从机响应查询时需上传的数据。其中数据可以是Modbus寄存器地址、数据量或数值,而数值可以是模拟量数值、开关量状态、定值、时间值等。CRC校验码采用标准ModiconModbus协议中的16位循环冗余校验码(CRC)算法,生成多项式为X15+X13+1,传输时低8位在前,高8位在后。从报文首字节(即地址域)到CRC码之前的所有报文字节都参与CRC码的计算。(2)监控系统与BMS之间的通信监控系统与BMS之间均直接通过以太网的方式连入交换机,也可以Modbus协议进行通信。

2.2监控系统内部通信监控系统内部采用以太网通信,通过交换机连接各个网络节点。监控系统内部各进程主要采用Socket和共享内存两种通信方式。对于不需要同步阻塞操作的对象,采用读写效率更高的共享内存方式,而对于不同工作站/服务器之间或者要求同步阻塞操作的对象之间,采用Socket的方式进行通信。另外值得一提的是,所有Windows下运行高级应用对历史数据库进行操作时,均采用ADO的方式;其余所有服务均直接调用相应数据的SDK进行访问。(1)共享内存共享内存是一种读写效率较高的方法,访问共享内存区域和访问进程独有的内存区域一样快,并不需要通过系统调用或者其它需要切入内核的过程来完成。同时它也避免了对数据的各种不必要的复制。在监控系统中主要应用于实时数据库及其服务和前置系统等之间的通信。从本质上来说,实时数据库就是一块大的共享内存加上对读写接口的封装等服务。对于Windows下的共享内存,可以采用CreateFileMap-ping创建一个内存文件映射对象,CreateFileMapping这个API将创建一个内核对象,用于映射文件到内存。HANDLECreateFileMapping(HANDLEhFile,......);这里,我们并不需要一个实际的文件,所以,hFile这个参数可以填写INVALID_HANDLE_VALUE。然后调用MapViewOfFile映射到当前进程的虚拟地址上即可。一旦用完共享内存,再调用UnmapViewOfFile回收内存地址空间。对于Linux下,进程通过调用shmget(SharedMemoryGET,获取共享内存)来分配一个共享内存块。然后,要让一个进程获取对一块共享内存的访问,这个进程必须先调用shmat(SHaredMemoryAttach,绑定到共享内存)。将shmget返回的共享内存标识符SHMID传递给这个函数作为第一个参数。该函数的第二个参数是一个指针,指向您希望用于映射该共享内存块的进程内存地址;如果您指定NULL则Linux会自动选择一个合适的地址用于映射。第三个参数是一个标志位。调用shmctl(″SharedMemoryControl″,控制共享内存)函数会返回一个共享内存块的相关信息,可以进行内存块的释放。(2)socket通信socket方式通信好处在于:socket适用于任何情况下的数据传输,信息交换通过报文。被接收方收到信息可以通过socket的recv函数触发,不像共享内存,一方将数据写入,另一方须要不停地进行扫描操作才知道有没有接收到信息。在监控系统中,socket的通信主要应用于除实时库和前置之前通信之外的所有通信,特别是不同高级应用间的通信,高级应用与系统进程间的通信等。Socket的通信模式为:打开-读/写-关闭。于此对应,socket提供了进行这几步操作的对应接口。通信流程如下:1)调用socket(),用于创建一个socket描述符(socketde-scriptor),它唯一标识一个socket。2)调用bind()函数把一个地址族中的特定地址赋给socket。3)如果作为一个服务器,在调用socket()、bind()之后就会调用listen()来监听这个socket,如果客户端这时调用connect()发出连接请求,服务器端就会接收到这个请求。4)TCP服务器端依次调用socket()、bind()、listen()之后,就会监听指定的socket地址了。TCP客户端依次调用socket()、connect()之后就想TCP服务器发送了一个连接请求。TCP服务器监听到这个请求之后,就会调用accept()函数取接收请求,这样连接就建立好了。之后就可以开始网络I/O操作了,即类同于普通文件的读写I/O操作。5)调用I/O函数,如read()/write(),recvmsg()/sendmsg()。6)调用close(),关闭。但是这里close操作只是使相应socket描述字的引用计数-1,只有当引用计数为0的时候,才会触发TCP客户端向服务器发送终止连接请求。

3结束语

系统在实际储能系统上的运行结果如下,红色为风电场功率曲线,蓝色为储能系统功率曲线,绿色为注入电网的总功率:经过实际运行证明,系统的稳定性、功能性均达到预期要求,为风储联合发电监控应用和相关技术的进一步研究提供参考。目前,该系统已在工程现场投运,处于最后调试阶段中。由于设备容量受限和相关理论技术尚未完善,系统的自动维护功能(包括各设备采集统计信息的校验和自动纠错)和储能削峰填谷功能尚未开发完成,在以后的工作中,应当在这两个方面进行进一步的研究。

作者:刘崇宇魏海坤刘海璇单位:复杂工程系统测量与控制教育部重点实验室东南大学自动化学院中国电力科学研究院新能源研究所

被举报文档标题:储能监控系统结构设计论文

举报类型:

非法(文档涉及政治、宗教、色情或其他违反国家法律法规的内容)

侵权

其他

验证码:

点击换图

举报理由:
   (必填)