鎽� 瑕侊細鍦ㄧ啊瑕佷粙绱筄PC 鎶€琛�(sh霉)鐨勫熀绀�(ch菙)涓婏紝鎻忚堪浜哋PC鏈嶅嫏(w霉)鍣ㄧ殑绲�(ji茅)妲�(g貌u)鍙婇枊鐧�(f膩)姝ラ锛岃┏绱�(x矛)璎涜堪浜哋PC鎶€琛�(sh霉)鍦–AN绺界窔绯荤当(t菕ng)涓殑瀵�(sh铆)鐝�(xi脿n)銆�
闂�(gu膩n)閸佃锛�OPC OPC鏈嶅嫏(w霉)鍣� COM 鐝�(xi脿n)鍫寸附绶�
1 OPC鎶€琛�(sh霉)绨′粙
銆€銆€1.1 浠€涔堟槸OPC
銆€銆€OPC锛圤LE for Process Control锛�,鍗崇敤浜庨亷绋嬫帶鍒剁殑灏�(du矛)璞¢張鎺ヨ垏宓屽叆鎶€琛�(sh霉),鏄竴绋(gu墨)鑼冿紝鏄湪宸ユキ(y猫)鎺у埗鍜岀敓鐢�(ch菐n)鑷嫊(d貌ng)鍖栭牁(l菒ng)鍩熶腑浣跨敤鐨勭‖浠跺拰杌熶欢鐨勬帴鍙f(bi膩o)婧�(zh菙n)銆侽PC浠ョ祫浠跺皪(du矛)璞℃ā鍨嬪拰鍒嗗竷寮忕祫浠跺皪(du矛)璞℃ā鍨嬶紙COM/DCOM锛夋妧琛�(sh霉)鐐哄熀绀�(ch菙)锛岄噰鐢ㄥ鎴�/鏈嶅嫏(w霉)鍣紙Client/Server锛夌殑妯″紡锛屽畾缇╀簡涓€绲凜OM灏�(du矛)璞″強鍏舵帴鍙f(bi膩o)婧�(zh菙n)銆�
銆€銆€OPC瑕�(gu墨)鑼冩槸鐢变笘鐣岃寖鍦嶅収(n猫i)鑷嫊(d貌ng)鍖栭牁(l菒ng)鍩熶腑铏曚簬闋�(l菒ng)灏�(d菐o)鍦颁綅鐨勭‖浠跺拰杌熶欢闁嬬櫦(f膩)鍟�锛屽湪寰粺鐨勫崝(xi茅)浣滀笅鍒跺畾鐨�锛屽苟涓斿凡缍�(j墨ng)寰楀埌瓒婁締瓒婂鐨勫鎴跺拰纭欢鍒堕€犲晢鐨勮獚(r猫n)鍙€�
銆€銆€1.2 OPC鐨勬剰缇�
銆€銆€鍦ㄥ偝绲�(t菕ng)鐨勬帶鍒剁郴绲�(t菕ng)涓�锛岄嚌灏�(du矛)鍚屼竴鍊�(g猫)纭欢瑷�(sh猫)鍌欙紝姣忓€�(g猫)鎳�(y墨ng)鐢ㄨ粺浠堕兘瑕佹牴鎿�(j霉)鑷繁鐨勯渶姹傞枊鐧�(f膩)涓€濂楃‖浠堕﹨(q奴)鍕�(d貌ng)绋嬪簭銆傞€欎笉鍍呭姞澶т簡闁嬬櫦(f膩)鍜岀董璀�(h霉)璨�(f猫i)鐢�锛岃€屼笖?gu墨)顫嗙牴鍡絃鍟忔矕绐佸晱椤�銆�
銆€銆€OPC鎶€琛�(sh霉)灏囧悇鍊�(g猫)纭欢瑷�(sh猫)鍌欓﹨(q奴)鍕�(d貌ng)绋嬪簭鍜岄€氳▕绋嬪簭灏佽鎴愮崹(d煤)绔嬬殑OPC鏈嶅嫏(w霉)鍣�锛屼笂灞ゆ噳(y墨ng)鐢ㄨ粺浠讹紙浣滅偤OPC瀹㈡埗绔級鍙互涓嶉棞(gu膩n)蹇冪‖浠剁殑鎬ц兘鐗归粸(di菐n)锛岃€岄€氶亷妯�(bi膩o)婧�(zh菙n)鐨凮PC鎺ュ彛瑷晱OPC鏈嶅嫏(w霉)鍣�銆�
銆€銆€閫欐ǎ涓嶅儏瑙f焙浜嗕笂杩板晱椤�锛岃€屼笖瀵�(sh铆)鐝�(xi脿n)浜嗚粺浠剁殑鈥滃嵆鎻掑嵆鐢ㄢ€�銆侽PC鐩哥暥(d膩ng)浜庝竴濉婅粺浠垛€滀富鏉库€�锛屽畠鑳藉鐩存帴鑸囩従(xi脿n)鍫寸殑PLC銆佸伐妤�(y猫)缍�(w菐ng)绲�(lu貌)銆佹暩(sh霉)鎿�(j霉)閲囬泦鍜學indows CE瑷�(sh猫)鍌欓€f帴锛屽揩閫熸湁鏁堝湴鐛插彇鐝�(xi脿n)鍫村(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)銆侾C姗�(j墨)鍏�(n猫i)鐨勫悇绋洠(ji膩n)瑕栥€佹帶鍒跺拰绠$悊绛夋噳(y墨ng)鐢ㄨ粺浠跺墖鍍忔槸鎻掑湪OPC涓绘澘涓婄殑杌熶欢鈥滆姱鐗団€�锛岃姱鐗囧彲浠ラ€氶亷OPC鐛插緱鐝�(xi脿n)鍫村(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)锛岃姱鐗囦箣闁撲篃鍙互鎸夌収OPC鍗�(xi茅)璀伴€�(j矛n)琛岄€氳▕锛屽緸鑰屽(sh铆)鐝�(xi脿n)杌熶欢鐨勨€滃嵆鎻掑嵆鐢ㄢ€�銆�
銆€銆€1.3 OPC灏�(du矛)璞¤垏鎺ュ彛
銆€銆€OPC鐨勬牳蹇冩槸COM/DCOM鎶€琛�(sh霉)銆傚湪COM妯″瀷涓�锛岃粺浠剁殑鍔熻兘琚垎瑙g偤涓€浜涚祫浠�锛岄€欎簺绲勪欢閫氶亷COM鍗�(xi茅)璀板湪涓€瀹氭浠朵笅閫f帴璧蜂締锛屽(sh铆)鐝�(xi脿n)鐩告噳(y墨ng)鐨勫姛鑳�銆侰OM灏�(du矛)璞″垎鐐哄鎴剁鍜屾湇鍕�(w霉)鍣ㄥ叐椤�锛屽鎴剁閫氶亷COM鎺ュ彛瑷晱鏈嶅嫏(w霉)鍣╗2]銆�
銆€銆€OPC鏁�(sh霉)鎿�(j霉)瑷晱瑕�(gu墨)鑼冩弿杩颁簡OPC鏈嶅嫏(w霉)鍣ㄩ渶瑕佸(sh铆)鐝�(xi脿n)鐨凜OM灏�(du矛)璞″強鍏舵帴鍙�锛屽畠瀹氱京浜嗗畾鍒舵帴鍙o紙custom interface锛夊拰鑷嫊(d貌ng)鍖栨帴鍙o紙automation interface锛塠1]銆侽PC瀹㈡埗绋嬪簭閫氶亷鎺ュ彛鑸囨湇鍕�(w霉)鍣ㄩ€氳▕锛岄枔鎺ヨ畝鍙栨暩(sh霉)鎿�(j霉)銆侽PC鏈嶅嫏(w霉)鍣ㄥ繀闋堝(sh铆)鐝�(xi脿n)瀹氬埗鎺ュ彛锛屼篃鍙互鏈夐伕鎿囧湴瀵�(sh铆)鐝�(xi脿n)鑷嫊(d貌ng)鍖栨帴鍙�銆備竴鑸締瑾�锛岃嚜鍕�(d貌ng)鍖栨帴鍙h兘鐐篤B绛夐珮绱�(j铆)瑾炶█瀹㈡埗绋嬪簭鎻愪緵妤靛ぇ鐨勪究鍒�锛屼絾鏁�(sh霉)鎿�(j霉)鍌宠几鏁堢巼杓冧綆;鑰屽畾鍒舵帴鍙e墖鐐虹敤C/C++瑾炶█绶ㄥ鐨勭▼搴忓付渚嗛潏娲婚珮鏁堢殑瑾�(di脿o)鐢ㄦ墜娈�銆�
銆€銆€OPC瀹㈡埗绋嬪簭瑷晱鏈嶅嫏(w霉)鍣ㄦ檪(sh铆)锛屽壍(chu脿ng)寤轰竴鍊�(g猫)鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞★紙閫欓噷鎸囩殑鏄倧杓皪(du矛)璞�锛岀洰鐨勬槸鍒╃敤閫欏€�(g猫)閭忚集灏�(du矛)璞″缓绔嬭垏瀵�(sh铆)闅涙湇鍕�(w霉)鍣ㄧ殑閫f帴锛�锛岃(di脿o)鐢ㄩ€欏€�(g猫)鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞$殑鎺ュ彛锛屾湇鍕�(w霉)鍣ㄥ皪(du矛)璞″壍(chu脿ng)寤虹祫灏�(du矛)璞″苟杩斿洖绲勫皪(du矛)璞$殑鎸囬嚌锛屽鎴剁▼搴忕嵅寰楃祫灏�(du矛)璞$殑鎸囬嚌鍚庤(di脿o)鐢ㄥ叾鎺ュ彛銆�
銆€銆€娉ㄦ剰锛孫PC闋�(xi脿ng)骞朵笉鏄疧PC瀹㈡埗鐩存帴鎿嶄綔鐨勫皪(du矛)璞★紝鍥�?y脿n)闀篜C闋�(xi脿ng)娌掓湁瀹氱京澶栭儴鎺ュ彛锛屽皪(du矛)璞$殑鎵€鏈夋搷浣滈兘鏄€氶亷鍖呭瑭查爡(xi脿ng)鐨勭祫灏�(du矛)璞¢€�(j矛n)琛岀殑銆�
2 OPC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄧ殑绲�(ji茅)妲�(g貌u)鍙婅ō(sh猫)瑷�(j矛)姝ラ
銆€銆€2.1 OPC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄧ殑绲�(ji茅)妲�(g貌u)
[align=center]

鍦� 1 OPC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄧ殑绲�(ji茅)妲�(g貌u)[/align]
銆€銆€鏈枃瀵�(sh铆)鐝�(xi脿n)鐨凮PC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄥ叿鏈夋暩(sh霉)鎿�(j霉)閲囬泦鐨勫姛鑳斤紝鎻愪緵绗﹀悎OPC瑕�(gu墨)鑼冪殑瀹氬埗鎺ュ彛銆備富瑕佺敱OPC 鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞°€丱PC 绲勫皪(du矛)璞�銆丱PC 闋�(xi脿ng)灏�(du矛)璞″拰閲濆皪(du矛)CAN锛圕ontroller Area Network鎺у埗鍣ㄥ眬鍩熺恫(w菐ng)锛夐€氳▕鍗$法瀵殑I/O 鍕�(d貌ng)鎱�(t脿i)閺堟帴搴紙DLL锛夌祫鎴愶紝閲囩敤濡傚湒1鎵€绀虹殑绲�(ji茅)妲�(g貌u)銆�
銆€銆€OPC 鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞℃槸瀹㈡埗绔垏鏈嶅嫏(w霉)鍣ㄤ氦浜掔殑棣栬灏�(du矛)璞�?锛熻浕鑸抽€併劅^瑷晱鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞$殑鎺ュ彛鍑芥暩(sh霉)鑸囦箣閫�(j矛n)琛屼氦浜�銆備竴鍊�(g猫)鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞¢噷鍙互瑷�(sh猫)缃竴鍊�(g猫)浠ヤ笂鐨勭祫灏�(du矛)璞°€侽PC 鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞$殑涓昏鍔熻兘鏄細鈶犲壍(chu脿ng)寤哄拰绠$悊OPC 绲勫皪(du矛)璞�;鈶$鐞嗘湇鍕�(w霉)鍣ㄥ収(n猫i)閮ㄧ殑鐙€鎱�(t脿i)淇℃伅;鈶㈠皣鏈嶅嫏(w霉)鍣ㄧ殑閷�(cu貌)瑾や唬纰肩炕璀垚鎻忚堪鎬ц獮鍙�;鈶g€忚鏈嶅嫏(w霉)鍣ㄥ収(n猫i)閮ㄧ殑鏁�(sh霉)鎿�(j霉)绲勭箶绲�(ji茅)妲�(g貌u)銆�
銆€銆€OPC 绲勫皪(du矛)璞$敤浜庣祫绻旂鐞嗘湇鍕�(w霉)鍣ㄥ収(n猫i)閮ㄧ殑瀵�(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)淇℃伅锛屽畠鏄疧PC 闋�(xi脿ng)灏�(du矛)璞$殑闆嗗悎銆傛鍥�?y脿n)姗涜緵绉丮灏�(du矛)璞★紝OPC鎳�(y墨ng)鐢ㄧ▼搴忓氨鍙互鎴愭壒鍦板皪(du矛)鎵€闇€瑕佺殑鏁�(sh霉)鎿�(j霉)閫�(j矛n)琛岃í鍟�锛屼篃鍙互浠ョ祫鐐哄柈浣嶅暉鍕�(d貌ng)鎴栧仠姝㈡暩(sh霉)鎿�(j霉)瑷晱銆傚叾涓昏鍔熻兘鏄細鈶犵鐞嗙祫灏�(du矛)璞″収(n猫i)閮ㄧ殑鐙€鎱�(t脿i)淇℃伅;鈶″壍(chu脿ng)寤哄拰绠$悊闋�(xi脿ng)灏�(du矛)璞�;鈶PC鏈嶅嫏(w霉)鍣ㄥ収(n猫i)閮ㄧ殑瀵�(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)瀛樺彇鏈嶅嫏(w霉)锛堝悓姝ユ垨鐣版鏂瑰紡锛夈€�
銆€銆€OPC 鏈嶅嫏(w霉)鍣ㄥ皪(du矛)璞″拰绲勫皪(du矛)璞℃敮鎸佺殑鎺ュ彛鐢監PC瑕�(gu墨)鑼冨畾缇�锛屼絾骞舵湭瑕�(gu墨)瀹氬叿楂斿浣曞(sh铆)鐝�(xi脿n)锛岄渶瑕侀枊鐧�(f膩)浜哄摗鑷繁瀹屾垚銆�
銆€銆€OPC闋�(xi脿ng)鍓囪垏鐝�(xi脿n)鍫磋ō(sh猫)鍌欎腑鐨勬ā濉婄浉灏�(du矛)鎳�(y墨ng)锛屽畠鍖呭惈鏁�(sh霉)鎿�(j霉)闋�(xi脿ng)鐨勫€硷紙value锛�銆佸搧璩�(zh矛)锛坬uality锛夊拰鏅�(sh铆)闁撴埑锛坱ime stamp锛夈€�
銆€銆€I/O DLL鏄嚌灏�(du矛)鍏烽珨纭欢瑷�(sh猫)鍌欓枊鐧�(f膩)鐨勯﹨(q奴)鍕�(d貌ng)绋嬪簭锛屽(sh铆)鐝�(xi脿n)寰炵従(xi脿n)鍫磋ō(sh猫)鍌欒畝鍙栨暩(sh霉)鎿�(j霉)鐨勫姛鑳姐€�
銆€銆€2.2 瀵�(sh铆)鐝�(xi脿n)OPC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄧ殑涓昏姝ラ锛�
銆€銆€2.2.1 鐛插緱骞舵敞鍐�(c猫)O(sh猫)PC妯�(bi膩o)婧�(zh菙n)绲勪欢
銆€銆€鏍规摎(j霉)COM瑕�(gu墨)鑼�锛孋OM鏈嶅嫏(w霉)鍣ㄥ彲鍒嗙偤閫�(j矛n)绋嬪収(n猫i)鏈嶅嫏(w霉)鍣�銆佹湰鍦版湇鍕�(w霉)鍣ㄥ拰閬�(yu菐n)绋嬫湇鍕�(w霉)鍣�銆傚悗鍏╃ó鏈嶅嫏(w霉)鍣ㄨ垏瀹㈡埗绋嬪簭閬�(y霉n)琛屽湪涓嶅悓鐨勯€�(j矛n)绋嬬┖闁�锛屽爆浜庨€�(j矛n)绋嬪鏈嶅嫏(w霉)鍣�銆傜偤浜嗗(sh铆)鐝�(xi脿n)閫�(j矛n)绋嬮枔閫氳▕锛岄渶瑕佺敤鍒颁唬鐞�/瀛樻牴妯″銆備唬鐞�/瀛樻牴妯″鐢辨帴鍙f弿杩拌獮瑷€锛圛DL锛夌洿鎺ョ敓鎴�銆侽PC鍩洪噾鏈�(hu矛)鐐烘瘡绋甇PC鏈嶅嫏(w霉)鍣ㄦ彁渚涗簡鐩告噳(y墨ng)鐨勪唬鐞�/瀛樻牴鍕�(d貌ng)鎱�(t脿i)閺堟帴搴�锛岄€欎簺鏂囦欢鍙互鍦∣PC鍩洪噾鏈�(hu矛)鐨勭恫(w菐ng)绔欙紙www.opcfoundation.org锛変笂鍏嶈不(f猫i)涓嬭級銆�
銆€銆€娉ㄦ剰锛岃ō(sh猫)瑷�(j矛)OPC鏈嶅嫏(w霉)鍣ㄦ檪(sh铆)鍙互鍦∣PC灏�(du矛)璞′笂澧炲姞鎺ュ彛浠ユ豢瓒崇壒瀹氱殑瑕佹眰锛屼絾涓嶈兘淇敼妯�(bi膩o)婧�(zh菙n)鐨凮PC IDL鏂囦欢鎴栫浉鎳�(y墨ng)鐨� proxy/stub DLL銆傛柊澧炵殑鎺ュ彛鎻忚堪鎳�(y墨ng)瀹氱京鍦ㄧ崹(d煤)绔嬬殑IDL鏂囦欢涓�锛屽苟鐢辫┎鏂囦欢鐢熸垚鐛�(d煤)绔嬬殑浠g悊/瀛樻牴妯″渚嗗畬鎴愭帴鍙g殑瑾�(di脿o)鐢ㄥ伐浣�銆�
銆€銆€绲勪欢鐨勬敞鍐�(c猫)灏囧湪鍚庨潰浠嬬垂銆�
銆€銆€2.2.2 绶ㄥOPC鏈嶅嫏(w霉)鍣ㄤ唬纰�
銆€銆€棣栧厛瀹氱京0PC鏁�(sh霉)鎿�(j霉)鏈嶅嫏(w霉)鍣ㄧ殑鍚嶇ū锛圥rogID锛夊拰椤炴(bi膩o)璀�(sh铆)锛圕LSID锛�锛屽(sh铆)鐝�(xi脿n)COM搴殑鍒濆鍖栧姛鑳藉拰0PC鏁�(sh霉)鎿�(j霉)鏈嶅嫏(w霉)鍣ㄩ寤犲皪(du矛)璞$殑鎺ュ彛鍔熻兘銆傜劧鍚庡(sh铆)鐝�(xi脿n)OPC灏�(du矛)璞″拰鏁�(sh霉)鎿�(j霉)绶╂矕鍗€(q奴)銆傛帴涓嬩締閲濆皪(du矛)鍏烽珨纭欢绶ㄥI/O DLL锛屽(sh铆)鐝�(xi脿n)鏁�(sh霉)鎿�(j霉)鐨勫(sh铆)鏅�(sh铆)璁€鍙�銆傞€欓爡(xi脿ng)宸ヤ綔鏄崄鍒嗙箒閲嶇殑锛岃姹傞枊鐧�(f膩)浜哄摗鍏锋湁鑹ソ鐨凜OM绶ㄧ▼鐭ヨ瓨(sh铆)锛屽叿楂旈亷绋嬮檺浜庣瘒骞呬笉鑳借┏杩�锛岄€欓噷鎸囧嚭鍏╅粸(di菐n)寮曡捣娉ㄦ剰锛�
銆€?銆佹箖顏绘不銊掔帛?bi膩o)璀�(sh铆)绗︼紙GUID锛�
銆€銆€GUID鏄偤姣忓€�(g猫)COM灏�(du矛)璞℃彁渚涚殑鍗佸叚瀛楃瘈(ji茅)妯�(bi膩o)璀�(sh铆)鏁�(sh霉)銆侰OM椤炶嚦灏戞湁鍏╁€�(g猫)GUID锛氶妯�(bi膩o)璀�(sh铆)锛圕LSID锛夊拰鎺ュ彛妯�(bi膩o)璀�(sh铆)锛圛ID锛�銆侰LSID鐢ㄤ簬妯�(bi膩o)璀�(sh铆)COM椤烇紝鐧昏鍦╓indows娉ㄥ唺(c猫)琛ㄤ腑锛屽寘鍚寚鍚戝寘鎷珻OM椤炵殑DLL鎴朎XE绲勪欢鐨勮矾寰戙€侷ID鐢ㄤ簬妯�(bi膩o)璀�(sh铆)瑭查鐨勬帴鍙�锛岃鎳�(y墨ng)鐢ㄧ▼搴忕敤渚嗘煡瑭㈠拰瑙哥櫦(f膩)瑭查鐨勬柟娉�锛屼篃鐧昏鍦ㄦ敞鍐�(c猫)琛ㄤ腑銆傜敱浜庡皪(du矛)璞¢鏄敱GUID妯�(bi膩o)璀�(sh铆)鐨�锛屾墍浠ュ繀闋堜繚璀夊畠鍊戠殑鍞竴鎬�锛屾墠鑳戒娇鏈€绲傜敤鎴跺湪浣跨敤鐢变笉鍚岃粺浠跺晢闁嬬櫦(f膩)鐨勭祫浠舵檪(sh铆)涓嶆渻(hu矛)鐧�(f膩)鐢熸矕绐併€�
銆€銆€鍙互浣跨敤瀹廌EFINE_GUID 锛坣ame , long , word , word , word , byte1 , 鈥� ,byte8 锛�
銆€銆€鍏朵腑 name 鏄(bi膩o)璀�(sh铆)鏁�(sh霉)鐨勫悕瀛�锛屽叾浣欏弮鏁�(sh霉)鏄(sh铆)闅涚殑ID纰�銆傞妯�(bi膩o)璀�(sh铆)鐨勫懡鍚嶆叄渚嬫槸CLSID_ClassName 锛岃€屾帴鍙D鐨勫懡鍚嶆叄渚嬫槸IID_InterfaceName銆�
銆€銆€鏈夊叐绋€斿緫渚嗙嵅寰桮UID锛�
銆€?銆佽不(f猫i)icrosoft Visual C++鎻愪緵浜嗗叐鍊�(g猫)宸ュ叿渚嗙敘(ch菐n)鐢烥UID锛歎UIDGen.exe鍜孏UIDGen.exe锛堝ぇ灏忓娌掓湁褰遍熆锛�銆傚墠鑰呮槸涓€鍊�(g猫)鍛戒护琛岀▼搴�锛岀洿鎺ョ敘(ch菐n)鐢熶竴鍊�(g猫)GUID;鍚庤€呮槸涓€鍊�(g猫)鍩轰簬灏�(du矛)瑭辨鐨勬噳(y墨ng)鐢ㄧ▼搴忥紝閬�(y霉n)琛孶UIDGen.exe锛岀敘(ch菐n)鐢熶竴鍊�(g猫)Create GUID灏�(du矛)瑭辨銆傚畠鎻愪緵鍥涚ó鏍煎紡锛岄伕瀹氫箣鍚庯紝鎸塏ew GUID閸电敘(ch菐n)鐢熸柊鐨凣UID锛岄’绀哄湪Result娆勪腑;鎸塁opy閸靛彲浠ュ京(f霉)鍒剁敘(ch菐n)鐢熺殑绲�(ji茅)鏋溿€�
銆€?銆佽顜€鑲匫M搴彁渚涚殑API鍑芥暩(sh霉)渚嗙敘(ch菐n)鐢烥UID锛�
銆€銆€HRESULT CoCreateGuid 锛圙UID 锛妏guid 锛�
銆€銆€濡傛灉鍓�(chu脿ng)寤篏UID鎴愬姛锛屽墖鍑芥暩(sh霉)杩斿洖S_OK锛屽苟涓攑guid灏囨寚鍚戞墍寰楀埌鐨凣UID鍊�銆�
銆€?銆佽妴PC绲勪欢鐨勬敞鍐�(c猫)
銆€銆€娉ㄥ唺(c猫)琛ㄦ槸瀹㈡埗鍜岀祫浠剁▼搴忓叡鍚岃í鍟忕殑淇℃伅鍊夊韩锛岄€氬父鎯呮硜涓�锛岀暥(d膩ng)绲勪欢绋嬪簭琚畨瑁濆埌瑷�(j矛)绠楁(j墨)涓婁箣鍚庯紝蹇呴爤閫氶亷鏌愮ó閫斿緫鎶婂畠鐨勪俊鎭敞鍐�(c猫)鍒版敞鍐�(c猫)琛ㄤ腑锛岀劧鍚庡鎴剁▼搴忔墠鑳芥牴鎿�(j霉)娉ㄥ唺(c猫)琛ㄤ腑鐨勪俊鎭皪(du矛)绲勪欢绋嬪簭閫�(j矛n)琛屾搷浣�銆�
銆€銆€鏍规摎(j霉)COM瑕�(gu墨)鑼冿紝绲勪欢绋嬪簭鍙垎鐐鸿嚜娉ㄥ唺(c猫)绲勪欢绋嬪簭鍜岄潪鑷敞鍐�(c猫)绲勪欢绋嬪簭銆侽PC鍩洪噾鏈�(hu矛)鎻愪緵鐨勭祫浠堕兘鏄嚜娉ㄥ唺(c猫)绲勪欢銆傚皪(du矛)浜庨潪鑷敞鍐�(c猫)绲勪欢绋嬪簭锛屽叾娉ㄥ唺(c猫)閬庣▼鑸囩祫浠剁▼搴忔矑鏈夌洿鎺ラ棞(gu膩n)绯�锛屽繀闋堝柈鐛�(d煤)閫�(j矛n)琛屾敞鍐�(c猫)淇℃伅鐨勯厤缃�锛屾瘮濡傦紝鍙互绶ㄥ涓€鍊�(g猫)娉ㄥ唺(c猫)琛ㄦ枃浠�锛岀劧鍚庡湪RegEdit涓紩鍏ャ€�
銆€銆€灏�(du矛)浜嶥LL褰㈠紡鐨勯€�(j矛n)绋嬪収(n猫i)鑷敞鍐�(c猫)绲勪欢锛學indows绯荤当(t菕ng)鎻愪緵浜哛egSvr32.exe娉ㄥ唺(c猫)宸ュ叿閫�(j矛n)琛岀祫浠舵敞鍐�(c猫)鍜屾敞閵枫€傜祫浠剁▼搴忔湰韬繀闋堝寘鍚獶llRegisterServer鍜孌llUnregisterServer鍏╁€�(g猫)娉ㄥ唺(c猫)琛ㄥ叆鍙e嚱鏁�(sh霉)銆傛敞鍐�(c猫)鍜屾敞閵风殑鏍煎紡鍒嗗垾鐐猴細
銆€銆€RegSvr32 <绯荤当(t菕ng)璺緫>
銆€銆€RegSvr32 /u <绯荤当(t菕ng)璺緫>
銆€銆€灏�(du矛)浜嶦XE褰㈠紡鐨勯€�(j矛n)绋嬪鑷敞鍐�(c猫)绲勪欢锛孋OM瑕�(gu墨)鑼冭(gu墨)瀹�锛屽繀闋堟敮鎸佸叐鍊�(g猫)鍛戒护琛屽弮鏁�(sh霉)/RegServer鍜�/UnregServer锛堝ぇ灏忓鐒¢棞(gu膩n)锛屽苟涓斺€�/鈥濆彲浠ョ敤鈥�-鈥濅唬鏇匡級锛屼互渚垮畬鎴愭敞鍐�(c猫)鍜屾敞閵锋搷浣溿€傛敞鍐�(c猫)鍜屾敞閵风殑鏍煎紡鍒嗗垾鐐猴細
銆€銆€<绯荤当(t菕ng)璺緫> /RegServer
銆€銆€<绯荤当(t菕ng)璺緫> /UnregServer
銆€銆€2.2.3 娓│OPC鏈嶅嫏(w霉)鍣�
銆€銆€OPC鏈嶅嫏(w霉)鍣ㄧ稉(j墨ng)閬庤(di脿o)瑭︿箣鍚�锛岄倓闇€瑕佸埄鐢∣PC瀹㈡埗绋嬪簭?q奴)位顝€闂归顎樜磋嫇M(j矛n)琛屾脯瑭�銆�
3 OPC鎶€琛�(sh霉)鍦–AN鐝�(xi脿n)鍫寸附绶氱郴绲�(t菕ng)涓殑鎳�(y墨ng)鐢�
銆€銆€鏈枃闁嬬櫦(f膩)鐨凮PC鏈嶅嫏(w霉)鍣ㄦ槸閲濆皪(du矛)鑿帶鍏徃鐨凜AN閫氳▕鍗$法瀵殑锛岀敤浜庡緸鑿帶鐨凜AN閫氳▕鍗″拰RSM鏅鸿兘妯″绲勬垚鐨勭従(xi脿n)鍫撮€氳▕缍�(w菐ng)绲�(lu貌)涓畝鍙栦俊鎭�銆�
銆€銆€3.1 绯荤当(t菕ng)绲勬垚
銆€銆€绯荤当(t菕ng)涓昏鐢变笂浣嶆(j墨)锛� CAN閫氳▕鍗�锛孫PC 瀹㈡埗绔�锛孫PC鏈嶅嫏(w霉)鍣紝RSM鏅鸿兘妯″锛岄€氳▕濯掗珨绛夌祫鎴�銆傚鍦�2鎵€绀�銆�
[align=center]

鍦�2 绯荤当(t菕ng)妲�(g貌u)鎴怺/align]
銆€銆€鈶犱笂浣嶆(j墨)鐨勮粺銆佺‖浠堕厤缃細 Microsoft Windows 98/2000 鎴朩indows NT鎿嶄綔绯荤当(t菕ng);32M浠ヤ笂鍏�(n猫i)瀛樸€�1G浠ヤ笂鍙敤纭洡绌洪枔銆丼VGA椤ず鍗�銆�
銆€銆€鈶AN閫氳▕鍗¢伕鐢ㄨ彲鎺у叕鍙哥殑HK-CAN30B锛屽畠鏄竴绋皣CAN閫氳▕鍗�(xi茅)璀拌垏PC姗�(j墨)PCI绺界窔妯�(bi膩o)婧�(zh菙n)鐩搁€f帴鐨勯潪鏅鸿兘CAN鎻掑崱锛岄€氶亷瑭插崱鍙皪(du矛)宸ユキ(y猫)鐝�(xi脿n)鍫村叿鏈塁AN閫氳▕鎺ュ彛鐨勫剙琛ㄥ拰鎺у埗瑷�(sh猫)鍌欓€�(j矛n)琛岀洠(ji膩n)鎺с€�
銆€?銆佽窚AN鐝�(xi脿n)鍫磋ō(sh猫)鍌欓伕鐢ㄨ彲鎺х殑RSM鏅鸿兘妯″锛屾瘡鍊�(g猫)妯″閮芥槸鍦ㄤ竴鍊�(g猫)宓屽叆寮忓(sh铆)鏅�(sh铆)澶氫换鍕�(w霉)鐨勫収(n猫i)鏍哥鐞嗕笅鍛ㄦ湡鎬у伐浣�锛屾寜绲勬厠(t脿i)瑕佹眰瀹氭檪(sh铆)鍦板悜涓婄櫦(f膩)閫佸拰鍙栧緱鏁�(sh霉)鎿�(j霉)銆�
銆€?銆佽姟銊撳禍瑗焪鍙互閬哥敤闆欑禐绶�銆佸付灞忚斀闆欑禐绶氱瓑銆�
銆€?銆佽彉铔昏埑璇墄鐢ㄥ姏鎺у叕鍙哥殑鍔涙帶2.6鐩�(ji膩n)鎺х祫鎱�(t脿i)杌熶欢銆傚姏鎺�2.6鏀寔OPC鎶€琛�(sh霉)銆傚畠浣滅偤OPC瀹㈡埗绔�锛屽厖鍒嗗埄鐢ㄤ簡OPC鏈嶅嫏(w霉)鍣ㄧ殑寮�(qi谩ng)澶ф€ц兘锛岀偤宸ョ▼浜哄摗鎻愪緵浜嗘柟渚块珮鏁堢殑鏁�(sh霉)鎿�(j霉)瑷晱鑳藉姏銆傚湪鍔涙帶涓彲浠ュ悓鏅�(sh铆)鎺涙帴浠绘剰澶氬€�(g猫)OPC鏈嶅嫏(w霉)鍣�锛屾瘡鍊�(g猫)OPC鏈嶅嫏(w霉)鍣ㄩ兘鍙互鐣�(d膩ng)浣滀竴鍊�(g猫)澶栭儴瑷�(sh猫)鍌欓€�(j矛n)琛屽畾缇┿€佸鍔犳垨鍒櫎銆�
銆€銆€3.2 OPC 鏈嶅嫏(w霉)鍣ㄨ垏瀹㈡埗绔殑閫f帴
銆€銆€3.2.1 瀹氱京OPC瑷�(sh猫)鍌�
銆€銆€棣栧厛鍦ㄥ姏鎺у皫(d菐o)鑸櫒绐楀彛涓伕鎿団€滃(sh铆)鏅�(sh铆)鏁�(sh霉)鎿�(j霉)搴€濅腑鐨� 鈥淚/O瑷�(sh猫)鍌欓﹨(q奴)鍕�(d貌ng)鈥濆苟灞曢枊锛屽嚭鐝�(xi脿n)鈥淥PC鈥濊ō(sh猫)鍌欍€傞洐鎿娾€淥PC锛圕lient锛夆€�锛屽嚭鐝�(xi脿n)I/O瑷�(sh猫)鍌欏畾缇╁皪(du矛)瑭辨銆傚湪鈥滆ō(sh猫)鍌欏悕绋扁€濅腑瀹氱京閭忚集瑷�(sh猫)鍌欑殑鍚嶇ū锛堢敱鐢ㄦ埗闅ㄦ剰瀹氱京锛夛紝涓嶅Θ瀹氱京鐐衡€淥PC鈥�锛屽湪鈥滄暩(sh霉)鎿�(j霉)鏇存柊鍛ㄦ湡鈥濅腑鎸囧畾閲囬泦鍛ㄦ湡锛屽~瀵晠闅滃悗鎭㈠京(f霉)鏌ヨ鐨勫懆鏈熷拰鏈€闀锋檪(sh铆)闁擄紝鐒跺悗鍠搳鈥滀笅涓€姝モ€�锛屽嚭鐝�(xi脿n)OPC瑷�(sh猫)鍌欏畾缇╁皪(du矛)瑭辨銆�
銆€銆€鍔涙帶鏈�(hu矛)鑷嫊(d貌ng)鎼滅储瑷�(j矛)绠楁(j墨)绯荤当(t菕ng)涓凡缍�(j墨ng)瀹夎鐨勬墍鏈塐PC鏈嶅嫏(w霉)鍣�銆傚鏋淥PC鏈嶅嫏(w霉)鍣ㄧ法瀵劇瑾ゅ苟涓旀敞鍐�(c猫)姝g⒑锛屽墖榛�(di菐n)鎿婁笅鎷夋鈥淥PC 鏈嶅嫏(w霉)鍣ㄢ€濇檪(sh铆)鏈�(hu矛)鍒楀嚭宸茬稉(j墨ng)瀹夎鐨勬墍鏈塐PC鏈嶅嫏(w霉)鍣ㄧ殑鍚嶇ū锛岄伕鎿囪浣跨敤鐨凮PC鏈嶅嫏(w霉)鍣�锛岄€欓噷閬告搰鏈枃瑷�(sh猫)瑷�(j矛)鐨勬湇鍕�(w霉)鍣ㄢ€淥PC.Server.1鈥濄€�
銆€銆€閬告搰鈥淪erver椤炲瀷鈥�锛屾槸鈥滅暥(d膩ng)?sh霉)鍏€鈺╫cal锛夆€濋倓鏄€滈仩(yu菐n)绋嬶紙remote锛夆€濄€傚湪鈥滄暩(sh霉)鎿�(j霉)瑷晱鏂瑰紡鈥濅腑閬告搰鈥滅珐娌栧崁(q奴)鈥濇垨鈥滃瑷�(sh猫)鈥濇柟寮�锛屽皪(du矛)浜庘€滅珐娌栧崁(q奴)鈥濇柟寮忥紝OPC瀹㈡埗绋嬪簭?q奴)鈶笺劅^OPC鏈嶅嫏(w霉)鍣ㄧ殑绶╂矕鍗€(q奴)璁€鍙栨暩(sh霉)鎿�(j霉);灏�(du矛)浜庘€滃瑷�(sh猫)鈥濇柟寮�锛孫PC瀹㈡埗绋嬪簭?q奴)鈶笺劅^OPC鏈嶅嫏(w霉)鍣ㄧ洿鎺ュ緸瑷�(sh猫)鍌欒畝鍙栨暩(sh霉)鎿�(j霉)銆傚緸瑷�(sh猫)鍌欑洿鎺ヨ畝鍙栨暩(sh霉)鎿�(j霉)閫熷害鏈�(hu矛)鎱竴浜�锛屼竴鑸彧鏈夊湪鏁呴殰瑷烘柗鎴栨サ鐗规畩鐨勬儏娉佷笅鎵嶆渻(hu矛)浣跨敤銆傚湪鈥滄鍗€(q奴)鐧惧垎姣斺€濅腑杓稿叆涓€鍊�(g猫)鐧惧垎鍊硷紝琛ㄧず閬庣▼鏁�(sh霉)鎿�(j霉)鍊肩殑璁婂寲涓嶈秴鍑洪€欏€�(g猫)姣斾緥灏囦笉灏�(du矛)鍏堕€�(j矛n)琛屾暩(sh霉)鎿�(j霉)鏇存柊銆傚柈鎿娾€滅⒑瀹氣€濆氨瀹屾垚浜哋PC瑷�(sh猫)鍌欑殑瀹氱京銆�
銆€銆€3.2.2 灏�(du矛)OPC鏁�(sh霉)鎿�(j霉)闋�(xi脿ng)閫�(j矛n)琛屾暩(sh霉)鎿�(j霉)閫f帴
銆€銆€鍟熷嫊(d貌ng)鍔涙帶鐨勬暩(sh霉)鎿�(j霉)搴祫鎱�(t脿i)绋嬪簭DBMan銆傞鍏堝湪榛�(di菐n)绲勬厠(t脿i)涓壍(chu脿ng)寤烘墍瑕佺敤鐨勮畩閲忥紝涓嶅Θ瑷�(sh猫)鐐篻g1銆傚睍闁嬧€滄暩(sh霉)鎿�(j霉)閫f帴鈥濋爡(xi脿ng)锛屽凡缍�(j墨ng)寤虹珛鐨凮PC瑷�(sh猫)鍌欏氨鎺掑垪鍦ㄥ叾涓�銆傞洐鎿婃垜鍊戝墰鎵嶅缓绔嬬殑OPC瑷�(sh猫)鍌� 鈥淥PC鈥�锛屽墖鍑虹従(xi脿n)鈥滄暩(sh霉)鎿�(j霉)閫f帴鈥濆皪(du矛)瑭辨銆傞伕鎿囪閫f帴鐨勯粸(di菐n)鍙冩暩(sh霉)gg1鍚庯紝鍠搳鈥滃鍔犫€濇寜閳�锛屽嚭鐝�(xi脿n)鈥滄暩(sh霉)鎿�(j霉)闋�(xi脿ng)绲勬厠(t脿i)鈥濆皪(du矛)瑭辨銆�
銆€銆€濡傛灉OPC鏈嶅嫏(w霉)鍣ㄦ敮鎸佲€滅€忚鈥濆姛鑳斤紝闆欐搳鍙充笂鍋�(c猫)鍒楄〃妗嗕腑鐨勨€淩oot鈥�锛屽垪琛ㄦ鏈�(hu矛)鑷嫊(d貌ng)鍒楀嚭瀹冩彁渚涚殑鏁�(sh霉)鎿�(j霉)鍗€(q奴);濡傛灉OPC鏈嶅嫏(w霉)鍣ㄤ笉鏀寔鈥滅€忚鈥濆姛鑳�锛屽叾鏁�(sh霉)鎿�(j霉)闋�(xi脿ng)鐨勬弿杩伴渶瑕佺敤鎴舵牴鎿�(j霉)OPC鏈嶅嫏(w霉)鍣ㄧ殑璩囨枡瑾槑锛屽湪鈥滄暩(sh霉)鎿�(j霉)闋�(xi脿ng)鈥濊几鍏ユ鍏�(n猫i)鎵嬪伐濉銆傞伕鎿団€滄暩(sh霉)鎿�(j霉)椤炲瀷鈥濆拰鈥滆畝瀵瑠(qu谩n)闄愨€�锛屽湪鈥滆í鍟忚矾寰戔€濅腑杓稿叆鏁�(sh霉)鎿�(j霉)鐨勮í鍟忚矾寰戯紙閫欎竴闋�(xi脿ng)涓嶆槸蹇呴渶鐨�锛岄渶瑕佸~瀵殑锛屽彲浠ュ弮鑰冩墍浣跨敤鐨凮PC鏈嶅嫏(w霉)鍣ㄧ殑鎵嬪唺(c猫)锛�锛岄€欓噷涓嶇敤濉銆�
銆€銆€鏈€鍚庡柈鎿娾€滅⒑瀹氣€濇寜閳�锛屽氨鐢熸垚浜嗕竴鍊�(g猫)鏁�(sh霉)鎿�(j霉)闋�(xi脿ng)鐨勬暩(sh霉)鎿�(j霉)閫f帴锛屽鍦�3鎵€绀猴紝寰炶€屽(sh铆)鐝�(xi脿n)浜嗚垏鐝�(xi脿n)鍫村(sh铆)闅涗俊鎭殑閫f帴銆�
[align=center]

鍦�3 鍔涙帶?c谩i)?sh霉)鎿�(j霉)閫f帴绲�(ji茅)鏋淸/align]
銆€銆€鍦ㄧ郴绲�(t菕ng)閬�(y霉n)琛屾檪(sh铆)锛屽姏鎺у拰鏈嶅嫏(w霉)鍣ㄥ缓绔嬮€f帴锛岃嚜鍕�(d貌ng)瀹屾垚鍜孫PC鏈嶅嫏(w霉)鍣ㄤ箣闁撶殑鏁�(sh霉)鎿�(j霉)浜ゆ彌銆�
4 绲�(ji茅)鏉熻獮
銆€銆€鏈枃瑷�(sh猫)瑷�(j矛)鐨凮PC鏁�(sh霉)鎿�(j霉)瑷晱鏈嶅嫏(w霉)鍣ㄧ鍚圤PC瑕�(gu墨)鑼�锛屽(sh铆)鐝�(xi脿n)浜嗗皪(du矛)鏁�(sh霉)鎿�(j霉)鐨勫(sh铆)鏅�(sh铆)璁€瀵�锛屽叿鏈夊(sh铆)鐢ㄥ児(ji脿)鍊�?锛熷倞?锛屾湁浜哋PC瑕�(gu墨)鑼冿紝鎺у埗绯荤当(t菕ng)杌熶欢鍙互楂樻晥銆佺┅(w臎n)瀹氬湴灏�(du矛)纭欢瑷�(sh猫)鍌欓€�(j矛n)琛屾暩(sh霉)鎿�(j霉)瀛樺彇锛� 绯荤当(t菕ng)鎳�(y墨ng)鐢ㄨ粺浠朵箣闁撲篃鍙互闈堟椿鍦伴€�(j矛n)琛屼俊鎭氦浜�锛屾サ澶у湴鎻愰珮浜嗘帶鍒剁郴绲�(t菕ng)鐨勪簰鎿嶄綔鎬у拰閬╂噳(y墨ng)鎬�銆�
鍙冭€冩枃鐛�(xi脿n)
銆€銆€1 OPC Foundation . Data Access Custom Interface Standard , Version 2.05A, 2002骞�銆�
銆€銆€2 娼樻剾姘� COM鍘熺悊鑸囨噳(y墨ng)鐢� 娓呰彲澶у(xu茅)鍑虹増绀� 1999.12