电源模块间的并机策略实现

本多个文提出的方法主要是实现多个电源模块间并机策略实现,并通过主机与PCS通信,提出了以下三种方法:

1、随时自动接入新的slave,功率也自动加,master可以在slave并入系统后,可以允许slave开强电

2、Master第一次开机后,启动一个定时计数值,此时同时允许自动接入新的slave,在N秒后不再允许新接入slave,此时再逐个发送允许slave开强电的命令,等待M秒后,上报给PCS当前功率(或者总容量),然后再重新自动接入新的slave

3、随时自动接入新的slave,功率也自动加,master可以在slave并入系统后,可以允许slave开强电,等待M秒后,上报给PCS当前功率(或者总容量)


当前只考虑并机未使能的情况:


当前只考虑并机使能的情况:

第一种方案详细设计:

1、并机协商

1.1、master协商:

[if !supportLists]1、[endif]pack开机后读取并机使能位和当前的PACK_ID值,确认本机是作为master使用还是从机使用(假设本机为master,并开强电)

[if !supportLists]2、[endif]主动周期性(周期1S)的向外发送一个“发现报文”(广播报文,目的:用于发现是否有未并入系统的报文,已经并入系统的slave不响应该报文);

[if !supportLists]3、[endif]接收到slave的“发现响应报文”(单播报文,携带了slave的pack_id和Sn),master将pack_id和Sn与本地记录的pack_id和Sn进行比较:

[if !supportLists]a、[endif]若接收到的pack_id为000b(该ID值为master ID),说明本机外存在另一个master,

  此时,主动发送“禁止系统开强电的报文”(广播报文,发送3次,不接收响应),

并主动发送一个告警报文给PCS,告知用户处理

     b、若本地已经存在了pack_id或者Sn,则发送“禁止该slave并入系统的报文”(单             播报文),已经并入系统的slave,不响应该命令,并上报告警报文给PCS(存在一          台相同pack id或Sn的slave,尝试并入系统)

     c、若本地没有记录过该pack_id和Sn,则进入第4步处理

4、发送一个“允许slave并入系统的报文”(单播报文,发送3次),等待接收slave并

入系统的响应报文

5、N秒内,接收到了slave的并机响应报文,则进入正常工作流程,如果没有接收到,    则发送“禁止该slave并入系统的报文”(单播报文,发送3次)

6、进入下一个任务状态

1.2、slave协商:

1、等待接收master的发现报文,接收到该报文后,向PCS发送一个携带pack_id和Sn      的“发现响应报文”(单播报文,发送3次)

2、等待接收master的是否允许接入系统的报文,N秒内未接收到该报文,则重新进入    初始状态(未协商的状态),若接收到报文:

      a、不允许slave并入系统,则slave静默M秒后,重新进入初始状态(未协商的状         态)

      b、允许slave并入系统,则向PCS发送一个并机响应报文(单播报文,发送3次),

         slave进入下一个任务状态

[if !supportLists]2、[endif]充放电管理(这一部分按照沈正斌的方案处理)

2.1、master

1、周期性发送读取slave电压的报文

2、N秒内(规定次数)未接收到slave的电压响应 报文,上报PCS降功率(或降容量)            的报文,再发送一个踢该slave出并机系统的报文(单播报文,发送3次),删除本            地记录的slave消息

3、获取slave的其它状态消息也是周期性的发送,按照主从通信的响应方式

2.2、slave

1、接收到matser允许强电输出的报文,则进行充放电自检,自检OK并开强电后再回馈一个已开强电的报文给master(单播报文,发送3次),若自检不OK回馈一个开强电失败的报文给master(单播报文,发送3次)

2、其它命令采用相同的方法处理

3、若本机因为故障或者其它原因需要关闭强电输出,紧急发送一个故障告警和关强电的报文给master(单播报文,发送3次)

3、系统关机处理

3.1、master

1、master首先关强电输出,并发送一个关所有slave强电输出的报文(广播报文,发

送3次)

2、关闭单个slave强电输出操作:发送一个关slave强电输出的报文(单播报文,发送

3次),

3.2、slave

1、接收到一个关所有slave强电输出的报文,则马上关闭强电输出

2、接收到master关闭本slave强电输出的报文,则马上关闭强电输出,并发送一个关      闭强电输出的响应报文(单播报文,发送3次)

3、M秒内未接收到任何master的报文(心跳报文或者读数据报文),则主动上报一个slave退出系统的报文(单播报文,发送3次),延时K秒后,关闭强电输出

4、心跳报文处理

该报文的目的是让主机知道slave还存在于系统中,可以对slave进行部分操作(该部分也可以不存在,而是由master获取slave信息来处理)

4.1、master

1、周期性的发送一个心跳报文

2、N周期内未接收到slave的心跳响应报文,则上报PCS降功率(或降容),并发送一个踢slave出并机系统的报文(单播报文,发送3次),并删除本机记录的slave信息

4.2、slave

1、M周期内未接收到master的心跳报文,则关闭强电输出,上报master本机关强电

报文(单播报文,发送3次),并进入初始状态

2、接收到master心跳报文,则马上回馈一个心跳响应报文







第二种方案详细设计:

1、并机协商

1.1、master协商:

1、pack开机后读取并机使能位和当前的PACK_ID值,确认本机是作为master使用还是从机使用;

2、确认本机为master后,记录当前的计数值Last_Ticks(禁止开强电)

3、主动周期性(周期1S)的向外发送一个“发现报文”(广播报文,目的:用于发现

是否有未并入系统的报文,已经并入系统的slave不响应该报文);

4、接收到slave的“发现响应报文”(单播报文,携带了slave的pack_id和Sn),master

将pack_id和Sn与本地记录的pack_id和Sn进行比较:

[if !supportLists]b、[endif]若接收到的pack_id为000b(该ID值为master ID),说明本机外存在另一个master,

  此时,主动发送“禁止系统开强电的报文”(广播报文,发送3次,不接收响应),

并主动发送一个告警报文给PCS,告知用户处理

     b、若本地已经存在了pack_id或者Sn,则发送“禁止该slave并入系统的报文”(单             播报文),已经并入系统的slave,不响应该命令,并上报告警报文给PCS(存在一          台相同pack id或Sn的slave,尝试并入系统)

     c、若本地没有记录过该pack_id和Sn,则进入第4步处理

5、发送一个“允许slave并入系统的报文”(单播报文,发送3次),等待接收slave并

入系统的响应报文

6、N秒内,接收到了slave的并机响应报文,则进入正常工作流程,如果没有接收到,    则发送“禁止该slave并入系统的报文”(单播报文,发送3次)

7、读取当前的计数值Cur_Ticks,若Cur_Ticks -

Last_Ticks > M秒,则退出该任务,进入

下一个任务,否则继续搜索是否有新的slave需要接入

1.2、slave协商:

1、等待接收master的发现报文,接收到该报文后,向PCS发送一个携带pack_id和Sn      的“发现响应报文”(单播报文,发送3次)

2、等待接收master的是否允许接入系统的报文,N秒内未接收到该报文,则重新进入    初始状态(未协商的状态),若接收到报文:

      a、不允许slave并入系统,则slave静默M秒后,重新进入初始状态(未协商的状         态)

      B、允许slave并入系统,则向PCS发送一个并机响应报文(单播报文,发送3次),

         slave进入下一个任务状态

2、获取slave电压

2.1、master

1、进入该任务时,记录本地的计数值Last_Ticks,并周期性发送读取slave电压的报文

2、N秒内(规定次数)未接收到slave的电压响应 报文,发送一个踢该slave出并机系统的报文(单播报文,发送3次),删除本地记录的slave消息

3、收到slave的电压报文后,则进行记录

4、读取当前的Cur_Ticks值,若Cur_Ticks -

Last_Ticks > M秒或者读取到所有已经并入系

统的slave的电压报文,则进入下一个任务,否则继续读取还未获取到的slave电压报

文信息

2.2、slave

1、等待接收master的读取电压信息的报文,若2*N秒内未获取到该报文,则发送一个

本机退出并机系统的报文给master(单播报文,发送3次),并回复到初始状态

2、接收到master的读取电压信息的报文,将本机的电压信息上报给master(单播报文,       发送3次)

3、开强电处理

3.1、master

1、master给符合开强电的slave发送给强电的报文(单播报文,发送3次)

2、N秒内未接收到slave的开强电成功的响应报文,说明开强电失败,则发送踢除slave

的报文(单播报文,发送3次)

3、M秒后,上报PCS当前可以输出的最大功率(或最大容量)

3.2、slave

1、2*N秒内未接收到master开强电命令,则上报master退出并机系统的报文,进入

到初始状态

2、接收到master开强电命令后,自检本机是否允许开强电,如果允许开强电则开强电   并发送开强电成功的响应报文给master,否则发送开强电不成功的响应报文(单播 

报文,发送3次),本处不发送故障报文,故障信息由master主动读取

3、若本机因为故障或者其它原因需要关闭强电输出,紧急发送一个故障告警和关强电    的报文给master(单播报文,发送3次)


4、充放电管理(这一部分按照沈正斌的方案处理)

4.1、master

1、周期性发送读取slave电压的报文

2、N秒内(规定次数)未接收到slave的电压响应 报文,上报PCS降功率(或降容量)            的报文,再发送一个踢该slave出并机系统的报文(单播报文,发送3次),删除本            地记录的slave消息

3、获取slave的其它状态消息也是周期性的发送,按照主从通信的响应方式

4.2、slave

1、接收到matser允许强电输出的报文,则进行充放电自检,自检OK并开强电后再回馈一个已开强电的报文给master(单播报文,发送3次),若自检不OK回馈一个开强电失败的报文给master(单播报文,发送3次)

2、其它命令采用相同的方法处理

3、若本机因为故障或者其它原因需要关闭强电输出,紧急发送一个故障告警和关强电的报文给master(单播报文,发送3次)

5、系统关机处理

5.1、master

1、master首先关强电输出,并发送一个关所有slave强电输出的报文(广播报文,发

送3次)

2、关闭单个slave强电输出操作:发送一个关slave强电输出的报文(单播报文,发送

3次),

5.2、slave

1、接收到一个关所有slave强电输出的报文,则马上关闭强电输出

2、接收到master关闭本slave强电输出的报文,则马上关闭强电输出,并发送一个关      闭强电输出的响应报文(单播报文,发送3次)

3、M秒内未接收到任何master的报文(心跳报文或者读数据报文),则主动上报一个slave退出系统的报文(单播报文,发送3次),延时K秒后,关闭强电输出

6、心跳报文处理

该报文的目的是让主机知道slave还存在于系统中,可以对slave进行部分操作(该部分也可以不存在,而是由master获取slave信息来处理)

6.1、master

1、周期性的发送一个心跳报文

2、N周期内未接收到slave的心跳响应报文,则上报PCS降功率(或降容),并发送一个踢slave出并机系统的报文(单播报文,发送3次),并删除本机记录的slave信息

6.2、slave

1、M周期内未接收到master的心跳报文,则关闭强电输出,上报master本机关强电

报文(单播报文,发送3次),并进入初始状态

2、接收到master心跳报文,则马上回馈一个心跳响应报文



第3种方案详细设计:

1、并机协商

1.1、master协商:

1、pack开机后读取并机使能位和当前的PACK_ID值,确认本机是作为master使用还是    从机使用;

2、确认本机为master后,记录当前的计数值Last_Ticks(禁止开强电)

3、主动周期性(周期1S)的向外发送一个“发现报文”(广播报文,目的:用于发现      是否有未并入系统的报文,已经并入系统的slave不响应该报文);

4、接收到slave的“发现响应报文”(单播报文,携带了slave的pack_id和Sn),master   将pack_id和Sn与本地记录的pack_id和Sn进行比较:

[if !supportLists]c、[endif]若接收到的pack_id为000b(该ID值为master ID),说明本机外存在另一个master,

  此时,主动发送“禁止系统开强电的报文”(广播报文,发送3次,不接收响应),

并主动发送一个告警报文给PCS,告知用户处理

     b、若本地已经存在了pack_id或者Sn,则发送“禁止该slave并入系统的报文”(单             播报文),已经并入系统的slave,不响应该命令,并上报告警报文给PCS(存在一          台相同pack id或Sn的slave,尝试并入系统)

     c、若本地没有记录过该pack_id和Sn,则进入第4步处理

5、发送一个“允许slave并入系统的报文”(单播报文,发送3次),等待接收slave并

入系统的响应报文

6、N秒内,接收到了slave的并机响应报文,则进入下一个状态处理,如果没有接收到,        则发送“禁止该slave并入系统的报文”(单播报文,发送3次)1.2、slave协商:

1.2、slave协商:

1、等待接收master的发现报文,接收到该报文后,向PCS发送一个携带pack_id和Sn      的“发现响应报文”(单播报文,发送3次)

2、等待接收master的是否允许接入系统的报文,N秒内未接收到该报文,则重新进入    初始状态(未协商的状态),若接收到报文:

      a、不允许slave并入系统,则slave静默M秒后,重新进入初始状态(未协商的状         态)

      B、允许slave并入系统,则向PCS发送一个并机响应报文(单播报文,发送3次),

         slave进入下一个任务状态

2、获取slave电压

2.1、master

1、进入该状态时,周期性发送读取slave电压的报文

2、N秒内(规定次数)未接收到slave的电压响应 报文,发送一个踢该slave出并机系统的报文(单播报文,发送3次),删除本地记录的slave消息

3、收到slave的电压报文后,则进行记录

4、读取当前的Cur_Ticks值,若Cur_Ticks -

Last_Ticks > M秒或者读取到所有已经并入系

统的slave的电压报文,则进入下一个任务,否则继续读取还未获取到的slave电压报

文信息

2.2、slave

1、等待接收master的读取电压信息的报文,若2*N秒内未获取到该报文,则发送一个

本机退出并机系统的报文给master(单播报文,发送3次),并回复到初始状态

2、接收到master的读取电压信息的报文,将本机的电压信息上报给master(单播报文,       发送3次)

3、开强电处理

3.1、master

1、master给符合开强电的slave发送给强电的报文(单播报文,发送3次)

2、N秒内未接收到slave的开强电成功的响应报文,说明开强电失败,则发送踢除slave

的报文(单播报文,发送3次)

3、M秒后,上报PCS当前可以输出的最大功率(或最大容量)

3.2、slave

1、2*N秒内未接收到master开强电命令,则上报master退出并机系统的报文,进入

到初始状态

2、接收到master开强电命令后,自检本机是否允许开强电,如果允许开强电则开强电   并发送开强电成功的响应报文给master,否则发送开强电不成功的响应报文(单播 

报文,发送3次),本处不发送故障报文,故障信息由master主动读取

3、若本机因为故障或者其它原因需要关闭强电输出,紧急发送一个故障告警和关强电    的报文给master(单播报文,发送3次)


4、充放电管理(这一部分按照沈正斌的方案处理)

5、系统关机处理

5.1、master

1、master首先关强电输出,并发送一个关所有slave强电输出的报文(广播报文,发

送3次)

2、关闭单个slave强电输出操作:发送一个关slave强电输出的报文(单播报文,发送

3次),

5.2、slave

1、接收到一个关所有slave强电输出的报文,则马上关闭强电输出

2、接收到master关闭本slave强电输出的报文,则马上关闭强电输出,并发送一个关      闭强电输出的响应报文(单播报文,发送3次)

3、M秒内未接收到任何master的报文(心跳报文或者读数据报文),则主动上报一个slave退出系统的报文(单播报文,发送3次),延时K秒后,关闭强电输出

6、心跳报文处理

该报文的目的是让主机知道slave还存在于系统中,可以对slave进行部分操作(该部分也可以不存在,而是由master获取slave信息来处理)

6.1、master

1、周期性的发送一个心跳报文

2、N周期内未接收到slave的心跳响应报文,则上报PCS降功率(或降容),并发送一个踢slave出并机系统的报文(单播报文,发送3次),并删除本机记录的slave信息

6.2、slave

1、M周期内未接收到master的心跳报文,则关闭强电输出,上报master本机关强电

报文(单播报文,发送3次),并进入初始状态

2、接收到master心跳报文,则马上回馈一个心跳响应报文

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容