开源纯C#工控网关+组态软件】的更多相关文章

一.   前言 在园子潜水也七八年了.说来惭愧,这么多年虽然一直自称.NET铁杆粉丝,然仅限于回几个不痛不痒的贴,既没有发布过代码,也没有写过文章. 看着.NET和C#在国外风生水起,国内却日趋没落,我也早觉得有写一点东西的必要了. 二.   为什么要开源,它能做什么 开源是大势所趋 现在已经不是兜售软件光盘卖授权的时代了.我自己开发这套系统也得益于开源. 起因是因为看到单位用的组态软件被版权问题困扰,同时系统十分庞大,动辄几个G,安装部署调试都不方便,同时脚本功能和扩展能力也有限. 开始就是自…
一.   工控网关是什么 网关是物联网和工控系统的核心组件.网关起的是承上启下的作用.上即上位机,电脑/触屏监控系统.MES这些:下即下位机,包括PLC.传感器.嵌入式芯片等. 不同厂家的下位机,往往讲的是不同的语言,西门子的语言叫ProfiBus,施耐德的语言叫Modbus,AB的语言叫Ethernet IP.在楼宇自控领域,又有BACnet .. 网关要担当沟通上.下位机的重任,它的基本功能就是翻译,即协议转换.管你说哪种方言,最后转给上位机的都是普通话. 二.   如何实现软网关:启下 网…
一.   引子 在当前自动化.信息化.智能化的时代背景下,数据的作用日渐凸显.而工业发展到如今,科技含量和自动化水平均显著提高,但对数据的采集.利用才开始起步. 对工业企业而言,数据采集日益受到重视,主要应用场景包括: 节能降耗.投入(如车间的水电气能耗.设备工时.原料耗用)和产出(产量.批数)这些成本核算的关键数据通过传感器采集,取代人工抄表已成为趋势. 绩效考评.投入.产出.损耗.工时数据,其对管理者的决策支持.对员工的绩效评估都很重要. 批次追溯.食品安全形势日益严峻,对物料的追溯也成为国…
一.   引子 监控画面的主要功能之一就是跟踪下位机变量变化,并将这些变化展现为动画.大部分时候,界面上一个图元组件的某个状态,与单一变量Tag绑定,比如电机的运行态,绑定一个MotorRunning信号:但有些时候不会这么简单,比如温度计在温度高于50℃显示红色;某设备报警,可能是多个条件其中之一触发的结果:变量变化触发一系列连锁反应…如此种种.考虑到工控行业大部分技术人员并非计算机专业出身,如何能够用最少的编码解决各种复杂的变量-动画绑定问题,无疑要费一番心思. 二.   方案选型 针对变量…
一.   引子 因为最近很忙(lan),很久没发博了.不少朋友对那个右键弹出菜单和连线的功能很感兴趣,因为VS本身是不包含这种功能的.   大家想这是什么鬼,怎么我的设计器没有,其实这是一个微软黑科技,如果用好,VS可以打造为你专用的神兵利器. 为什么我要扩展Visual Studio的界面设计器?当时我在设计组态软件的时候面临最大的困难大概就是设计器了.一套成熟的组态设计器包括:界面设计器(包括工具栏.设计器.属性管理器).脚本编辑器(各种语法高亮.语法检查.自动完成等等等等).编译(解释)器…
一.   引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都没有写过,属于非常努力的在社区汲取营养的菜青虫一只,现在也算破茧而出了,虽然远没有得道化蝶的境界,也在写作过程中得到不少提升.我开源的这个项目也有我固有的不良代码风格:严重缺乏注释,一方面是懒,一方面因为是单兵作战,也未曾想过让别人理解自己的代码.如何用简洁明了的方式表达自己的思路,虽然烧脑,但得到…
一.   引子 首先感谢博客园:第一篇文章.第一个开源项目,算是旗开得胜.可以看到,项目大部分流量来自于博客园,码农乐园,名不虚传^^. 园友给了我很多支持,并提出了很好的改进意见.现加入屏幕分辨率自适应和OPC Server可CLSID和ProgID自适应加载功能.屏幕自适应本是普遍问题,因为之前都是标配硬件,举手之劳,一懒就忽略了. 仅仅十天前,我还是上github只会点击的菜鸟.Readme文件如何编辑都是现学现卖. 第一次向github上传仓库,下载了发现居然没有任何exe,dll,ba…
一.   网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. 下位机有下位机的语言,上位机有上位机的思路.网关就是一个翻译,把下位机的语言转成通用语,再告诉上位机该怎么做. 这个翻译的过程,应该保证: 实时性.如果太慢,上下位机明显不合拍,就会出问题. 精确性.信号不能频繁丢失.丢步.跳步:不能有太大误差:也不会带入太多干扰和噪音. 稳定性.如发生故障,如通讯…
一.   图元概述 图元是构成人机界面的基本单元.如一个个的电机.设备.数据显示.仪表盘,都是图元.构建人机界面的过程就是铺排.挪移.定位图元的过程. 图元设计是绘图和编码的结合.因为图元不仅有显示和动画,还有背后操纵动画的控制逻辑. 一个好的图元设计框架,应该最大限度提高设计的效率和专业程度. 因为你找到一个会做美工的码农,和会写代码的美工,都很困难,但是单独找码农和绘图员却一抓一大把.所以专业性意味着用人的灵活性,和省钱.而你招来一个美工,一个码农,合作完成一个图元组件,必须考虑减少两人的交…
一.   引子 之前都在讲网关,不少网友关注如何实现界面.想了解下位机变量变化,是怎样一步步触发人机界面动画的. 这个步步触发,实质上是变量组(Group)的批量数据变化(DataChange)事件,引发了变量(Tag)的值更新(ValueChange)事件,最终触发了图元的动画脚本(Action).这是一个连锁反应. 简言之,界面是一批叫Tag乘客,从网关坐TLV协议的列车,到了上位机车站下车,在ClientService这个舞台上,用各自的乐器(ITagReader)演奏了一出交响乐. 二.…
从加入红橡开始熟悉和使用易控(INSPEC)组态软件,值得赞扬的是INSPEC的开放性和对C#语言的支持,除此之外,便也没有感觉它与其他组态软件有太多优势,有人说INSPEC软件授权比国内其他同类的组态软件便宜,姑且认为这也是其中一强项吧. 海淘的东西好不好,得到货了拿到手里用过才知道,组态软件也是一个道理,作为一种开发工具,上手比较容易,具备一些开发经验的可以很快熟练,甚至“精通”.但是它作为一种组态开发工具软件,更多的还需要在实际项目开发过程中摸索,碰到石头伤着了会感到痛,因为害怕疼痛,所以…
PCHMI严格的讲它并不是一款组态软件,也不是一款SCADA软件,而是一个基于.NET构架的DLL文件,开发者可以使用微软的Visual Studio将PCHMI.DLL加载到工具箱里面进行二次开发.开发者不用去学习那些没有用的脚本语言,借助Visual Studio对多语言的支持.比如:C#.VB.C++.F#.JS.J#.Python等.你只需要使用你最熟悉的那门语言,就可以对PCHMI进行复杂的二次开发.当然这不是PCHMI的初衷,作者已经将工业组态中最常用的功能进行了模块化封装.开发者只…
得益于 HTML5 WebGL 技术的成熟,从技术上对工控管理的可视化,数据可视化变得简单易行!完成对工控设备的管理效率,资源管理,风险管理等的大幅度提高,同时也对国家工业4.0计划作出有力响应! 如本案例所示,是一个基于 HTML5 WebGL 技术实现的计量站三维可视化监控系统,在本案例中,具体宏观的展示一个油田站点的整体场景,然后点击可以进入内景看到油田计量站内景的具体情况,同时可以看到各个设备的参数的当前状态. 同样的其中功能组件具有很高的复用性,所以也会非常方便的应用到其他场景中! 如…
使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用VC++/MFC编写,支持.NET, Java, Web, Delphi等开发)彻底开放组态平台! 构建专业工控.仿真平台是一件非常复杂的系统工程,使用E-Form++可视化源码组件库将为您节省超过70%的开发时间.为了能更加清晰的显示如何完成这项工作,我们专门对原来的解决方案进行了细致的拓展,构建了能够对所有工控开发过程中的变量.画面.脚本等进行综合管理的解决方案.该…
现在西门子的软件是更新换代太快了,前几年还是Step 7 Micro/Win,后来又出了S7-200 Smart PLC,理所当然的编程调试软件也水涨船高,出了新的Step 7  Micro/Win Smart. 我今天安装了一个测试一下,安装后界面与原来的S7-200的编程软件没多少区别,变化较 大的是采用了新的Robin风格的工具栏. 如下所示: 图  step7 Micro/Win Smart程序界面 一.安装兼容性 Smart软件安装时会有一些限制条件. 1.不能和Sinamics Sc…
现在的PLC厂商提供的开发环境都具备仿真能力.无论是西门子.三菱.罗克韦尔还是ABB 或是其他一些厂商提供的产品都具有仿真功能. 仿真就是在没有硬件的情况下来测试程序功能,同时也为初学者提供了方便,即便没有硬件 我们也能进行试验,可以验证学习的知识是否正确(虽然我一直不认为能使用PLC是知识,我一直 认为工控PLC的学习更多的是一项技能,需要不断的练习实践). Simaitc STEP 7软件的仿真软件叫PLC Sim, 这是一个独立的软件包可以单独安装,西门子也 提供了一个打包的软件Step7…
西门子的软件是授权软件,只有经过授权认证的用户才能使用,如果没有通过授权认证则不能 正常的使用软件的相关功能. 一.西门子授权不成功问题 如上图所示报故障代码: 000001-0505.报警文本为:未找到有效的许可证密钥.应用程序将关闭. 二.西门子授权管理器 现在西门子TIA的软件通过授权管理器ALM软件来管理软件的授权.在安装Step7时,默认是安装ALM 的,ALM也可以单独安装.安装方式这里就不说了. 可以通过在桌面上双击图标打开ALM软件. 如上图所示为西门子授权管理器软件ALM. 双…
PCHMI是一款适合所有PLC工程师快速上手工控组态开发的控件 下面是视频教程链接 PCHMI工控组态 02-按钮的使用 PCHMI工控组态 03-数据显示器使用 PCHMI工控组态 04-标签控件的使用 PCHMI工控组态 05-图片控件的使用 PCHMI工控组态 06-文本列表使用 PCHMI工控组态 07-下拉控件的使用 PCHMI工控组态 08-语言切换功能 PCHMI工控组态 09-添加互锁 PCHMI工控组态 10-报警显示 PCHMI工控组态 11-创建自定义风格的界面 PCHMI…
前言 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…
之前的文章我们都是在ctf的基础上学习工控协议知识的,显然这样对于S7comm的认识还不够深刻,这次就做一个实战补全,看看S7comm还有哪些值得我们深挖的地方. 本篇是对S7comm的补全和实战,阅读本篇之前一定要先阅读以下文章,掌握基本的S7comm知识: 工控安全入门(二)—— S7comm协议 本篇文章依然有很多笔者自己摸索的内容,可能存在错误,同时也发现了wireshark对于s7comm解析的几个模糊之处,希望大家能帮忙指正.本次选用的流量包来自于github的w3h,有兴趣的同学可…
“祝融”作为一种针对传统PLC控制系统的欺骗攻击病毒,所述的典型的PLC控制系统通常包括两部分: 用于组态.编程.监视.控制的工程师站(通常是PC设备) PLC控制器(通常如西门子.施耐德.三菱等厂家的产品) 此外,在工程师站中通常安装着PLC生产厂家提供的用于PLC控制器组态和编程的开发软件和用于监视和修改PLC内部变量的监控软件.具体对“祝融”而言,所攻击的PLC是西门子公司的S7-300/S7-400,在工程师站上安装的组态和编程软件是Step7,安装的监控软件是Wincc,不用多说,这些…
我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.…
工控安全这个领域比较封闭,公开的资料很少.我在读<Hacking Exposed Industrial Control Systems>,一本16年的书,选了的部分章节进行翻译,以其抛砖引玉. MODBUS Modbus是20世纪70年代后期由Modicon(现为施耐德电气)为了配合其可编程逻辑控制器(PLC)一起使用,创建的基于串行的控制协议.Modbus是最常见的工业控制协议,主要是因为Modbus是一种开放的简单而强大的协议,可以在没有任何版税的情况下开放使用.自从引入Modbus以来,…
对于程序员来说,要凭一己之力开发出漂亮逼真的工控仪表和工控图表是非常耗时间和精力的,那么使用专业的第三方控件就是不错的选择,不仅节约开发时间,降低了项目风险,最重要的是第三方控件写的程序更专业,工控图表图像更精细.笔者认为最好用的工控控件当属 Iocomp 和 ProEssentials.下面笔者对这两个工控控件进行了简单的对比评测: Iocomp工控仪表 Iocomp公司可以说是工业仪表盘控件的龙头老大,在国内工业自动化集成商中,尤其是OPC项目,采用Iocomp产品进行仪表设计的项目越来越多…
前面有一篇文章说过西门子的软件安装的时候太麻烦,很容易出现错误. 但是有些错误在安装的时候却没有关系,例如下面的错误. 如上图所示,安装已经到最后一步,总结前面的修改系统组态已经打勾(✔) ,而且提示的是授权没有传送. 这是我们没有传送授权的报警, 就是告知没有授权的报警,其实软件已经安装成功. 处理: 直接点击 重新启动  即可. --------------------------------------------------------------分割线-----------------…
最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通过Wireshark 进行解析,但是工作量很大,且如果对Wireshark不熟悉基本也是无解,很难解析出来. 网上有部分用C#开发的开源库,但是自己对C#语言不懂,所以也就没法学习和应用了.因此我在这里开始了C#的 从零开始学习之旅(我的从零开始是指对C#一无所知,如果你要和我一起开启这趟旅程,应该…
一. 概述 跟随着工控安全一路走来,工控安全市场今年明显有相当大的改善,无论从政策还是客户需求,都在逐步扩大中.但是,搞工控安全研究的人员却寥寥无几.一方面工控安全是个跨学课的技术,需要了解多方面的知识,有比较高的技术上的门槛:另一方面,没有可以研究和学习的便利的环境.一般,搞这方面研究的公司或者个人,都会先购买一些硬件设备,搭建一个模拟环境,再做相应的安全研究,成本实在是太高.为了解决这个问题,我们做了一系列的相关的技术研究,通过构建一套虚拟的工业控制环境,从而降低了解和学习工控安全的门槛,推…
上一篇我们详细分析了bootram和Vxworks的基本启动流程,这篇文章中我们把视线转到plc的网络部分,同时来复现我们第一个.第二个工控安全漏洞. VxWorks的网络设备驱动 一般我们说有三种设备:块设备.字符设备.网络设备,但是考虑到有些特殊设备的重要性和常用性,VxWorks的设备驱动分为了六大驱动,分别是字符设备驱动.串口驱动.块设备驱动.Flash设备驱动.网络设备驱动.USB设备驱动,其中关于串口驱动的知识实际上我们在上篇文章中已经接触到了一些(还记得/tyCo/1和/tyCo/…
在我国自动化控制领域应用较广泛的工业自动化组态软件有Wonderware公司InTouch.西门子公司Wincc.GE公司iFix.国内也有一些传统组态软件厂商,使用的功能和形式基本上十分类似,受当时开发环境和组态软件框架的限制,也很难做较大的改变. 国内工业软件领域也有后起之秀,例如iNeuOS工业互联网操作系统,和传统组态软件相比有很大区别,主要体现在软件框架.应用功能.界面风格.高级信息化建设的扩展性.实时性及稳定性方面.下面我们主要聊聊国内外组态软件的大体情况. 1.InTouch   …