停電分析,顧名思義,是對圖紙進行停電的邏輯分析。在電氣化線路中,一條線路是從乙個電源出來,連線著很多很多的裝置的,進行停電分析,有兩個重要的作用:一是看圖紙上的shape元件是否連線正常,二是看哪些裝置有電無電。通過給有電的裝置一種顏色(如綠色),無電的裝置一種顏色(如紅色),那麼就可以很明顯地看到通電的不同變化。
對一張visio繪製的電氣線路圖,我們如何進行停電分析呢?下面我們看看相關的序列邏輯先。
在上面的序列圖中,主要實現了這樣的思路:
停電分析是通過儲存裝置相關連線資訊到資料庫,以電源(如飛達)為起點,對裝置資訊進行線路的拓撲分析,把分析儲存到資料庫中,然後獲得拓撲模型中有電的裝置,對圖紙的裝置顏色進行更新(有電為綠色,無電為紅色),如果撞電,則恢復所選開關的顏色。
由於以上的關係表,只是對乙個飛達進行了線損模型分析,因此只會存在乙個
-1即飛達的情況,其他
id都是和該飛達相關聯的下游裝置
id;如果我們找到每乙個的裝置
id和其父
id(上游裝置
id)即滿足要求。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
equipment
為裝置的id,
connectionshapes
為關聯的裝置
id集合
1、先在
connectionshapes
尋找有-1
的equipment
得到下列模型:
idpid1-1
2、下面再找
1下游裝置;在關係表中尋找
equipment=1
的connectionshapes
有那些關聯裝置,發現有-1,
2;-1是
1的上游裝置,不能使用,因此剩下
2,得到如下表。 id
pid1-12
1 3、
繼續找2
的下游裝置;發現2有
1、3、
8、7、
10和其關聯,1是
2的上游裝置,不能使用,剩下的列出來。 id
pid1-12
1328
27210
2 4、
依次對3、8
、7、10
進行分析,得到以下資料,下面先對
3下游裝置進行分析 id
pid1-12
1328
27210
24311
3 繼續對4、
11進行分析,先對
11進行分析,發現
11只有
3相連,
3為上游裝置,結束; 再對
4進行分析,如下。 id
pid1-12
1328
27210
24311
35412
4 繼續對5、和
12進行分析,先對
12進行分析,發現
12只有
4相連,
4為上游裝置,結束;對
5進行分析,如下。 id
pid1-12
1328
27210
24311
35412
465
繼續對6進行分析,有
13相連;繼續分析
13下游裝置沒有,結束,得到如下。 id
pid1-12
1328
27210
24311
35412
46513
6 5、
繼續第上面步驟的分析,上面說到
2下游裝置有3、
8、7、
10,還有8、
7、10沒有分析,對
8下游裝置繼續分析。 id
pid1-12
1328
27210
24311
35412
46513
698
對9繼續分析 id
pid1-12
1328
27210
24311
35412
46513
69815
916917
9189繼續分析15、
16、17、
18發現沒有下游裝置,結束。
根據上面的分析結果,我們就
可以得到線路的拓撲樹狀圖,即乙個倒立的樹,分析的儲存結果為下圖所示。
其中關鍵的id、pid是用來在樹之間漫遊的,loginip用來區分不同使用者的分析結果,belongto在多個電源通電的時候,區分不同的電源(即構造幾顆倒立的樹),其他資訊用作輔助。注意:斷開的開關,看成是樹的分支終點。構造模型的時候不會記錄該開關裝置的資訊,分析的時候會自動斷層。
最後附上分析的結果,紅的紅,綠的綠,多好看,哈哈
Visio二次開發(一) 巧用Visio巨集
最近做的專案中需要用到visio二次開發,安裝了visio的sdk,還有從網上找了一些這方面的部落格,visio的sdk是全英文的,看著有點費勁,很多的東西都不知道該如何去找,不過網上的一些部落格還是有一些不錯的,前兩天發現乙個有助於visio二次開發的方法,下面分享給大家。就是巧用visio的巨集...
visio二次開發 事件篇
visio 二次開發的事件程式設計主要分為四個步驟 首先,需要建立 visio 事件 和 visio 事件處理類,並新增需要處理的事件 其次,對需要處理的事件向物件進行註冊,即新增到物件的 eventlist 事件列表中,並同時指定 visio 事件處理類。這樣,當物件觸發了相應的事件後,能夠向事件...
C 進行Visio二次開發之知識點考核試題
本人做過多年的visio二次開發,根據個人的經驗總結及專案積累,寫了一些小小的隨筆文章 具體可參考 伍華聰的visio二次開發文章 上月有幸給深圳乙個團隊做了兩天的visio培訓,當了一回客座老師,重新拉起visio二次開發這面大旗,個人覺得這也是一次比較難忘的一次經歷。本次準備的培訓,除了全面介紹...