草庐IT

基于自适应扩展卡尔曼滤波器(AEKF)的锂离子电池SOC估计(附MATLAB代码)

AEKF_SOC_Estimation函数使用二阶RC等效电路模型(ECM)和自适应扩展卡尔曼滤波器(AEKF)估计电池的端电压(Vt)和充电状态(SOC)。该函数将以下内容作为输入: ·电流(A)·电压(V)·温度(℃)该函数的输出为:· 估计SOC·估计电压Vt·电压Vt误差function[SOC_Estimated,Vt_Estimated,Vt_Error]=AEKF_SOC_Estimation(Current,Vt_Actual,Temperature)加载电池模型参数以及不同温度的SOC-OCV关系数据库。如果没有可用的温度数据或使用单一温度,建议使用25℃作为参考。用户应调整

java - Google 电子表格 API,400 错误错误请求 : unable to parse range

我正在尝试使用电子表格示例访问Google电子表格。当我运行示例代码时,它运行良好。我只是更改SpreadsheetId和范围。它开始给我:Exceptioninthread"main"com.google.api.client.googleapis.json.GoogleJsonResponseException:400BadRequest{"code":400,"errors":[{"domain":"global","message":"Unabletoparserange:ClassData!A2:A4","reason":"badRequest"}],"message":"U

java - Google 电子表格 API,400 错误错误请求 : unable to parse range

我正在尝试使用电子表格示例访问Google电子表格。当我运行示例代码时,它运行良好。我只是更改SpreadsheetId和范围。它开始给我:Exceptioninthread"main"com.google.api.client.googleapis.json.GoogleJsonResponseException:400BadRequest{"code":400,"errors":[{"domain":"global","message":"Unabletoparserange:ClassData!A2:A4","reason":"badRequest"}],"message":"U

Spring Boot HTTP 400排查

背景前段时间朋友咨询他们公司某个HTTP接口偶现400错误,有没有什么好的分析方法和解决方案,使用的是SpringCloud体系。最近有时间总结下这个问题的处理过程。为了分析问题,笔者使用SpringBoot3.0.2还原报错场景进行讲解。问题分析从朋友反馈的情况看,返回400状态错误码的接口并不是一直出错,出错的概率在5%左右,得出并不是系统的错误,从状态码400来看是调用方出错了,请求头或者请求参数错误。从服务器上查tomcat的错误日志,找到类似下图的错误。从错误日志看到,调用方的请求头个数超过了Tomcat默认设置的个数(100个)。定位根据以上分析,需要在服务器上抓包,看调用方到底使

西门子S7-300/400的三种程序上传/下载方式

MPI下载协议MPI(协议)下载对应的电气口是485口(硬件)。需要用到USB-485西门子专用编程电缆。Profibus-DP下载协议DP(协议)下载对应的电气口也是485口(硬件)。同样需要用到USB-485西门子专用编程电缆。电气接口和MPI的485电气接口一样(有时候是同一个)。TCP/IP下载协议TCP/IP(协议)下载对应的电气口是网卡(RJ45)(硬件)。用到普通网线连接即可。举例例如:CPU315-2PN/DP300系列CPU,有两种口PN和DP口。PN对应网线口,支持TCP/IP下载协议。DP对应485口,支持MPI和·Profibus-DP两种下载协议。MPI下载过程软件配

spring - 在 spring-data-rest 中使用验证器返回 http 500 而不是 400

我正在尝试让spring-data-rest中的验证工作。从文档中您只需要提供一个验证器,我已经让它工作了,但是当验证约束被成功捕获/处理时,我会得到一个带有堆栈跟踪的500错误页面。在配置类RepositoryRestMvcConfiguration它有一个validationExceptionHandler,看起来它应该得到这样的验证错误以返回400而不是500。它也是一个延迟加载的bean。我的设置不正确吗?还是有其他方法可以让spring-data-rest返回400而不是500?我正在使用spring-data-rest2.0.0版本tomcat返回的堆栈跟踪:HTTPSta

spring - 在 spring-data-rest 中使用验证器返回 http 500 而不是 400

我正在尝试让spring-data-rest中的验证工作。从文档中您只需要提供一个验证器,我已经让它工作了,但是当验证约束被成功捕获/处理时,我会得到一个带有堆栈跟踪的500错误页面。在配置类RepositoryRestMvcConfiguration它有一个validationExceptionHandler,看起来它应该得到这样的验证错误以返回400而不是500。它也是一个延迟加载的bean。我的设置不正确吗?还是有其他方法可以让spring-data-rest返回400而不是500?我正在使用spring-data-rest2.0.0版本tomcat返回的堆栈跟踪:HTTPSta

基于开路电压+安时积分法估算锂电池SOC(一)

         SOC对于电池的寿命以及使用效率是至关重要的,对于锂电池的SOC估算,有很多种,开路电压、安时积分、卡尔曼滤波、神经网络等方法。卡尔曼滤波、神经网络训练这两种方法目前只是处于理论阶段,对于开发人员开发难度大。安时积分法、开路电压法这两种开发难度较小,是行业内普遍的两种SOC估算方法。    但是安时积分法、开路电压法这两种方法弊端也很明显。安时积分法即采用AH累积的方法,对动态的锂电池进行实时的SOC估算,这就对系统电流采集的精度要求非常高,如果误差大,AH累积的容量那必将跟实际容量误差大,导致SOC误差大。同时该方法对SOC初始值依赖非常高,每次充放电都必须充满至100%或

基于开路电压+安时积分法估算锂电池SOC(一)

         SOC对于电池的寿命以及使用效率是至关重要的,对于锂电池的SOC估算,有很多种,开路电压、安时积分、卡尔曼滤波、神经网络等方法。卡尔曼滤波、神经网络训练这两种方法目前只是处于理论阶段,对于开发人员开发难度大。安时积分法、开路电压法这两种开发难度较小,是行业内普遍的两种SOC估算方法。    但是安时积分法、开路电压法这两种方法弊端也很明显。安时积分法即采用AH累积的方法,对动态的锂电池进行实时的SOC估算,这就对系统电流采集的精度要求非常高,如果误差大,AH累积的容量那必将跟实际容量误差大,导致SOC误差大。同时该方法对SOC初始值依赖非常高,每次充放电都必须充满至100%或

ios - IPP 通过 HTTP : getting 400 bad request as a response

我在iOS上,我正在尝试发送HTTPPOST请求以通过充当IPP服务器的Mac在打印机上创建打印作业。我可以使用airprint正确打印,我现在正在尝试低级别,因为我需要将原始数据发送到打印机。关于我的代码:一切都是硬编码的。我仍在努力找出哪里出了问题,所以我只是处于开发/测试阶段。第一部分是关于IPP打印作业请求的二进制结构的定义(根据RFC2910规范,它应该是正确的)。chardata[239]={0x01,0x01,//IPPversion0x00,0x04,//Print-jobrequest0x00,0x00,0x00,0x50,//ArbitraryrequestID0x