C#工作相关

无锡先导项目eol检测设备

无锡先导项目eol检测设备
mes对接


1优化导出excel(加快导出)
2 北京新增界面嵌入
qyjz@DESKTOP-60TVBCT MINGW32 ~
cd /c/Users/qyjz/Desktop/软件框架 qyjz@DESKTOP-60TVBCT MINGW32 ~/Desktop/软件框架 git clone
http://192.168.1.231:10101/r/SafetyStandardFrame.git

  1. gitlib代码管理系统搭建
    导出检测报告excel优化
    手动界面继电器界面优化 (xml)
    软件闪退问题优化
    新增底层代码逻辑编写
    s71500 plc对接
    保定继电器问题修改 if (!CheckRelayComStatus()) return null;
    你保定电池包检测eol项目 eol 安规静态
    先导eol项目 2台
    春风动力eol项目 电机/ecu电机控制器检测 2台
    昂华中华国际项目现场出差调试
    泰州蜂巢安规静态eol项目 1台
    陕汽epc项目 电机/整车/高低压eol 3台
    北京售后中心项目演示代码合并和优化
    一汽解放高压线束项目 1 台
    上海君屹安规静态项目调试 1台


11.2 一汽项目远程调试
{

  1. 19053 通道添加
  2. bt3523 内阻仪 自动量程配置 AUT ON
  3. 19572 接地电阻线路问题排查 FAL 是四线制 三个线路通 1个不通
    }

陕汽车EPC
19073 模式设置不上 上下限量程配置偏大 设置量程数值偏大 代码--- 校验码方法报错误


11.1

拓斯达的软件设计说明书
利元亨软件设计说明书
拓斯达的模组软件设计开发
拓斯达&利元亨 模组采集检测系统
利元亨的软件设计图
https://www.processon.com/?utm_source=baidu&utm_medium=sem&utm_term=120476031232&utm_content=29214447710&uc_pagenum=1&uc_adposition=cl1&renqun_youhua=2184313&bd_vid=8762512271433439462 思维导图工具
底层框架开发
新增模组数量总数编辑
新增模组手动检测技术功能 设置模组序号 实现漏测 重测数据更新
新增汇总报表功能 (一行6个) 自动排序向下排序罗列功能
{
字典数组结构
赋值数据问题 ---- 对同一对象操作问题修改
生成mes数据结构
提前生成汇总报告功能 -- 生成之后复位 计数从1开始计数
控制模组计数是否计数功能
编辑当前序号功能 双击 编辑序号 从第几个序号开始计数
测试完成后提示漏测 是否生成汇总数据报告
加了一个右击查看显示汇总报告功能
}


11.12模组项目
-===========
10K 电阻 为 25度
1k电阻为2.5度
1欧姆电阻 = 0.0025设施度
遇到问题:ntc 采集器 需要输入0-5V 电压 获取报文
020mA、420mA、0±1A、0±5A可选
0~±75mV 、0~±100mV、 0~±150mV可选
0±5VDC、0±10VDC、0~±500VDC可选
日志优化 在自动列表内右击显示日志
IO继电器板 串口通讯软件优化
zlg底层优化 软件闪退问题 添加防错接收

利元亨:
1, 拓斯达
扫码一个通道 扫码一次 启动弹框一次 18个模组 6个单体 {实时显示电压 电流 温度 画界面 待定}
仪器底层逻辑编写 34980A 底层代码
手动模组检测逻辑计数 {应用数据结构 字典套数组 定制 漏测、重测、生成汇总数据报告}

整车控制器 资料
1.VCU CAN通讯协议 整车CAN报文上报
测试功能及测试项 :例如:VCU休眠唤醒报文、手刹信号报文、油门踏板信号采集报文、制动踏板信号采集报文、空调ac开关信号采集报文、等等通讯信号采集相关报文
文档

  1. UDS诊断协议相关 (例如 :读取软硬件版本号)
    3 DTC信号相关文档

电机控制器 资料
1 .CAN通讯协议报文文档 { 测试功能及测试项 例如 : ECU 唤醒休眠指令报文、}

  1. UDS 诊断协议相关(例如 :读取软硬件版本号)
    3 DTC信号相关文档

光束项目 BMS刷写项目

遇到问题:ntc 采集器 需要输入0-5V 电压 获取报文
020mA、420mA、0±1A、0±5A可选
0~±75mV 、0~±100mV、 0~±150mV可选
0±5VDC、0±10VDC、0~±500VDC可选
日志优化 在自动列表内右击显示日志
IO继电器板 串口通讯软件优化
zlg底层优化 软件闪退问题 添加防错接收遇到问题:ntc 采集器 需要输入0-5V 电压 获取报文
020mA、420mA、0±1A、0±5A可选
0~±75mV 、0~±100mV、 0~±150mV可选
0±5VDC、0±10VDC、0~±500VDC可选
日志优化 在自动列表内右击显示日志
IO继电器板 串口通讯软件优化
zlg底层优化 软件闪退问题 添加防错接收
{
CAN/CANFD 区分
对比传统CAN数据帧,CAN FD共享相同的CAN ID,包括扩展数据帧的ID。
CAN FD用RRS bit(始终为显性位‘0’)代替RTR。
FDF(FD format)表示CAN FD还是传统CAN数据帧:
· FDF – ‘0’ --> 传统CAN数据帧
· FDF – ‘1’--> CAN FD数据帧
BRS(Bit Rate Switch)表示时钟频率的切换:
· BRS – ‘1’-->时钟频率切换
ESI(Error State Indicator)表示CAN总线的错误状态。

  1. DLC控制域(control Field)
    DLC用于表示数据帧的数据长度。并且支持传统CAN 数据帧的编码方式
    CAN总线由于位填充规则对CRC的干扰,造成错帧漏检率未达到设计意图。CAN FD对CRC算法做了改变,即CRC以含填充位的位流进行计算。在校验和部分为避免再有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码。作为格式检查,如果填充位不是上一位的反码,就作出错处理。CAN FD的CRC场扩展到了21位。
    对比传统CAN的数据帧,CAN FD在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式、新的CRC算法(CRC场扩展到21位)。
    帧类型,标准帧为0;扩展帧为1
    ///功能描述:根据帧类型生成CANID CANID
    ///编写描述:youchao_2020.09.22
    /// </summary>
    /// <param name="id">ID</param>
    /// <param name="eff">帧类型,标准帧为0;扩展帧为1</param>
    /// <param name="rtr">远程帧</param>
    /// <param name="err">错误帧</param>
    ====
    https://blog.csdn.net/qq_41256212/article/details/95080176 相关资料

========================================================================================

其中CAN ID标识这具体ECU的识别号,长度有11位和29位之分,具体看OEM在诊断需求规范中定义。数据库携带数据长度看是Classical CAN还是CAN FD。前者数据域长度是8 bytes。CAN FD数据域长度看OEM需求,范围在8 bytes---64 bytes,当然长度也不是任意选取,可参看如下表格:

8的字节 进行数据解包 发送 组包 FF FC CF

00前四个 00 后四
can canfd
4种帧
单帧 多帧
首帧 - > 请求 连续帧 - > 流控帧

CAN帧最长是8位
高4 bits为0标志是单帧,低4 bits值定义帧长度
00 00 00 00 是单帧 低4个位 00 00 00 00 是帧长度
对于单帧 数据长度大于8个字节(CANFD)第一个字节为0 第二个字节数值标志着此单帧数据长度
一个CAN-FD帧的数据域中可能存在的字节数量为1-8, 12, 16, 20, 24, 32, 48 ,64。数据长度由帧格式中的DLC字段决定。在DLC从0到8时,DL(数据长度)值也是从0到8逐渐加1增长。但是对于DLC大于8的情况,CAN将所有DL都当作8处理,CAN-FD的DL与DLC的对照关系如下表所示。

https://zhuanlan.zhihu.com/p/265267741 //相关资料
}
======================================================================================== {
11.16
RSA 加密解密过程
加密 - > 字符串明文 -> 通过Encoding指定不哦那个的代码页,把字符串转成不同代码页对应的编程,表现未byte[] - > byte[] 字节流明文->加密操作- >密文byte[]
解密 字符串明文->使用加密时Encoding使用的代码页,把byte[] 形式的明文转换成适当字符串明文->byte[]字节流明文->pfx证书 -加密操作 -密文byte[]
/// RSA加密
/// </summary>
/// <param name="publickey"></param>
/// <param name="content"></param>
/// <returns></returns>
public static string RSAEncrypt(string publickey, string content)
{
publickey = @"<RSAKeyValue><Modulus>5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] cipherbytes;
rsa.FromXmlString(publickey);
cipherbytes = rsa.Encrypt(Encoding.UTF8.GetBytes(content), false);

        return Convert.ToBase64String(cipherbytes);
    }

    /// <summary>
    /// RSA解密
    /// </summary>
    /// <param name="privatekey"></param>
    /// <param name="content"></param>
    /// <returns></returns>
    public static string RSADecrypt(string privatekey, string content)
    {
        privatekey = @"<RSAKeyValue><Modulus>5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=</Modulus><Exponent>AQAB</Exponent><P>/hf2dnK7rNfl3lbqghWcpFdu778hUpIEBixCDL5WiBtpkZdpSw90aERmHJYaW2RGvGRi6zSftLh00KHsPcNUMw==</P><Q>6Cn/jOLrPapDTEp1Fkq+uz++1Do0eeX7HYqi9rY29CqShzCeI7LEYOoSwYuAJ3xA/DuCdQENPSoJ9KFbO4Wsow==</Q><DP>ga1rHIJro8e/yhxjrKYo/nqc5ICQGhrpMNlPkD9n3CjZVPOISkWF7FzUHEzDANeJfkZhcZa21z24aG3rKo5Qnw==</DP><DQ>MNGsCB8rYlMsRZ2ek2pyQwO7h/sZT8y5ilO9wu08Dwnot/7UMiOEQfDWstY3w5XQQHnvC9WFyCfP4h4QBissyw==</DQ><InverseQ>EG02S7SADhH1EVT9DD0Z62Y0uY7gIYvxX/uq+IzKSCwB8M2G7Qv9xgZQaQlLpCaeKbux3Y59hHM+KpamGL19Kg==</InverseQ><D>vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30=</D></RSAKeyValue>";
        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
        byte[] cipherbytes;
        rsa.FromXmlString(privatekey);
        cipherbytes = rsa.Decrypt(Convert.FromBase64String(content), false);

        return Encoding.UTF8.GetString(cipherbytes);
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容