[物联网] 电气 & 工控】的更多相关文章

原理 一次回路和二次回路 一次回路:强电部分(380伏---22万伏),连接发电机.电动机.变压器.电网线路.电网开关.电网避雷器等等 二次回路:弱电部分,指的是控制线路.保护线路.测量线路.计量线路.指示线路 PLC:可编程逻辑控制器,采用模块化编程语言,遵循 IEC 61131标准,广泛用于工控系统,不会死机,抗电磁干扰能力强.以继电器逻辑控制为基础,逐步发展成为既有逻辑控制,又有计数.计时.分支程序数学计算.模拟量.脉冲控制等综合控制装置,取代传统的继电器--接触器控制系统 PCB:印刷线…
一.   工控网关是什么 网关是物联网和工控系统的核心组件.网关起的是承上启下的作用.上即上位机,电脑/触屏监控系统.MES这些:下即下位机,包括PLC.传感器.嵌入式芯片等. 不同厂家的下位机,往往讲的是不同的语言,西门子的语言叫ProfiBus,施耐德的语言叫Modbus,AB的语言叫Ethernet IP.在楼宇自控领域,又有BACnet .. 网关要担当沟通上.下位机的重任,它的基本功能就是翻译,即协议转换.管你说哪种方言,最后转给上位机的都是普通话. 二.   如何实现软网关:启下 网…
一.   引子 在当前自动化.信息化.智能化的时代背景下,数据的作用日渐凸显.而工业发展到如今,科技含量和自动化水平均显著提高,但对数据的采集.利用才开始起步. 对工业企业而言,数据采集日益受到重视,主要应用场景包括: 节能降耗.投入(如车间的水电气能耗.设备工时.原料耗用)和产出(产量.批数)这些成本核算的关键数据通过传感器采集,取代人工抄表已成为趋势. 绩效考评.投入.产出.损耗.工时数据,其对管理者的决策支持.对员工的绩效评估都很重要. 批次追溯.食品安全形势日益严峻,对物料的追溯也成为国…
使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用VC++/MFC编写,支持.NET, Java, Web, Delphi等开发)彻底开放组态平台! 构建专业工控.仿真平台是一件非常复杂的系统工程,使用E-Form++可视化源码组件库将为您节省超过70%的开发时间.为了能更加清晰的显示如何完成这项工作,我们专门对原来的解决方案进行了细致的拓展,构建了能够对所有工控开发过程中的变量.画面.脚本等进行综合管理的解决方案.该…
工控安全这个领域比较封闭,公开的资料很少.我在读<Hacking Exposed Industrial Control Systems>,一本16年的书,选了的部分章节进行翻译,以其抛砖引玉. MODBUS Modbus是20世纪70年代后期由Modicon(现为施耐德电气)为了配合其可编程逻辑控制器(PLC)一起使用,创建的基于串行的控制协议.Modbus是最常见的工业控制协议,主要是因为Modbus是一种开放的简单而强大的协议,可以在没有任何版税的情况下开放使用.自从引入Modbus以来,…
modbus基础知识 modbus协议最初是由Modicon公司在1971年推出的全球第一款真正意义上用于工业现场的总线协议,最初是为了实现串行通信,运用在串口(如RS232.RS485等)传输上的,分为ModbusRTU.Modbus ASCII两种,后来施耐德电气将该公司收购,并在1997年推出了基于TCP/IP的Modbus TCP.现在使用最多的就是Modbus TCP了,我们今天的主角也是它. Modbus作为一种通信协议,它和我们之前介绍的Zigbee有很大不同,Zigbee有自己完…
Wireshark是一个强大开源流量与协议分析工具,除了传统网络协议解码外,还支持众多主流和标准工控协议的分析与解码. 序号 协议类型 源码下载 简介 1 Siemens S7 https://github.com/wireshark/wireshark/tree/master/epan/dissectors/packet-s7comm.c 西门子PLC支持的通讯协议 2 MMS(IEC61850) https://github.com/wireshark/wireshark/tree/mast…
转载地址:http://blog.sina.com.cn/s/blog_669692a601016i5f.html     工控老鬼提醒以下的信息和资料可能不全或者不准确,如有疑问可以查阅西门子中国网站相关文档. 西门子S7200PLC,是西门子simatic S7系列中的小型PLC产品,至问世以来已经得到了市场的广泛认可.西门子公司根据中国市场需求于 2005 年 12 月 16 日正式发布了 S7-200 CN 系列产品.产品系列中包括 S7-200 CN CPU 和 S7-200 CN E…
在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在HTML5流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG的Canvas方案,已经逐渐成为当今Web SCADA前端技术的首选标配方案. htt…
在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在HTML5流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG的Canvas方案,已经逐渐成为当今Web SCADA前端技术的首选标配方案. 最近客…
一.   前言 在园子潜水也七八年了.说来惭愧,这么多年虽然一直自称.NET铁杆粉丝,然仅限于回几个不痛不痒的贴,既没有发布过代码,也没有写过文章. 看着.NET和C#在国外风生水起,国内却日趋没落,我也早觉得有写一点东西的必要了. 二.   为什么要开源,它能做什么 开源是大势所趋 现在已经不是兜售软件光盘卖授权的时代了.我自己开发这套系统也得益于开源. 起因是因为看到单位用的组态软件被版权问题困扰,同时系统十分庞大,动辄几个G,安装部署调试都不方便,同时脚本功能和扩展能力也有限. 开始就是自…
一.   引子 监控画面的主要功能之一就是跟踪下位机变量变化,并将这些变化展现为动画.大部分时候,界面上一个图元组件的某个状态,与单一变量Tag绑定,比如电机的运行态,绑定一个MotorRunning信号:但有些时候不会这么简单,比如温度计在温度高于50℃显示红色;某设备报警,可能是多个条件其中之一触发的结果:变量变化触发一系列连锁反应…如此种种.考虑到工控行业大部分技术人员并非计算机专业出身,如何能够用最少的编码解决各种复杂的变量-动画绑定问题,无疑要费一番心思. 二.   方案选型 针对变量…
前言 SVG并非仅仅是一种图像格式, 由于它是一种基于XML的语言,也就意味着它继承了XML的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步.如SVG可以内嵌于其他的XML文档中,而SVG文档中也可以嵌入其他的XML内容,各个不同的SVG图形可以方便地组合, 构成新的SVG图形.这个 Demo 运用的技术基于 HTML5 的技术适应了只能电网调度.配电网运行监控与配电网运维管控,通过移动终端实现 Web SCADA 账上运维的时代需求.由于传统电力行业 CS 桌面监控系统一直到新一代 We…
前言 SVG 并非仅仅是一种图像格式, 由于它是一种基于 XML 的语言,也就意味着它继承了 XML 的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步.如 SVG 可以内嵌于其他的 XML 文档中,而 SVG 文档中也可以嵌入其他的 XML 内容,各个不同的 SVG 图形可以方便地组合, 构成新的 SVG 图形.这个 Demo 运用的技术基于 HTML5 的技术适应了只能电网调度.配电网运行监控与配电网运维管控,通过移动终端实现 Web SCADA 账上运维的时代需求.由于传统电力行业 C…
一.   引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都没有写过,属于非常努力的在社区汲取营养的菜青虫一只,现在也算破茧而出了,虽然远没有得道化蝶的境界,也在写作过程中得到不少提升.我开源的这个项目也有我固有的不良代码风格:严重缺乏注释,一方面是懒,一方面因为是单兵作战,也未曾想过让别人理解自己的代码.如何用简洁明了的方式表达自己的思路,虽然烧脑,但得到…
“祝融”作为一种针对传统PLC控制系统的欺骗攻击病毒,所述的典型的PLC控制系统通常包括两部分: 用于组态.编程.监视.控制的工程师站(通常是PC设备) PLC控制器(通常如西门子.施耐德.三菱等厂家的产品) 此外,在工程师站中通常安装着PLC生产厂家提供的用于PLC控制器组态和编程的开发软件和用于监视和修改PLC内部变量的监控软件.具体对“祝融”而言,所攻击的PLC是西门子公司的S7-300/S7-400,在工程师站上安装的组态和编程软件是Step7,安装的监控软件是Wincc,不用多说,这些…
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定程度后才出现的,因为不但操作系统的程序规模越来越大,而且应用 程序的规模也是日益增长. 代码重用在OOP出现后又是进一步提升. 什么是对象呢?  按照以前Unix的套路:一切皆文件.  在这里也可以说一切皆对象.计算机本身 也可以看做一个对象. 对象具有特征和功能,特征表现为属性,功能表现为方法.…
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.在语法上来看,…
现在西门子的软件是更新换代太快了,前几年还是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中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在定义的时候数组的大小固定了,也就是说一旦定义了固定的数组,那么数组能存储多少的数据就 不能改变了. 2.动态数组 就是在定义的时候并不指定数组的大小,在运行的时候动态的指定数组的大小,这样就能根据实际情况 设定数组的大小了. 二.实例 ' vbs 中的数组 'vbs中数组具有自己的特点 '1.vbs…
由于计算机系统区域和语言的设置,以及Step建立项目时的不同设置,有时候利用Step7打开项目时 会遇到如下情况:   项目不可用. 具体如下图所示: 图 step 7 打开时项目不可用 一.Step 7的项目语言 在建立Step7项目时,有一个项目语言的选项可以选择. 图 Step7项目属性: 语言选项 如上图所示,Step7的项目语言是 中文简体,区域是中国.当我们在其他计算机上打开项目的时候, 如果计算机的区域和语言选项不同的话,那么就可能打不开,而出现项目不可用的情况. 二.解决方法 有…
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 '下面用 = 进行比较,不会执行IF子句 Dim varTest varTest = Null If varTest = Null Then MsgBox "The variable varTest has NULL value." End If '下面用IsNull检测,会执行语句 If…
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见数据类型的重要性.大体来说,编程语言有三种: 强类型语言, 弱类型语言,介于两者之间的语言. 强类型语言要求变量定义的时候必须明确数据类型,弱类型语言不要求在变量定义时明确数据类型. 一.强类型语言.弱类型语言 我们所知的C语言系的语言都要求变量定义时明确数据类型,例如C语言.C++.Java语言等…
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运算符 3.比较运算符 4.逻辑运算符 5.链接运算符 二.运算符的优先级 运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和 1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级. 算术运算符的优…
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两种脚本语言,C脚本和VBS脚本,通过这两种脚本可以增强WinCC 的动态功能,可以实现一些复杂的功能. 学习西门子WinCC的vbs脚本,可以不用全面学习微软的vbs脚本知识,待用到什么去查手册 即可,但是这样的话会影响使用vbs脚本的效果和效率. 所以建议可以先从微软的VBS学起. 一.VBS脚本…
前两天处理过一个故障,是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 开始新 一轮的查…
随着Windows系统的不断升级,西门子工控软件也不断升级,但是有时候在安装西门子 软件的时候会出现授权管理器不能正常启动的情况. 图  Step7 因为自动许可证管理器不能正常打开 如上图所示,报Step7启动 256:132 故障, 提示信息为:Step7 发现自动许可管理器存在问题,正在关闭 应用程序.请重新安装自动许可管理器. 一.上面问题系统 Win10中文系统,软件版本Step7 V5.6中文版 二.原因分析 出现上面的问题是因为自动授权管理器的服务没有正常启动或者安装时出现了异常.…