我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.…
由于计算机系统区域和语言的设置,以及Step建立项目时的不同设置,有时候利用Step7打开项目时 会遇到如下情况:   项目不可用. 具体如下图所示: 图 step 7 打开时项目不可用 一.Step 7的项目语言 在建立Step7项目时,有一个项目语言的选项可以选择. 图 Step7项目属性: 语言选项 如上图所示,Step7的项目语言是 中文简体,区域是中国.当我们在其他计算机上打开项目的时候, 如果计算机的区域和语言选项不同的话,那么就可能打不开,而出现项目不可用的情况. 二.解决方法 有…
在一次备份Step7项目时,突然发现无法进行备份而是报错,具体的报错内容如下所示: 图 step7 归档程序时报pkzipc.exe 应用程序错误  内存不能为"read" 一.step7项目的备份 备份step 7项目有两种方式, 方式1,简单粗暴直接复制项目文件夹,或者利用压缩软件打包备份. 方式2.利用step7提供的归档功能. 利用step7的归档功能如下所示, 图 step 7的归档功能 二.归档使用的程序设置 安装step7的时候,默认会按照pkzip压缩软件作为默认的归档…
现在的PLC厂商提供的开发环境都具备仿真能力.无论是西门子.三菱.罗克韦尔还是ABB 或是其他一些厂商提供的产品都具有仿真功能. 仿真就是在没有硬件的情况下来测试程序功能,同时也为初学者提供了方便,即便没有硬件 我们也能进行试验,可以验证学习的知识是否正确(虽然我一直不认为能使用PLC是知识,我一直 认为工控PLC的学习更多的是一项技能,需要不断的练习实践). Simaitc STEP 7软件的仿真软件叫PLC Sim, 这是一个独立的软件包可以单独安装,西门子也 提供了一个打包的软件Step7…
西门子的软件是授权软件,只有经过授权认证的用户才能使用,如果没有通过授权认证则不能 正常的使用软件的相关功能. 一.西门子授权不成功问题 如上图所示报故障代码: 000001-0505.报警文本为:未找到有效的许可证密钥.应用程序将关闭. 二.西门子授权管理器 现在西门子TIA的软件通过授权管理器ALM软件来管理软件的授权.在安装Step7时,默认是安装ALM 的,ALM也可以单独安装.安装方式这里就不说了. 可以通过在桌面上双击图标打开ALM软件. 如上图所示为西门子授权管理器软件ALM. 双…
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见数据类型的重要性.大体来说,编程语言有三种: 强类型语言, 弱类型语言,介于两者之间的语言. 强类型语言要求变量定义的时候必须明确数据类型,弱类型语言不要求在变量定义时明确数据类型. 一.强类型语言.弱类型语言 我们所知的C语言系的语言都要求变量定义时明确数据类型,例如C语言.C++.Java语言等…
随着Windows系统的不断升级,西门子工控软件也不断升级,但是有时候在安装西门子 软件的时候会出现授权管理器不能正常启动的情况. 图  Step7 因为自动许可证管理器不能正常打开 如上图所示,报Step7启动 256:132 故障, 提示信息为:Step7 发现自动许可管理器存在问题,正在关闭 应用程序.请重新安装自动许可管理器. 一.上面问题系统 Win10中文系统,软件版本Step7 V5.6中文版 二.原因分析 出现上面的问题是因为自动授权管理器的服务没有正常启动或者安装时出现了异常.…
西门子博图软件,不但体积庞大,功能也很复杂,与经典的Step7相比,如果不是经常使用,一般都会有一种很难使用的感觉. 而且相比原来的Step7操作有点不太一样.这里简单的说一下硬件目录的更新. 有两种方式可以安装,手动安装和自动安装. 手动安装可以通过如下的菜单操作来实现: 图1: 支持包安装菜单 图2: 支持包安装对话框 手动的方式需要在本地计算机上已经下载了,支持包文件:   xxx.isp14 或者对应版本的isp, 14代表TIA V14,以此类推.具体操作看对话框就明白了. 第二种方式…
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定程度后才出现的,因为不但操作系统的程序规模越来越大,而且应用 程序的规模也是日益增长. 代码重用在OOP出现后又是进一步提升. 什么是对象呢?  按照以前Unix的套路:一切皆文件.  在这里也可以说一切皆对象.计算机本身 也可以看做一个对象. 对象具有特征和功能,特征表现为属性,功能表现为方法.…
现在西门子的软件是更新换代太快了,前几年还是Step 7 Micro/Win,后来又出了S7-200 Smart PLC,理所当然的编程调试软件也水涨船高,出了新的Step 7  Micro/Win Smart. 我今天安装了一个测试一下,安装后界面与原来的S7-200的编程软件没多少区别,变化较 大的是采用了新的Robin风格的工具栏. 如下所示: 图  step7 Micro/Win Smart程序界面 一.安装兼容性 Smart软件安装时会有一些限制条件. 1.不能和Sinamics Sc…
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 '下面用 = 进行比较,不会执行IF子句 Dim varTest varTest = Null If varTest = Null Then MsgBox "The variable varTest has NULL value." End If '下面用IsNull检测,会执行语句 If…
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两种脚本语言,C脚本和VBS脚本,通过这两种脚本可以增强WinCC 的动态功能,可以实现一些复杂的功能. 学习西门子WinCC的vbs脚本,可以不用全面学习微软的vbs脚本知识,待用到什么去查手册 即可,但是这样的话会影响使用vbs脚本的效果和效率. 所以建议可以先从微软的VBS学起. 一.VBS脚本…
在WinCC中可以通过报警纪录来实现操作员纪录,这个需要WinCC的消息系统进行组态和配置. 利用消息系统进行实现上诉功能不但复杂而且时间久啦也不方便查询.那么有没有一种简单的方法来 实现操作员纪录呢? 我们知道在Windows系统中可以通过批处理来实现很多功能,而且操作也比较简单,学习起来也 没有多大的难度.那么我们是否可以Windows的批处理功能来实现日志功能呢? 一.WinCC执行外部程序. 在WinCC中通过 ProgramExecute("notepad.exe"); 函数…
前面有一篇文章说过西门子的软件安装的时候太麻烦,很容易出现错误. 但是有些错误在安装的时候却没有关系,例如下面的错误. 如上图所示,安装已经到最后一步,总结前面的修改系统组态已经打勾(✔) ,而且提示的是授权没有传送. 这是我们没有传送授权的报警, 就是告知没有授权的报警,其实软件已经安装成功. 处理: 直接点击 重新启动  即可. --------------------------------------------------------------分割线-----------------…
vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过For循环,这里简单的描述一下后面两种循环. 一.Do....loop循环 Option Explicit 'do loop 循环 'do loop循环有两种形式 '1.形式1 while形式, while true 就一直循环 '2.形式2 until形式, until true 就停止循环 Dim…
在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也提供了和其他一些语言中一样的机制: 常量. 常量大体有两种类型: 字面值常量 和 具名常量. 一.常量 Option Explicit ' vbs 常量 'vbs有两种类型的常量: 字面值常量 和 具名常量 '字面值常量 '字面值常量, 就如字面意思一样,其值就和字面意思表达的一样 Dim strA…
在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要是对于类的实例化对象有意义. vbs的函数和过程对参数变量进行读写的时候,在利用byVal和byRef的行为是不同的. 具体不多说,看代码. 一.代码 ' vbs变量的作用域和生命周期 ' 作用域 '1.vbs的变量有三种作用域: 脚本级作用域.过程级作用域.类级作用域 '2.vbs变量的作用域与三…
和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程思想,就和后来的面向对象一样,对于代码的复用 ' 和代码的逻辑结构是具有非凡的意义的. '2.现在的编程语言无论是脚本.解释型语言.编译型语言都具有函数和过程 ' 的概念 '3.简单的来说我们可以把函数或者过程看成一个黑盒子,给它原料(输入参数) ' 他们就会生成产品(输出). '4.在语法上来看,…
数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型. 一.vbs中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在定义的时候数组的大小固定了,也就是说一旦定义了固定的数组,那么数组能存储多少的数据就 不能改变了. 2.动态数组 就是在定义的时候并不指定数组的大小,在运行的时候动态的指定数组的大小,这样就能根据实际情况 设定数组的大小了. 二.实例 ' vbs 中的数组 'vbs中数组具有自己的特点 '1.vbs…
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运算符 3.比较运算符 4.逻辑运算符 5.链接运算符 二.运算符的优先级 运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和 1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级. 算术运算符的优…
前两天处理过一个故障,是S7-200 Smart与V20的USS通讯,设备厂家在程序里面利 用USS_RPM _R程序循环轮询5个V20设备读取频率和电流值等信息. 图 USS_RPM_R读取信息 上图是第一个站点的读取,其采用的控制方式是利用状态位SM0.0 置位M13.0 = 1, 然后 通过上面的程序段进行读取参数,然后再利用M13.1这个标志位,再做为下一个站点的XMT和 EN信号,同时复位M13.0 = 0: 依次类推一直轮询完5个站点后,再重新设置M13.0 = 1 开始新 一轮的查…
WinCC的输入输出域用来显示信息或者接受操作人员的输入.当作为显示功能时,只有直接的变量连接 才能正常的显示,如果使用动态对话框进行设置且用了表达式则不能正确显示. 但是有时候我们在WinCC变量管理器里面已经有一个相关的变量A,而通过这个变量A可以经过一个固定 的计算方式可以得到一个我们想要的量B,我们有两种选择: 选择1.在PLC侧计算这个量B,然后再建立PLC到WinCC的链接,这种方式增加通讯负载量, 而且还增大了组态的工作量. 选择2.在WinCC侧进行计算.但是我们知道在WinCC…
需要在pom.xml中添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>…
LoadRunner打开WebTours只显示头部解决办法   1.遇到这种情况,先查看一下路径HP\LoadRunner\WebTours下的cgierr日志中是否有错误,比如Can't open perl script "D:\Program":No such file or directory ,如果出现这种错误,说明你安装的路径中存在空格,不能按照到Program Files中,重新安装一遍就可以了 2.查看LR的安装路径,打开LR安装目录下的\LoadRunner\WebTo…
1. 前言 Matlab R2017b打开后一直显示"正在初始化",导致无法运行命令. 2. 解决方案 1. 找到并记录授权文件license_standalone.lic的路径.例如,我是把该授权文件复制到安装路径下了,路径是:C:\Program Files\MATLAB\R2017b\license_standalone.lic: 2. 右击我们在桌面创建的Matlab R2017b 快捷方式 > 选择「属性」> 定位到「目标」框中,MATLAB正确的路径应该是:&l…
[ 关于eclipse项目右键没有project facets的解决方法] [创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或无法加载主类的问题.] 1.安装插件的过程中报错的解决方案->cannot perform operation.Computing alternate solutions... maven项目添加web.xml的解决方案:…
微软推出Win10系统后,很多工控软件也被迫跟着升级,但是因为Win10系统的不稳定性,导致很多时候,安装的软件莫名其妙的 不能用. 相对Win7和WinXP来说,Win10在兼容性和稳定性都差很多. Step7  V5.6支持Win10系统,需要专业版的Win10.安装完Win10后,有时会因为一些异常导致Step7不能打开.例如下面的错误: 3280:503   : The registry database is not setup correctly for the SIMATIC Ma…
using System; using System.Collections.Generic; using System.Linq; using System.Text; //namespace 关键字用来定义命名空间,命名空间主要用来解决命名冲突的问题 //命名空间还有一个作用是将一组相关的类组织到一个抽象空间里面,必须引用 //命名空间,才能访问命名空间的内容 namespace ConsoleApplication1 { class Program { static void Main(s…
一. 概述 跟随着工控安全一路走来,工控安全市场今年明显有相当大的改善,无论从政策还是客户需求,都在逐步扩大中.但是,搞工控安全研究的人员却寥寥无几.一方面工控安全是个跨学课的技术,需要了解多方面的知识,有比较高的技术上的门槛:另一方面,没有可以研究和学习的便利的环境.一般,搞这方面研究的公司或者个人,都会先购买一些硬件设备,搭建一个模拟环境,再做相应的安全研究,成本实在是太高.为了解决这个问题,我们做了一系列的相关的技术研究,通过构建一套虚拟的工业控制环境,从而降低了解和学习工控安全的门槛,推…
最近在做一个项目调试,用的是西门子的PLC,416-2 DP,下面挂了几个DP子网,在进行现场网络测试的时候,有几个走的DP网络的 绝对值编码器,无论怎么弄DP网络不能联通. 一开始我以为DP网线接的不好引起的.因为现场施工都是施工队伍接的,不能保证这种需要良好安装的通讯设备线接的好,所以我就 自己将所有的DP网线全部重新接了一次. 接完后,发现还是不能正常通讯,因此我就感觉奇怪了, 当天搞到很晚了,于是我就下班了没有 继续搞了. 第二天,上班后,我就问同事,这几个绝对值编码器前面的DP站上电了…