最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

你好AI,帮我指出下面这段SCL代码存在的问题

[复制链接]
查看1582 | 回复1 | 2023-4-4 10:09:30 | 显示全部楼层 |阅读模式
[align=left][font=Calibri](* Bubble sort for motor selection *) [/font][/align][align=left][font=Calibri]FOR i := 1 TO ContNum - 1 DO  [/font][/align][align=left][font=Calibri]FOR j := 1 TO ContNum - i DO  [/font][/align][align=left][font=Calibri]IF Auto[j+1] AND NOT Fault[j+1] AND (NOT Auto[j] OR Fault[j] OR TotalRunTime[j+1] < TotalRunTime[j]) THEN   [/font][/align][align=left][font=Calibri](* Swap motor j and motor j+1 *) [/font][/align][align=left][font=Calibri]CONT_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]CONT_TEMP := ContLevel[j];  [/font][/align][align=left][font=Calibri]ContLevel[j] := ContLevel[j+1];   [/font][/align][align=left][font=Calibri]ContLevel[j+1] := CONT_TEMP;[/font][/align][align=left]  [/align][align=left][font=Calibri]AUTO_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]AUTO_TEMP := Auto[j];   [/font][/align][align=left][font=Calibri]Auto[j] := Auto[j+1];   [/font][/align][align=left][font=Calibri]Auto[j+1] := AUTO_TEMP;[/font][/align][align=left]   [/align][align=left][font=Calibri]RUN_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]RUN_TEMP := Run[j];   [/font][/align][align=left][font=Calibri]Run[j] := Run[j+1];   [/font][/align][align=left][font=Calibri]Run[j+1] := RUN_TEMP;[/font][/align][align=left]    [/align][align=left][font=Calibri]FAULT_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]FAULT_TEMP := Fault[j];   [/font][/align][align=left][font=Calibri]Fault[j] := Fault[j+1];   [/font][/align][align=left][font=Calibri]Fault[j+1] := FAULT_TEMP;[/font][/align][align=left]  [/align][align=left][font=Calibri]START_CNT_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]START_CNT_TEMP := StartTimeCnt[j];  [/font][/align][align=left][font=Calibri]StartTimeCnt[j] := StartTimeCnt[j+1];   [/font][/align][align=left][font=Calibri]StartTimeCnt[j+1] := START_CNT_TEMP; [/font][/align][align=left]  [/align][align=left][font=Calibri]STOP_CNT_TEMP : AUTO;    [/font][/align][align=left][font=Calibri]STOP_CNT_TEMP := StopTimeCnt[j];    [/font][/align][align=left][font=Calibri]StopTimeCnt[j] := StopTimeCnt[j+1];   [/font][/align][align=left][font=Calibri]StopTimeCnt[j+1] := STOP_CNT_TEMP; [/font][/align][align=left]  [/align][align=left][font=Calibri]FAULT_CNT_TEMP : AUTO;    [/font][/align][align=left][font=Calibri]FAULT_CNT_TEMP := FaultTimeCnt[j];   [/font][/align][align=left][font=Calibri]FaultTimeCnt[j] := FaultTimeCnt[j+1];   [/font][/align][align=left][font=Calibri]FaultTimeCnt[j+1] := FAULT_CNT_TEMP;[/font][/align][align=left]  [/align][align=left][font=Calibri]RUN_TIME_TEMP : AUTO;   [/font][/align][align=left][font=Calibri]RUN_TIME_TEMP := TotalRunTime[j];    [/font][/align][align=left][font=Calibri]TotalRunTime[j] := TotalRunTime[j+1];   [/font][/align][align=left][font=Calibri]TotalRunTime[j+1] := RUN_TIME_TEMP;  [/font][/align][align=left][font=Calibri]END_IF[/font][font=Calibri];[/font]  [/align][align=left][font=Calibri]END_FOR[/font][font=Calibri];[/font] [/align][align=left][font=Calibri]END_FOR[/font][font=Calibri];[/font] [/align]
回复

使用道具 举报

chatGPT_小柔 | 2023-4-4 10:09:43 | 显示全部楼层
这段SCL代码存在以下几个问题:

1. 在if语句中,TotalRunTime < TotalRunTime 的比较没有意义,应该将其改为TotalRunTime < TotalRunTime[j+1]。

2. 在交换ContLevel、Auto、Run、Fault、StartTimeCnt、StopTimeCnt、FaultTimeCnt和TotalRunTime的值时,语句中的赋值方式是错误的。例如,ContLevel := ContLevel;将会将ContLevel的值赋给自身,而没有实现任何实际操作。正确的赋值方式应该是像下面这样:

CONT_TEMP := ContLevel[j];
ContLevel[j] := ContLevel[j+1];
ContLevel[j+1] := CONT_TEMP;

3. 变量Auto、Fault、Run、StartTimeCnt、StopTimeCnt、FaultTimeCnt和TotalRunTime的类型没有明确声明,应该在程序开始处加入相应的变量声明。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则