- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 西门子PLC更新DB块时不初始化变量
软件会要求你对数据块进行重新初始化(如果你选择无操作,那么下面的装载按钮一直是灰色的),而一旦你选择重新初始化并装载以后,你会发现,之前设置好的参数,全被初始化了!5.在需要记忆的变量后面勾选对应的保持选项,然后选择工具栏上的红色图标(激活存储器预留),最后点击确认。这时你会发现没有重新初始化块的选项了。本篇要谈的就是如果改变db块但不影响原DB块的参数。9.更新DB块完成后,原来的参数也没有重新初始化。2.右击导航栏的DB块,选择属性。3.在属性中勾选“优化块的访问”。6.手动修改DB块里的参数。
2024-11-13 10:07:15
1635
原创 西门子PLC使用标签与威伦触摸屏通信
plc侧创建项目,选择plc,并进行相关配置。 创建db块db1,创建以下变量。 取消优化块的访问,不然会出错。 在Main的OB块中输入以下程序。 将程序写入到plc中,至此,plc方面配置完成。触摸屏侧创建项目,添加设备。 获取plc标签 获取到plc标签后 使用标签 创建元件 使用标签
2024-11-06 15:34:59
2211
原创 halcon的方向问题
那么问题来了,-Π到Π合起来就是360度了,那么怎么确定角度是45度,还是-135度(假设)?那样就涉及到方向问题了,如果等效椭圆的长轴方向终点在水平轴下面,那么角度就是逆时针来计算;而如果终点在水平轴上面,那么角度就是按照顺时针计算。还有一个就是区域的角度,要求区域的角度,系统会先计算出区域的等效椭圆,椭圆的长轴与水平方向的夹角就是这个区域的角度。角度的范围是-Π到Π。首先是线的方向是从左下到右上,与水平线夹角,所以角度范围是-Π/2到Π/2。首先画一个从左下到右上方向的带角度矩形。
2024-06-16 07:16:51
475
原创 halcon学习之一维测量基础
positive表示从黑到白的过度,而这过度,是指第一个点两边的灰度值变化,所以当第一个点为positive,那么点对中的第二点就必然是neagtive。intraDistance表示点对之间的距离,而interDistance表示点对中的第二个点与另一组点对的第一个点之间的距离,也就是说点对间的距离。可以看到,当threshold大于黑色与灰色的灰度值差,那么将获取不了边沿点。可以理解为positive为增加,就是灰度从小到大的点将被选择。当测量完成后,使用该算子可以清除内存中的测量句柄。
2024-05-11 09:18:41
701
原创 两台西门子S71200PLC通过S7通信进行连接
同理,设置客户端PLC参数,ip设为192.168.0.2.其他不变。5.客户端main程序块编程。可以仿真功能进行测试。
2024-05-06 11:25:00
3247
原创 C#技巧之同步与异步
首先,同步就是程序从上往下顺序执行,要执行完当前流程,才能往下个流程去。而异步,则是启动当前流程以后,不需要等待流程完成,立刻就去执行下一个流程。
2024-05-01 06:51:33
1729
原创 C#技巧之窗体去鼠标化
在窗体程序中不用鼠标,直接使用键盘完成想要的操作。实现的方法有两种,一种是使用键盘上的Tab键使控件获得焦点,然后用enter键触发该控件上的事件(一般为click事件)。另一种是,为控件添加快捷键,通过按下快捷键,实现触发控件事件的效果。
2024-04-27 18:11:56
532
原创 C# 窗体控件BackgroundWorker
如果只有一个主线程,那么当窗体执行一些循环之类的操作时,窗体界面的控件将无法操作,因为该线程的资源,都拿来执行循环操作了,这是,我们可以使用Thread类来开启另一个线程,来进行繁琐冗长的循环操作,除此之外,BackgroundWorker也可以实现该效果。
2024-04-27 07:38:19
799
原创 通过实例学C#之序列化与反序列化XmlSerializer类
可以将类序列化成xml文件,或者将xml文件反序列化成类对象,一般用于保存或加载项目参数。
2024-04-20 08:56:01
854
原创 通过实例学C#之StreamWriter类
该类可以实现以一种特定的编码向流中写入字符的功能。在程序所在文件夹的Debug文件下创建一个test.txt的空白文件。
2024-04-16 11:07:06
833
原创 通过实例学C#之StreamReader类
可以通过此类读取计算机上的文本文件内容。在程序的Debug文件夹下面新建一个文本文件,命名为test.txt,在里面输入hello world!
2024-04-16 10:24:02
1002
原创 通过实例学C#之FileStream类
首先在项目所在文件夹的Bin文件中新建一个test.txt文件,里面输入内容“hello world!
2024-04-15 10:38:14
1575
2
原创 通过实例学C#之Dictionary类
与数组,ArrayList不同,Dictionary的每个元素,都是由key和value组成。如一个人,他的名字叫张三,年龄是34岁,那么,可以用一个Dictionary来表示张三这个对象,此时字典里就有两个元素,元素1的key值是姓名,value值是张三,元素2的key值是年龄,value值是34。所以,表达对象只有一个属性,可以用数组或ArrayList。一旦需要多个属性来表达,那么就可以用Dictionary。
2024-04-15 09:08:06
748
1
原创 通过实例学C#之ArrayList
ArrayList对象可以容纳若干个具有相同类型的对象,那有人说,这和数组有什么区别呢。其区别大概可以分为以下几点:1.数组效率较高,但其容量固定,而且没办法动态改变。2.ArrayList容量可以动态增长,但它的效率,没有数组高。所以建议,如果能确定容纳对象数量的话,那么优先使用数组,否则,使用ArrayList为佳。
2024-04-14 22:24:10
978
1
原创 通过实例学C#之Math类
Abs(Int16)返回参数的绝对值。Acos(Double)与Cos(Double)Acos(Double):返回参数的反余弦值。Cos(Double):返回参数的余弦值。Asin(Double)与Sin(Double)Asin(Double):返回参数的反正弦值。Sin(Double):返回参数的正弦值。Atan(Double)与Tan(Double)Atan(Double):返回参数的反正切值。Tan(Double):返回参数的正切值。返回大于或等于指定的双精度浮点数的最小整数值。
2024-04-14 16:43:30
818
1
原创 通过实例学C#之DateTime结构
表示公历中值范围为 0001 年 1 月 1 日 Anno Domini (Common Era) 到 9999 年 12 月 31 日。构造函数通过输入年月日数据来新建一个dateTime结构,此外,dateTime还有多个重载构造函数,这里就不详细介绍了。
2024-04-13 16:37:27
829
1
原创 通过实例学C#之Mutex(互斥锁)类
如果创建实例时,填入一个bool参数,那么表示,在创建该互斥锁的同时,会相应控制互斥锁的所有权,如果参数为True,表示创建互斥锁的线程,具有互斥锁的所有权,如果它不使用ReleaseMux()释放互斥锁的所有权,那么其他使用互斥锁的线程,将一直被阻塞。例如,设备J对工件X的温度进行判断,得知工件的温度满足条件后,可以进行下一个工艺操作,此时,如果另一个设备K对工件X进行降温操作,那么,工件X的温度就不满足执行后续制作工艺条件,这时候,如果强行进行后续操作,可能会产生次品。
2024-04-13 08:08:54
2113
1
C#联合Microsoft.Office.Interop.Excel编程
2025-05-10
C#与西门子S71200plc通信实例
2024-04-11
威伦触摸屏-配方功能实现方案
2024-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人