恭喜,你发布的帖子
发布于 2022-02-21 13:36:45
6楼
感谢分享+1
测试了一下,好用
//Check if the maximal Value is less than the minimal value
IF (#minValue > #maxValue) THEN
#error := true;
#生成随机数 := 0;
ELSE
#R_TRIG_Instance(CLK := #start);
IF #R_TRIG_Instance.Q THEN
#tempTimeStatus := RD_SYS_T(#tempTime);
IF (#tempTimeStatus <> 0) THEN
//读取失败
#error := true;
#生成随机数 := 0;
ELSE
#error := FALSE;
//读取成功
//Callculate a random-start-value depending on the time
#tempRandomValue.%B1 := #tempTime.NANOSECOND.%B0;
#tempRandomValue.%B0 := #tempTime.NANOSECOND.%B1;
//
#tempNormReal := NORM_X(MIN := 1, VALUE := #tempRandomValue.%B1, MAX := 255);
#生成随机数 := SCALE_X(MIN := #minValue, VALUE := #tempNormReal, MAX := #maxValue);
//
#start := 0;
END_IF;
END_IF;
END_IF;
请填写推广理由:
分享
只看
楼主