CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-CODESYS璧勬簮涓嬭浇鍖-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 160|鍥炲: 0

CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢

[澶嶅埗閾炬帴]
  • TA鐨勬瘡鏃ュ績鎯
    鎱垫噿
    2017-11-9 20:49
  • 绛惧埌澶╂暟: 2 澶

    [LV.1]鍒濇潵涔嶅埌

    鍙戣〃浜 2026-3-18 11:01:25 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡
    娣卞叆娴呭嚭CODESYS缃綅澶嶄綅锛圫et/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢
    鍦≒LC缂栫▼棰嗗煙锛岀疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡鏄疄鐜伴昏緫鎺у埗鐨勬牳蹇冨厓浠躲傚挨鍏跺湪CODESYS鐜涓紝闄や簡RS/SR瑙﹀彂鍣ㄣ佽竟缂樻娴嬬瓑鍔熻兘鍧楀锛屽崟涓鐨勭疆浣嶏紙SET锛夊拰澶嶄綅锛圧ESET锛夋寚浠や篃鏄珮棰戜娇鐢ㄧ殑鍩虹鎸囦护锛屼簩鑰呯伒娲绘惌閰嶈繍鐢紝鐩存帴鍐冲畾浜嗘帶鍒剁▼搴忕殑绋冲畾鎬у拰鍙鎬с傛湰鏂囧皢浠庡姛鑳藉潡/鎸囦护鍘熺悊鍏ユ墜锛岀粨鍚堢數鏈烘帶鍒躲佹ā寮忛夋嫨銆佹晠闅滄娴嬬瓑宸ヤ笟鐜板満瀹為檯鍦烘櫙锛岃瑙g疆浣嶅浣嶅姛鑳藉潡涓庢寚浠ょ殑搴旂敤鎶宸э紝甯姪宸ユ帶宸ョ▼甯堟瀯寤鸿鑼冦佸彲闈犵殑PLC鎺у埗绋嬪簭銆

    涓銆佺疆浣嶅浣嶆牳蹇冨厓浠讹細鍔熻兘鍧 vs 鍗曚竴鎸囦护

    CODESYS涓疄鐜扮疆浣嶅浣嶉昏緫涓昏鏈変袱绫绘牳蹇冨厓浠讹細RS/SR瑙﹀彂鍣ㄥ姛鑳藉潡鍗曚竴缃綅/澶嶄綅鎸囦护锛屼簩鑰呭師鐞嗙浉閫氫絾閫傜敤鍦烘櫙涓嶅悓锛屽厛鏄庣‘鏍稿績姒傚康鎵嶈兘绮惧噯閫夊瀷銆

    1. 鏍稿績瑙﹀彂鍣ㄧ被鍨嬶紙鍔熻兘鍧楀舰寮忥級

    涓ょ被瑙﹀彂鍣ㄧ殑鏍稿績宸紓鍦ㄤ簬鈥滀紭鍏堢骇鈥濓紝杩欑洿鎺ュ喅瀹氫簡缃綅(S)鍜屽浣(R)淇″彿鍚屾椂瑙﹀彂鏃剁殑杈撳嚭缁撴灉锛屼篃鏄夊瀷鐨勫叧閿緷鎹細

    瑙﹀彂鍣ㄧ被鍨

    浼樺厛绾

    鏍稿績閫昏緫

    鍏稿瀷搴旂敤鍦烘櫙

    RS瑙﹀彂鍣紙澶嶄綅浼樺厛锛

    澶嶄綅浼樺厛

    缃綅(S)鍜屽浣(R)鍚屾椂涓篢RUE鏃讹紝杈撳嚭涓篎ALSE

    鎬ュ仠浼樺厛鐨勮澶囨帶鍒讹紙濡傜數鏈哄惎鍋溿佸畨鍏ㄥ洖璺級

    SR瑙﹀彂鍣紙缃綅浼樺厛锛

    缃綅浼樺厛

    缃綅(S)鍜屽浣(R)鍚屾椂涓篢RUE鏃讹紝杈撳嚭涓篢RUE

    妯″紡閫夋嫨銆佹祦绋嬫縺娲汇佷紭鍏堢骇鎺у埗绛夊満鏅

    2. 鍗曚竴缃綅/澶嶄綅鎸囦护锛堟寚浠ゅ舰寮忥級

    闄や簡鍔熻兘鍧楋紝CODESYS杩樻彁渚涚嫭绔嬬殑缃綅锛圫ET锛夊拰澶嶄綅锛圧ESET锛夋寚浠わ紝鐩存帴瀵笲OOL鍙橀噺杩涜鐘舵侀攣瀹氾紝璇硶鏇寸畝娲侊紝閫傚悎绠鍗曠殑鍗曟潯浠剁疆澶嶄綅鍦烘櫙锛

    鎸囦护绫诲瀷

    璇硶鏍煎紡

    鏍稿績閫昏緫

    鍏稿瀷搴旂敤鍦烘櫙

    缃綅鎸囦护锛圫ET锛

    SET <鍙橀噺鍚>;

    鎵ц鎸囦护鏃讹紝灏嗗彉閲忓己鍒惰涓篢RUE骞朵繚鎸侊紝鐩村埌琚浣嶆寚浠よЕ鍙

    鍗曟瑙﹀彂鐨勭姸鎬侀攣瀹氾紙濡傛姤璀﹁Е鍙戙佹ā寮忔縺娲伙級

    澶嶄綅鎸囦护锛圧ESET锛

    RESET <鍙橀噺鍚>;

    鎵ц鎸囦护鏃讹紝灏嗗彉閲忓己鍒惰涓篎ALSE骞朵繚鎸侊紝鐩村埌琚疆浣嶆寚浠よЕ鍙

    鐘舵佹竻闄わ紙濡傛姤璀﹀浣嶃佹墜鍔ㄥ仠姝級

    3. 杈圭紭妫娴嬭緟鍔╁厓浠

    杈圭紭妫娴嬪厓浠剁敤浜庢崟鎹変俊鍙风殑鈥滅灛闂村彉鍖栤濓紝鏄繛鎺モ滅灛鍔ㄦ寜閽濆拰鈥滄寔缁姸鎬佲濈殑妗ユ锛屾棤璁轰娇鐢ㄥ姛鑳藉潡杩樻槸鍗曚竴鎸囦护锛岄兘甯告惌閰嶈竟缂樻娴嬩娇鐢細


    • R_TRIG锛堜笂鍗囨部妫娴嬶級锛氫粎鍦ㄤ俊鍙蜂粠FALSE鍙樹负TRUE鐨勭灛闂磋緭鍑轰竴涓壂鎻忓懆鏈熺殑TRUE锛岀敤浜庢崟鎹夋寜閽寜涓嬨佺姸鎬佸垏鎹㈢瓑鐬姩淇″彿銆


    • F_TRIG锛堜笅闄嶆部妫娴嬶級锛氫粎鍦ㄤ俊鍙蜂粠TRUE鍙樹负FALSE鐨勭灛闂磋緭鍑轰竴涓壂鎻忓懆鏈熺殑TRUE锛岀敤浜庢崟鎹夋寜閽澗寮銆佺姸鎬侀鍑虹瓑鍔ㄤ綔銆
    浜屻佸熀纭搴旂敤妗堜緥锛氬姛鑳藉潡 vs 鍗曚竴鎸囦护瀵规瘮

    妗堜緥1锛氱數鏈哄惎鍋滄帶鍒讹紙RS瑙﹀彂鍣 vs 鍗曚竴缃浣嶆寚浠わ級

    鐢垫満鎺у埗鏍稿績闇姹傛槸銆屽惎鍔ㄦ寜閽灛鍔ㄨЕ鍙戣繍琛岋紝鍋滄/鎬ュ仠鎸夐挳浼樺厛澶嶄綅銆嶏紝鎴戜滑鍒嗗埆鐢≧S瑙﹀彂鍣ㄥ拰鍗曚竴缃浣嶆寚浠ゅ疄鐜帮紝瀵规瘮宸紓銆

    鏂瑰紡1锛歊S瑙﹀彂鍣ㄥ疄鐜帮紙澶嶄綅浼樺厛锛屽畨鍏ㄥ悎瑙勶級

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-1.png

                            // 鏍稿績閫昏緫锛氭ュ仠淇″彿浼樺厛澶嶄綅
                            MotorRS(SET:=StartButton AND NOT EmergencyStop,  // 鍚姩鏉′欢锛氭寜涓嬪惎鍔ㄤ笖鏃犳ュ仠
                                    RESET1:=StopButton OR EmergencyStop);    // 澶嶄綅鏉′欢锛氬仠姝㈡寜閽垨鎬ュ仠瑙﹀彂

                            // 杈撳嚭鏄犲皠锛氳Е鍙戝櫒杈撳嚭璧嬪肩粰鐢垫満杩愯淇″彿
                            MotorRun := MotorRS.Q1;  

                            // 鏁呴殰鎸囩ず锛氭ュ仠瑙﹀彂鏃剁偣浜晠闅滅伅
                            MotorFault := EmergencyStop;

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-2.png


    鏂瑰紡2锛氬崟涓缃浣嶆寚浠ゅ疄鐜帮紙璇硶绠娲侊紝閫傚悎绠鍗曞満鏅級

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-3.png

                            // 杈圭紭妫娴嬶細鎹曟崏鎸夐挳鐬姩淇″彿
                            StartTrig(CLK:=StartButton);
                            StopTrig(CLK:=StopButton);

                            // 鏍稿績閫昏緫锛氱疆澶嶄綅鎸囦护瀹炵幇鐘舵侀攣瀹
                            // 鎬ュ仠浼樺厛锛氭ュ仠瑙﹀彂鏃剁洿鎺ュ浣
                            IF EmergencyStop THEN
                                RESET MotorRun;        // 鎬ュ仠寮哄埗澶嶄綅
                                MotorFault := TRUE;
                            ELSE
                                MotorFault := FALSE;
                                // 鍚姩鎸夐挳涓婂崌娌匡細缃綅鐢垫満杩愯
                                IF StartTrig.Q THEN
                                    SET MotorRun;
                                END_IF
                                // 鍋滄鎸夐挳涓婂崌娌匡細澶嶄綅鐢垫満杩愯
                                IF StopTrig.Q THEN
                                    RESET MotorRun;
                                END_IF
                            END_IF

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-4.png


    鍏抽敭瀵规瘮璇存槑锛


    • RS瑙﹀彂鍣細閫傚悎瀹夊叏浼樺厛鍦烘櫙锛屽唴缃滃浣嶄紭鍏堚濋昏緫锛屾棤闇棰濆鍒ゆ柇锛岀鍚堝伐涓氬畨鍏ㄨ鑼冿紝浠g爜鍙鎬ф洿楂橈紱


    • 鍗曚竴缃浣嶆寚浠わ細璇硶鏇寸畝娲锛岄傚悎绠鍗曠殑鍗曟潯浠剁疆澶嶄綅鍦烘櫙锛屼絾闇鎵嬪姩澶勭悊浼樺厛绾э紙濡傛ュ仠浼樺厛锛夛紝浠g爜閲忕暐澶氾紱


    • 鏍稿績鍏辨э細閮介渶瑕佹惌閰嶈竟缂樻娴嬶紙R_TRIG锛夋崟鎹夌灛鍔ㄦ寜閽紝閬垮厤鎸夐挳鎸佺画鎸変笅瀵艰嚧閫昏緫寮傚父銆
    妗堜緥2锛氳澶囪繍琛屾ā寮忛夋嫨锛圫R瑙﹀彂鍣 + 鍗曚竴缃浣嶆寚浠わ級

    璁惧妯″紡閫夋嫨锛堣嚜鍔/鎵嬪姩锛夐渶瑕併屾ā寮忓垏鎹㈠悗淇濇寔鐘舵侊紝涓旇嚜鍔ㄦā寮忎紭鍏堛嶏紝缁撳悎SR瑙﹀彂鍣ㄧ殑浼樺厛绾х壒鎬у拰鍗曚竴缃浣嶆寚浠ょ殑绠娲佹у疄鐜帮細

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-5.png

                            // 妯″紡閫夋嫨鏍稿績閫昏緫锛氳嚜鍔ㄦā寮忎紭鍏堬紙SR瑙﹀彂鍣級
                            ModeSR(S1:=AutoModeBtn, R:=ManualModeBtn, Q1=>AutoMode);
                            ManualMode := NOT AutoMode;  // 鑷姩/鎵嬪姩浜掓枼

                            // 绯荤粺灏辩华鍒ゆ柇锛氳嚜鍔ㄦā寮忎笖鏃犲浣
                            SystemReady := AutoMode AND NOT ResetBtn;

                            // 涓婂崌娌挎娴嬶細鑷姩妯″紡鍒囨崲鏃舵墽琛屽垵濮嬪寲
                            AutoTrig(CLK:=AutoModeBtn);
                            IF AutoTrig.Q THEN
                                // 鍗曚竴缃綅鎸囦护锛氭爣璁板垵濮嬪寲瀹屾垚锛堥伩鍏嶉噸澶嶆墽琛岋級
                                SET AutoInitDone;
                            END_IF
                            // 澶嶄綅鎸夐挳瑙﹀彂锛氬浣嶅垵濮嬪寲鏍囪
                            IF ResetBtn THEN
                                RESET AutoInitDone;
                            END_IF

    CoDeSys鍏ラ棬瀹炴垬涓璧峰涔狅紙浜屽崄涔濓級锛氾紙ST锛夌疆浣嶅浣嶏紙Set/Reset锛夊姛鑳藉潡锛氫粠鍩虹鍒板疄鎴樺簲鐢-6.png


    鍏抽敭璇存槑锛


    • SR瑙﹀彂鍣ㄨ礋璐fā寮忕姸鎬佺殑鈥滀紭鍏堥攣瀹氣濓紝鍗曚竴缃浣嶆寚浠よ礋璐e垵濮嬪寲鏍囪鐨勨滃崟娆¢攣瀹氣濓紝鍒嗗伐鏄庣‘锛


    • AutoInitDone閫氳繃缃綅鎸囦护鏍囪鍒濆鍖栧畬鎴愶紝澶嶄綅鎸囦护娓呴櫎鏍囪锛岄伩鍏嶆ā寮忓垏鎹㈠悗閲嶅鎵ц鍒濆鍖栭昏緫銆
    +10
    涓嶈禐涓涓紵
    鎵撹祻榧撳姳涓涓嬶紒
    鍥炲

    浣跨敤閬撳叿 涓炬姤

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

    鏈増绉垎瑙勫垯

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

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

    GMT+8, 2026-4-7 19:36 , Processed in 0.251431 second(s), 60 queries .

    閰峰痉缃

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

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