导入源文件
1. 新建项目,组态CPU
2. 在“项目管理器”中,点击“外部源文件”文件夹下,双击“添加新的外部文件”
3. 从源生成块
导入源文件
生成随机数
源文件下载
程序逻辑
1 2 3 4
| #x := INT_TO_UDINT(#seed); #x := (#x * #a + #c) MOD #m; #tmp_x := UDINT_TO_REAL(#x) / UDINT_TO_REAL(#m); #RandomVal := #MinVal + REAL_TO_INT(#tmp_x * (INT_TO_REAL(#MaxVal) - INT_TO_REAL(#MinVal) + 0.0));
|
结果验证小时区间判断
源文件下载
程序逻辑
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| IF #Ctrl_En THEN IF #End_Time - #Start_Time >= 0 THEN IF #Now_Time >= #Start_Time AND #Now_Time <= #End_Time THEN #Tmp_Result := True; ELSE #Tmp_Result := FALSE; END_IF; ELSE IF #Now_Time >= #Start_Time OR #Now_Time <= #End_Time THEN #Tmp_Result := TRUE; ELSE #Tmp_Result := FALSE; END_IF; END_IF; ELSE #Tmp_Result := FALSE; END_IF;
|
结果验证合成32位数(双整形或浮点)
变量配置
1 2 3 4 5 6 7 8 9 10 11
| VAR_INPUT Mode : Int; // 0合成双整型,1合成浮点 H : Int; // 高字 L : Int; // 低字 END_VAR
VAR_TEMP Temp_Dword : DWord; Temp_Dint : DInt; Swap_D : Real; END_VAR
|
程序逻辑
1 2 3 4 5 6 7 8 9 10
| IF #Mode = 0 THEN #Temp_Dint.%W0 := #H; #Temp_Dint.%W1 := #L; #Swap_D := DINT_TO_REAL(#Temp_Dint); ELSIF #Mode = 1 THEN #Temp_Dword.%W0 := #H; #Temp_Dword.%W1 := #L; #Swap_D := DWORD_TO_REAL(#Temp_Dword); END_IF; #convertTo32bit := #Swap_D;
|
转换后的结果数据为浮点
合成32位数程序块下载
结果验证
单按钮启停
- 梯形图(不是用置位和复位指令)
程序段- 结构化文本
程序段