美文网首页
C#工作相关

C#工作相关

作者: J_HX | 来源:发表于2021-11-16 09:44 被阅读0次

无锡先导项目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);
    }

}

相关文章

  • C#工作相关

    无锡先导项目eol检测设备 无锡先导项目eol检测设备mes对接 1优化导出excel(加快导出)2 北京新增界面...

  • C# 搭建一个简单的WebApi项目

    WebApi相关文章: C# 搭建一个简单的Web API项目 C# WebApi 路由配置 c# WebApi之...

  • 2017年度.C#学习规划.初步

    1.目标书籍:学习完这四本C#的书之后不再购买C#开发的相关书籍 《C#多线程编程实战》, 《C#并行编程高级教程...

  • winform软件使用授权资料

    基于C# winform 开发的 windows桌面应用 (根据自己的需求选择) C#授权实现相关文档 设置...

  • 2018-09-20

    c#工作岗位调研 技术支持 岗位职责: 按照项目要求,负责项目相关开发工作。根据设计文档或需求说明完成代码编写,调...

  • c#-网络编程,聊天工具

    c#的网络编程比较简单,有相关的类来实现相关的功能。 本小程序是<>里面的。 基本的类介绍 tcp...

  • dstat简介

    -c:显示cpu相关信息 -C#,#,...,total -d:显示disk相关信息 -Dtotal,sda,sd...

  • Allen Kashiwa的游戏开发信息

    1 基础知识与通用技能 1.1 语言相关 1.1.1 C/C++ C++ Primer 1.1.2 C# C# 编...

  • C#统计C、C++及C#程序代码行数的方法(所有代码行数,空行数

    该文主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具...

  • unity & C#相关

    事件和委托 C#事件和Unity3d - CSDN博客 Unity常用的函数和遇到的C#的知识整理 Unity常用...

网友评论

      本文标题:C#工作相关

      本文链接:https://www.haomeiwen.com/subject/tlxhtrtx.html