鐢垫恫鎺у埗姹傚姪-閫氳鍙婂懆杈-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 3011|鍥炲: 5

鐢垫恫鎺у埗姹傚姪

[澶嶅埗閾炬帴]

璇ョ敤鎴蜂粠鏈鍒

鍙戣〃浜 2017-1-16 11:55:51 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡
鍔涘+涔愬彉閲忔车        鐢垫祦鎺у埗200ma    -   560ma   鍙橀噺娉靛甫椹揪      鎯崇敤pid  浣块┈杈捐浆閫熺ǔ瀹3000杞瘡鍒嗛挓   鎯崇敤codesys缂栧啓锛孡eftRam(        Resistance:=EEVale.LeftRamResistance ,         (*宸︽姏鎶曟车鐨勭數闃==*)
        DLMax:=EEVale.LeftRam_PumpDLMax ,               (*宸︽姏鎶  娉电殑鏈澶х數娴 560*)
        DLMin:=EEVale.LeftRam_PumpDLMin ,                (*宸︽姏鎶  娉电殑鏈灏忕數娴 200*)
        MaxSp:=EEVale.Left_MotoMaxSp ,                           (* 宸︽姏鎶曟车鏈澶ц浆閫  鍙寜瀹為檯鍊兼爣瀹3000*)
        MixSp:=EEVale.Left_MotoMixSp ,                             (* 宸︽姏鎶曟车鏈灏忚浆閫  鍙寜瀹為檯鍊兼爣瀹500*)
        ShijiRPM:=midvar.u_LeftRamHeadSP,                   (*瀹為檯宸︽姏鎶曡浆閫   midvar.u_LeftRamHeadSP*)
        setmax_xianzhiSP:=3000 ,                                        (*宸︽姏鎶曢檺鍒舵渶澶ц浆閫熸暟鍊 鍙互璋冩暣鐨*)
        setmix_xianzhiSP:=300 ,
        OutPwm=> );
LeftRamHead_out:=LeftRam.OutPwm;     (*宸︽姏鎶昉WM        XM2.3==*)

VAR_INPUT
        Resistance:UINT;    (*鐢甸樆*)
       DLMax:UINT;             (*鏈澶х數娴*)
       DLMin:UINT;                      (*鏈灏忕數娴*)
            MaxSp:UINT;                     (*鏈澶ц浆閫*)
        MixSp:UINT;                    (*鏈灏忚浆閫*)
        ShijiRPM:UINT;          (*瀹為檯杞*)
       setmax_xianzhiSP:UINT;  (*璁剧疆鏈澶ч檺鍒惰浆閫熷*)
        setmix_xianzhiSP:UINT;  (*璁剧疆鏈灏忛檺鍒惰浆閫熷*)
END_VAR


VAR_OUTPUT
        OutPwm:UINT;           (*pwm杈撳嚭*)
END_VAR

VAR
        S_MaxCurrent:UINT; (*绯荤粺鏈澶х數娴*)
        M_CurrentBuf:REAL;(*鐢垫祦缂撳瓨*)
        A:REAL; (*绯绘暟*)
        Buf:INT;
       addcurrent:BYTE;(*澧炲姞鐢垫祦鍊*)
END_VAR

S_MaxCurrent:=REAL_TO_UINT(   (WORD_TO_REAL (Voltage/10)*1000.0)/ UINT_TO_REAL(Resistance)  );    (*绯荤粺鏈澶х數娴  ma*)

(*A:=UINT_TO_REAL (  (MaxSp -  MixSp)   /    (DLMax - DLMin )   ) ;    (* 杞熷樊/ 鐢垫祦宸  *)*)

A:=UINT_TO_REAL (    (DLMax - DLMin )   /    (MaxSp -  MixSp)   ) ;    (*  鐢垫祦宸   杞熷樊/     3000-500  /  560-200      6.94*)

(*
M_CurrentBuf:=A* UINT_TO_REAL(  (ShijiRPM - MixSp  )  )   +   UINT_TO_REAL( DLMin);   (*缂撳瓨鐢垫祦*)
*)

addcurrent:= REAL_TO_BYTE(   UINT_TO_REAL((MaxSp-ShijiRPM))/10.0/100.0 *  A );       (*銆傚彲鏍规嵁瀹為檯鎯呭喌璋冩暣 杩欎釜鍊兼槸浜轰负 鍔犵殑涓涓 鍊*)


IF  ShijiRPM >=setmax_xianzhiSP  THEN   (*濡傛灉鎶涙姇瀹為檯杞熷ぇ浜 3300杞紝鍏抽棴鎶涙姇*)
     M_CurrentBuf:=0;
ELSIF ShijiRPM<3000  THEN
     M_CurrentBuf:=A* UINT_TO_REAL(  (ShijiRPM - MixSp  )  )   +   UINT_TO_REAL( DLMin)+  addcurrent;   (*缂撳瓨鐢垫祦*)
END_IF

Buf:=REAL_TO_INT(  (   M_CurrentBuf  /  UINT_TO_REAL(S_MaxCurrent)  )   *32767.0  );

OutPwm:=Buf;



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

浣跨敤閬撳叿 涓炬姤

璇ョ敤鎴蜂粠鏈鍒

 妤间富| 鍙戣〃浜 2017-1-16 11:56:34 | 鏄剧ず鍏ㄩ儴妤煎眰
澶у鏈夋病鏈夋瘮杈冨ソ鐨勬帶鍒舵柟寮忎笌鏂规硶   锛屽笇鏈涚粰浜堝府鍔
+10
鎵撹祻榧撳姳涓涓嬶紒

璇ョ敤鎴蜂粠鏈鍒

 妤间富| 鍙戣〃浜 2017-1-17 10:28:05 | 鏄剧ず鍏ㄩ儴妤煎眰
宸ョ▼鏈烘琛岃蛋鎺у埗锛屽ぇ瀹惰皝鍋氳繃绫讳技鐨勯」鐩紝鍙互鍏卞悓鎺㈣涓涓
+10
鎵撹祻榧撳姳涓涓嬶紒

璇ョ敤鎴蜂粠鏈鍒

鍙戣〃浜 2018-6-19 11:22:39 | 鏄剧ず鍏ㄩ儴妤煎眰
鏈笘鏈鍚庣敱 Hero 浜 2018-6-19 11:24 缂栬緫

杩欐牱鍐欎唬鐮侊紝鍙鎬уお宸紝娌′汉鍘熸剰鐪嬶紝娌℃晳浜
+10
鎵撹祻榧撳姳涓涓嬶紒
  • TA鐨勬瘡鏃ュ績鎯
    寮蹇
    2018-1-23 09:17
  • 绛惧埌澶╂暟: 2 澶

    [LV.1]鍒濇潵涔嶅埌

    鍙戣〃浜 2018-8-17 13:29:34 | 鏄剧ず鍏ㄩ儴妤煎眰
    浣犵敤鏂瑰潡鍥惧晩锛屾湁涓撻棬PID妯″潡  杩欎釜鎺у埗寰堢畝鍗曞晩锛屼綘涓嶅氨鏄湪椹揪涓婂甫浜嗛熷害浼犳劅鍣  鐒跺悗鍋氶棴鐜帶鍒堕┈杈捐浆閫熸亽瀹氬槢銆傛湁闂鍙互鍔犲井淇76369809
    +10
    鎵撹祻榧撳姳涓涓嬶紒
  • TA鐨勬瘡鏃ュ績鎯
    鎿︽睏
    2021-9-27 08:54
  • 绛惧埌澶╂暟: 24 澶

    [LV.4]鍋跺皵鐪嬬湅III

    鍙戣〃浜 2021-7-11 15:45:08 | 鏄剧ず鍏ㄩ儴妤煎眰
    鏈変笓闂≒ID妯″潡  杩欎釜鎺у埗寰堢畝鍗
    +10
    鎵撹祻榧撳姳涓涓嬶紒
    鎮ㄩ渶瑕佺櫥褰曞悗鎵嶅彲浠ュ洖甯 鐧诲綍 | 绔嬪嵆娉ㄥ唽 鏂版氮寰崥鐧婚檰

    鏈増绉垎瑙勫垯

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

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

    GMT+8, 2024-4-20 13:11 , Processed in 0.633558 second(s), 75 queries .

    閰峰痉缃

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

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