[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

C#读写锁ReaderWriterLockSlim

这篇文章向大家介绍了读写锁ReaderWriterLockSlim,其优点就是多个线程可以同时读取该对象,要了解更多读写锁的知识,仔细阅读下文吧读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用loc...

C# 勇哥关于多线程读写plc内存的研究

勇哥注: 多线程读写非全双工的硬件资源,是个实现比较困难的任务。 有不服气的同学可以尽管一试。我们说一个硬件如果是全双工,则表示它的读写是两个信道,可以同时进行。但是像很多品牌的plc,一般是不能全双工进行通讯的;另外还有串口,我们也不能全双工通讯。如果你的系统只有一个串口,你如何做到能让多线程读写呢?这要求你写的代码能实现: 多线程可同时访问,但是取得结果是分时取得。 读写功能必须互斥。每...

使用VS的性能分析工具来分析代码的性能瓶颈问题(2) 内存使用率

勇哥注: 一般我们通过使用windows的任务管理器来分析软件的性能问题。 通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、 暴句柄、吃cpu等等问题。 这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。 因此此篇我与大家共同学习。这一篇讲“内存使用率”工具。先提供一段存在内存泄露的代码。 private void button2_C...

使用VS的性能分析工具来分析代码的性能瓶颈问题(1) CPU采样

勇哥注: 一般我们通过使用windows的任务管理器来分析软件的性能问题。 通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、暴句柄、吃cpu等等问题。 这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。因此此篇我与大家共同学习。(一)先看下怎么启用vs的性能分析工具。首先,调试菜单选择“性能探查器"。点击 之后会出现下面的界面。这...

C#中只使用Invokerequired来判断是不是UI线程可靠吗?

今天遇到一个C#的Crash,用windbg打开dump,加载sos之后一看,在4号线程出了一个System.InvalidOperationException,在这个地址上调用!pe。可以看到如下的异常信息:12345Exception object:Exception type: System.InvalidOperationExceptionMessage: The calling thre...

C# 勇哥关于winform.Show() ,winform.ShowDialog() 窗体卡死、显示阻塞、无法置顶问题的研究

勇哥注: 一个winform窗口,被Show()后是非模态窗口,被ShowDialog()是模态窗口,这个知识是无人不晓的。 但是,有些时候,会产生弹出窗口卡死、阻塞显示、无法置顶的诸多问题。 这一篇和勇哥一起研究一下这些现象。先来看下现象:下面的form是由Show()方法弹出来的。屏幕产生了阻塞显示的现象。看下任务管理器,提示这个弹出winform是“无响应”的。如果你此时去操作调用者的...

C# Win32API.SendMessage在用户模式下发送无效的解决办法

Win32下的windows API SendMessage,在用户模式下发送是无效的。现象就是你怎么发送,对方的程序就是收不到。窗口句柄什么的、程序都没问题的。这个时候,你得把C#程序系统用户级别提升为windows管理员级别,才可以解决问题。方法是在你的引导工程这边,引入app.mainifest进行windows账号配置这个文件打开后,是下面这样的:我们只需要按提设置下面这句: <r...

C# 勇哥的datagridview控件杂记,一网打尽全部常用知识点

勇哥注: C#的 DataGridView控件功能强大。许多知识点会常用常忘记,在这里做个记录吧,以方便查询。 阅读此文需要你对此控件有初步的认识。 另外一点,不要以为它只是用于显示数据的表格,要打破这种认知。未完待续。。。。(十) DataGridViewButtonColumn 怎么设置显示内容。2022/11/16 添加:DataGridViewButtonColumn 是按钮项。用下...

C# BackgroundWorker组件的介绍

勇哥注: BackgroundWorker是标准的更新软件界面的一个组件。 它可以用于软件启动界面、刷新IO表、刷新界面硬件实时数据、相机的实时采集模式等等这样的应用中。 这些应用的特点就是后台执行一组耗时操作,而ui又需要实时更新后台操作的进度或者结果信息。 此组件常用常忘,因此留文备查。一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用B...

C# windows 线程 cpu占用率 cpu时间的杂谈

此篇是勇哥的随记,很多疑问,和猜测,可能不准确,但是网上也搜不到相应的资料。各位看客如果发现有问题请指正。。。。(图1)今天发现我开发的通用运动软件,在一台比较差的电脑配置上面。cpu占用率为0, cpu时间基本不动。然而在一台i9电脑上面,此电脑比较牛B,是可以用来做深度学习的。同样跑通用运动软件。cpu占用率在2%-4%, cpu时间跟北京时间的秒数差不多快。勇哥一直以为,同样的软件,cpu越...

代码重构读书笔记(C#代码演示) 第一章

由于原书是基于java,这里勇哥改为C#版本。先引入第一章的开篇例子。需求如下:需求: 影片出租,计算每一位顾客的消费金额并打印详单。 操作得告诉程序:顾客租了哪些影片、租期多长,程序便根据租赁时间和影片类型计算出费用。 影片分为三类:普通片、儿童片和新片。 除了计算费用,还要为常客计算积分,积分会根据影片种类是否新片而不同。 Movie 影片类 Rental 租赁类 Cu...

C# DataGridViewComboBoxColumn进行动态赋值

C#的 datagridView控件功能强大其中单元格类型可以是按钮、下拉框、选择框、文本框。做为选择框时 即单元格为 DataGridViewComboBoxColumn 类型。这种类初始化时设置内容是容易的,如下: DataGridViewComboBoxColumn MotionMethodList = new DataGridViewComboBoxColumn(...

向日葵远程控制软件 被禁止传送文件后怎么办?

如下图所示,我们在远程端看到设置为“禁止传送文件”。然后你拼命鼠标点击这个图标,想取消禁止,但是没用,这个图标根本不响应鼠标的动作。网上根本找不到答案是吧。勇哥告诉你吧!先鼠标点一下这个图标,然后按空格键就行了!...

TreeViewAdv控件为啥添加根节点看不到内容

正常的添加根结点的效果如下:但是勇哥使用时是这样的其原因是没有指定显示内容的属性。TreeViewAdv控件的显示内容包括: 选择框、文件夹图标、textbox控件你得先指定这些要显示的对象的属性演示代码:using Aga.Controls.Tree; using System; using System.Collections.Generic; using System.Componen...

用vs编译lua详解

lua的官网: www.lua.org 官网可以看到,你即可以下载源码,也可以下载编译好的文件。勇哥这里下载的是5.3.51. 打开vs2017, 创建c++的空项目2. 在项目上右键,浏览到项目的目录把lua源码src目录下的文件全部复制过来。不要取消选择,把这批文件拖放到项目名字lua535上面松手。拖动完成后,vs会自动把文件按头文件和源文件进行分类放好了。3. 按键盘f6进行编译,会出现...

netMarketing库的tcp/ip客户端与服务器端类:SocketLibrary

版本要求: netMarketing1.4.0命名空间:netMarketing.Net.SocketLibrary客户端调用示例:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace S...

雷塞DMC1000S卡的配套接线端子排

勇哥画电路图里,有台设备使用了雷塞的DMC1000S卡,因为设备已经出机了,所以忘记了其接线端子是怎么样子的。查了一下资料,问了一下雷塞的人,记录一下。X1的接线板型号是ACC68C:j1的接线板型号是: Acc37_7480j2的接线板型号是: ACC37-74ENC这个卡是个简单便宜的四轴卡,所以连说明书都从简了。例如手册中都没有讲x1, j2 配的接线端子是什么型号。------------...

C# 内嵌脚本的研究(二)在C#与Lua相互调用

引言: 勇哥想研究一下C#内嵌脚本的知识。 主要想把运动控制、视觉的一些功能封装成指令,用脚本语言进行调用。 就像机器人的vb语言,它就是把一些功能封装成指令进行调用。例如lua可以扩展nginx的功能,直接访问MySql数据库,达到1000k的访问量级别。另外,Lua也是可以扩展游戏的功能,即做游戏外挂。一、利用LuaInterface调用lua代码1、下载luainterface,这...

C# 内嵌脚本的研究(一)C# codeDom

引言: 勇哥想研究一下C#内嵌脚本的知识。 主要想把运动控制、视觉的一些功能封装成指令,用脚本语言进行调用。 就像机器人的vb语言,它就是把一些功能封装成指令进行调用。CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧。DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了。如果你从来没接触过 CodeDom,你大概可以根据这个名字,推断...

vs工程属性 输出路径 怎么填写?

这个输出路径很多小伙都不知道怎么填写。其实很简单。你记住:先点“浏览” 看下当前的位置然后准备填写自己想要的相对路径串,其中: ..\ 是上一级 .\是下一级然后你判断是上一级还是下一级,然后添入路径串。例如勇哥输入的是 ..\..\dll\ 指的是当前位置的上一级的上一级的dll目录下面。输入完路径,按“浏览”,可以随时看到位置是不是你想要的位置,不是的话就改动路径串,重复这个过程...

C#中路径表示\ 和 /

一直以为在路径表示中应该为\ 实际上/也是可以的,勇哥还一直以为/的表示是halcon中专用的。 惭愧!! moduleDir="ModuleObjectConfig\\LinearModule" 其实可以表示为 moduleDir="ModuleObjectConfig/LinearModule" Directory.Exi...

深度学习的发展历史

本篇给大家介绍神经网络的发展史。了解神经网络的发展史可以帮助我们更好的学习深度学习, 更清楚的把握深度学习的发展方向。 了解深度学习的历史,首先要了解深度学习的几个重要事件。 首先是1943年神经网络被提出,提出神经网络的是心理学家麦卡洛克和数学逻辑学家皮兹, 他们在论文神经活动中内在思想的逻辑演算中提出了神经网络模型,描述了一个基于神经网络的数学模型, 从此为神经网络打开了一个新时代。...

运动控制之计算运动速度、脉冲当量(二):伺服电机的速度

伺服驱动器速度怎么计算呢?电子齿轮在伺服控制中设定是非常重要的,勇哥来解答一下: 伺服驱动器速度怎么计算1:速度=导程*(编码器分辨率/母/分子*脉冲速度) 2:导程:就是电机转动一圈物体的位移量 3:编码器分辩率:这一个是定死了的,就是电子齿轮1:1的时候转动一圈需要脉冲,也就是编码器会产生多少的脉冲 4:脉冲当量:你发一个脉冲物体会移动多少位置 它又等于 导程*(编码器分辨率/母/分子)电子...

雷塞板卡和伺服驱动器接线详解

勇哥注: 做为一个上位机工程师,是不是经常求爷爷告奶奶找人焊轴的信号线? 而且你让别人焊什么,也得提出需求,电气那边多以焊plc用到的信号线为主, 对于运动板卡的一些需求是不明白的。 你得手把手告诉别人端口怎么接。 所以为了方便自己,还是扫下盲吧,充实下这方面的技能。雷塞DMC3000系列卡的25ping轴接口线缆引脚功能表:汇川sv660p,is620p的cn1端子引脚示意:手持端子,...

运动控制之计算运动速度、脉冲当量(一):伺服电机移动距离的计算

勇哥注: 一直以来对电机的速度、距离的计算比较模糊。 感觉应该是机构选型的事,但实际上总被客户问到:“你们这轴跑多少mm/s?“ 如果拿运动控制卡的运动参数来回答,”最大速度12万脉冲,加减速度0.1s“,客户会不知所云。 其实我也不知道自己说的是什么,因为这只是运动api的参数。 因此记录一下这方面的知识吧!伺服电机移动距离的计算某伺服电机编码器每转2500个脉冲,额定转速为3000r...

C#中统计图控件的使用(ZedGraph)

开源的统计图控件中基本常用的是OpenFlashChar和ZedGraph,今天就先来讲讲ZedGraph的使用。ZedGraph资源ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675ZedGraph相关例子资源:http://zedgraph.org/wiki/index.php?title=Sample...

C#编写运动控制:自定义回原(五) 验证自定义回原精度,并提出解决方案

勇哥注: 设备的动作可以是plc,或者是运动控制来完成。 后者是一台工业电脑配上运动板卡来完成。 在有些工厂里,可能由客户喜好更喜欢用运动控制(比如富士康的苹果客户, 因为PC机和工厂的生产系统进行通讯要更方便一些,并且对视觉的配合要更好些)。 基于IPC和windows的运动控制,可靠性是没有plc好的。 因为plc相当于是一个专用小系统,并且是实时扫描的。可靠性是相当高。 但是P...

C# netMarketing类库编写视觉+运动测试框架(二) 为视觉类添加配置面板并保存设置

勇哥注: 趁着需要测试运动回原的精度,加上本来需要编写netMarketing类库的应用教程, 那就顺手发一个制作视觉+运动测试框架的系列教程吧。 网上的netMarketing类库是1.3.0,这个版本需要使用halcon12.0勇哥在演示的时候用 的netMarketing版本比这个高, 这个版本还没有发布,使用的是halcon19.11。 所以下载文章源代码的朋友,注意halco...

C# netMarketing类库编写视觉+运动测试框架(一) 构建可停靠多窗体界面、加入视觉窗体和基础视觉功能

勇哥注: 趁着需要测试运动回原的精度,加上本来需要编写netMarketing类库的应用教程, 那就顺手发一个制作视觉+运动测试框架的系列教程吧。 网上的netMarketing类库是1.3.0,这个版本需要使用halcon12.0 勇哥在演示的时候用的netMarketing版本比这个高,这个版本还没有发布,使用的是halcon19.11。 所以下载文章源代码的朋友,注意halcon版...

C#编写运动控制:自定义回原(四) 完善回原功能

勇哥注: 设备的动作可以是plc,或者是运动控制来完成。 后者是一台工业电脑配上运动板卡来完成。 在有些工厂里,可能由客户喜好更喜欢用运动控制(比如富士康的苹果客户, 因为PC机和工厂的生产系统进行通讯要更方便一些,并且对视觉的配合要更好些)。 基于IPC和windows的运动控制,可靠性是没有plc好的。 因为plc相当于是一个专用小系统,并且是实时扫描的。可靠性是相当高。 但是P...
会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864