自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 在TIA中 VB Script 创建一个文件夹

接上一篇,说是要连续更1个月的TIA VB的技巧这次演示的是使用VB脚本来实现在RT里创建文件夹的功能1- 创建触发的按钮2- 创建VB脚本Sub VBAddFolder()Dim folderPath,ObjectWayfolderPath="E:\WinCCTry\test"Set ObjectWay= CreateObject("Scripting.FileSystemObject")If Not ObjectWay.FolderExists(folderP.

2020-12-01 22:21:04 324

原创 利用VB 脚本实现TIA 中界面循环计数的功能

最近在做一个德国的项目,拿到的实例程序里的HMI程序的写法很新颖,故开一个片来展开对TIA的界面的高级写法的学习。定个连续日更一个月的项目小目标第一个是简单的实现循环的例子。1- 首先在界面上拖上需要的控件2- 准备下VB脚本Sub VBCycle()Dim tempVtempV=SmartTags("Value")If tempV<3 Then tempV=tempV+1 'statementsElse tempV=0 'statementsEn

2020-11-30 23:34:24 869 1

原创 WPF贪吃蛇游戏开发

源码可以在github上获取https://github.com/ZombieAllen/WPF.git基于WPF的贪吃蛇游戏设计摘要:针对现有的网上关于WPF以及C#开发缺乏系统化的学习资料,现在设计一款大家耳熟能详的贪吃蛇的小游戏,来比较好的把XMAL界面设计,XML文件的信息写入与读取,C#面向对象的程序设计整合到一个游戏里。关键字:WPF;C#;XML;界面设计;Visual Studio 20191 引言 随着工厂信息化以及数字化的飞速发展,对于工厂...

2020-06-18 09:33:21 784

原创 C# 学习 31 委托 Lambda表达式

什么是委托:1-委托是一个类2-委托是一个特殊的类,他不是反映客观事件的抽象,而是一种包裹着方法,通过委托类型的实例来间接的调用一些方法下面是一个委托的基本例子namespace ConsoleApp1{ class Program { static void Main(string[] args) { MyDele dele1 = new MyDele(M1); dele1.Invoke();

2020-06-07 18:11:02 144

原创 TIA SCL编程项目:查询一串数据中的bit为1的数量

项目内容制造业生产线里会存在很多buffer来柔性化生产,不至于某一个工位停机而影响前后工位的运行状态,现在有一个需求。需要统计各个buffer里的工件数量。假设buffer里20个托盘,我们创建一个DB,里面记录的是现场生产线里的托盘里的工件状态(1:有工件,0:无工件)传统的方法一个个bit去比较true还是false,然后每次为True,则Count++.换种思路由于在TIA的地址体系里,并不是一直0到N排列的。DBy.DBXz。z类似于8进制,y是10进制想法:这时候我们可以先

2020-05-27 14:36:03 777 1

原创 浅谈Step7的FB,FC

定义FB (function block),功能块,结构化程序的工具FC (function),功能,结构化程序的工具如果把程序都写在OB1里,则程序的可读性比较差。就像搭房子一样,如果都写在OB1里,就像造了一个房间,里面煮饭,睡觉,洗衣做饭,上厕所都在这个房间,显得就比较乱那么,西门子引入FC,FB来结构化程序,有煮饭的房间,睡觉的房间,厕所间等等。。。全局的DB就像中间房间的灯一样,大家都可以用它来照亮自己房间的灯,都可以使用。背景DB是相对于FB存在的,每个FB都有一个对应的背景数据

2020-05-09 18:40:16 1662

原创 C# 学习 27 接口,抽象类

接口,抽象类SOLID设计原则以抽象类作为切入点例子:用abstract修饰符来修饰。抽象类是指:函数成员并没有被完全实现的类 abstract class Student //抽象类 { abstract public void Study() ; //抽象方法 }完整例子:1- 在一个基类中定义一个方法,但现在还没想好,就只定义一个抽象方法,然...

2020-05-05 18:11:43 88

原创 C# 学习 26 重写 多态

edx ,Timothy Liu,后续C#课程Rider是Jetbrain出品的C# IDE============================================类的继承,如果不在成员个数上没有增加,而是改变了行为,这就是纵向扩展。子类对父类重写的语言格式class Vehicle { public virtual void R...

2020-04-29 07:37:05 138

原创 C#学习 25 类的继承和类成员的访问控制

基类和派生类下面的例子很好的说明了派生类的声明;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class Program { s...

2020-04-22 21:05:31 146

原创 C# 学习 22 类

什么是类是一种数据结构是一种数据类型代表现实世界中的种类构造器在定义类的过程中,会产生一个和类名一致的默认的函数,我们成为构造函数,作用就是当类进行实例化的时候,来清下内存当然也可以自己定义一个带参数的自定义构造器,这样在对象实例化过程中可以顺带把参数写进去析构器类从名称空间退出的时候,会默认调用析构函数~下面代码是构造器和析构器的例子using System;using...

2020-04-17 19:18:09 121

原创 C#学习 22 事件 下

事件声明的完整格式很经典的餐馆点菜的例子using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace ConsoleApp1{ class Pro...

2020-04-16 10:22:34 138

原创 C# 学习 21 事件 中

事件的拥有者(Event source)事件就是通知别人的工具。不会主动通知别的对象,只有当事件的拥有者明确告诉事件的成员,你去通知吧,事件才会起作用。事件的成员(Event)事件的响应者(Event Subscriber)事件触发后,都有哪些对象或者类被通知到了。订阅了事件的对象或者类事件处理器事件响应者的方法成员。事件订阅1-事件拥有者通知谁?这个谁一定是订阅了这个对象2- ...

2020-04-14 22:26:11 83

原创 C# 学习 20 事件 (上) ,理论

事件定义:Event,能够发生什么事情,特点就是能够发生。举例:苹果就不能发生,公司上市就可以发生。 事情才可以发生角色:属于类型的成员:是一种使对象或者类提供通知的成员举例:手机有响铃这个事件,说明通过这个事件来通知关注手机的人手机通知用户信息,就是把事件参数参数传出来用户处理这个通知,就是事件处理器事件功能=通知+可选的事件参数事件模型=发生响应模型...

2020-04-14 11:57:42 76

原创 C# 学习 19 委托,同步异步,进程线程

委托:delegate:一切皆地址:变量(数据)是以变量名为地址起点的一段内存中所存储的值函数(算法)是以函数名为地址起点的一段内存中所存储的一组机器语言指令直接调用,间接调用直接调用:通过函数名来调用函数,CPU通过函数名直接获得函数所在地址并开始执行–>间接调用:通过函数指针来调用函数,CPU通过读取函数指针存储的值获得函数所在地址并开始执行–>返回Action委...

2020-04-13 11:11:03 191

原创 XML 学习 创建、读取、修改

利用C#来创建一个xml文档主要的步骤还是:利用了微软提供的XmlDocument类来创建一个xDoc的文档实例化对象利用这个对象来创建xml的表头(声明),里面包含版本,编码然后还是利用这个xDoc文档对象里的CreateElement方法来创建对应的element,最后利用xDoc里的AppendChild方法进行逐级的绑定XmlElement类型的数据具有setAttribute的...

2020-04-11 10:25:42 181

原创 C# 学习 18 传值、输出、引用、数组、扩展方法

值参数x就是传值参数,我们在方法里操作的是y的副本,不管怎么操作,y是不变的。引用类型

2020-04-10 22:31:20 129

原创 C# 学习 17 字段、属性、索引器、常量

字段,属性,索引器,常量字段Field ,为对象或者类型来存储数据。成员变量分为实例字段和静态字段实例字段静态字段字段的声明:字段的初始化:无显式初始化时,字段获得其类型的默认值,所以字段永远都不会未被初始化实例字段初始化的时机--------对象创建时静态字段初始化的时机--------类型被加载(load)时只读字段实例只读字段静态只读字段属性Prop...

2020-04-08 19:36:12 117

原创 C# 学习 16 循环与跳转

迭代(循环)语句 && 跳转语句whiledo while和While类似continue与break的区别,看下面的例子using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;na...

2020-04-03 21:51:38 171

原创 C# 学习 13 14 15 语句表达式详解

表达式,语句详解- 表达式的定义定义:Expressions,任何一门语言的基本组件之一且是核心组件。方法这种语法实体:就像一个加工厂,通过参数把原料传给加工厂,加工完数据通过返回值,把加工结果交还你。变量这种语法实体作用:存储一个值,表达式的语法实体功能:用来求值,只有连个结果,成功,失败。表达式就是一种专门用来求值的语法实体。C#中表达式的定义:1个或者多个操作数,与0个或者多个...

2020-04-02 21:22:45 171

原创 C# 学习 12 操作符

(T)x类型转换输入加法的例子分为隐式类型转换,显式类型转换隐式类型转换:小字节向大字节赋值:不丢失精度的隐式转换子类向父类转换=======================================显式类型转换:从大到小,丢失了精度Convert: 一个简单的加法器的例子=========================================...

2020-03-30 23:19:12 88

原创 C# 学习 11 操作符

new 操作符如果要在内存中创建类型的实例,就得调用new操作符下面的例子演示了继承类的使用checked | unchecked操作符检查一个值在内存中是不是有溢出用try Catch来优化下逻辑另外一种写法:C#语言默认是uncheck====================================================sizeofsizeof...

2020-03-30 12:07:57 125

原创 C# 学习 10 操作符

操作符概览:运算优先级:上高下底 | 赋值运算符先右再左操作符的本质:继承了数学运算符的思想。但又有区别:操作符会判断操作的数据类型。例如int的5/4,计算机会得到1,实际是1.25操作符的优先级:同级操作符的运算顺序:各类操作符示例:1- .操作符,成员访问操作符外层名称空间访问子集名称空间System名称空间访问子集名称空间IO访问名称空间的类型访问类型的静态...

2020-03-28 20:28:10 147

原创 C# 学习 8 9 方法 构造器

方法推荐两本书:CLR via C#C# IN DEPTH方法的前身是函数函数与方法的关系:当一个函数以类的成员身份出现的时候,那就叫做方法。方法有一个别名:成员函数为什么需要方法和函数?目的1:隐藏复杂的逻辑目的2:把大算法分解为小算法目的3:复用...

2020-03-27 20:12:05 98

原创 C# 学习 7 数据类型

C#的五大数据类型类 class结构体 struct枚举 enum接口 interface委托 delegate变量、对象、内存中的关系1- 变量: 表示了存储位置,并且每个变量都一个类型,以决定什么样的值能够存入变量变量一种7种:静态变量,实例变量,数组元素,值参数,引用参数,输出形参,局部变量局部变量:在方法体(函数体)里声明的变量静态成员变量:...

2020-03-26 00:00:32 92

原创 C#学习 6 类型

什么是类型数据类型(Data Type):数据在内存中存储时的型号。语言开发者把大量的数据按类型归类的结果,并设计了针对各个类型来设计操作方法。内存:内部存储单元。当今计算机的架构遵循冯诺依曼架构,运算控制器(CPU),存储器(内存),输入输出系统。内存干什么的?要让一个程序运行起来,必须要把程序从硬盘加载到内存中。内存就是计算机程序运行的空间。外存就是硬盘,程序不运行的时候放在硬盘...

2020-03-25 19:18:52 75

原创 C# 学习 5 类型变量方法

构成C#语言的基本元素关键字:Keyword,构成一门语言的基本词汇操作符:Operator,运算思想的符号标识符:Identifier,用户自己取的名字,变量/类/成员…ect 。一定要有意 义。 变量名用Camel ,类/名称空间用Pascil法标点符号:文本:字面值,例子如下:-注释与空白类型,变量,方法类型(type):定义变量和方法的时候,都是有类型属性的...

2020-03-24 22:41:28 157

原创 C# 学习 4 类与成员

类(Class)的概念:类是对现实世界事务进行抽象所得到的结果抽象的过程就是对现实世界建模的过程。在软件世界里,实体和逻辑构成了整个软件系统对象就是实例,是类经过实例化后得到的内存中的实体举例:飞机和一架飞机的区别。飞机是一个概念(类),一架飞机是概念抽象出来的实例(对象)。有些类(class)是不能实例化的,例如 数学 (Math class)。不能说是一个数学。实例化的概念:依...

2020-03-24 14:00:38 140

原创 C# 学习 3 类与名称空间

类和名称空间的概念类 CLASS:构成程序的主体名称空间 NAMESPACE:把类以良好的结构组织在一起。以图书馆为例:NAMESPACE是各个学科的集合CLASS是各个学科中各本书的集合。我们去图书馆找书,一本一本太费时间并且可能存在不同学科相同名称的书。这时候,我们采取的办法是,先确定这本书属于哪个学科,也就是对应哪个NAMESPACE然后再去找对应的Class。首先分析下上节...

2020-03-22 22:27:46 175

原创 C# 学习 2 Hello World的实现

5种Hello World的实现编程捷径:编程是练出来的学习原则:感官到原理从使用别人的到创建自己的必须亲自动手追求实用基础概念1- Solution ProjectVS管理代码的时候,Solution是最高的级别。一个Solution里可以包含一个或者多个Project5种Hello World的实现1- Console2- WinForm3- WPF 桌面...

2020-03-22 09:48:05 93

原创 MODBUS 学习 4

读写寄存器读发送:从机地址功能码数据地址数据个数CRC020300 0000 02CRC接收从机地址功能码接收字节数接收内容CRC02030411 10 01 10CRC写:向第1个输出来改内容(写位)注意,即使是改变位的状态也是要用两个字节的1 --> FF 000 --> 00 00发...

2020-03-20 22:32:16 124

原创 Modbus学习 3

基于485的modbus通讯1- 主机对指令进行编码(功能码)通讯两件事:发数据,收数据modbus功能码分成01 02 03 04接收需要4个功能码?PLC/单片机 有四种数据读操作开关量输入 bit eg. I0.0 功能码 02开关量输出 bit eg. Q0.0 功能码 01寄存器输入 byte eg.IW0 功能码 04寄存器输出 byt...

2020-03-20 17:25:10 112

原创 C#入门 1 引子

记录下刘铁猛的视频教程学习历史1- 010101010101102- 汇编—>特殊程序翻译成机器语言3- 高级语言---->编译器----->机器语言目标1- 释放计算机的计算能力2- 统一管理硬件----->操作系统3- 应用程序—>用编程语言在操作系统之上程序编写出来编程语言C/C++/C#/JAVA特点C/C++贴近底层JAVA不适合桌...

2020-03-20 10:40:17 121

原创 Modbus学习☞2

通讯通讯的本质A <--------->B狼烟-----信道—通讯的媒介狼烟代表多少人 -------通讯的协议485/TCP都属于信道的范围485 2线TCP 4线协议都是modbus通讯的本质:数据先编码—>通过合适的信道传递给对方------>对方解码还原并行通讯特点浪费线串行通讯波特率的概念一般的波特率是9600,表示...

2020-03-19 20:04:42 530

原创 Modbus学习☞1

诞生原因:对于离散量来说,PLC的输入输出是有限的,通过Modbus可以不添加硬件的情况下进行电气控制对于模拟量控制来说,举个例子,通过电信号来控制变频器的频率,如果电机太远,控制会产生失真。 通过modbus通讯来做的话优点,通过RS485通讯,发送数字量信号,不会产生失真。通讯的特点不像电气问题一样,通讯难诊断概念复杂:起始位,停止位,波特率,从机地址基于485的modbus...

2020-03-19 14:34:23 121 1

原创 VBS常见应用场景

在做WINCC脚本的时候发现VBS的应用,B站找了个视频回顾下,把对应常见应用的场景做了下总结,供大家使用。' ************example1 basic msgbox' dim name , age' name="wolf"' age= 20' msgbox name&age ' ************example2 basic add' dim a ...

2020-02-15 23:12:14 795

原创 简易番茄时钟web实现

番茄时钟WEB实现工作都会存在效率问题,小番茄25分钟专注后休息的理论很好的帮助在职人员以及在校学生规划自己一天的生活。可以利用基本的web知识开发一个简单的25分钟倒计时并提示的小网页。实现结果:代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">...

2020-02-07 20:52:30 1654

原创 STEP7 常见的编程技巧 (1) 实现按钮状态切换

在自动化项目中,经常需要用一个按钮来实现状态切换功能。简单的逻辑就是按钮按下置位1,按钮释放置位0。这种基本条件对应线圈就能很简单实现。有点难度的逻辑是:按钮按下、释放 置位1 , 按钮再按下、释放 置位0.,循环往复这时候就需要点编程技巧来实现对应逻辑了。首先在变量表里创建两个变量 btn /statusLadder:简单解释:利用一个临时变量te...

2019-10-27 13:08:54 2628

原创 单个PDF的切片以及多个PDF的合成

最近在练习PYQT5,并写完了一个客户端程序:实现—单个PDF的切片以及多个PDF的合成下载地址:链接:https://pan.baidu.com/s/1FD2oitNmJ2U_ZffvxlLmcg 提取码:6qvk  第一代版本,有些异常还未处理,下周更新下。...

2019-02-24 16:37:52 953

FC3000.AWL

创建一个功能,来实现按钮的置位复位操作,方便以后程序里的复用

2019-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除