project joee 开发日志 10.12
发表于|更新于|开发日志
|浏览量:
文章作者: Awei
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 阿伟又在打电动!
相关推荐

2022-10-15
project joee 开发日志 10.15
需求 具体描述 (待)实现方式(/思路) 不同相机工作状态指示灯 字母代表不同的相机,相机工作对应的指示灯变为绿色 采集卡API检测相机状态 查阅采集卡的开发文档,对应API 12345678910111213141516171819202122232425262728293031IKapGetCameraStatus 获取当前相机状态c++:int IKapGetCameraStatus(HANDLE hDev, int* npValue)对应c#:int IKapGetCameraStatus(IntPtr hDev, ref int npValue);参数说明hDev 设备句柄npValue 相机当前状态返 回 值0:调用失败1:调用成功说 明用户可以在任意时刻调用该函数查询当前相机状态判断采集发生异常的原因。如果返回 0 或相机状态 npValue 为 0xFFFFFFFF,则采集卡获取相机信号失败,用户可以在间隔一段时间后(e.g.100ms),重新调用该函数获取相机状态。相机状态 npValue 可能是下列比特位的异或组合:0x00000001:...

2022-11-20
project joee 开发日志(十三)——DebugConsole实现插件参数的加载和修改
由于修改了参数配置的实现,Debug Console中加载配置参数会出现问题,因此需要修改相应的逻辑实现。 实现思路 在onload()事件中(执行onload的时候所有插件都已经完成初始化init(),所以会在对应的Attributes中包含需要保存的参数),读取主程序和各个插件的 Attributes,然后找出bool类型的变量,将其加入到开关字典switches<string,object>中,并且根据读取到的变量列表 l_MainWnd、l_cfg、l_plugin 来生成checkbox控件,最后定义其点击事件,在事件中将对应键值与checkbox的 Checked属性进行绑定,最终实现点击选择框修改对应的变量。 该思路的核心部分在于读入插件参数并创建控件的过程,其实现如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243//根据反射获取属性字典 动态添加开关控件private void CreateContorls(Form f) { ...

2022-11-02
project joee 开发日志(九)——相机增益和灯光控制插件
在SerialDevice插件中添加相机增益和光照自动控制功能 以下为实现方式 首先定义串口设备抽象类,为该类设置基本属性和构造函数 12345678910111213141516171819202122232425262728293031323334353637class SerialDevice{ //串口设备 public SerialPort serialPort; public ModbusSerialMaster master; //串口参数 public string portname; public int baunrate; public int databits = 8; public Parity parity = Parity.None; public StopBits stopbits = StopBits.One; //设备参数 public string DeviceName; public SerialDevice() { serial...

2022-11-18
project joee 开发日志(十二)——灯光控制器的添加以及插件参数自动保存
1. 存在的问题 当前只能对一个灯光控制模块进行控制,但是由于产线中的灯光有两组,需要对两个灯光控制模块同时控制,因此需要对插件 PluginAlarm 的 Plugin.cs 进行修改。以及目前插件中的参数并不能实现自动保存,只有手动在 config.cs 代码中添加相应项才能实现对应参数的保存和读取。 2. 思路 2.1 灯光部分: 在插件代码中添加灯光控制器的对象,并且在增益算法中添加对新增灯光调整。 2.2参数保存部分: 每个插件都存在Attributes用于存储当前插件下的控制参数,同时在config.cs 中定义Settings类用来辅助存储插件的控制参数和主程序的控制参数。然后由config模块实现运行时Settings装载,Settings实例在保存过程中会被序列化为json字符串,然后保存到本地配置文件中,而在读取时会反序列化本地配置文件生成运行时Settings实例,当配置文件不存在时,会根据生成默认值的配置文件,当本地配置文件中没有对应的配置项时,会使用预先输入的字段作为默认值。 3. 实现 3.1 灯光 在对应控件的Plugins.cs中 12345678...

2022-10-19
project joee 开发日志(七)——数据相关问题
需求 具体描述 (待)实现方式(/思路) 图表添加切割线条 添加横向线条来指示每次换卷的截断位置 换卷事件中添加相应处理,并且使用图表控件的对应方法画出线条 先前添加了插件中的换卷事件处理。 换卷的处理函数中修改了数据库,而当该函数被外部插件(监听串口的线程)或者用户按钮事件调用时,如果任务不是处于暂停状态,会与数据处理线程的插入行函数(InsertRow)产生冲突,两个线程会在相近的时间内访问数据库连接对象,相应的打开和关闭数据库过程会产生异常。 因为涉及到委托调用数据库更新操作,在主程序对数据库进行操作时,可能会出现冲突的情况,因此需要加上数据库的访问锁 12//数据库访问互斥readonly static object _locker_db = new object(); 在创建数据库之后的所有对数据库操作添加如下互斥访问方式 12345//互斥访问数据库对象lock (_locker_db){ do();} 在主程序进行数据库插入时进行检测是否换卷 ++以上操作无效。++ 经过大量debug跟踪发现,出现异常的原因为数据库连接Db...

2022-12-29
PaddleX在Windows平台的部署
本文基本参照 PaddleX官方部署方式, 只进行paddlex模型的c#端部署和验证,而不进行模型的训练相关操作。 info 目前已经具备的CUDA环境和cuDNN环境情况123456C:\Users\cy\paddle_deploy>nvcc --versionnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2022 NVIDIA CorporationBuilt on Tue_May__3_19:00:59_Pacific_Daylight_Time_2022Cuda compilation tools, release 11.7, V11.7.64Build cuda_11.7.r11.7/compiler.31294372_0 cudnn_version.h中 123#define CUDNN_MAJOR 8#define CUDNN_MINOR 6#define CUDNN_PATCHLEVEL 0 当前CUDA版本:11.7,cuDNN版本:8.6.0 需要根据实际情况进行多CUDA...
评论
公告
这里主要记录 AI / HPC / LLM 论文阅读、模型部署实践和一些项目开发日志。
