CANopen 閫氫俊琛岃鐗规-鐜板満鎬荤嚎-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6150鍙戝竷锝
鏌ョ湅: 1347|鍥炲: 0

CANopen 閫氫俊琛岃鐗规

[澶嶅埗閾炬帴]
  • TA鐨勬瘡鏃ュ績鎯
    鎿︽睏
    2019-8-13 14:13
  • 绛惧埌澶╂暟: 32 澶

    [LV.5]甯镐綇灞呮皯I

    鍙戣〃浜 2013-8-15 16:03:34 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡

    CANopen 搴旂敤浜庡绉嶉鍩熴傛渶鍒濈敱浠庝簨宸ヤ笟鎺у埗鐨凜iA(CAN in Automation)浼氬憳寮鍙戠殑CANopen 缃戠粶涔熷簲鐢ㄤ簬瓒婇噹杞︺佹捣涓婄數瀛愯澶囥佸尰鐤楄澶囥佺敋鑷充簬杩樺彲搴旂敤浜庡叕鍏辨苯杞﹀拰閾佽矾銆

    CANopen 鏄熀浜嶤AN(鎺у埗灞鍩熺綉)涓茶鐨勬荤嚎绯荤粺鐨勭綉缁滅郴缁燂紝CANopen 搴旂敤灞傚拰閫氫俊琛岃(CiA DS-301 鍜孋iA DSP302)鏃㈡敮鎸佸璁惧鍙傛暟鐨勭洿鎺ュ瓨鍙栵紝涔熸敮鎸佸鏃堕棿鑻涙眰鐨勮繃绋嬫暟鎹氫俊銆

    CANopen 鐨勮澶囨帴鍙e拰搴旂敤琛岃(CiA DS-4XX)瀹氫箟鏍囧噯鍖栫殑搴旂敤瀵硅薄鍜屽熀鏈姛鑳姐侰ANopen 缃戠粶绠$悊鏈嶅姟绠鍖栦簡椤圭洰璁捐銆佺郴缁熼泦鎴愬拰璇婃柇銆傚湪姣忎釜鍒嗘暎鐨勬帶鍒跺簲鐢ㄤ腑閮芥湁鍚勮嚜鎵闇鐨勪笉鍚岀殑閫氫俊瀵硅薄銆傚湪CANopen 鎬荤嚎涓婏紝鎵鏈夎繖浜涢氫俊瀵硅薄閮芥槸鏍囧噯鍖栫殑锛屽苟鍦ㄩ氫俊瀛楀吀涓灏藉湴杩涜浜嗘弿杩般侰ANopen 瀵硅薄瀛楀吀鍙互鐢ㄤ竴涓16 浣嶇殑绱㈠紩杩涜瀛樺彇锛屽湪鏁扮粍鍜岀粨鏋勭殑鎯呭喌涓嬪啀鐢ㄤ竴涓8 浣嶇殑瀛愮储寮曘傝瀛楀吀涔熸弿杩颁簡璁惧鐨勫叏閮ㄥ簲鐢ㄥ璞°傛澶栵紝璁惧鍒堕犲晢鍙畾涔夐潪鏍囧噯鍖栫殑搴旂敤瀵硅薄銆侰ANopen 瀵硅薄瀛楀吀鍏佽鍦ㄤ竴涓墿鐞嗙殑CANopen 妯″潡涓婂疄鐜8 鍙拌櫄鎷熻澶囥

    *閫氫俊瀵硅薄

    CANopen 鎸囧畾鏈夊洓绫婚氫俊瀵硅薄锛岀敤8 涓瓧鑺傜殑鏁版嵁瀛楁鎶婅繃绋嬫暟鎹璞DO(Process Data Objects)鏄犺薄鍒颁竴涓崟涓鐨凜AN 甯э紝浠庤屼紶杈撳簲鐢ㄥ璞°傛瘡涓狿DO 鏈変竴涓敮涓鐨勬爣璇嗙锛屼笖鍙互浠呴氳繃涓涓妭鐐瑰彂閫併備絾鍏舵帴鍙楄呭彲涓嶆涓涓(鐢熶骇鑰/娑堣垂鑰呴氫俊)銆 鍙戦丳DO 鍙敤澶氱鏂瑰紡锛屽鐢卞唴閮ㄤ簨浠堕┍鍔ㄣ佺敱鍐呴儴瀹氭椂鍣ㄩ┍鍔ㄣ佺敱杩滅▼璇锋眰椹卞姩鍜岀敱鎺ユ敹鍒版潵鑷壒瀹氱殑鑺傜偣鐨勪竴涓悓姝ヤ俊鎭┍鍔ㄣ傚簲鐢ㄥ璞″拰鏀寔鐨勪紶閫佹柟寮忕殑缂虹渷鏄犺薄鍦ㄥ璞″瓧鍏镐腑瀵规瘡涓涓狿DO 閮戒綔浜嗘弿杩帮紝PDO 鏍囪瘑绗﹀叿鏈夐珮浼樺厛绾э紝浠ョ‘淇濊壇濂界殑瀹炴椂鎬ц兘锛屽鏋滈渶瑕佺‖瀹炴椂鎺у埗锛岄偅涔堢郴缁熺殑璁捐鑰呭彲涓烘瘡涓狿DO 缁勬佷竴涓姝㈡椂闂(inhibit-time)锛 璇モ滅姝㈡椂闂粹濅弗绂佸湪鐗瑰畾鐨勬椂闂村唴鍙戦佽繖涓璞★紝鍥犳锛岃璁¤呭彲瀵瑰涓璞¤璁′竴涓‘瀹氱殑PDO 琛屼负銆傚彂閫丳DO 鏃犻渶纭銆傚湪PDO 鏄犺薄瀵硅薄涓畾涔変簡琚湪PDO 鍐呬紶閫佺殑搴旂敤瀵硅薄锛屽畠鎻忚堪浜嗘墍鏄犺薄鐨勫簲鐢ㄥ璞$殑椤哄簭鍜岄暱搴︺傚湪棰勬搷浣滅姸鎬(Pre-Operational State)鏈熼棿锛屾敮鎸佸姩鎬丳DO 鏄犺薄鐨勮澶囧繀椤绘敮鎸佽繖涓姛鑳斤紝鑻ュ湪棰勬搷浣滅姸鎬佷笅鏀寔鍔ㄦ佹槧璞★紝鍒欐湇鍔℃暟鎹璞DO 瀹㈡埛璐熻矗鏁版嵁鐨勪竴鑷存с

    绗簩绫婚氫俊瀵硅薄鏄紶閫佺粍鎬佹暟鎹殑鏈嶅姟鏁版嵁瀵硅薄SDO(Service Data Objects)銆傜粍鎬佹暟鎹湁鏃跺浜8 涓瓧鑺傘係DO 浼犺緭鍗忚鍏佽浼犻佷换鎰忛暱搴︾殑鏁版嵁瀵硅薄锛岀涓娈靛唴鐨勭涓涓瓧鑺傚寘鍚繀椤荤殑鏁版嵁娴佹帶鍒朵俊鎭紝瀹冨寘鎷负鍏嬫湇浼楁墍鍛ㄧ煡鐨勫弻閲嶆帴鍙桟AN 甯х殑闂鑰岃缃殑涓涓Е鍙戜綅锛岀涓娈靛唴鐨勭2-4 瀛楄妭鍖呭惈瑕佽鍑烘垨鍐欏叆鐨勫璞″瓧鍏哥櫥鍏ラ」鐨勭储寮曞拰瀛愮储寮曪紝绗竴娈靛唴鐨勬渶鍚庡洓涓瓧鑺傚彲鐢ㄤ簬缁勬佹暟鎹傜敤鍚屾牱鐨凜AN鏍囪瘑绗︼紝绗簩娈典互鍙婂叾鍚庣户娈靛寘鍚帶鍒跺瓧鑺傚拰澶氳揪7 涓瓧鑺傜殑缁勬佹暟鎹紝鎺ュ彈鑰呯‘璁ゆ瘡涓瓧鑺備互渚挎湁鐐瑰鐐归氫俊(瀹㈡埛/鏈嶅姟鍣)銆

    绗笁绫婚氫俊瀵硅薄鏄綉缁滅鐞嗗璞★細鑺傜偣淇濇姢瀵硅薄(Node guarding Object)鍜孨MT瀵硅薄銆傝妭鐐逛繚鎶ゅ璞℃槸鐢盢MT 涓荤珯鑺傜偣杩滅▼璇锋眰鐨勫叿鏈変竴涓瓧鑺傜殑CAN 甯э紝鏁版嵁瀛楄妭涓昏鍖呭惈鑺傜偣鐨勭姸鎬侊紝鑺傜偣淇濇姢鏃堕棿鍦ㄥ璞″畾鏈熷彂閫併傝妭鐐逛繚鎶ゆ椂闂村湪瀵硅薄瀛楀吀涓篃浣滀簡瑙勫畾锛屽苟涓斿彲浠ョ敱SDO 杩涜缁勬併傛澶栵紝杩樿瀹氫簡淇濇姢鏃堕棿瀵垮懡(Life Guarding Time)锛 鍦ㄨ鏃堕棿鍖哄唴NMT 涓荤珯蹇呴』淇濇姢涓涓狽MT 浠庣珯锛岃繖灏辩‘淇濅簡鍗充娇鍦ㄤ富绔欎笉瀛樺湪鐨勬儏鍐典笅锛岃妭鐐逛粛鑳戒互鐢ㄦ埛鎸囧畾鐨勬柟寮忎綔鍑哄弽搴斻侼MT 瀵硅薄鏄犺薄鍒颁竴涓崟涓鐨勫甫鏈2 涓瓧鑺傛暟鎹暱搴︾殑CAN 甯э紝瀹冪殑鏍囪瘑绗︿负0銆 绗竴涓瓧鑺傚寘鍚懡浠よ鏄庣锛岀浜屼釜瀛楄妭鍖呭惈蹇呴』鎵ц姝ゅ懡浠ょ殑璁惧鐨勮妭鐐规爣璇嗙(褰撹妭鐐规爣璇嗙涓0 鏃舵墍鏈夌殑鑺傜偣蹇呴』鎵ц姝ゅ懡浠)銆 鐢盢MT 涓荤珯鍙戦佺殑NMT 瀵硅薄寮哄埗鑺傜偣杞崲鎴愬彟涓涓姸鎬併侰ANopen 鐘舵佹満瑙勫畾浜嗗垵濮嬪寲鐘舵侊紝瀛愮▼搴忔搷浣滐紝鎿嶄綔鐘舵佸拰鍋滄(姝e紡涓猴細鍑嗗)鐘舵併傚湪鍔犵數鍚庢瘡涓狢ANopen 澶勪簬鍒濆鍖栫姸鎬侊紝鐒跺悗鑷姩鍦拌浆鎹㈠埌棰勬搷浣滅姸鎬侊紝鍦ㄦ鐘舵佷笅鎻愪緵浜嗗悓姝ュ璞″拰鑺傜偣淇濇姢锛岃繕鍏佽SDO 鐨勪紶閫併傚鏋淣MT 涓荤珯宸插皢涓涓垨澶氫釜鑺傜偣璁剧疆涓烘搷浣滅姸鎬佸垯鍏佽浠栦滑鍙戦佸拰鎺ュ彈PDO銆 鍦ㄥ仠姝㈢姸鎬侀櫎NMT 瀵硅薄澶栵紝涓嶅厑璁搁氫俊銆傚垵濮嬪寲鐘舵佸張鍒嗘垚涓変釜瀛愮姸鎬侊紝浠ヤ娇鍏ㄩ儴鎴栭儴鍒嗙殑鑺傜偣澶嶄綅銆傚湪Reset_Application 瀛愮姸鎬佷腑锛屽埗閫犲晢涓撶敤锛坢anufacture-specific)琛岃鍖哄煙鍜屾爣鍑嗗寲璁惧琛
    瑙勫尯鍩熺殑鍙傛暟鍧囪缃垚瀹冧滑鐨勭己鐪佸笺傚湪Reset_Communication 瀛愮姸鎬佷腑锛岄氫俊琛岃鍖哄煙鐨勫弬鏁拌瀹氫负瀹冧滑鐨勯氱數(power-on)鍊笺傜涓変釜瀛愮姸鎬佹槸鍒濆鍖栫姸鎬侊紝鍦ㄩ氱數鍚庢垨澶嶄綅閫氫俊鍚庢垨澶嶄綅搴旂敤鍚庤妭鐐硅嚜鍔ㄥ湴杩涘叆姝ょ姸鎬侊紝閫氱數鍊(Power-on)鏄笂涓娆″瓨鍌ㄧ殑鍙傛暟銆

    CANopen 杩樺畾涔変簡涓変釜鐗瑰畾鐨勭敤浜庡悓姝ュ簲鎬ユ寚绀哄拰鏃堕棿鏍囪鐨勫璞°傚悓姝ュ璞$敱鍚屾鍙戠敓鍣ㄥ畾鏈熷箍鎾紝璇ュ璞℃彁渚涗簡鍩烘湰缃戠粶鏃堕挓锛屽悓姝ユ姤鏂囦箣闂寸殑鏃堕棿鐢遍氫俊寰幆鍛ㄦ湡瀵硅薄瀹氫箟锛屽畠鍙湪boot-up 杩囩▼鐢辩粍鎬佸伐鍏峰啓鍏ュ埌搴旂敤璁惧锛屽彲鑳戒細浜х敓鏃堕棿鍋忓樊锛屼骇鐢熷亸宸殑鍘熷洜鎴栬呮槸鐢变簬瀛樺湪涓浜涘叾瀹冪殑鍏锋湁杈冮珮浼樺厛鏉冩爣璇嗙鐨勫璞★紝瀹冩槸鐢卞悓姝ュ彂鐢熷櫒浼犻佽繃绋嬩腑浜х敓鐨勬垨鑰呯敱鍦ㄥ悓姝ュ璞′箣鍓嶆鍦ㄤ紶閫佺殑閭d釜甯ч犳垚鐨勶紝鍚屾瀵硅薄琚槧璞″埌涓涓崟涓鐨勫甫鏈夋爣璇嗙128 鐨勫抚锛岀敤缂虹渷閰嶇疆锛屽悓姝ュ璞′笉甯︿换浣曟暟鎹紝浣嗗畠鍙叿鏈夊杈8 涓瓧鑺傜殑鐢ㄦ埛涓撶敤鏁版嵁銆

    搴旀ュ璞$敱璁惧鍐呴儴鍑虹幇鑷村懡閿欒鏉ヨЕ鍙戯紝骞朵粠鐩稿叧搴旂敤璁惧涓婄殑搴旀ュ鎴峰彂閫侊紝鍥犳搴旀ュ璞¢傜敤浜庝腑鏂被鍨嬬殑鎶ヨ淇″彿銆傛瘡涓滈敊璇簨浠垛(error event)鍙兘鍙戦佷竴娆″簲鎬ュ璞★紝鍙鍦ㄨ澶囦笂涓嶅彂鐢熸柊鐨勯敊璇氨涓嶅緱鍐嶅彂閫佸簲鎬ュ璞★紝闆朵釜鎴栧涓簲鎬ュ璞℃秷璐硅呭彲鎺ュ彈杩欎簺銆傚簲鎬ユ秷璐硅呯殑鍙嶅簲鏄敱搴旂敤鎸囧畾鐨勩侰ANopen 瀹氫箟浜嗗簲鎬ュ璞′腑瑕佷紶閫佺殑鑻ュ共涓簲鎬ラ敊璇唬鐮侊紝瀹冩槸涓涓崟涓鐨勫叿鏈8 涓暟鎹瓧鑺傜殑CAN 甯с

    鍒╃敤鏃堕棿鏍囪瀵硅薄(Time Stamp Object)锛 涓涓氱敤鐨勬椂闂村抚鍙傝冭鎻愪緵缁欏簲鐢ㄨ澶囷紝瀹冨寘鍚竴涓椂闂村拰鏃ユ湡鐨勫硷紝璇ュ璞′紶閫佺揣璺熷湪鐢熶骇鑰/娑堣垂鑰呮帹杩涙柟寮(Push mode)涔嬪悗锛岀浉鍏崇殑CAN 甯ф湁鏍囪瘑绗256 鍜屼竴涓6 涓瓧鑺傞暱搴︾殑鏁版嵁瀛楁銆

    *鏍囪瘑绗︾殑鍦板潃鍒嗛厤

    鐢变簬CAN 鏄竴绉嶉潰鍚戠綉缁滅殑閫氫俊瀵硅薄(COB)锛 鍦ㄧ綉缁滀腑姣忎釜COB 鏈変竴涓垨澶氫釜鍏宠仈鐨勬爣璇嗙銆傛爣璇嗙闅愬惈鍦版寚瀹氫簡瀹冪殑浼樺厛绾э紝鍥犳锛屽COB 鐨勬爣璇嗙鐨勫湴鍧鍒嗛厤鏄郴缁熻璁′腑鐨勪竴涓富瑕佹柟闈€備负浜嗗噺灏戠粍鎬佸伐浣滈噺锛屼负CANopen 缃戠粶瀹氫箟浜嗗己鍒舵х殑缂虹渷鏍囪瘑绗﹀湴鍧鍒嗛厤琛紝杩欎簺鏍囪瘑绗﹀湪棰勬搷浣滅姸鎬佷腑鏄彲鐢ㄧ殑锛岄氳繃鍔ㄦ佺殑鍒嗛厤杩樺彲浠ヤ慨鏀瑰畠浠侰ANopen 璁惧蹇呴』鎻愪緵瀹冩墍鏀寔鐨勯氫俊瀵硅薄鐨勭浉搴旂殑鏍囪瘑绗︾己鐪佽瑙処D銆 鍦板潃鍒嗛厤琛ㄥ寘鍚竴涓姛鑳介儴鍒嗗拰涓涓ā鍧桰D 閮ㄥ垎锛岃鍔熻兘閮ㄥ垎鍐冲畾瀵硅薄鐨勪紭鍏堢骇锛岃孖D 妯″潡閮ㄥ垎(module-ID-part)鍦ㄧ浉鍚屽姛鑳界殑璁惧闂磋繘琛屽尯鍒嗐侷D鍦板潃鍒嗛厤琛ㄤ笌棰勫畾涔夌殑涓/浠庤繛鎺ラ泦(set)鐩稿搴旓紝骞跺厑璁稿湪鍗曚富涓庡杈127 涓粠绔欒澶囦箣闂磋繘琛岀偣瀵圭偣(peer-to-peer)閫氫俊銆傚畠涔熸敮鎸侀潪纭鐨凬MT 骞挎挱銆佸悓姝ュ拰鏃堕棿鏍囪瀵硅薄銆傞瀹氫箟鐨勪富/浠庤繛鎺ラ泦鏀寔涓涓簲鎬ュ璞★紝涓涓猄DO锛 2涓帴鏀禤DO(Receive-PDO)锛2 涓彂閫丳DO(Transmit- PDO)鍜岃妭鐐逛繚鎶ゅ璞(Node Guarding Object)銆 涓轰紭鍖栨爣璇嗙鐨勫湴鍧鍒嗛厤锛岀郴缁熻璁¤呭彲鏀瑰彉鏍囪瘑绗︾殑鍦板潃鍒嗛厤锛岃繖绉嶆敼鍙樺彲闈欐佸湴瀹屾垚锛屼篃灏辨槸璇村湪绯荤粺杩愯鏈熼棿鏍囪瘑绗︽槸鍥哄畾鐨勩傚姩鎬佸垎閰嶅嵆锛氱敤SDO 鏈嶅姟閫氳繃CAN 缃戠粶鍒嗛厤鏍囪瘑绗︺傚姩鎬佸垎閰嶆槸鍩轰簬CANopen 绯荤粺鐨勪紭閫夋柟娉曪紝涓轰簡鎶婃暟鎹」浼犻佸埌缃戠粶涓殑姝g‘鍦扮偣锛屾湁鏃跺繀椤绘妸Transmit-PDO 涓嶳eceive-PDO 杩炴帴鍦ㄤ竴璧凤紝瀹冧滑浠庢煇鍙拌澶囧彂閫侊紝鑰岀敱鍏跺畠璁惧鎺ユ敹锛屽湪缂虹渷鏍囪瘑绗﹀垎閰嶄笉婊¤冻鐨勭郴缁熷唴鎯呭喌灏辨槸濡傛銆傚湪PDO 閾炬帴杩囩▼涓紝绯荤粺璁惧鑰呭繀椤诲皬蹇冿紝浼犺緭PDO(Transmit-PDO)鍏锋湁鍚勮嚜鍞竴鐨勬爣璇嗙锛屼笖琚摼鎺ョ殑PDO 鐨勬暟鎹暱搴︽槸鐩稿悓鐨勩

    鎵撹祻榧撳姳涓涓嬶紒
    +10
    鍥炲

    浣跨敤閬撳叿 涓炬姤

    鎮ㄩ渶瑕佺櫥褰曞悗鎵嶅彲浠ュ洖甯 鐧诲綍 | 绔嬪嵆娉ㄥ唽 鏂版氮寰崥鐧婚檰

    鏈増绉垎瑙勫垯

    椤堕儴qrcode搴曢儴
    鍏虫敞閰峰痉缃戣闃呭彿锛岃幏鍙栨洿澶氳祫璁紒

    QQ|灏忛粦灞|鎵嬫満鐗|Archiver|閰峰痉璁哄潧 ( 鑻廔CP澶16065247鍙 )|缃戠珯鍦板浘

    GMT+8, 2020-11-27 01:50 , Processed in 0.226053 second(s), 53 queries .

    閰峰痉缃

    © 2001-2013 Hicodesys. 鎶鏈敮鎸 by 閰峰痉缃

    蹇熷洖澶 杩斿洖椤堕儴 杩斿洖鍒楄〃