热门搜索:

上海朕锌电气设备有限公司是一家从事:西门子变频器维修、西门子触摸屏、西门子工业电脑的西门子一级代理商,西门子中国总代理商,西门子楼宇代理商。上海朕锌电气设备有限公司凭借雄厚的技术实力及多年从事 SIEMENS 产品的销售经验,本着树立公司形象和对用户认真负责的精神开展业务,赢得了 SIEMENS 公司与广大用户的好评及大力支持,欢迎来电咨询!

    西门子CUD2扩展板
    • 西门子CUD2扩展板
    • 西门子CUD2扩展板

    西门子CUD2扩展板

    更新时间:2024-06-16   浏览数:158
    所属行业:机械 电工电气 工控系统及装备
    发货地址:上海市松江区  
    产品规格:西门子CUD2扩展板
    产品数量:100.00个
    包装说明:全新原装
    价格:面议
    产品规格西门子CUD2扩展板包装说明全新原装

    西门子CUD2扩展板

    中文摘要:本文从工控行业视角阐述了对物联网的认识, 以及对未来方向的定位。 

    中文关键词:物联网, IOT。

    Abstract 

    This paper introduces that  IOT is Noting.…

    Key Words (英文关键字): SIMATIC IOT , WASTON, IBM 

    正文: 

    感谢这次西门子组织的IOT模块测试体验活动,得以近距离亲身了解体会IOT的概念和以及应用。


    按照约定的要求, 连到了S7-1500 CPU , 把要求的S7通讯和OPC UA通讯都成功实现, 也做了到IBM云端的通讯。 比较顺利过程不详述。


    总结如下:



    1,什么是IOT

     



    IOT是Internet Of Things的缩写。所以IOT就是中文意义上的物联网。 西门子开发的SIMATIC IOT 2000模块就是为物联网行业而生的。 物联网当下以及未来, 都会是一个异常热闹的行业。 大量的人力物力资源齐聚其中,不仅仅自动化行业, 不仅仅西门子, 也更不仅仅SIMATIC IOT 2000 。 所以, 万万不可以把IOT 2000等同于物联网, 也更不能把物联网等同于西门子IOT2000 。那样, 会在业界闹大笑话的。 

    所以, SIEMENS给他家的IOT应用模块直接简单取名为IOT,一方面是讨巧, 但另一方面也容易引发混淆。我们在称谓一个模块的时候, 不小心会指向整个大行业。 这不太好。 所以,要尽量避免简称。 即便要简称,直呼其模块代号 2040或者2020 反而比IOT或 SIMATIC 更精确。 

    在物联网行业,应用较广泛的是arduino和树莓派,在它们基础上稍加开发,形成各种可以应用的硬件。行业中大量厂家推出自己的物联网硬件产品, 西门子的SIMATIC IOT 2000 只是其中的一种。 目前来看入局晚,属于小众产品。 

    比如, IBM旗下也有自己的IOT硬件产品:

     


    2,  物联网的本质

      在互联网时代,实现的是每台电脑的上网。 而在物联网时代, 实现的则是每个物体的上网, 信息发布与交互。 而要实现万物互联,因为数量庞大,低成本是一个核心需求。 而物体的信息上网互联, 其实仅仅是第一步。信息数据上网的目的绝不是简单为了看看。 而更大的意义是后端的数据处理,数据分析。

    所以,名义上看是物联网, 但其实其本质却是软件系统。 而大量的数据虽然数据量大, 但其实数据类型并不多。 进行数据分析的模型种类很少。 所以只要平台模板做好, 再多的数据进到平台, 只需要简单的调用接口, 就能实现需要的功能。 

    所以, 大量的物联网公司,都看到了平台的重要性。平台在手, 天下我有。 这个逻辑很简单。 但做平台谈何容易。上到物联网的数据,很少愿意花钱,即便愿意花钱, 因为在硬件方面已经投入太多,能够分给数据功能的费用就已经很少了。 所以物联网平台的将来势必又要和互联网时代的谷歌,腾讯等一样, 强者恒强, 赢家通吃。 


    3,物联网的现状

    要做物联网, 必然离不开云。 物联网平台, 必然需要建立在云平台基础上。 放眼物联网行业,昔日的软件成员, 蓝色巨人IBM不经意间又再次成长为物联网行业的巨人。并俨然成为行业霸主,主导着行业的规则和标准。 这其中, 云平台即IBM BlueMix, 而物联网平台即IBM Watson IoT platform。


    在所有基于LINUX的物联网模块中,IBM开发了图形界面的编程语言NODE-RED。可以直观地可视化的对IOT模块进行编程。实现对数据的抓取和推送等功能。 

    而对于需要上传到云平台的数据,在WASTON平台注册帐号购买需要的计算功能,在NODE-RED中加装一个WASTON的插件,以框图的方式,将数据推送到云端,即可在云端对数据进行分析。 

    因为SIMATIC IOT 2000就是基于LINUX的物联网硬件, 所以自然支持WASTON的所有功能, 我们通过NODE-S7协议或者NODE-OPC UA接口, 很容易从西门子PLC S7-1500中读到了数据, 并通过WASTON送到了IBM云端, 并通过浏览器, 访问IBM 云端, 浏览到了数据信息。


    4,西门子SIMATIC IOT2000的定位。 

    为了较大程度的向下兼容, IOT2000连端子接口都直接与ARDUINO兼容。因而可以直接使用ARDUINO的扩展板。 甚至可以切换到ARDUINO模式进行编程。但在这种模式下,没有NODE, 没有云服务, 实在想不出可以有什么正式的应用。 

    而如果想让IOT2000在以ARDUINO模式运行的同时,还可以同时运行NODE-RED的话, 以西门子的习惯做法, 绝无可能。 

    尽管西门子想尽量做到与ARDUINO的友好接口, 但要想取代ARDUINO而取而代之的话, 恐怕难度相当大的。 毕竟**过20倍的价格差距在那儿放着呢!况且也看不到任何优势。 

    除了ARDUINO编程接口与NODE-RED编程语言之外, IOT2000还支持eclipse编程平台。 这是一个更为庞大复杂的跨平台开源编程开发环境, 需要给IOT2000安装SDK插件后才可以用CPP语言进行开发。 相当于没有任何功能封装, 所有编程接口都提供给了用户。 

    而对用户来说, 如果购买的IOT模块,都同样需要从底层起开发功能,需要具备较高的软件开发的经验的话,就没有必要选用价格贵许多的SIEMENS这样的厂家**的物联网模块, 而情愿购买价格更为便宜的普通的 如NODEMCU这样的芯片了。 

    所以, 综合分析, 西门子所提供的IOT2000模块, 主要的意义在于其能够便利地与已有的设备控制系统的PLC进行通讯, 采集数据。 

    物联网数据采集与PLC数据采集与控制的模式截然不同。 前者通讯的时间间隔长, 响应速度要求低。 而后者通常需要较快的实时性响应。所以,在工厂控制系统中PLC永远不可能被取代。 而尽管现在PLC的CPU算力也都足够强, 但如果想要PLC来实现IOT数据传递也更加不可能。 比如因为与云端服务器的通讯中断, 而导致PLC系统的循环周期**时而导致整个系统宕机, 一定是不可接受的。 所以还是用一个**的网关来专门处理与云端的通讯更为合适。 这就是IOT2000存在的意义, 即西门子开发这个产品的意义所在。 

    比方说, 一个大型工厂, 有大批的物理数据需要采集,送到物联网平台进行数据分析, 有大部分数据需要安装传感器, 并IOT模块来实现。 但工厂中少不了使用SIEMENS PLC控制系统, 而一些物理量数据已经在控制系统中被采集。 或者有些直接就是PLC中的运行数据。 要从SIEMENS PLC中读取数据, 通常需要S7协议支持。 如果不能实现, 那整个项目中,设备的数据部分虽然在控制系统中可以显示, 但在物联网平台上则缺失。物联网平台上对相关数据进行的智能分析统计功能, PLC监控系统中还未必有。 所以客观来说, 对各PLC厂家, 各智能设备厂家, 都需要一个集成了物联网接口的网关模块。 西门子只是顺应了这个需求而已。 

    而相比于PLC控制系统整体来说, 物联网模块价格1600元的价格就不算贵的离谱了。 完全可以接受。 

    所以,SIMTIC IOT2000的应用对象应该是对PLC系统相当熟悉的工控专业人员, 而不是物联网行业中的开发者。 所以它应该在功能上和使用习惯上尽量符合PLC行业的使用习惯。 尽量少的编程工作量, 尽量少的编程技能的需求, 大量工作可以简单配置实现,可重复, 故障可诊断。 目前来看,IOT2000做到了一部分, 但还有很多路要走。 测试中, 按照向导说明书,一步步做下来, 成功的时候不明所以。 但也经常遇到失败的情况, 各种错误信息, 对物联网外行来说, 简直莫名其妙。 

    你完全可以推卸责任, 指责用户技能不够,不懂得物联网平台的习惯等等,但也要随时防备用户的反问: 我如果什么技能都具备了, 啥都会,那我自己完全有开发能力, 去用2美元的芯片自己全部实现便是了。 凭啥还要用你西门子的IOT模块呢?


    5,工控人员面对物联网行业的定位

    前面说了, 物联网行业是个大行业,相比之下, 工控行业规模要小得多得多。 大批专业人才从互联网和电子行业涌入到物联网行业来, 导致我们还没弄明白它是什么的时候, 它已经由蓝海变成了红海。 市场竞争, 技术竞争, 人与人之间的竞争,都异常激烈。 所以建议工控人员, 如果不是打算要彻底改行投身到物联网行业的大潮流中的话, 那实在不需要对物联网投入过多的精力。 你我以往的经验累积, 投放到物联网行业里, 实在价值很小。 

    所以, 对于工控行业人员来说, 所需要做到的仅仅是, 如果我们辖区内的控制系统, 有需要跟物联网对接,那只需要做到,会给他们的开发人员做一个配置,把接口提供给他们,就够了。 简单说, 就是买一台SIMATIC IOT 2000的网关,配置在项目中就够了。 具体的工作方面, 整理提供PLC系统中的数据接口, 提供给对方。 而具体物联网平台上的数据, 让他们自己玩去吧!我们只远观, 只配合, 不追求主导。 

    打一个比方,过去自控系统经常要面临与MES, ERP系统的交接,通常只需要告诉对方,WINCC支持OPC协议, 或者可以提供SQL SERVER数据的访问接口。 配置层面上就OK了 。 那么同理, 当自控系统遇到物联网系统的时候,只需要告诉对方, 我们可以支持物联网协议接口, 就可以了。 而工作量么, 其实就是买一台IOT2000网关模块。

    终于抵不过市场的压力,遵从于市场,用SMART200做了一把标准化的项目。

     

    本来呢, 去年我辛辛苦苦几个月,用标准化的方法,搭建了一套全新的S7-1500的系统项目模板, 指望着后面的项目做起来能轻松些呢!

     

    可后来, 合作方提出, 一些小单机的系统, 要用SMART 200+昆仑通态触摸屏来做。 我不同意, 说,那就用S7-1200好了。 我原本S7-1500下做的程序块, 只要稍微一点点改动,就可以用到S7-1200中。他们原本也同意了, 有几个项目,也是用S7-1200做了。 但后来一些实在低端的项目,就**不住了, 说, **都是用SMART来做的, 我们如果非要坚持用S7-1200,那成本就比竞争对手高出来一大截,而整个设备原本利润都很微薄,就很难跟竞争对手比了。

     

    所以, 迫不得已,还是要按照旧的配置, 用SMART 200来做。

     

    我原本对这个事也不算太重视。 以前做S7-200的时候,就知道可以有库的功能。所以就对学生说, 你就按照我1500的框架结构,在200里面照猫画虎做一遍吧!我实在是累了,重新另起炉灶, 另做一套标准库太累心。

     

    学生在做的过程中,陆陆续续跟我提过一些问题, 告诉在S7-200中实现不了。当时我觉得也很正常的,没怎么放在心上,低端PLC比高端PLC性能差是方方面面的,当然不能指望和新的1500一样的实现高效的标准化,既然不能实现完全标准化, 那就酌情,部分程度的标准化吧,能在将来的项目中实现复用,提高编程效率就行。

     

    后来,设计做完,项目实施到一半的时候, 我把程序要来看了看。甚至还为此专门安装的SMARTPLC的编程软件。

     

    打开程序,看了不到5分钟,就完全晕了。 铺了一个浩大的场面, 做了一套复杂的程序,但本质上, 还是非标的。非但用了大量的全局变量和定时器不说,为了实现电机阀门等**块的重复调用,还增加了一批INOUT的垃圾管脚,设备块调用的时候, 还要为这些管教分配不相冲突的V区。

     

    总的来说,与我的预期相差甚远,甚至大相径庭啊。说明了2个问题, 一个是对我的标准化的理念理解远远不够。 虽然跟着我完整做完了一套 S7-1500的项目,我在过程中也把理念,界限, 原则都给明确了,但到自己实际操练, 仍然露出了短板。 二是,低端PLC要实现标准化程序确实难度大。需要对PLC系统,计算机原理有足够的熟悉,基本功要足够扎实,有足够多的手段来处理遇到的复杂问题,实现标准化应用的需求。

     

    所以, 在2018年我提出标准化编程的理念后,有一大批长期专门擅长玩低端PLC的老鸟, 对我发出了挑战,嘲讽我是饱汉子不知饿汉子饥, 玩高级货不差钱, 不晓得不适应低端货的玩法,也更是不懂中国国情。

     

    好吧,那后一个SMART200的项目, 我从头到尾来做吧。

     

    把他做好的电机块阀门块借来, 在其基础上做了改造,实现简单调用就可以实现重复调用,另外又搭建了一些**块, 实现需要的功能。 并把在S7-1500项目中,还没有特别明确的库函数随工艺分层而分层的理念更加明确清晰。在分层清晰的基础上,也可以施行更清晰的原则,本文只讲一些原则, 并秀一些在原则基础上实现的效果。 而具体的实现方法细节,会在以后的文章中陆续表述。

     

    与高端PLC的子程序有FB和FC的区分, 在S7-200里, 子程序一概叫做SUBROUTE, 简称SBR,所以你新建一个SUB,名字缺省总是SBR_1, _2,_3等等。并且每个SUB都有一个一的编号,SMART200可以定义的SBR号较大为128个,在系统的定义里,这些SUB是平等的,没有分别, 但我们可以人为的划区域,*一些区域的函数是L1,L2,L3的功能性函数, 而另一些区域的函数是A区, 手动功能的函数,B区则为自动功能的调用实现。

    看不懂我上面说的分区,可以看下我以前的文章:《【万泉河】工艺是分区的,库也是分区的》

     

    而因为SMART的编程软件里面,程序块的列表总是以其数字编号从小到大的顺序来的。所以为了整齐, 应当把功能性的库函数定义为较大的编号, 以排在后面,而框架调用的函数,则按照手动到自动的顺序依次建立。

     

    由此实现了如截图的效果:

     




     

    还好,SMART200的函数调用是基于符号的,所以在程序设计中可以随时更改每个SUB的编号, 而不会引起任何调用错误和编译错误。 上面的函数有一些是后加的,排号有一些不够整齐,要理顺也是分分钟的事。

     

    在划分好分区的基础上,约定了一些具体的原则。定时器TIMER自然是一个也没用了。 除此之外,所有的物理I/O地址的调用, 全都在手动功能的A区,包括上位HMI通讯的接口,本质上其实也是I/O, 也大都在A区,即作为调用库函数时的接口体现。

     

    B区则不调用任何物理I/O,调用的全部是A区所实现的对象的参数。只有少部分管脚是上位HMI通讯设定参数或者起停指令的。

     

    而L区不管是L1X, L2X,L3X,只做逻辑,而不针对任何具体的全局变量。所谓做逻辑的地方专心做逻辑,绑I/O的地方, 只有I/O,不见逻辑。

     

    以后遇到新的项目,在逻辑不变的情况下, 只更改I/O的话, 那修改范围只在A区。 而如果逻辑顺控等有变化的时候, 则只在B区和L区中做相应的调整。

     

    对于自动逻辑功能, 即便系统中只调用一次, 比如一个工艺设备,系统中只此一套, 也不具备标准化固化的条件, 也仍然单独做成库函数来做逻辑。 逻辑中不针对具体的对象。除了那些不是变量的全局量(其实是常量)。参考《【万泉河】 上帝不是全局变量》

     

    对应截图中, L3X是工艺逻辑, 而他们的实现则在上端的B1X中。

     

    最后的这一个原则, 是较近才逐渐清晰起来的。 在S7-1500的博途的项目中, 虽然这样做了, 但没有明确的要求在原则里, 也没有跟我的学员们和学生强烈要求, 才导致后面的照猫画虎简直成了画虎不成反类犬。

     

    用演员演戏的例子来解释上述的原则。

    比方说戏剧学院的学生们分组排演罗密欧与朱丽叶,比如黄晓明和赵薇分饰男女主角。 那么在讲述剧情的剧本中, 只可以提到罗密欧和朱丽叶的名字, 而不可以直接指到演员的名字,可以说罗密欧服毒自杀了, 但不可以说黄晓明服毒自杀了。 对应的剧本就是我们在L3X的函数, 而B1X的逻辑实现的函数块,本质上只是个演员表而已。 多组演员表演一个剧本,和一组演员饰演一个剧本并较终上映的商业电影,在编剧写剧本时,没有区别。

     


     

    另外也有人心急,这个程序怎么分享啊!什么价格呀?

    我在做的过程中, 以及调试的过程中,就在思考这个问题。发现,需要的基本功太多了。许多细节, 没有口传身授,恐怕很难传承。在线调试的难度比平常大多了,我自己在刚开始调试逻辑时就经常被搞得晕头转向,被客户催的急死,几乎耽误工期。直到后半段,才逐渐摸索到了正确的调试方法,这些都需要以后手把手传授给学习者。  

     

    就好比, 高档汽车的司机,跟拖拉机手相比,后者要求高多了。 设备越是低级,需要的技能越高。

     

    况且,上一期的PORTAL系统的程序分享,在我看来,效果并不够好。 程序已经分发了3个月了,但我布置了几个小的作业,能完成的人数都很少。当然, 我这里也没有约束力,学员们因为工作忙,顾不上理我给布置的作业, 也情有可原。

     

    那么这个SMART200的程序,我是没信心大面积分享了。 我能做的是面对面的培训,以及协助需要的公司,我可以手把手帮你们把程序框架改造升级。

     

    而且经过这次低端PLC的洗礼,我的理解又上升了一层,即便对于其它品牌的PLC,如果有人有公司有需要,我也可以协助来开发,有信心实现标准化功能。 这可以跟我来谈。





    http://zx2013.cn.b2b168.com