回复:STL和SCL程序转换,求帮忙

youhm

  • 帖子

    4924
  • 精华

    81
  • 被关注

    51

论坛等级:至圣

注册时间:2008-06-28

普通 普通 如何晋级?

发布于 2013-11-24 21:16:26

1楼

看来我的无聊指数比较高

FUNCTION_BLOCK FB130
TITLE = 'friction control'
VERSION : '0.0'

VAR_INPUT
Speed_Input : INT ;
Dimension : INT ; //Speed Dimension
END_VAR
VAR_OUTPUT
Fric_CMD_Output : REAL ;
END_VAR
VAR
Index : INT ;
Value : INT ;
Step : INT ;
Scale1 : REAL ;
Scale2 : REAL ;
Friction_Value : ARRAY [0 .. 20 ] OF REAL ;
Speed : INT ;
END_VAR

FOR Index:= 0 TO 20 BY 1 DO

Value:=REAL_TO_INT(INT_TO_REAL(Dimension)/20.0);
Speed:=REAL_TO_INT(ABS(INT_TO_REAL(Speed_Input)));
Step:=Speed/Value;

IF Step=Index AND Step<20 THEN
Scale1:=(Friction_Value[Index+1]-Friction_Value[Index])/1.0 ;
Scale2:=INT_TO_REAL(Speed)/(INT_TO_REAL(Dimension)/20.0)-INT_TO_REAL(Index);
Fric_CMD_Output:=Scale2*Scale1+Friction_Value[Index];
END_IF;

IF Step = 20 THEN
Fric_CMD_Output:=Friction_Value[20];
END_IF;

END_FOR;

END_FUNCTION_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。