wx_8422441967 发表于 2022-9-19 08:59:01

Bosch Rexroth DEFAULT

DEFAULT.DFR
**** Hidden Message *****

hanyutong 发表于 2023-8-14 16:30:02

xuexi xuexi

scorpiocode 发表于 2023-9-8 08:46:35

看看是啥好东西

wx_6815433416 发表于 2023-12-12 15:56:47

学习学习

Lionfa 发表于 2024-1-9 10:27:03

aaaaaaaaaaaaaaaa

枫叶123 发表于 2024-3-11 10:26:37

不错不错不错
不错不错

焕游仁阿生 发表于 2024-3-21 14:31:30

力士乐变量泵        电流控制200ma    -   560ma   变量泵带马达      想用pid  使马达转速稳定3000转每分钟   想用codesys编写,LeftRam(        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;     (*左抛投PWM        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;

刘拉18872066282 发表于 2024-5-8 18:38:59

非常感谢,线控底盘底盘调试,学习中

猫哥 发表于 2024-6-7 10:18:29

瞧一瞧看一看

萝卜白菜 发表于 2024-6-19 16:51:02

:(:(:(:(:(:(
页: [1] 2
查看完整版本: Bosch Rexroth DEFAULT