随笔分类 -  C#

C#,和博图有关的API,上位机
摘要:1. 基础概念 前段时间一直在看设计模式的基础概念,总结起来其实也就是一些老生常谈的各种原则和定义,初看这些原则和定义实来枯燥乏味,但是一番实践之后,却又发现它们简练而不失准确性,故贴在笔记开头,方便随时对照: - 目标:高内聚,低耦合/复用性高(一些相互关联的方法就应该放一个类里面,叫高内聚;类与 阅读全文
posted @ 2024-10-17 14:14 你要去码头整点薯条吗 阅读(86) 评论(0) 推荐(0)
摘要:用取消令牌取消Task CancellationTokenSource:取消令牌 cancellationTokenSource?.Cancel();:其中?表示判断cancellationTokenSource是否为null,如果不是null才取消,否则会造成找不到实例的异常 当!cancella 阅读全文
posted @ 2024-09-25 16:18 你要去码头整点薯条吗 阅读(82) 评论(0) 推荐(0)
摘要:背景:需要一个鸭子类,包括绿头鸭,红头鸭,橡皮鸭等等,他们具有叫声,飞行,外貌长相等特性。 1. 先做一个不那么恰当的例子 //1.先做一个Duck class public abstract class SimUDuck { void quack() { Console.WriteLine("鸭子 阅读全文
posted @ 2024-09-23 23:18 你要去码头整点薯条吗 阅读(59) 评论(0) 推荐(0)
摘要:1. 背景: 项目中遇到一个串口设备,通过调用它自带的.dll动态链接库通信,最开始在.net framework4.7.2的框架下设备能返回数据(正常通信)。但是换到.net 6.0的框架后,可以运行(没有报错),但是不能得到设备返回的数据了。 2. 错误的解决思路: 当时觉得是框架的问题,反编译 阅读全文
posted @ 2024-09-06 13:28 你要去码头整点薯条吗 阅读(80) 评论(0) 推荐(0)
摘要:1. Winform如何实现简单绘图 如果想要自己画一个圆,矩形或者其他图形,可以使用控件或窗体自带的Paint事件,在事件中引用Graphics对象; 也可以使用某个窗体或者控件的CreateGraphics方法 需要引用using System.Drawing.Drawing2D;(要画3D就用 阅读全文
posted @ 2024-09-05 22:57 你要去码头整点薯条吗 阅读(382) 评论(0) 推荐(0)
摘要:参考资料:看懂类图和时序图 案例: 车的类图结构为<<abstract>>,表示车是一个抽象类; 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示; 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示; 小汽车与发动机之间是组合关系 阅读全文
posted @ 2024-09-01 23:15 你要去码头整点薯条吗 阅读(314) 评论(0) 推荐(0)
摘要:1. 背景 在PLC里一直以来的工程经验里面。如果想要做一个顺序控制(业务逻辑): 用Graph实现 用Csae..Of分支跳转语句 用int数的变化切换不同的执行语句 下面一种一种的来看,先看看使用int数切换实现一个顺序控制的案例: 在这个案例(代码片段)里面,程序扫描currrent_step 阅读全文
posted @ 2024-08-29 17:06 你要去码头整点薯条吗 阅读(727) 评论(0) 推荐(0)
摘要:1. 值类型 常见的值类型:int/long/short/byte/float/double/bool/char/Struct(用户建立的结构体通常是值类型的)/Nullable Types(这是一个特殊的值类型,表示一个正常值或者空,比如int?) 值类型的例子: int a=10; int b= 阅读全文
posted @ 2024-08-23 16:25 你要去码头整点薯条吗 阅读(126) 评论(0) 推荐(0)
摘要:1. 背景 需要创建多个不同结构的结构体,依据输入的int数来选择并返回确定且唯一的结构体实例,并且实现把结构实例映射成一个字典(键值对)格式用来输出到richtextbox. 2. 结构体的初始化 一个最基本的结构体格式如下: //rwd im0 public struct rwdim0 { pu 阅读全文
posted @ 2024-08-20 13:06 你要去码头整点薯条吗 阅读(126) 评论(0) 推荐(0)
摘要:1. Task/thread/sync/async..await/WhenAll 相关基础知识参见此处链接 2. 什么是AutoResetEvent和ManualResetEvent事件 他们都是C#中System.Threading下面的类。用于在多个线程之间进行事件通知和管理。 他们的管理方法主 阅读全文
posted @ 2024-06-13 13:34 你要去码头整点薯条吗 阅读(320) 评论(0) 推荐(0)
摘要:相机型号: 修改IP 点开MVS软件后,左侧GigE会出现网卡的静态IP,如图 想要修改相机IP,首先需要修改电脑的网络设置,设置成自己想要的IP段 修改好之后,相机的图标会变为黄色感叹号,表示不能连接 此时双击相机,则可设置IP(IP段始终和电脑网卡的IP段保持一致,不能跨段设置) 查看已经保存进 阅读全文
posted @ 2024-05-31 16:26 你要去码头整点薯条吗 阅读(4427) 评论(0) 推荐(0)
摘要:从一个开源程序,学习access和sql serve在C#中的应用 1. 背景 近来想看看怎么实现数据库的连接,在github上找到一个开源的记账项目,仅供学习使用。 项目使用了一个access数据库,做用户登陆,保存登陆数据 .mdb:access数据库文件 登陆成功之后,项目新建了一个sql s 阅读全文
posted @ 2024-05-20 13:18 你要去码头整点薯条吗 阅读(139) 评论(0) 推荐(0)
摘要:1. 添加用户组用户 2. 导入openness.dll文件 .dll文件位置C:\Program Files\Siemens\Automation\Portal V19\PublicAPI\V19 添加项目引用 引用的命名空间 using Siemens.Engineering; 2. TIA P 阅读全文
posted @ 2024-05-09 13:46 你要去码头整点薯条吗 阅读(779) 评论(0) 推荐(0)
摘要:1. 安装 这是个基于S7协议的开源协议 2. 引用 using S7.Net; 3. 创建PLC对象 internal class s7net_lib { //idenfy basic link params private string plc_ip; private CpuType plc_t 阅读全文
posted @ 2024-05-08 21:26 你要去码头整点薯条吗 阅读(954) 评论(1) 推荐(2)
摘要:1. 基于C#的数据交互 A. 用静态变量存储PLC的交互数据 UI和PLC变量如下: 新建static类 internal static class data_yamltest_exchange { public static byte byte_var; public static short 阅读全文
posted @ 2024-05-08 17:20 你要去码头整点薯条吗 阅读(757) 评论(59) 推荐(0)
摘要:方法如下: //file storage function public bool txt_file_generate(Dictionary<int, string> dic_val) { FolderBrowserDialog my_diaglog = new FolderBrowserDialo 阅读全文
posted @ 2024-05-07 16:19 你要去码头整点薯条吗 阅读(76) 评论(0) 推荐(0)
摘要:1. 建立DataTable 类型 DataTable my_accurdt; my_accurdt = new DataTable(DateTime.Now.ToString("yMMddHHmm") + "_AccurData"); 2. 创建DataTable的列和行 //列 my_accur 阅读全文
posted @ 2024-05-07 16:13 你要去码头整点薯条吗 阅读(388) 评论(0) 推荐(0)
摘要:案例所创建的.cs如下: 1. OOP --Object Oriented Programming 实例化类 baseclass bc = new baseclass(); subclass sc = new subclass(); bc.Func(); sc.Func(); 里氏转换 子类对象可以 阅读全文
posted @ 2024-05-07 15:07 你要去码头整点薯条吗 阅读(48) 评论(0) 推荐(0)
摘要:整体UI backgroundwork事件 它用于在单独的后台线程上执行耗时的操作,而不阻塞UI线程 创建backgroundwork // backgroundworker_Dowork事件 // (object sender,EventArgs e)具体表示什么意思? //Sender是事件源, 阅读全文
posted @ 2024-05-07 14:08 你要去码头整点薯条吗 阅读(214) 评论(0) 推荐(0)
摘要:1. Single thread 单线程效果,线程卡顿 // 单线程效果 private void button1_Click(object sender, EventArgs e) { //总耗时3+5=8秒 Thread.Sleep(3000); MessageBox.Show("单线程延时三秒 阅读全文
posted @ 2024-05-07 13:56 你要去码头整点薯条吗 阅读(63) 评论(0) 推荐(0)