一、利用CODESYS自带库SM3_Shared中RndI及RndI_Range两个FB来获取随机数。
二、RndI使用方法
使用RndI生成的随机数不能定义数值范围,通过修改udisend的值来修改生成的随机数。如下图所示:
PROGRAM PLC_PRG
VAR
RndI:SM0.RndI;
udiSend: UDINT;
getcur: DINT;
END_VAR
RndI.Init(udiSeed:=udiSend);
RndI.GetCur(GetCur=>getcur);
二、RndI_Range使用方法
使用RndI_Range生成的随机数可以定义数值范围,通过修改udisend的值来修改生成的随机数,例如生成一个6位随机数(100000-999999)。如下图所示:
PROGRAM PLC_PRG
VAR
RndI_Range:SM0.RndI_Range;
udiSend: UDINT;
getcur: DINT;
nMin: DINT;
nMax: DINT;
END_VAR
RndI_Range.Init(udiSeed:=udiSend,nMin:=nMin,nMax:=nMax);
RndI_Range.GetCur(GetCur=>getcur);