FAULT_CODE_ABS_OVER CURRENT
时间: 2023-09-13 18:06:13 浏览: 53
您好!对于 VESC 报告的 "FAULT_CODE_ABS_OVER_CURRENT" 错误,这意味着电机驱动器检测到了超过设定值的绝对过流。这通常是由于以下原因之一引起的:
1. 电机负载过大:如果电机正常运行时突然承受了过大的负载,可能会导致过流错误。这可能是由于行驶在过陡的坡道上或负载过重等原因引起的。
2. 电机故障:电机内部可能存在故障,例如绕组短路或接线松动等问题。这可能导致电流异常增加并触发过流保护。
3. 供电问题:如果供电系统存在问题,例如电池电压异常或供电线路故障,可能会导致电流异常增加并触发过流保护。
为了解决这个问题,您可以尝试以下步骤:
1. 检查负载条件:确保电机不承受过大的负载,并避免在过陡的坡道上行驶或超负荷工作。
2. 检查电机和连接:仔细检查电机是否存在故障,并确保所有连接牢固可靠。
3. 检查供电系统:确保供电系统正常工作,检查电池电压是否正常,排除供电线路的问题。
如果以上步骤无法解决问题,建议您咨询相关的技术支持或联系 VESC 的制造商以获取进一步的帮助和指导。
相关问题
SELECT f.PAR_FAULT_CODE AS "parFaultCode", (SELECT t.FAULT_NAME FROM FAULT_TYPE t WHERE f.PAR_FAULT_CODE = t.FAULT_CODE) AS "faultName", COALESCE( r.REPORT_DEPT_CODE, 'N/A' ) AS "reportDeptCode", COUNT( r.REPORT_DEPT_CODE ) AS "report", COUNT(*) AS "reportCount" FROM FAULT_TYPE f LEFT JOIN FAULT_REPORT r ON f.FAULT_CODE = r.FAULT_CODE GROUP BY f.PAR_FAULT_CODE, f.FAULT_NAME, COALESCE( r.REPORT_DEPT_CODE, 'N/A' ), f.FAULT_CODE ORDER BY f.PAR_FAULT_CODE, f.FAULT_NAME按parfaultcode的report的和加到一起放到reportCount字段怎么修改
可以使用以下SQL语句来实现:
```
SELECT f.PAR_FAULT_CODE AS "parFaultCode",
(SELECT t.FAULT_NAME FROM FAULT_TYPE t WHERE f.PAR_FAULT_CODE = t.FAULT_CODE) AS "faultName",
COALESCE(r.REPORT_DEPT_CODE, 'N/A') AS "reportDeptCode",
COUNT(r.REPORT_DEPT_CODE) AS "report",
SUM(COUNT(r.REPORT_DEPT_CODE)) OVER (PARTITION BY f.PAR_FAULT_CODE) AS "reportCount"
FROM FAULT_TYPE f
LEFT JOIN FAULT_REPORT r ON f.FAULT_CODE = r.FAULT_CODE
GROUP BY f.PAR_FAULT_CODE, f.FAULT_NAME, COALESCE(r.REPORT_DEPT_CODE, 'N/A'), f.FAULT_CODE
ORDER BY f.PAR_FAULT_CODE, f.FAULT_NAME
```
这里使用了窗口函数 `SUM`,对每个 `parFaultCode` 分组的 `report` 字段求和并放到 `reportCount` 字段中。
SELECT f.PAR_FAULT_CODE AS "parFaultCode", f.FAULT_NAME AS "faultName", COALESCE( r.REPORT_DEPT_CODE, 'N/A' ) AS "reportDeptCode", COUNT( r.REPORT_DEPT_CODE ) AS "report", SUM(COUNT(r.REPORT_DEPT_CODE)) OVER (PARTITION BY f.FAULT_CODE) AS "reportCount" FROM FAULT_TYPE f LEFT JOIN FAULT_REPORT r ON f.FAULT_CODE = r.FAULT_CODE GROUP BY f.PAR_FAULT_CODE, f.FAULT_NAME, COALESCE( r.REPORT_DEPT_CODE, 'N/A' ), f.FAULT_CODE ORDER BY f.PAR_FAULT_CODE, f.FAULT_NAME在fauleName加一个标题为合计字段 并且根据reportDeptCode分组算出对应的reportCount
可以在SELECT语句中使用CASE WHEN语句来对 faultName 进行处理,添加 "合计" 字段。具体的SQL语句如下所示:
```
SELECT f.PAR_FAULT_CODE AS "parFaultCode",
CASE WHEN COALESCE(r.REPORT_DEPT_CODE, 'N/A') = 'N/A' THEN f.FAULT_NAME
ELSE f.FAULT_NAME || ' 合计' END AS "faultName",
COALESCE(r.REPORT_DEPT_CODE, 'N/A') AS "reportDeptCode",
COUNT(r.REPORT_DEPT_CODE) AS "report",
SUM(COUNT(r.REPORT_DEPT_CODE)) OVER (PARTITION BY f.FAULT_CODE) AS "reportCount"
FROM FAULT_TYPE f
LEFT JOIN FAULT_REPORT r ON f.FAULT_CODE = r.FAULT_CODE
GROUP BY f.PAR_FAULT_CODE, f.FAULT_NAME, COALESCE(r.REPORT_DEPT_CODE, 'N/A'), f.FAULT_CODE
ORDER BY f.PAR_FAULT_CODE, f.FAULT_NAME;
```
在这个SQL语句中,我们使用了 CASE WHEN 语句来判断 reportDeptCode 是否为 'N/A',如果是则不添加 "合计" 字段,否则在 faultName 后面添加 " 合计"。最后按照指定的字段进行分组和排序,计算 reportCount。