最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通过Wireshark 进行解析,但是工作量很大,且如果对Wireshark不熟悉基本也是无解,很难解析出来. 网上有部分用C#开发的开源库,但是自己对C#语言不懂,所以也就没法学习和应用了.因此我在这里开始了C#的 从零开始学习之旅(我的从零开始是指对C#一无所知,如果你要和我一起开启这趟旅程,应该…
using System; using System.Collections.Generic; using System.Linq; using System.Text; //namespace 关键字用来定义命名空间,命名空间主要用来解决命名冲突的问题 //命名空间还有一个作用是将一组相关的类组织到一个抽象空间里面,必须引用 //命名空间,才能访问命名空间的内容 namespace ConsoleApplication1 { class Program { static void Main(s…
前段时间看C#本质论,发现内容有点抽象,不适合入门,现在换了一本适合入门的书籍: C#图解教程. //引用命名空间,命名空间相当于一个容器,通过不同的容器来区分同名的内容 //System命名空间是.NET提供的一个基础命名空间 using System; //定义一个类, C#是完全面向对象的开发语言,所有的代码都必须包含在类里面 class Program { //Main函数是C#程序的入口点,当操作系统启动程序时,从Main开始执行,一般 //也从Main函数结束(对于console程序…
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两种脚本语言,C脚本和VBS脚本,通过这两种脚本可以增强WinCC 的动态功能,可以实现一些复杂的功能. 学习西门子WinCC的vbs脚本,可以不用全面学习微软的vbs脚本知识,待用到什么去查手册 即可,但是这样的话会影响使用vbs脚本的效果和效率. 所以建议可以先从微软的VBS学起. 一.VBS脚本…
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 '下面用 = 进行比较,不会执行IF子句 Dim varTest varTest = Null If varTest = Null Then MsgBox "The variable varTest has NULL value." End If '下面用IsNull检测,会执行语句 If…
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定程度后才出现的,因为不但操作系统的程序规模越来越大,而且应用 程序的规模也是日益增长. 代码重用在OOP出现后又是进一步提升. 什么是对象呢?  按照以前Unix的套路:一切皆文件.  在这里也可以说一切皆对象.计算机本身 也可以看做一个对象. 对象具有特征和功能,特征表现为属性,功能表现为方法.…
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见数据类型的重要性.大体来说,编程语言有三种: 强类型语言, 弱类型语言,介于两者之间的语言. 强类型语言要求变量定义的时候必须明确数据类型,弱类型语言不要求在变量定义时明确数据类型. 一.强类型语言.弱类型语言 我们所知的C语言系的语言都要求变量定义时明确数据类型,例如C语言.C++.Java语言等…
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运算符 3.比较运算符 4.逻辑运算符 5.链接运算符 二.运算符的优先级 运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和 1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级. 算术运算符的优…
我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.…
WinCC的输入输出域用来显示信息或者接受操作人员的输入.当作为显示功能时,只有直接的变量连接 才能正常的显示,如果使用动态对话框进行设置且用了表达式则不能正确显示. 但是有时候我们在WinCC变量管理器里面已经有一个相关的变量A,而通过这个变量A可以经过一个固定 的计算方式可以得到一个我们想要的量B,我们有两种选择: 选择1.在PLC侧计算这个量B,然后再建立PLC到WinCC的链接,这种方式增加通讯负载量, 而且还增大了组态的工作量. 选择2.在WinCC侧进行计算.但是我们知道在WinCC…