回复:博图随机函数全局库

已锁定

手机用户20190318652168

  • 帖子

    9
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2019-03-18

普通 普通 如何晋级?

发布于 2023-05-18 17:07:15

19楼

//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;

上面标色那句完全没用上,后面NORM_X使用的是高字节。

//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 := -32768, VALUE := #tempRandomValue, MAX := 32767);

            #生成随机数 := SCALE_X(MIN := #minValue, VALUE := #tempNormReal, MAX := #maxValue);

            //

            #start := 0;

        END_IF;

  修改成这样测试了一下可以,将两个字节组成的int数据标准化后生成0-1.0的数,在设定的取值范围内按比例生成随机数。不知道符合不符合完全随机要求。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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