- 博客(31)
- 资源 (21)
- 收藏
- 关注
原创 CODESYS (V3.5 SP12 Patch)简单应用 第 2篇之单轴简单使用CFC+ST代码(硬件:长沙赛搏机器智能MIC7001总线控制器+松下A6BE总线驱动器)
1、接下来写单轴驱动的程序,采用的语言为CFC;2、右击左侧导航栏中的Application→添加对象→程序组织单元→指定名称→类型为:程序→实现语言选择CFC;3、效果图如下4、将刚刚添加的POU程序组织单元拖动至EtherCAT_Task任务下面,效果图如下图所示,如果不这样做的话,即便是在POU里写了程序,也不会被执行,程序必须要放在指定的任务中才会被执行;工程里默认产生的POU(PRG)可以直接删掉5、在刚刚添加的程序组织单元中利用CFC编写单轴运动程序.
2022-04-26 17:45:45
4240
原创 树莓派4b 4G内存版安装Ubuntu18.04.4+ros_melodic+kubuntu-desktop
树莓派4b有4G版本的,最近好像还出了8G内存版的,性能提升了不少,毕竟3b的内存确实小了点,稍微复杂点的程序跑起来卡得厉害。但是目前针对4b的Ubuntu-mate还没有,或者说没有像Ubuntu-mate16.04在树莓派3b上安装那么方便:烧录到内存卡,插卡到树莓派,开机,做一些基本的配置就OK了。另外,还有一个问题,如果树莓派上的系统是树莓派的原生系统,想要用ROS机器人操作系统,现在普遍的做法都是要编译ROS源码,分为两种,一种是安装简易版本的ROS,即ROS-BASE...
2020-06-18 10:33:30
3166
原创 CODESYS (V3.5 SP12 Patch)程序开发前的配置及简单应用 第 1 篇(长沙赛搏机器智能MIC7001总线控制器+松下A6BE总线驱动器)
在这个实例中,我会用CODESYS这个开发环境写一个简单的实例,我有一个总线控制器,用于控制两个松下总线伺服驱动器进而控制电机的运动,并写一个简单的控制界面。此外,这里还涉及到了驱动器相应的参数配置,这个不是今天的重点,下次有机会再说。以下是主要的操作步骤及注意事项。1、首先是CODESYS软件的安装,软件来源某度就有,按照提示直接安装就行,一般都没有问题的,安装完桌面便会有...
2019-07-31 11:21:52
11165
3
原创 康耐视visionPro 加密狗不在 视觉库就没法用了
康耐视的视觉库也是一个比较强的商业视觉软件库了,前段时间刚好有个加密狗在手头,于是开始熟悉这个库。后来,随着学习的深入,发现网上对于这个库的教程很少,于是就想着写一些学习笔记放在博客里面,写了第一篇了。 但是,各种原因吧,现在这个加密狗已经不在我手头了,所以康耐视的这个库就没办法用了,这个加密狗市场价一万块起吧。...
2019-07-04 14:56:12
9691
4
原创 win10+ubuntu16.04双系统,开机出现“Minimal BASH-like line editing is supported”
我之前的电脑是安装了win10的系统,然后又想试试Ubuntu系统,于是装双系统就成了一种可行的办法,巴拉巴拉安装完,添加引导,好,开机这是啥?一脸懵逼.jpg然后各种百度,各种修改参数,各种重装,网上各种博主给出的解决办法差不多全试过了,还是不行,而且现象有点怪,并不是每次开机都会出现这种情况,而是有一定的概率,但是你没法判断下一次开机是不是会出现上述的界面。弄了两三天,已经...
2019-06-25 09:01:33
45411
35
原创 康耐视视觉库编程参考(1)Cognex.VisionPro.ToolGroup Namespace
最近在和康耐视的视觉软件和相机打交道,但是网上搜到的资料不多,教程也比较少,于是想到了软件自带的参考资料。对于康耐视视觉库的使用有大概四种方式,直接使用其API编程的方式自然是最复杂的一种方式,但是也是最灵活的一种方式。直接调用API自然就要用到相应的命名空间极其相应的类,打算写一个系列的笔记来简单介绍一下这些;也因为原文是英文的,这些笔记也可以当做是翻译笔记吧,本篇是第一篇。...
2019-02-21 09:36:57
8494
2
原创 有关控件的InvokeRequired属性判断解读,比如label1.InvokeRequired
经常会遇到跨线程访问的情况,很多人就说要用到委托;比如在辅助线程中要去更新一个UI界面上的label控件,通常会有一个if else判断语句:if (label1.InvokeRequired)这句是在判断label1控件是否是调用线程创建的,即判断是否跨线程调用,是则返回true,否则返回false;注意,这里判断的是调用线程是否是创建该控件的线程,因为调用线程是用户自己新建的一个辅助...
2018-12-25 10:29:05
2430
原创 c#多线程数据共享解决办法之一:lock排它锁
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace 多线程数据共享{ class Program { static bool lockOrNot; static...
2018-12-24 11:07:06
1644
原创 HALCON有关标定板生成的两个函数--create_caltab gen_caltab
需要指出的是,HALCON中有两种标定板,create_caltab函数创建的标定板如下图所示用默认的参数生成这种标定板的代码如下:create_caltab (27, 31, 0.00258065, [13,6,6,20,20], [15,6,24,6,24], 'light_on_dark', 'calplate.cpd', 'calplate.ps') 用gen_cal...
2018-12-07 10:19:00
3685
原创 C#中生成0至1之间的随机小数
Random rand = new Random(Guid.NewGuid().GetHashCode());double t=rand.NextDouble();
2018-09-29 15:10:13
7569
原创 PSO算法在C#中的实现
PSO算法在C#中的实现,代码如下:using System;namespace PSO_algorithm{ class Program { //粒子群算法容易陷入局部最优,算法容易出现早熟的情况 ////////////////////////// // // ...
2018-09-29 14:57:50
2097
3
原创 有关AutoCAD electrical2017启动时报错:缺少驱动程序AceRedist的解决办法
这个缺少的驱动程序在安装包里面可以找到,上面图中已经给出了驱动程序的位置,去到指定的位置下,安装这个驱动程序即可;网上有人说,这个办法并不是最好的,如果再次运行office access,然后再运行AutoCAD electrical可能会再次爆出上面的错误,这个我没有具体试过,因为office access这个用得很少,几乎是没有用过,问题总算是暂时解决了,先把活干完再说!...
2018-09-27 14:08:57
22988
1
原创 halcon 外部函数如:disp_message()等外部函数在遇到多个hv_ExpDefaultWinHandle情况下出现调用不正常/错误的情况
最近在做有关工业相机的手眼标定的项目,在HALCON中导出了相机标定的C#格式代码,所用到的halcon实例名称为:calibrate_cameras_monocular.cs。想实现标定图像和对应的3D场景分别显示在一个halconwindow中,如下图所示:但是在使用halcon外部函数,如disp_message()函数的时候发现,即便是我定义了两个句柄,并且将句柄作为参数传入到...
2018-09-26 17:19:04
10096
3
原创 有关C#中重写按钮的onpaint函数,实现按钮形状的用户自定义
在使用C#进行界面开发的过程中,做界面开发经常会用到按钮,而C#界面中的按钮形状只有矩形的,而如果我们需要其他形状的按钮的话,就需要想点儿其他办法了,一般开发自己的控件有三种方法:首先是复合控件,从字面上就可以理解,是在原有控件的基础上进行组合,组合后的控件就是一个全新的控件;其次是扩展控件,一般控件都是用一个类进行了封装,我们可以通过继承该类,然后对其进行改写,赋予其新的特性;最后是...
2018-09-21 17:06:08
4297
1
原创 C#中单击窗口右上角的窗口关闭按钮 弹出提示消息
如果我们在单击窗口右上角的窗口关闭按钮后,想要弹出一个确认的消息窗口,防止误操作,这时候我们可以自己定义相关的函数,在单击关闭按钮的时候运行该函数,弹出提示窗口,点击确认,说明我们确实是要关闭窗口,点击取消,则可以继续回到窗口界面,主要的代码如下:protected override void OnClosing(CancelEventArgs e) { ...
2018-09-13 17:18:03
9847
1
原创 beginInvoke 中if else语句的解读
我们一般常用control(也就是主线程)和delegate(委托)来使用invoke和beginivoke。在这里我先讲讲invoke、begininvoke之间的区别: Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行两个invo...
2018-09-13 11:54:17
410
原创 C# 多线程与委托的疑惑 InvokeRequired==true or false
我们经常会碰到跨线程访问的问题,这时候可行的办法就是用委托,但是最近在用到委托的时候,发现InvokeRequired的值在程序运行过程中会变来变去的,我本来以为这个是一个定值,当InvokeRequired值为true的时候,就说明现在遇到跨线程访问了,那下面就需要用到委托,但是在设置断点查看InvokeRequired的值,发现在第一个断点处,InvokeRequired值为true,如下图所...
2018-09-13 11:07:09
4156
2
原创 C#多线程入门 附代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace C_Sharp_thread{ class Program { ...
2018-09-11 14:38:45
286
原创 C# Gradient descent algorithm
//gradient descent algorithmusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace gradient_descent_algorithm{ class Program { /// <summ...
2018-09-07 14:08:35
380
原创 C# 鼠标悬浮mouseHover事件的添加 实现鼠标悬浮在按钮或者控件 显示相关的帮助信息
有些时候,我们为了让程序更加的人性化,降低应用的难度,必要的帮助信息是不可少的。比如,尽管某些按钮我们已经给其取了名字,我们可以从名字上大致判断出这个按钮的作用是什么,但是有些时候这些信息还是不够,或者是软件的使用者并不是业内相关的人员,这时候我们可以使用mouseHover事件,这个事件实现的功能是当鼠标悬浮在控件的上方,可以显示一些我们预先设定好的帮助信息,这样可以大大增强程序的可操作性,...
2018-08-31 11:06:19
21725
1
原创 对于C#winform界面开发中打开指定的目录及打开指定目录下的文件
在利用c#Windowsform开发界面的时候,免不了的要指定某个目录或者是打开某个目录下的文件,记得之前在c++的mfc做界面的时候是要写一段代码的,现在c#也是要写一段,不过没有以前C++那么麻烦,相比C++毕竟是高级语言,不用去底层做开发轮子的事情了,话不多说,直接上代码!private void button3_Click(object sender, EventArgs e) ...
2018-08-31 08:54:26
6926
原创 创建多窗口的Windowsform程序
有时候我们需要的Windowsform窗口不止一个,比如两个,这个时候就需要另外再添加窗口:怎么启动这个窗口呢?一般我们可以在第一个窗口中添加button,双击后,添加如下代码:Form2 mypic = new Form2();mypic.ShowDialog();单击我们的button就可以弹出第二个窗口了,然后我们就可以像在第一个窗口中添加button、textbox...
2018-08-27 17:48:59
1434
原创 C# Windowsform控件picturebox只显示一部分图片,只显示左上角一部分图片
在使用Windowsform时免不了要使用的PictureBox的这个控件,这个控件是用来显示图片到界面上的,有时候我们会发现,尽管控件显示了图片,但是似乎只显示了一部分而已,更具体地说,只是显示了图片左上角和图片框的交集大小的区域,这是什么问题?Image img = Image.FromFile(@"F:/研究所/镜头贴膜自动机/pic.png");//双引号里是图片的路径pictur...
2018-08-27 17:38:54
4794
4
原创 halcon函数签名中的三个双引号:::表示什么意思
我们在使用halcon的过程中,免不了要用到其帮助文档,帮助文档中有函数的签名,那么后面括号中的三个双引号表示什么意思?其实这个是halcon软件的一种约定吧,三个双引号将括号内的区域分为了四个部分,用以区分不同参数的类型,按照从左至右的顺序依次为:图像的输入参数、图像的输出参数、输入控制参数和输出控制参数,这样我们一看到halcon中函数的函数签名,就能判断出该函数的各个参数到底是用于输入还...
2018-08-27 16:48:52
1452
原创 一文读懂halcon 手眼标定的坐标转换
一直以来,对于手眼标定所涉及到的坐标系及坐标系之间的转换关系都没能有一个很好的理解,最近找了halcon手眼标定的实例在研究,发现对于相机的两种安装方式(眼在手和眼在手外),其坐标转换关系是类似的,这样说好像太抽象了,下面具体说说。我觉得标定最基本的是要将坐标系理清楚,这里涉及到的坐标系有四个:机器人基坐标系base、法兰上的工具坐标系tool、相机坐标系camera和标定板坐标系cal;此外...
2018-08-27 16:01:42
9586
3
原创 halcon手眼标定之 fix the pose ambiguity解析 (calibrate_hand_eye_scara_stationary_cam实例)
最近在做的项目有用到手眼标定,是关于两个康耐视工业相机和爱普生SCARA机器人之间的手眼标定,相机是固定安装,属于Eye-to-hand固定方式。考虑到halcon中用于标定的算子和实例都比较丰富,并且halcon作为一款商用的视觉与图像处理软件,其可靠性、精度等都是opencv所不能比的。此次所用到的标定实例是calibrate_hand_eye_scara_stationary_...
2018-08-27 11:11:17
2779
翻译 halcon之眼在手外的手眼标定
*此示例说明如何为SCARA机器人执行手眼校准。在这种情况下,相机相对于机器人静止并观察机器人的工作空间。的*校准板附接至所述机器人的工具。*最后,校准结果以及确定要抓取的对象位置所需的数据*被写入文件。然后,示例程序* pick_and_place_scara_stationary_cam.hdev使用此信息。*该例程说明了怎样给SCARA机器人做手眼标定。这种情况下,相机相对与...
2018-08-24 10:27:07
9127
原创 有关halcon标定过程中用到的.cpd文件的解读
最近的项目中要做关于一个EPSON机器人和两个康耐视相机之间的手眼标定,而刚好之前有接触过强大的halcon,所以打算利用halcon手眼标定例程来做,在看代码的过程中发现,halcon在标定之前会读取一个.cpd的文件,作为关键词百度,很少有这方面的信息,那只能从halcon的帮助文档中寻找答案了,好在halcon的文档部分是中文的,中间夹杂着英文,相关的信息在如下网址中:https://w...
2018-08-24 09:06:02
3362
AForge.NET Framework-2.2.5
2020-12-23
AD20官方中文教程.pdf
2019-12-17
MAN-G-DS402.pdf
2019-08-21
MAN-G-DS301.pdf
2019-08-21
EPSONRC+7.0 SPEL+语言参考
2018-08-09
EPSON 机器人系统安全 设置 LS系列机械手
2018-08-09
EPSON 机器人控制器RC700
2018-08-09
EPSON 机器人控制器RC90
2018-08-09
EPSON RC+7.0 选件VisionGuide71_Software(软件)
2018-08-09
EPSON RC+7.0 选件VisionGuide71_Hardware(硬件)
2018-08-09
EPSON RC+7.0 选件 VisionGuideRef属性和结果参考
2018-08-09
EPSON RC+7.0 选件 RC700_RC90 机器人控制器 现场总线IO
2018-08-09
EPSON RC+7.0 选件 RC+API 7.0
2018-08-06
EPSON RC+ 7.0 GUIBuilder
2018-08-06
EPSON ProSix C4系列 机器人手册
2018-08-06
爱普生RC+7.0用户指南
2018-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人