- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 通过实例学西门子SCL之_定时器
介绍:脉冲输出,设置一个时间参数,输入接收到信号,然后输出一个维持时间为设定时间的信号,期间,就算输入值一直存在,或者输入以后立刻清除,也不影响输出。以上代码表示,当按钮按下时,TP实例开始输出,灯为true,然后过了Time设定的时间后,灯变false。
2026-09-04 16:37:16
187
原创 通过实例学西门子SCL之_位逻辑运算
1.bool量赋值1.bool量赋值给bool量赋值,其实像数值一样,使用:=即可,只是,位变量只有两种结果,True和False。2.bool量运算bool量运算,也就是逻辑运算,包括与,或,异或等。
2026-09-04 15:50:28
253
原创 西门子Variant变量介绍
简单来说,如果你不确定输入是一个什么类型的数据,你可以先把它定义成variant,然后当你输入实参时,再去判断你输入的数据类型,然后根据不同的数据类型进行不同的操作,最后得出结果。假设我要创建一个FB块,它实现一个累加的功能,它的输入是一个数组,这个数组的长度不确定,数组里面元素的数据类型也确定,要求我们把数组里面的所有项相加起来,得出一个总和。如果我们在编写FB或者FC块时,使用了输入参数或者输出参数,那么我们必须先给这个参数定义一个数据类型,例如int, real,string等。
2026-08-30 23:04:11
204
原创 西门子S71214PLC_WEB服务器功能测试实例
简单来说,这个功能,就是让plc作为一个web服务器,然后让没有安装博图的电脑(要和plc同一网段),通过浏览器,访问plc,并对内部的变量进行读写。可以看到,plc的变量表,也已经成功写入数据。如下,可以看到对应的变量数值同步更新。
2026-08-20 13:54:31
214
原创 威纶触摸屏_配方功能仿真
1.no:配方序号:接受16位不带符号整数输入。2.PN:part number,用来区分不同的物料号,配方的使用就是因为生产的物料种类不同,此参数接受字符串输入。3.X:生产PN指示物料的X轴位置坐标。4.Y:生产PN指示物料的Y轴位置坐标。5.Z:生产PN指示物料的Z轴位置坐标。界面和原来的有点出入,当大部分按钮的设置都是一样的,后面会针对修改的按钮进行设置说明。界面介绍1.配方显示窗口:显示hmi存储的所有配方,只要下载触摸屏时,不勾选清除配方数据,那么创建的配方就一直存在hmi内供用户调用。
2026-07-01 10:44:43
242
原创 西门子PLC更新DB块时不初始化变量
软件会要求你对数据块进行重新初始化(如果你选择无操作,那么下面的装载按钮一直是灰色的),而一旦你选择重新初始化并装载以后,你会发现,之前设置好的参数,全被初始化了!5.在需要记忆的变量后面勾选对应的保持选项,然后选择工具栏上的红色图标(激活存储器预留),最后点击确认。这时你会发现没有重新初始化块的选项了。本篇要谈的就是如果改变db块但不影响原DB块的参数。9.更新DB块完成后,原来的参数也没有重新初始化。2.右击导航栏的DB块,选择属性。3.在属性中勾选“优化块的访问”。6.手动修改DB块里的参数。
2024-11-13 10:07:15
3626
原创 西门子PLC使用标签与威伦触摸屏通信
plc侧创建项目,选择plc,并进行相关配置。 创建db块db1,创建以下变量。 取消优化块的访问,不然会出错。 在Main的OB块中输入以下程序。 将程序写入到plc中,至此,plc方面配置完成。触摸屏侧创建项目,添加设备。 获取plc标签 获取到plc标签后 使用标签 创建元件 使用标签
2024-11-06 15:34:59
3993
原创 西门子_两台S71200PLC通过S7通信进行连接
同理,设置客户端PLC参数,ip设为192.168.0.2.其他不变。5.客户端main程序块编程。可以仿真功能进行测试。
2024-05-06 11:25:00
4416
原创 C#技巧之同步与异步
首先,同步就是程序从上往下顺序执行,要执行完当前流程,才能往下个流程去。而异步,则是启动当前流程以后,不需要等待流程完成,立刻就去执行下一个流程。
2024-05-01 06:51:33
2062
原创 C#技巧之窗体去鼠标化
在窗体程序中不用鼠标,直接使用键盘完成想要的操作。实现的方法有两种,一种是使用键盘上的Tab键使控件获得焦点,然后用enter键触发该控件上的事件(一般为click事件)。另一种是,为控件添加快捷键,通过按下快捷键,实现触发控件事件的效果。
2024-04-27 18:11:56
602
原创 C# 窗体控件BackgroundWorker
如果只有一个主线程,那么当窗体执行一些循环之类的操作时,窗体界面的控件将无法操作,因为该线程的资源,都拿来执行循环操作了,这是,我们可以使用Thread类来开启另一个线程,来进行繁琐冗长的循环操作,除此之外,BackgroundWorker也可以实现该效果。
2024-04-27 07:38:19
916
原创 通过实例学C#之序列化与反序列化XmlSerializer类
可以将类序列化成xml文件,或者将xml文件反序列化成类对象,一般用于保存或加载项目参数。
2024-04-20 08:56:01
960
原创 通过实例学C#之StreamWriter类
该类可以实现以一种特定的编码向流中写入字符的功能。在程序所在文件夹的Debug文件下创建一个test.txt的空白文件。
2024-04-16 11:07:06
977
原创 通过实例学C#之StreamReader类
可以通过此类读取计算机上的文本文件内容。在程序的Debug文件夹下面新建一个文本文件,命名为test.txt,在里面输入hello world!
2024-04-16 10:24:02
1147
原创 通过实例学C#之FileStream类
首先在项目所在文件夹的Bin文件中新建一个test.txt文件,里面输入内容“hello world!
2024-04-15 10:38:14
1731
2
原创 通过实例学C#之Dictionary类
与数组,ArrayList不同,Dictionary的每个元素,都是由key和value组成。如一个人,他的名字叫张三,年龄是34岁,那么,可以用一个Dictionary来表示张三这个对象,此时字典里就有两个元素,元素1的key值是姓名,value值是张三,元素2的key值是年龄,value值是34。所以,表达对象只有一个属性,可以用数组或ArrayList。一旦需要多个属性来表达,那么就可以用Dictionary。
2024-04-15 09:08:06
882
1
原创 通过实例学C#之ArrayList
ArrayList对象可以容纳若干个具有相同类型的对象,那有人说,这和数组有什么区别呢。其区别大概可以分为以下几点:1.数组效率较高,但其容量固定,而且没办法动态改变。2.ArrayList容量可以动态增长,但它的效率,没有数组高。所以建议,如果能确定容纳对象数量的话,那么优先使用数组,否则,使用ArrayList为佳。
2024-04-14 22:24:10
1103
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
887
1
原创 通过实例学C#之DateTime结构
表示公历中值范围为 0001 年 1 月 1 日 Anno Domini (Common Era) 到 9999 年 12 月 31 日。构造函数通过输入年月日数据来新建一个dateTime结构,此外,dateTime还有多个重载构造函数,这里就不详细介绍了。
2024-04-13 16:37:27
943
1
原创 通过实例学C#之Mutex(互斥锁)类
如果创建实例时,填入一个bool参数,那么表示,在创建该互斥锁的同时,会相应控制互斥锁的所有权,如果参数为True,表示创建互斥锁的线程,具有互斥锁的所有权,如果它不使用ReleaseMux()释放互斥锁的所有权,那么其他使用互斥锁的线程,将一直被阻塞。例如,设备J对工件X的温度进行判断,得知工件的温度满足条件后,可以进行下一个工艺操作,此时,如果另一个设备K对工件X进行降温操作,那么,工件X的温度就不满足执行后续制作工艺条件,这时候,如果强行进行后续操作,可能会产生次品。
2024-04-13 08:08:54
2350
1
C#联合Microsoft.Office.Interop.Excel编程
2025-05-10
C#与西门子S71200plc通信实例
2024-04-11
威伦触摸屏-配方功能实现方案
2024-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅