关于循环时间获取时出现负时间的处理加上2147483647

已锁定

花雨灵轩

  • 帖子

    10
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2015-01-25

普通 普通 如何晋级?

关于循环时间获取时出现负时间的处理加上2147483647

602

1

2015-03-18 10:52:24

VAR_INPUT
Start: BOOL; //Start simulation command
RlsFwd: BOOL; //Release forward
RlsBwd: BOOL; //Release backward
Speed: REAL; //Speed Bridle [m/min]
Stretch: REAL; //Stretching [%]
EncIncMm: REAL; //Encoder incremente per mm
EncBits: INT; //Encoder bits (24 for TR format)
END_VAR

VAR_OUTPUT
SpeedOut: REAL; //Speed Bridle included stretching [m/min]
END_VAR

VAR_IN_OUT
EncValue: DINT; //Speed Bridle included stretching [m/min]
END_VAR

VAR_TEMP
tStart: BOOL;
i: INT;
incMax: DINT;
END_VAR

VAR
LAST_TIME : REAL;
ACTUAL_TIME : REAL;
n : INT;
CycleTime: REAL; //Last PLC cycle time
END_VAR


BEGIN

tStart:= Start AND ((RlsFwd AND Speed > 0) OR (RlsBwd AND Speed < 0));


IF tStart THEN
SpeedOut:= Speed *1.1
ELSE
SpeedOut:= 0.0;
END_IF;


IF tStart = FALSE THEN
n := 0;
ELSE
//First Integral Cyclus / Erster Integral-Zyklus
IF n = 0 THEN
ACTUAL_TIME := TIME_TO_DINT(TIME_TCK());
LAST_TIME := ACTUAL_TIME;
n:=1;
ELSE

ACTUAL_TIME := TIME_TO_DINT(TIME_TCK());

IF ACTUAL_TIME < LAST_TIME THEN
CycleTime := ACTUAL_TIME - LAST_TIME + 2147483647(加上该数值的原因?);
ELSE
CycleTime := ACTUAL_TIME - LAST_TIME;
END_IF;

LAST_TIME := ACTUAL_TIME;
END_IF;
END_IF;
关于循环时间获取时出现负时间的处理加上2147483647 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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