一种用公网实现对光伏或风电站远程控制的方法及系统的制作方法_2

文档序号:8380318阅读:来源:国知局
为控制参数,将模拟量的控制参数分为4096阶,以保证控制精度。第四个字节的高四位为操作类别代码,可代表16种操作类别,电站的远程操作种类有断路器“合闸”、断路器“分闸”、有功负荷“升”、有功负荷“降”、有功负荷“设定”、无功负荷“3种方式”、无功负荷“升”、无功负荷“降”、无功负荷“设定”共11种类别;指令代码位数提供了 16个操作种类,能满足操控要求。
[0013]如图3所示,远程控制指令加密编码器(2)硬件电路由PIC16F系列单片机U1、夕卜部震荡电路、外部EEPROM存储器U2、串口电平转换芯片U3和串口接口 Jl组成;PIC单片机Ul的I脚接电源正极,14脚接地,2脚和3脚接由晶振Xl和电容C1、C2组成的外部震荡电路,4脚通过电阻Rl接到正电源;PIC单片机Ul用来接收数据的串行输入引脚5脚接到串口电平转换芯片U3的第9脚,单片机的串行输出引脚6脚接到串口电平转换芯片U3的第10脚;U3的16脚接电源正极,15脚接地;U3的7脚、8脚分别接串口接口 Jl的2脚和3脚;U3的I脚和3脚之间接电容C19,2脚通过电容C20接电源正极,4脚和5脚之间接电容C21,6脚通过电容C22接地,串口接口 Jl的5脚接地;外部EEPROM存储器U2的1、2、3、4脚接地,8脚接电源正极,5、6、7脚分别与单片机10、9、8脚连接,R2、R3、R4是上拉电阻,一端接电源正极,另一端分别接U2的5、6、7脚,为5、6、7脚提供上拉电位;发光二极管的正端通过电阻R5接到单片机11脚,负端接地。
[0014]如图4所示,远程控制指令解密器(5)的硬件电路由PIC16F系列单片机U1、外部震荡电路、外部EEPROM存储器U2、串口电平转换电路U3、串口座J1、串口座J2以及串口切换电路Q1-Q3、R6-R10组成,PIC单片机Ul的I脚接电源正极,14脚接地,2脚和3脚接由晶振Xl和电容C1、C2组成的外部震荡电路,由外部晶振提供单片机时钟,4脚为复位电路,通过电阻Rl接到正电源,PIC单片机5脚为串行输入引脚,用来接收数据,接到串口电平转换芯片U3的第9脚,PIC单片机6脚为串行输出引脚,通过晶体三极管Q2、Q3分别接到串口电平转换芯片U3的11脚和10脚,Q2的基极和Ql的集电极相接,并通过电阻R8与电源正极相连,Ql的发射极接地,基极通过电阻R7与单片机的7脚相连;Q3的基极通过电阻R6也与单片机的7脚相连,其发射极与Q2的发射极连接并与单片机的6脚连接,Q2的集电极与U3的11脚连接,Q2的集电极与U3的10脚相连,上拉电阻RlO的一端接电源正极,一端接串口电平转换芯片U3到11脚;串口电平转换芯片U3是串口电平转换电路,其功能是将编码器串口的O— 5V电平转换成适合PC机-15V —+15V串口电平,U3的16脚接电源正极,15脚接地,7脚、8脚分别接串口座Jl的2脚和3脚,I脚和3脚之间接电容C19,2脚通过电容C20接电源正极,4脚和5脚之间接电容C21,6脚通过电容C22接地,串口接口 Jl的
5脚接地,串口电平转换芯片U3的14脚、13脚分别接串口接口 J2的2脚和3脚,串口接口J2的5脚接地;外部EEPROM存储器U2的1、2、3、4脚接地,8脚接电源正极,5、6、7脚分别与单片机10、9、8脚连接,R2、R3、R4是上拉电阻,一端接电源正极,另一端分别接外部EEPROM存储器U2的5、6、7脚,为5、6、7脚提供上拉电位;发光二极管的正端通过电阻R5接到单片机11脚,负端接地。
[0015]根据本发明的另一方面,一种用公网实现对电站远程控制的方法,包括远控指令加密编码算法、远控指令解密码算法和编解码密码动态变化方法;如图5所示,所述的远控指令加密编码算法包括以下步骤:
51:上电后远程控制指令加密器(2)初始化,检查是否已经存在同步计数,如经检查不存在同步计数,则先给同步计数赋初值;如经检查已经存在同步计数,则不再进行同步计数初始化;
52:编码密码检查,如经检查不存在编码密码,则由事先指定的9个字节的电站代码和指定的5个字节的种子代码通过非线性编码算法产生编码密码,如果已经存在编码密码,程序进入接收原始指令的环节,当接收到原始指令数据,程序便进入加密编码环节;
53:128位加密编码环节,确定一个16个字节的运算数组,每次运算为5个字节,分3次运算,首先从存储器中取出同步计数值并加I后写入到运算数组的前3个字节中,剩下的两个字节分别写入原指令码中的电站地址码和设备地址码,取出编码密码,调用非线性编码算法,计算出前5个字节的跳变码并暂存;再将同步计数放入运算数组的前3个字节中,剩下的两个字节分别写入原指令码中的设备地址码和电站地址码,取出编码密码,调用非线性编码算法,计算出中5个字节的跳变码并暂存;再将同步计数放入运算数组的前3个字节中,剩下的两个字节分别写入原指令码中的操作码和电站地址码,取出编码密码,调用非线性编码算法,计算出后5个字节的跳变码并暂存;最后将运算数组的最后一个字节写入电站地址码;此时4个字节32位的原始指令码变成16个字节128位的跳变码;保存新的同步计数值到EEPROM存储器,以备下次计算使用;
54:跳变码发送,通过串行口 Jl将128位跳变码传送给跳变码发送装置(3),由跳变码发送装置(3)将跳变码通过因特网或其他公网发送给被控光伏或风电站;
如图6所示,所述的远控指令解密码算法包括以下步骤:
(51):上电后远程控制指令解密器(5)初始化,检查是否已经存在同步计数,如经检查不存在同步计数,则先给同步计数赋初值,此初值与远程控制指令加密器相同;如经检查已经存在同步计数,则不再进行同步计数初始化;
(52):解码密码检查,如经检查不存在解码密码,则取与远程控制指令加密器相同的的电站代码和种子代码通过非线性编码算法产生解码密码,此解码密码和远程控制指令加密器中的编码密码相同,产生过程同步骤S2 ;如果已经存在解码密码,程序进入接收跳变码环节,当串行口 Jl接收到控制中心发来的跳变码数据,程序便进入解密环节;
(53):解密环节,取出解码密码,调用非线性解码算法,对16个字节128位跳变码分别进行解码,先解低五个字节,次解中五个字节,最后解高五个字节,通过解码,原始指令码已经出现在数组中;
(54):验证数组中指令的真伪,首先检查解码后的数组各段字节中同步计数值是否相同且与上次值相比是否合理增加,将解码后的同步计数值与每次解码后记录在EEPROM存储器中的同步计数值进行比较,如果前者小于或等于后者,则此跳变码为假码;如果前者大于后者超过一定值,也为假码,否则同步计数值核对正确;然后核对解码后的数组中各段的电站地址和设备地址是否一致,如果一致表明指令是真的,否则指令是仿冒的,将新的同步计数更新到EEPROM存储器中,并将指令恢复成4个字节32位原始控制指令;
(55):选择串行口J2,通过串行口 J2把控制指令送给电站操作控制系统执行操作或控制;
如图9所示,编解码密码动态变化方法包括以下步骤:
被控电站侧:
Cl:被控电站接收到跳变码,经解密码并验证是本站的控制指令码;
C2:取出9个字节的解码密码和5个字节种子值;
C3:将种子值右移循环η位;
C4:将种子值置入非线性算法的运算数组B中,调用非线性编码算法,得到新解码密码的低5字节,将种子值的最高位加一常数后置入运算数组B,调用非线性算法,得到新解码密码的高5字节,取低4字节与前次得到的低5字节合并成完整的9个字节的新解码密码并存入EEPROM存储器;
C5:将接收到的跳变码再编码后发回至控制中心的远程控制指令加密编码器;
控制中心侧:
Dl:接收到被控电站发来的跳变码,经解码并验证是原先发出的跳变码;
D2:取出9个字节的编码密码和5个字节种子值;
D3:将种子值右移循环η位;
D4:将种子值置入非线性算法的运算数组B中,调用非线性编码算法,得到新编码密码的低5字节,将种子值的最高位加一常数后置入运算数组B,调用非线性算法,得到新编码密码的高5字节,取低4字节与前次得到的低5字节合并成完整的9个字节的新编码密码并存入EEPROM存储器。
[0016]其中η为正整数,η的取值不同,得到的编解码密码也不同,因此编解码密码动态变化具有不确定性,使得被破解的几率极低。
[0017]如图7所示,远控指令加密编码算法中所述的非线性编码算法包括以下步骤:
Al:定义两个临时变量aux、key和一个5个字节的数组B ;
A2:将电站代码或编码密码最低位放入key,将种子代码或同步计数置入数组B的0_2位,并将电站地址和设备地址分别置入B的3、4位中;
A3:将数组B右循环移位一位;
A4:判断耵4]的第6位和B [4]的第I位状态,如果为11时,令aux=10111010,如果为10 时,令 aux=01011100,如果为 01 时,令 aux=01110100,如果为 00 时,令 aux=10101110 ;A5:判断B[3]的第3位,如为I则将aux高低字节交换;
A6:判断B[2]的第O位,如为I则将aux乘以4 ; A7:判断B[l]的第O位,如为I则将aux乘以2 ;
AS:判断aux最高位、B[2]的最高位、B[4]的最高位、key的最低位,这四个量“I”的个数为偶数,则把B[4]的最高位改写成“O”,这四个量“I”的个数为奇数,B[4]的最高位改写成 “ I ” ;
A9:判断key —个字节是否右移完,若否,则将key右移一位,并跳至
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1