鎽� 瑕侊細鐐轰簡璁揥(xu茅)orldFIP鐢ㄦ埗灏�(du矛)绺界窔鎺у埗绯荤当(t菕ng)鐨勭恫(w菐ng)绲�(lu貌)閰嶇疆鑸囨帶鍒剁瓥鐣ョ殑绲勬厠(t脿i)鏇村姞鏂逛究蹇嵎锛屾湰鏂囬枊鐧�(f膩)浜嗛€欑ó鍦栧舰鍖栫殑绲勬厠(t脿i)杌熶欢銆傚湪灏�(du矛)绺界窔鍗�(xi茅)璀板拰绯荤当(t菕ng)鐗归粸(di菐n)鍒嗘瀽涔嬪悗,鏈枃閲囩敤浜嗗熀浜嶤OM绲勪欢鎶€琛�(sh霉)鐨勪笁灞ゅ鎴�/鏈嶅嫏(w霉)鍣ㄧ祼(ji茅)妲�(g貌u)灏�(du矛)绲勬厠(t脿i)杌熶欢閫�(j矛n)琛屼簡鏁撮珨瑷�(sh猫)瑷�(j矛)銆傜祫鎱�(t脿i)杌熶欢鐨勪腑闁撲欢FipServer閲囩敤COM鎶€琛�(sh霉)渚嗚ō(sh猫)瑷�(j矛)鍜屽(sh铆)鐝�(xi脿n)锛屾枃涓郸鍑轰簡FipServer涓殑骞惧€�(g猫)闂�(gu膩n)閸电殑鎺ュ彛鍑芥暩(sh霉)銆傛湰鏂囩偤鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬬祫鎱�(t脿i)瑷�(sh猫)瑷�(j矛)浜嗚壇濂藉湒褰㈢晫闈紝绲﹀嚭浜嗕富瑕侀鐨刄ML闈滄厠(t脿i)椤炲湒銆傚(sh铆)椹�(y脿n)琛ㄦ槑锛岃┎杌熶欢閬�(y霉n)琛屾晥鏋滆壇濂�锛屽苟鍦ㄩ枊鏀炬€с€侀€i€氭€�銆佺┅(w臎n)瀹氭€т笂鍏锋湁鑹ソ鐨勬€ц兘銆�
闂�(gu膩n)閸佃锛�WorldFIP; 绲勪欢杌熶欢; 涓夊堡绲�(ji茅)妲�(g貌u); 绲勪欢鎶€琛�(sh霉)
Abstract: For the convenience of configuring network and control strategy of WorldFIP fieldbus control system, this graphical configuration software is developed. After analyzing the bus protocol and WorldFip system, the architecture of this software is built in three-layer client/server model based on component technology. The middle-ware 锛團ipServer锛� is designed with COM, whose several key interface functions are given. A graphical configuration interface is explored for function block application process, whose main classes are described with UML static class diagram. Experiment proves that this software can work normally with excellent performance in its openness, connectivity, stability, etc.
Keywords: WorlFIP; Configuration Software; Three-Layer Architecture; Component Technology;
寮� 瑷€
銆€銆€WorldFIP鏄従(xi脿n)鍫�(ch菐ng)绺界窔IEC61158鍦嬮殯妯�(bi膩o)婧�(zh菙n)涓殑绗竷绋鍨�锛岄仼鐢ㄤ簬宸ユキ(y猫)鎺у埗鐝�(xi脿n)鍫�(ch菐ng)銆傞噰鐢╓orldFIP鐝�(xi脿n)鍫�(ch菐ng)绺界窔锛屾棦鍙互鍌宠几瀵�(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)锛屽張鍙互鍌宠几闅ㄦ(j墨)淇℃伅锛屾槸涓€绋⒑瀹氭€х殑銆佸彲闋�(y霉)娓�(c猫)鐨�銆佸張鏄竴绋彲鑸嘔nternet鐒$斧閫f帴鐨勭従(xi脿n)鍫�(ch菐ng)绺界窔銆傜崹(d煤)鐗圭殑鐗╃悊灞ゅ啑浣欒ō(sh猫)瑷�(j矛)浣縒orldFIP鐝�(xi脿n)鍫�(ch菐ng)绺界窔鐐烘帶鍒剁郴绲�(t菕ng)鐨勯珮鍙潬閬�(y霉n)琛屾彁渚涗簡寮�(qi谩ng)鏈夊姏鐨勪繚闅�銆傜洰鍓峎orldFIP绺界窔宸插唬娉涙噳(y墨ng)鐢ㄤ簬鍦嬪収(n猫i)澶栫殑鏍搁浕銆侀惖璺€佺煶娌�銆佸寲宸ョ瓑琛屾キ(y猫)锛屼絾WorldFIP鐢�(ch菐n)鍝佺殑鎳�(y墨ng)鐢ㄨ垏闁嬬櫦(f膩)涓昏闆嗕腑鍦ㄧ洠(ji膩n)鎺х礆(j铆)灞ゆ涓�锛屽皪(du矛)鐝�(xi脿n)鍫�(ch菐ng)灞ょ殑WorldFIP鎳�(y墨ng)鐢ㄧ爺绌堕倓鏄竴鐗囩┖鐧�銆傜敱姝ゅ彲瑕嬶紝闁嬬櫦(f膩)涓€濂楀畬鏁寸殑WorldFIP鐝�(xi脿n)鍫�(ch菐ng)绺界窔鎺у埗绯荤当(t菕ng)鍏锋湁闈�?锛孎(xi脿n)瀵�(sh铆)鍜岀⿳妤电殑鎰忕京[1]銆傜祫鎱�(t脿i)杌熶欢鏄疻orldFIP绺界窔鎺у埗绯荤当(t菕ng)涓殑涓婁綅杌熶欢閮ㄥ垎锛屾槸鐢ㄦ埗鍜岀郴绲�(t菕ng)鐨勬帴鍙�锛屾摂(d膩n)璨�(f霉)钁楄ō(sh猫)鍌欑鐞�銆佽ō(sh猫)鍌欑祫鎱�(t脿i)銆佺恫(w菐ng)绲�(lu貌)绲勬厠(t脿i)銆佹帶鍒跺洖璺祫鎱�(t脿i)绛変换鍕�(w霉)锛屽湪鏁村€�(g猫)绯荤当(t菕ng)涓崰鏈夐噸瑕佸湴浣�銆�
1 鍩轰簬COM绲勪欢鐨勪笁灞ょ祫鎱�(t脿i)杌熶欢鐨勮ō(sh猫)瑷�(j矛)
銆€銆€鏈枃鍦ㄧ祫鎱�(t脿i)杌熶欢鐨勬暣楂旀灦妲�(g貌u)瑷�(sh猫)瑷�(j矛)涓紝閬�(y霉n)鐢ㄤ簡绲勪欢鎶€琛�(sh霉)锛岄伒寰鎴�/鏈嶅嫏(w霉)鍣ㄨō(sh猫)瑷�(j矛)鍘熷墖鍜岄枊鐧�(f膩)鏂规硶妲�(g貌u)寤篧orldFIP绲勬厠(t脿i)杌熶欢妗嗘灦銆傜祫鎱�(t脿i)杌熶欢鎸変笁灞/S绲�(ji茅)妲�(g貌u)鍔冨垎鐐鸿〃绀哄堡鐨勭祫鎱�(t脿i)杌熶欢瀹㈡埗绋嬪簭銆佹キ(y猫)鍕�(w霉)灞わ紙涓枔浠讹級鐨勭附绶氶﹨(q奴)鍕�(d貌ng)FipServer鍜屾暩(sh霉)鎿�(j霉)灞ょ殑鐝�(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌�?锛熻浕鑸抽『缁﹁洺鎵癱涓枔浠禙ipServer閫氫俊锛岄€氶亷瀹冨啀鑸囩従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欓€�(j矛n)琛岄€氫俊銆傜祫鎱�(t脿i)杌熶欢鐨勬暣楂旂祼(ji茅)妲�(g貌u)濡傚湒1鎵€绀�銆�
銆€銆€绲勬厠(t脿i)杌熶欢瀹㈡埗绋嬪簭浣滅偤绲勬厠(t脿i)杌熶欢鐨勫鎴剁锛屾槸鐢ㄦ埗鑸囩従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欓€�(j矛n)琛屾暩(sh霉)鎿�(j霉)浜や簰鐨勫伐鍏凤紝瀹㈡埗绔粺浠舵牴鎿�(j霉)WorldFIP缍�(w菐ng)绲�(lu貌)鐗归粸(di菐n)鍒嗗垾瑷�(sh猫)瑷�(j矛)鐩告噳(y墨ng)鐨勭祫鎱�(t脿i)妯″銆傞€氶亷瀹㈡埗绋嬪簭锛岀敤鎴跺彲浠ュ皪(du矛)鐝�(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欑殑淇℃伅閫�(j矛n)琛岃畝鍙栧拰瀵叆锛屽苟灏�(du矛)鎺у埗绯荤当(t菕ng)绲勬厠(t脿i)銆傚鎴剁▼搴忓寘鎷互涓嬪咕鍊�(g猫)鍔熻兘妯″锛氶爡(xi脿ng)鐩鐞嗘ā濉�銆佸姛鑳藉鍙冩暩(sh霉)绲勬厠(t脿i)妯″銆佸姛鑳藉鎳�(y墨ng)鐢ㄩ€�(j矛n)绋嬬祫鎱�(t脿i)妯″鑸囪(di脿o)搴︿俊鎭祫鎱�(t脿i)妯″銆�
銆€銆€涓枔浠禙ipServer璨�(f霉)璨�(z茅)绲勬厠(t脿i)杌熶欢鑸囩従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欓€�(j矛n)琛屾暩(sh霉)鎿�(j霉)鍜屼俊鎭殑浜や簰銆傞€欏堡閲囩敤浜嗛€�(j矛n)绋嬪COM绲勪欢鎶€琛�(sh霉)閫�(j矛n)琛岃ō(sh猫)瑷�(j矛)锛岀偤瀹㈡埗绔殑璜�(q菒ng)姹傛彁渚涢€忔槑寮忕殑绺界窔瑷晱鏈嶅嫏(w霉)鍜岃ō(sh猫)鍌欑墿鐞嗕綅缃畾浣嶃€傜従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欑浉鐣�(d膩ng)浜庝笁灞ょ祼(ji茅)妲�(g貌u)鐨勬暩(sh霉)鎿�(j霉)灞�锛岀祫鎱�(t脿i)杌熶欢鏍规摎(j霉)瑷�(sh猫)鍌欑殑鍦板潃淇℃伅閫氶亷涓枔灞ゅ皪(du矛)鍚勫€�(g猫)瑷�(sh猫)鍌欓€�(j矛n)琛屾暩(sh霉)鎿�(j霉)鐨勮畝鍙栧拰瀵叆銆�
[align=center]

鍦�1 绲勬厠(t脿i)杌熶欢鏁撮珨绲�(ji茅)妲�(g貌u)鍦朳/align]
2 FipServer鐨勮ō(sh猫)瑷�(j矛)闁嬬櫦(f膩)
銆€銆€FipServer绋嬪簭涓昏鐨勪綔鐢ㄦ槸绠$悊涓绘(j墨)鎳�(y墨ng)鐢ㄧ▼搴忓拰WorldFIP缍�(w菐ng)绲�(lu貌)鐨勯€氫俊锛屽畠灏�(du矛)WorldFIP閫氫俊鍗�(xi茅)璀版湇鍕�(w霉)閫�(j矛n)琛屼簡灏佽锛屼娇绲勬厠(t脿i)杌熶欢涓嶇敤鐭ラ亾閫氫俊鐨勭窗(x矛)绡€(ji茅)銆傛湰鏂囬噰鐢ˋTL鎶€琛�(sh霉)渚嗛枊鐧�(f膩)FipServer閫欏€�(g猫)閫�(j矛n)绋嬪COM绲勪欢銆侳ipServer绋嬪簭鏈夎嚜宸辩殑鍦栧舰鐣岄潰锛屽鍦�2鎵€绀�銆傚湒褰㈢晫闈㈠彲浠ラ’绀虹恫(w菐ng)绲�(lu貌)涓婃椿鍕�(d貌ng)鐨刉orldFIP瑷�(sh猫)鍌欑殑鏁�(sh霉)鐩拰FipServer鏈嶅嫏(w霉)鐙€鎱�(t脿i)锛屽彲璁撲娇鐢ㄨ€呰瀵烣ipServer绋嬪簭鐨勯亱(y霉n)琛岀媭鎱�(t脿i)[2]銆�
[align=center]

鍦�2 FipServer閬�(y霉n)琛岀晫闈/align]
銆€銆€FipServer鐨凜OM鎺ュ彛椤炵偤CFipServer锛屽収(n猫i)閮ㄥ皝瑁濅簡WorldFIP鎳�(y墨ng)鐢ㄥ堡鍜岀敤鎴跺堡鍗�(xi茅)璀帮紝閲囩敤ATL鎶€琛�(sh霉)瀵�(sh铆)鐝�(xi脿n)銆傜暥(d膩ng)涓绘(j墨)鎳�(y墨ng)鐢ㄧ▼搴忚(di脿o)鐢–FipServer鐨勫嚱鏁�(sh霉)鏅�(sh铆)锛孋FipServer鐨勫嚱鏁�(sh霉)灏辨渻(hu矛)瑾�(di脿o)鐢ㄧ浉鎳�(y墨ng)鍗�(xi茅)璀扮殑鎺ュ彛鍑芥暩(sh霉)锛屼笅闈粙绱瑰咕鍊�(g猫)涓昏鎺ュ彛鍑芥暩(sh霉)鐨勪富瑕佸姛鑳�銆�
銆€銆€锛�1锛� SetPhTag锛堚€︼級鍑芥暩(sh霉)鍔熻兘鏄ō(sh猫)缃恫(w菐ng)娈靛敮涓€鐨勮ō(sh猫)鍌欐(bi膩o)璀�(sh铆)铏�(h脿o)鍜岃ō(sh猫)缃恫(w菐ng)娈靛敮涓€鐨勫姛鑳藉妯�(bi膩o)璀�(sh铆)铏�(h脿o)銆�
銆€?銆�?锛� EstablishBA锛堚€︼級鏄缓绔嬪苟鍟熷嫊(d貌ng)涓荤珯鐨勪竴鍊�(g猫)鏂扮殑BA锛堢附绶氫徊瑁侊級琛�銆備富绔欏垵濮嬬媭鎱�(t脿i)鏈�(hu矛)鏈変竴鍊�(g猫)BA琛�锛屼富瑕佸寘鍚潪鍛ㄦ湡鍫�(b脿o)鏂囧拰璁婇噺閫氫俊绐楀彛锛岀敤浜庡熀鏈ō(sh猫)鍌欑殑绲勬厠(t脿i)淇℃伅涓嬭級涓婂偝銆佽ō(sh猫)鍌欏瓨鍦�銆佽ō(sh猫)鍌欐(bi膩o)璀�(sh铆)绛夋湇鍕�(w霉)銆傜祫鎱�(t脿i)瀹㈡埗绔敓鎴愭垨淇敼鎺у埗绛栫暐鑸囪(di脿o)搴︽檪(sh铆)闁撴檪(sh铆)锛岀浉鎳�(y墨ng)鐨凚A琛ㄤ篃闇€鏇存柊锛岄€欐檪(sh铆)绲勬厠(t脿i)杌熶欢灏辨渻(hu矛)瑾�(di脿o)鐢ㄨ┎鍑芥暩(sh霉)渚嗗埛鏂颁富绔欑殑BA琛�銆�
銆€?銆�?锛� GetDeviceList锛堚€︼級鎺ュ彛鐛插緱鍦ㄧ窔娲诲嫊(d貌ng)瑷�(sh猫)鍌欑殑鍒楄〃銆傜暥(d膩ng)FipServer閫�(j矛n)绋嬪暉鍕�(d貌ng)浠ュ悗锛屽氨鏈�(hu矛)鍛ㄦ湡鍦板緸涓荤珯瑷�(sh猫)鍌欒畝鍙栧湪绶氳ō(sh猫)鍌欑殑鍫�(b脿o)鍛婁俊鎭�锛屽苟瑷橀寗涓嬪湪绶氳ō(sh猫)鍌欑殑淇℃伅锛屽叿楂斾俊鎭寘鎷墿鐞嗗湴鍧€鍜屾(bi膩o)璀�(sh铆)铏�(h脿o)锛�8瀛楃瘈(ji茅)锛�銆傜暥(d膩ng)绲勬厠(t脿i)瀹㈡埗绔(di脿o)鐢ㄨ┎鎺ュ彛鍑芥暩(sh霉)鏅�(sh铆)灏卞彲浠ョ嵅寰楃附绶氫笂鐨勬椿鍕�(d貌ng)瑷�(sh猫)鍌欏垪琛ㄣ€�
銆€?銆�?锛� ReadObject锛�...锛夋帴鍙f槸FipServer鎻愪緵鐨勬渶閲嶈鐨勬帴鍙d箣涓€锛屽畠鐨勫姛鑳戒富瑕佹槸璁€鍙栫従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欑殑鍚勭ó淇℃伅锛岀暥(d膩ng)涓绘(j墨)鎳�(y墨ng)鐢ㄧ▼搴忛渶瑕佺嵅鍙栬ō(sh猫)鍌欏皪(du矛)璞″瓧鍏镐腑鐨勬暩(sh霉)鎿�(j霉)鏅�(sh铆)锛屽彲浠ヨ(di脿o)鐢ㄨ┎鎺ュ彛鍑芥暩(sh霉)锛屽嚱鏁�(sh霉)鏍规摎(j霉)鍌抽€�(j矛n)渚嗚ō(sh猫)鍌欎俊鎭€佸皪(du矛)璞″瓧鍏哥储寮曞氨鍙互璁€鍙栫従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欏皪(du矛)璞″瓧鍏镐腑鐨勭浉鎳�(y墨ng)淇℃伅銆傚嚱鏁�(sh霉)涓昏鏄皪(du矛)瑷�(sh猫)鍌欒í鍟忎唬鐞嗗崝(xi茅)璀颁腑鐨凴ead鏈嶅嫏(w霉)閫�(j矛n)琛屼簡灏佽锛屽嚱鏁�(sh霉)鏍规摎(j霉)鍌抽€�(j矛n)渚嗗皪(du矛)璞″瓧鍏哥殑绱㈠紩鍜屽瓙绱㈠紩鐨勪笉鍚岃€岃(di脿o)鐢ㄤ笉鍚岀殑璁€鏈嶅嫏(w霉)銆�
銆€銆€锛�5锛� WriteObject 锛�...锛夋帴鍙d篃鏄疐ipServer鎻愪緵鐨勬渶閲嶈鐨勬帴鍙d箣涓€锛屽畠鐨勫姛鑳戒富瑕佹槸鍚戠従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欏鍏ュ悇绋俊鎭�銆傜祫鎱�(t脿i)杌熶欢闇€瑕佸皪(du矛)瑷�(sh猫)鍌欏皪(du矛)璞″瓧鍏镐腑鏇存柊鏁�(sh霉)鎿�(j霉)鏅�(sh铆)锛屽彲浠ヨ(di脿o)鐢ㄨ┎鎺ュ彛鍑芥暩(sh霉)锛屽嚱鏁�(sh霉)鏍规摎(j霉)鍌抽€�(j矛n)渚嗚ō(sh猫)鍌欐(bi膩o)璀�(sh铆)鍜屽皪(du矛)璞″瓧鍏哥储寮曞氨鍙互鍚戠従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欏皪(du矛)璞″瓧鍏镐腑鐨勭浉鎳�(y墨ng)鐨勪綅缃鍏ヤ俊鎭�锛岃┎鍑芥暩(sh霉)涓昏鏄皝瑁濅簡瑷�(sh猫)鍌欒í鍟忎唬鐞嗙殑Write鏈嶅嫏(w霉)锛屾牴鎿�(j霉)鍌抽€�(j矛n)渚嗙殑灏�(du矛)璞″瓧鍏哥殑绱㈠紩鍜屽瓙绱㈠紩鐨勪笉鍚岃€岃(di脿o)鐢ㄤ笉鍚岀殑瀵湇鍕�(w霉)銆�
3 绲勬厠(t脿i)杌熶欢瀹㈡埗绔粺浠剁殑瑷�(sh猫)瑷�(j矛)鑸囧(sh铆)鐝�(xi脿n)
銆€銆€绲勬厠(t脿i)杌熶欢瀹㈡埗绔槸绲勬厠(t脿i)杌熶欢鑸囧伐绋嬩汉鍝′氦浜掔殑绲勬厠(t脿i)鍦栧舰绯荤当(t菕ng)锛屾槸绺界窔宸ョ▼绯荤当(t菕ng)鐨勮(di脿o)搴﹀拰鎺у埗涓績锛屽畠鍦ㄧ祫鎱�(t脿i)杌熶欢绯荤当(t菕ng)涓捣钁楁サ鍏堕噸瑕佺殑浣滅敤銆傛湰鏂囬鍏堥噰鐢ㄤ簡闈㈠悜?q奴)慰锜厱顭岋紲澶筭(sh霉)锛屽€熷姪UML寤烘ā瑾炶█瀵�(sh铆)鐝�(xi脿n)浜嗙郴绲�(t菕ng)寤烘ā锛岀劧鍚庨噰鐢ㄩ潰鍚�?q奴)慰锜湪骞婅碍妞�?锛屽熀浜嶹indows鐨凪FC鎶€琛�(sh霉)锛屼互C++鐐虹法绋嬭獮瑷€锛屼互Visual C++6.0鐐哄伐鍏�锛屼緷鎿�(j霉)鎵€寤虹珛鐨勫湒褰㈢郴绲�(t菕ng)妯″瀷锛屽(sh铆)鐝�(xi脿n)浜嗘暣鍊�(g猫)绲勬厠(t脿i)鍦栧舰绯荤当(t菕ng)銆傜祫鎱�(t脿i)杌熶欢鐨勬暣楂旂祼(ji茅)妲�(g貌u)閲囩敤鐨勫柈鏂囨獢澶氳鍦栫殑绲�(ji茅)妲�(g貌u)銆傚嵆鎵€鏈夌殑鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)鐢辨枃妾旈CFipXConDoc渚嗙鐞�锛屾墍鏈夋ā濉婂緸瑭叉枃妾斾腑鍙栧緱鎵€闇€鐨勬暩(sh霉)鎿�(j霉)锛岄€�(j矛n)琛岃檿鐞嗕互鍚庡啀淇濆瓨鍒拌┎鏂囨獢涓�銆傚湪Windows鎿嶄綔绯荤当(t菕ng)涓�锛岀祫鎱�(t脿i)杌熶欢鐨勬暣楂斿湒褰㈢晫闈㈠鍦�3鎵€绀恒€�
[align=center]

鍦�3 绲勬厠(t脿i)杌熶欢鐨勪富绐楀彛[/align]
銆€銆€鍦栦腑宸﹂倞瑕栧湒鏄爡(xi脿ng)鐩鐞嗘ā濉�锛岀敤浜庡皪(du矛)鏁村€�(g猫)鎺у埗绯荤当(t菕ng)鐨勭祫鎱�(t脿i)闋�(xi脿ng)鐩€�(j矛n)琛屾暣楂旂殑绠$悊,缍�(w菐ng)娈点€佷富绔�銆佸熀鏈ō(sh猫)鍌欏拰鍔熻兘濉婄殑澧炲埅鏀规煡閮藉湪閫欓噷閫�(j矛n)琛屻€傚彸閭婂伐浣滃崁(q奴)澶氳鍦栨槸鍚勭ó绲勬厠(t脿i)妯″鐨勮鍦�锛屽湒涓墍绀虹殑瑕栧湒鍒嗗垾鏄姛鑳藉鍙冩暩(sh霉)绲勬厠(t脿i)妯″鍜屽姛鑳藉鎳�(y墨ng)鐢ㄩ€�(j矛n)绋嬬祫鎱�(t脿i)妯″銆�
銆€銆€3.1 鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)鐨勮ō(sh猫)瑷�(j矛)
銆€銆€鏍规摎(j霉)鐝�(xi脿n)鍫�(ch菐ng)绺界窔绲�(ji茅)妲�(g貌u)鐨勫垎甯冨紡鍜屽堡娆$祼(ji茅)妲�(g貌u)鐨勭壒榛�(di菐n)锛岃粺浠朵腑閲囩敤浠ヨō(sh猫)鍌欑偤灏�(du矛)璞$殑鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)瑷�(sh猫)瑷�(j矛)锛岄棞(gu膩n)浜庤ō(sh猫)鍌欎俊鎭殑鏁�(sh霉)鎿�(j霉)绲�(ji茅)妲�(g貌u)淇濇寔鍦ㄦ枃妾旈涓�銆傝ō(sh猫)鍌欎俊鎭垎鍒ヤ繚瀛樺湪瑷�(sh猫)鍌欏熀椤烇紙CFipBasDevice锛夈€佹淳鐢熼缍�(w菐ng)闂�(gu膩n)瑷�(sh猫)鍌欓锛圕FipBridge锛夊拰娲剧敓椤炲緸瑷�(sh猫)鍌欓锛圕FipSlaDevice锛変腑銆傝ō(sh猫)鍌欏熀椤炲緸CObject娲剧敓锛屽苟閲嶈級浜哠erialize锛圕Archive& ar锛夊嚱鏁�(sh霉)銆傞€欎簺瑷�(sh猫)鍌欓涓昏瑷橀寗瑷�(sh猫)鍌欑殑鍩烘湰淇℃伅锛屽瑷�(sh猫)鍌欑殑DeviceID銆佽ō(sh猫)鍌欑殑鐗╃悊鍦板潃銆佽ō(sh猫)鍌欐(bi膩o)璀�(sh铆)銆佽ō(sh猫)鍌欎腑鐨勫姛鑳藉鍒楄〃锛屽姛鑳藉鏁�(sh霉)閲忕瓑淇℃伅锛屼互鍙婂皪(du矛)瑷�(sh猫)鍌欓鐨勬搷浣滄柟娉�銆傝ō(sh猫)鍌欎互瑷�(sh猫)鍌欏垪琛ㄧ殑褰㈠紡绲勭箶锛屽叿楂旂祼(ji茅)妲�(g貌u)閲囩敤MFC鎸囬嚌鏁�(sh霉)绲勬ā鏉块CtypedPtrArray瀵�(sh铆)渚嬪寲鐨凜FipDevArray銆�
銆€銆€姣忓€�(g猫)瑷�(sh猫)鍌欏寘鍚湁澶氬€�(g猫)鍔熻兘濉婏紝鍔熻兘濉婇淇濆瓨浜嗗姛鑳藉鐨勫悇绋俊鎭�銆傛湰鏂囩偤鍔熻兘濉婇瑷�(sh猫)瑷�(j矛)浜嗕竴鍊�(g猫)鍩洪CFunBlkBase锛屽叾浠栧叿楂斿姛鑳藉鐨勯閮藉緸瀹冩淳鐢�锛屽CAIBlk銆丆PIDBlk銆丆AOBlk绛�?锛涱嫙鎮樿厓Object椤炴淳鐢燂紝骞朵笖閲嶈級浜哠erialize锛圕Archive& ar锛夊嚱鏁�(sh霉)銆傚悓妯�,瑷�(sh猫)鍌欓涔熷畾缇╀竴鍊�(g猫)鍕�(d貌ng)鎱�(t脿i)鏁�(sh霉)绲凜FunBlkArray淇濆瓨瀹冪殑鍔熻兘濉�銆�
銆€銆€3.2 鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬪湒褰㈠寲绲勬厠(t脿i)鐨勮ō(sh猫)瑷�(j矛)鑸囧(sh铆)鐝�(xi脿n)
銆€銆€鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬬殑绶ㄨ集閲囩敤鍦栧舰鍖栨柟娉曚締绲勬厠(t脿i)锛屽姛鑳藉鎳�(y墨ng)鐢ㄩ€�(j矛n)绋嬬法杓殑鐣岄潰濡傚湒2鎵€绀�銆傜敤鐭╁舰妗嗗湒浠h〃鍔熻兘濉婏紝寮曡叧浠h〃鍔熻兘濉婄殑杓稿叆鍜岃几鍑�锛屽紩鑵抽枔鐨勯€g窔浠h〃鍔熻兘濉婂弮鏁�(sh霉)闁撶殑闂�(gu膩n)鑱�(li谩n)銆傜法杓姛鑳藉鎳�(y墨ng)鐢ㄩ€�(j矛n)绋嬫檪(sh铆)锛岀敤榧犳(bi膩o)閬稿彇绲勬垚鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬫墍闇€鐨勫姛鑳藉骞跺壍(chu脿ng)寤哄姛鑳藉妗嗗湒锛屽苟鐢ㄩ紶妯�(bi膩o)鍦ㄥ紩鑵抽枔鐣窔渚嗗缓绔嬪姛鑳藉涔嬮枔鐨勯€f帴闂�(gu膩n)绯�銆�
銆€銆€鏈祫鎱�(t脿i)鐣岄潰绯荤当(t菕ng)涓昏鐢卞湒鍏冮搴拰鍦栧舰鎿嶄綔宸ュ叿椤炲韩妲�(g貌u)鎴�銆傚湪鍦栧厓椤炲韩涓�锛岄CDrawObj鏄娊璞″熀椤�锛屽畾缇╀簡鎵€鏈夊湒鍏冮鍏锋湁鐨勫叡鍚屽爆鎬у拰鎿嶄綔鎺ュ彛锛屾槸鍏跺畠鍦栧厓椤炵殑鐖堕銆侰DrawFunBlock鏄姛鑳藉妗嗗湒椤�锛岀敱瀹冩淳鐢熷嚭鍏烽珨鍔熻兘濉婄躬鍦栭锛屽CAIDrawBlk绛�銆侰DrawLinkPLine鏄€f帴绶氶锛孋TextObj鏄枃鏈銆傚湒褰㈡搷浣滃伐鍏烽鏄皣鐢ㄦ埗鍦ㄧ晫闈笂鐨勬搷浣滅炕璀垚灏�(du矛)宸ョ▼鐣潰涓婂湒鍏冪殑鎿嶄綔鐨勮紨鍔╅锛屼富瑕佸姛鑳借〃鐝�(xi脿n)鍦ㄥ皪(du矛)鍦栧厓鐨勬搷浣滄帶鍒跺姛鑳�锛屽鍦栧厓鐨勭敓鎴愮法杓挙閵�銆佺Щ鍕�(d貌ng)鍜岄伕鎿囩瓑銆傛牴鎿�(j霉)鎵€鎿嶄綔鐨勫湒鍏冨皪(du矛)璞$殑绋锛岃鍦栭閬告搰鐩告噳(y墨ng)鐨勫伐鍏烽渚嗙法杓湒鍏冨皪(du矛)璞�銆傚湪宸ュ叿椤炲韩涓紝椤濩DrawTool鏄叾浠栧伐鍏烽鐨勫熀椤�銆傞CSelectTool瀹氱京浜嗗皪(du矛)鍦栧厓鐨勯伕涓搷浣�锛岄CDrawPLineTool瀹氱京浜嗗皪(du矛)閫f帴绶氶鐨勯€f帴鎿嶄綔锛岄CFunBlkTool瀹氱京浜嗗皪(du矛)鍔熻兘濉婇鐨勫壍(chu脿ng)寤哄拰绉诲嫊(d貌ng)锛屽湒4鎻忚堪浜嗛€欏€�(g猫)鐣岄潰绯荤当(t菕ng)鐨勯潨鎱�(t脿i)椤炲拰鐩镐簰涔嬮枔鐨勯棞(gu膩n)绯籟3]銆�
[align=center]

鍦�4 鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬪湒褰㈢祫鎱�(t脿i)鐨刄ML闈滄厠(t脿i)椤炲湒[/align]
銆€銆€鐣�(d膩ng)鐢ㄦ埗閫�(j矛n)琛屽姛鑳藉閫f帴绲勬厠(t脿i)鏅�(sh铆)锛屾瘡瀹屾垚涓€娆″姛鑳藉涔嬮枔鐨勯€f帴锛屾牴鎿�(j霉)閫g窔灏�(du矛)璞$殑杓稿叆鍜岃几鍑烘墍鎸囩殑鍔熻兘濉婁箣闁撶殑闂�(gu膩n)鑱�(li谩n)闂�(gu膩n)绯�锛屽壍(chu脿ng)寤虹浉鎳�(y墨ng)鐨勯張鎺ュ皪(du矛)璞★紙CLinkObj锛夊苟绲︿簣璩﹀€笺€傞張鎺ュ皪(du矛)璞″収(n猫i)瀹逛富瑕佸寘鎷湇鍕�(w霉)椤炲瀷銆佽ō(sh猫)鍌欏湴鍧€銆佸懆鏈熻畩閲忕法铏�(h脿o)銆佹湰鍦扮储寮曘€侀仩(yu菐n)鏂圭储寮曠瓑鍏�(n猫i)瀹�銆傜偤浜嗚畵鍔熻兘濉婁箣闁撶殑閫f帴閮借垏閺堟帴灏�(du矛)璞$浉灏�(du矛)鎳�(y墨ng)锛岀▼搴忓畾缇╀簡閫f帴椤烇紙CLink锛�锛岄€f帴椤炰富瑕佽閷勪簡閫欏皪(du矛)杓稿叆鍜岃几鍑哄弮鏁�(sh霉)鐨勯張鎺ュ皪(du矛)璞°€傚湪鍔熻兘濉婃噳(y墨ng)鐢ㄩ€�(j矛n)绋嬬法杓鍦栦腑锛屾瘡閫�(j矛n)琛屼竴娆″姛鑳藉涔嬮枔鐨勯€f帴绶ㄨ集锛屽氨鐢熸垚涓€鍊�(g猫)鍔熻兘濉婁箣闁撶殑閫f帴锛屼篃灏辩敓鎴愪簡鍏╁€�(g猫)閺堟帴灏�(du矛)璞�銆備笅杓夐張鎺ュ皪(du矛)璞℃檪(sh铆)锛岀▼搴忛亶姝稢DrawLinkPLine灏�(du矛)璞★紝閫氶亷瑾�(di脿o)鐢–OM鎺ュ彛绋嬪簭FipServer鐨勫鏈嶅嫏(w霉)灏囬張鎺ュ皪(du矛)璞′笅杓夊埌鎸囧畾瑷�(sh猫)鍌欎腑[4]銆�
4 绲�(ji茅)鏉熻獮
銆€銆€鏈枃鎼缓浜嗕竴鍊�(g猫)绨″柈鐨勫(sh铆)闅涚殑绺界窔鎺у埗绯荤当(t菕ng)渚嗘脯(c猫)瑭︾祫鎱�(t脿i)杌熶欢锛屾湰绯荤当(t菕ng)鐢变竴鍊�(g猫)婧害璁婇€佸櫒銆佷竴鍊�(g猫)绺界窔-闆绘祦璁婇€佸櫒锛團I锛�銆佷竴鍊�(g猫)缍�(w菐ng)闂�(gu膩n)锛堜富绔欙級銆佷竴鍊�(g猫)鍔犵啽鐖愬拰涓€鑷�(t谩i)PC姗�(j墨)妲�(g貌u)鎴�銆傜瓥鐣ョ祫鎱�(t脿i)閰嶇疆浜嗘韩璁婇亱(y霉n)琛孉I鍔熻兘濉�銆丗I鐨凱ID鍔熻兘濉婂拰涓€鍊�(g猫)AO鍔熻兘濉�锛屽舰鎴愪竴鍊�(g猫)闁夌挵(hu谩n)鍥炶矾灏囧姞鐔辩垚鍏�(n猫i)鐨勬韩搴︽帶鍒剁偤涓€鍊�(g猫)绲﹀畾鍊笺€傛暣鍊�(g猫)娓�(c猫)瑭︽寜鐓�5鍊�(g猫)鐢ㄤ緥渚濇閫�(j矛n)琛�锛岀祼(ji茅)鏋滆〃鏄庯細绲勬厠(t脿i)杌熶欢閫氶亷涓荤珯鎴愬姛璁€鍙栦簡鐝�(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欎俊鎭�锛屽苟鐛插彇瑕栧湒鏁�(sh霉)鎿�(j霉)鍜屽姛鑳藉淇℃伅锛岀祫鎱�(t脿i)杌熶欢鎴愬姛灏囩祫鎱�(t脿i)淇℃伅涓嬭級鍒扮従(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欏苟灏�(du矛)鍏剁祫鎱�(t脿i)?锛孎(xi脿n)鍫�(ch菐ng)瑷�(sh猫)鍌欓亱(y霉n)琛屾甯�锛屽苟瀵�(sh铆)鐝�(xi脿n)鍩烘湰鎺у埗鍔熻兘銆�
銆€銆€鏈枃鐨勫壍(chu脿ng)鏂伴粸(di菐n)鍦ㄤ簬:鍦ㄥ厖鍒嗗垎鏋愪簡WorldFIP鍗�(xi茅)璀板拰绺界窔绯荤当(t菕ng)鐗归粸(di菐n)涔嬪悗锛岀巼鍏堣ō(sh猫)瑷�(j矛)闁嬬櫦(f膩)鍑轰簡涓€濂楁柟渚垮(sh铆)鐢ㄧ殑闈㈠悜鍔熻兘濉婄殑WorldFIP鐝�(xi脿n)鍫�(ch菐ng)绺界窔鎺у埗绯荤当(t菕ng)绲勬厠(t脿i)杌熶欢銆傞€欏杌熶欢鏄湪涓枃Windows2000鐠�(hu谩n)澧冧笅浠C++6.0鐐哄钩鑷�(t谩i)瀵�(sh铆)鐝�(xi脿n)鐨�銆傞€欏杌熶欢閲囩敤浜嗕笁灞/S妯″紡鐨勮粺浠剁祼(ji茅)妲�(g貌u)锛屽叿鏈夊緢濂界殑闁嬫斁鎬у拰鎿�(ku貌)灞曟€�銆傝粺浠跺叿鏈夊弸濂界殑浜烘(j墨)鐣岄潰锛屽彲鐐虹敤鎴舵彁渚涚洿瑙€鏂逛究鐨勫皪(du矛)鏈現CS绯荤当(t菕ng)鐨勭祫鎱�(t脿i)閰嶇疆銆�
鍙冭€冩枃鐛�(xi脿n)
銆€銆€[1]鍙插(xu茅)鐜�.WorldFIP鐝�(xi脿n)鍫�(ch菐ng)绺界窔鎶€琛�(sh霉)[J].宸ユキ(y猫)鎺у埗瑷�(j矛)绠楁(j墨)锛�2001锛�14锛�2锛夛細29-30
銆€銆€[2]寮靛妽娓咃紝寮甸綂.鍩轰簬COM鐨勭祫鎱�(t脿i)杌熶欢I/O瑷�(sh猫)鍌欓﹨(q奴)鍕�(d貌ng)绋嬪簭瑷�(sh猫)瑷�(j矛)[J].寰▓(j矛)绠楁(j墨)淇℃伅锛�2007锛�2-1锛�293-295
銆€銆€[3]鐜嬩簽姘�锛岄櫝闈�锛屽妷鏆㈢敓锛岀帇姘村钩.绲勬厠(t脿i)杌熶欢鐨勮ō(sh猫)瑷�(j矛)鑸囬枊鐧�(f膩)[M].瑗垮畨闆诲瓙绉戞妧澶у(xu茅)鍑虹増绀�,2003
銆€銆€[4]寮靛缓鑿�锛屾埌(zh脿n)鏄庯紝浜庢捣鏂�.FF鐝�(xi脿n)鍫�(ch菐ng)绺界窔鍎€琛ㄥ強绲勬厠(t脿i)鎶€琛�(sh霉)[J].寰▓(j矛)绠楁(j墨)淇℃伅锛�2006锛�6-1锛�175-176