回复:STEP7 V5.3内自带斜坡函数发生器吗?

天枰

  • 帖子

    315
  • 精华

    10
  • 被关注

    15

论坛等级:侠士

注册时间:2007-08-09

普通 普通 如何晋级?

发布于 2008-12-05 11:55:34

0楼

自己编着玩,给你共享一个,修改请注明出处
FUNCTION_BLOCK FB100
TITLE ="斜坡发生器"

KNOW_HOW_PROTECT
AUTHOR : xxzzw
VERSION : 1.0

//加减速时间 > 10S
VAR_INPUT
InValue : INT ;
AddTime : REAL ; //单位:S
DecTime : REAL ; //单位:S
TimeElapse : INT ; //单位:ms
En : BOOL := TRUE;
END_VAR
VAR_OUTPUT
OutValue : INT ;
END_VAR
VAR
TimeTemp : INT ;
RTemp : REAL ;
END_VAR
VAR_TEMP
tempint : INT ;
badd : BOOL ;
b_add : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =

A #En;
JC _001;
L 0;
T #OutValue;
T #TimeTemp;
L 0.000000e+000;
T #RTemp;
BE ;
_001: NOP 0;

L #AddTime;
L 3.000000e+000;
BEC ;
L #DecTime;
L 3.000000e+000;
BEC ;

NETWORK
TITLE =
//程式每100ms计算一次
L #TimeElapse;
L #TimeTemp;
+I ;
T #TimeTemp;
L 100;
BEC ;
L #TimeTemp;
L 100;
-I ;
T #TimeTemp;

L #InValue;
L #OutValue;
==I ;
BEC ;

NETWORK
TITLE =
// In Out In > Out
// 零 正 X -DEC
// 零 负 X +DEC
// 正 正 1 +ADD
// 正 正 0 -DEC
// 正 负 X +DEC
// 负 正 X -DEC
// 负 负 1 -ADD
// 负 负 0 +DEC
L #InValue;
L 0;
<>I ;
JC _300;
//输入为零时
L #OutValue;
L 0;
>I ;
JC _010;
L 1.638400e+003; //输入为零输出为负
L #DecTime;
/R ;
JU _002;
_010: L -1.638400e+003; //输入为零输出为正
L #DecTime;
/R ;
JU _002;


_300: L #InValue;
L 0;
JC _400;
//输入为正时
L #OutValue;
L 0;
JC _302;
L #InValue;
L #OutValue;
>I ;
JC _301;
L -1.638400e+003; //输入为正输出为正,输入<输出
L #DecTime;
/R ;
JU _002;
_301: L 1.638400e+003; //输入为正输出为正,输入>输出
L #AddTime;
/R ;
JU _002;
_302: L 1.638400e+003; //输入为正,输出为负
L #DecTime;
/R ;
JU _002;

_400: L #OutValue;
L 0;
<=I ;
JC _401;
L -1.638400e+003; //输入为负,输出为正-DEC
L #DecTime;
/R ;
JU _002;
_401: L #InValue;
L #OutValue;
>I ;
JC _402;
L -1.638400e+003; //输入为负,输出为负,输入< 输出
L #AddTime;
/R ;
JU _002;
_402: L 1.638400e+003; //输入为负,输出为负,输入>输出
L #DecTime;
/R ;
_002: L #RTemp;
+R ;
T #RTemp;
L 3.276700e+004;
>=R ;
JC _003;
TAK ;
L -3.276800e+004;
<=R ;
JC _003;
TAK ;
_003: T #RTemp;
RND ;
T #OutValue;
//防抖动功能
L #AddTime;
L #DecTime;
>R ;
JC _004;
TAK ;
_004: L 1.638400e+003;
TAK ;
/R ;
RND ;
T #tempint;
L #InValue;
L #OutValue;
-I ;
JP _005;
NEGI ;
_005: L #tempint;
>I ;
BEC ;
L #InValue;
T #OutValue;

END_FUNCTION_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54657条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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