西门子HMI和PLC如何进行通讯?看完你就知道了
关注“PLC发烧友 ”,一起涨知识!
回复:西门子全套,领西门子系列电子资料包!
大家好经常有学员问西门子HMI和PLC之间如何通讯,今天它来了。种方法让你连接无压力。
方法1
集成连接,也叫HMI连接
这种连接有一个前提就需要PLC与HMI处于同一项目下,
通过HMI变量表直接索取PLC变量就可以生成HMI连接。
方法2
非集成连接
这种连接主要用于非同一项目下PLC与HMI之间的连接,
例如精智面板或精简面板与step7编程之间的通讯 ,这种连接直接在HMI连接列表中添加,
建立连接后还需要根据实际通讯接口设置HMI上的接口,
对于这种通讯在关联PLC变量时就能通过绝对地址进行寻址。
西门子HMI和PLC之间通讯就是这么简单快捷,你学会了吗?
来源:技成培训网,作者:技成-黄亚东,未经授权不得转载,违者必究!
回复:西门子全套,领西门子系列电子资料包!
PLC-HMI基于框架的编程(1)
什么是框架
框架在IT行业中使用非常广泛。框架的英文是Framework,意思是框架、机制、准则。框架的说法最早源于建筑行业。指的是一个框子-指其约束性,同时也是一个架子-指其支撑性。框架在基本概念上是一个结构,用于去解决或者处理复杂的问题。后面在其它行业中也有框架这个广泛定义,尤其在软件行业。在软件工程中,框架被定义为整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。或者框架是可被应用开发者定制的应用骨架。通俗地说,框架是实现某种功能的半成品,提供了一些常用的通用工具和一些基础通用化的组件,可以供开发人员在此基础上,更高效地满足各自的业务需求。在IT行业中,绝大部分的编程活动都是基于现成的框架,比如Web应用有Vue、React等框架。桌面应用有VCL、WinForm等框架。目前的大部分行业的业务需求的复杂程度,已经不允许程序员从头开始编程了。基于框架的编程可以大幅提高项目的交付速度和质量。
在自动化行业,框架也是由来已久,不少大厂也都有自己的框架。由于自动化行业绝大部分控制系统的可编程部件是PLC和HMI,所以我们称之为PLC-HMI编程框架。在自动化行业,PLC-HMI基于框架的编程同样可以大幅提高项目的交付速度和质量。一方面目前生产制造对自动化的要求越来越高。另一方面,国内自动化目前是个高度内卷的行业,快速的高质量交付项目是保证企业利润的基本条件。综合来看,现在的自动化行业同样不允许我们从头开始编写一个项目程序。无论是个人或者是公司,只有基于框架的编程才能使我们保持竞争力。
PLC-HMI编程框架组成
通常一个PLC-HMI框架会包含一套组件库。组件库里面有常用的设备控制功能块、画面操作面板等。除此之外,框架还会提供一个项目模板。在这个模板里面提供一个搭建好的程序结构,我们只需要根据生产工艺添加设备、单元及相关逻辑即可。对于HMI,模板里面会有一些常用画面,比如支持筛选的趋势曲线、报警视图等等。一套稳定的、开箱即用的模板可以快速提高项目交付速度,同时也能保证项目质量。
除此之外,框架还会对编程进行约束,比如命名和接口的规范,还有组件的二次开发等。这些约束的目的是为了防止团队人员对框架代码造成污染,以至于程序难以理解,或者影响复用。
面向对象及其设计原则
组件库是一个框架的核心。没有组件库的框架没有任何应用价值。因为组件库会提供大量的可复用的控制组件和视图组件。我们只需要基于组件库根据框架约束及工艺要求完成控制逻辑即可。如果没有组件库的话,大量的底层工作需要我们自己去开发完成,框架帮不上什么忙。
面向对象理念是开发组件库的核心理念。虽然目前很多PLC尚不支持完整的面向对象特性,比如不支持继承(也有少部分支持)和多态等。但是这些并不影响我们使用面向对象理念来开发编写组件。
各行各业都会有自动化需求,但是很多设备是通用的,而工艺却又不同。所以我们的组件又会分为通用的与专用的。为了避免重复造轮子,通常专用组件会继承自通用组件。这些又会涉及到面向对象的设计原则。所以如果要打造一款优秀的框架,还是需要花费很多心思的。
面向对象就是FB?
FB/FC的封装是在PLC中实现面向对象编程的手段。但是面向对象绝不仅仅只是一个FB/FC那么简单。它涉及的知识点非常多。当然并不是说FB/FC有多高的技术含量,但是合理地使用它们,可以编写出高可用的PLC框架,它们能为你带来巨大的收益。
AdvAutoFramework及其命名规范
说了这么多概念性的东西,来点实际的。命名规范是一个框架最基本的规则。AdvAutoFramework框架是我们的一款基于面向对象与整洁架构的PLC-HMI框架。下面介绍一下它的组件成员命名规范。
AdvAutoFramework框架推荐使用帕斯卡命名法,也就是大驼峰命名法。大驼峰命名法就是当方法或者变量名是由一个或者多个单词连接在一起时,每个单词(可以用英文或者拼音)的首字母大写,其它字母小写。尽量用完整单词,太长的话也可以使用缩写。比如启动命令可以写成“StartCommand”,停止命令可以写成“StopCommand”。因为PLC中功能组件的特殊性,我们最好还要区分下输入和输出。在我们的AdvLibSuite中,所有的输出都会加上前缀字符”Q”。参见下图所示。比如”QRunning”表示正在运行。这个正在运行的标记位可以作为其他设备的动作联锁,或者作为顺序控制的步序转移条件。加上前缀字符以区分输入/输出的好处是可以在我们编写程序时避免错误地引用组件成员。
同样道理,因为SCL不区分大小写,所以我们对于组件内部的临时及静态变量也要使用前缀进行区分。在我们的AdvLibSuite框架中,静态变量使用下划线”_”作为前缀,使用字符“t“作为临时变量的前缀。这样在我们的程序中,通过前缀即可看出该变量是临时变量还是静态变量。
除了组件成员的命名规范外,还有组件名称的命名规范,比如会根据其功能加上前缀DCM或者ECM等。
关于小驼峰命名法
在上位机开发中,小驼峰命名法通常用于内部成员。但是因为SCL不区分大小写,所以在同一个组件中,无法同时大驼峰和小驼峰命名法。这也是我们不推荐小驼峰法命名的原因。
关于匈牙利命名法
匈牙利命名法要求变量以一个或者多个小写字母开始,这些字母表示变量的数据类型。因为早期的代码编辑器功能比较弱,使用匈牙利命名法可以防止我们在编程中错误的对不同数据类型的变量进行互操作。但是目前PLC的程序编辑器(比如TIA Portal)语法检查功能比较强,这些和数据类型相关的错误它可以自己检测出来,所以匈牙利命名法已无必要,所以也不推荐。
相关问答
电脑连接plc,怎么将电脑当成hmi用?
将电脑与PLC连接后,我们可以通过在电脑上安装相应的软件,将其作为HMI使用。HMI软件可以显示PLC的状态,实时监控生产过程,并且可以进行操作和控制PLC系统。此...
怎么把电脑模拟成触摸屏与plc连接-ZOL问答
如果是三菱FXN系列PLC有专门的通讯接口和线可以连接触摸屏,当然要看看连接接口是否一致,协议是否相同。触摸屏软件很容易应用,可以在电脑里做好应用,下载到触摸...
plc和触摸屏联的程序怎么写?
PLC和触摸屏之间的程序通常需要用到一些特定的编程语言,例如:1、对于PLC设备,需要使用专业的编程语言,例如LLL、C语言、Modicon等;2、对于触摸屏设备,需...
想在触摸屏上写PLC的程序?
用谁家的屏就用谁家的编程软件写触摸屏上的程序。PLC程序和触摸屏程序是分开的,PLC程序在PLC中呢,触摸屏中的程序会有与PLC通讯和对应的设置,只要对应好了,...
西门子1200模拟量输入编程实例?
以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...
西门子PLC触摸屏如何编写程序?
编写西门子PLC触摸屏程序需要以下步骤:1.在PLC编程软件(如TIAPortal)中创建一个新的项目,并选择PLC型号和触摸屏型号。2.创建一个主程序,并在其中添加...
PLC、变频器、HMI、伺服是什么意思?
一、PLC是可编程逻辑控制器;二、变频器是应用变频技术与微电子技术,可通过自身调节改变电机工作的频率从而来控制电动机的运行速度。三、HMI就是触摸屏四、...
三菱plc与触摸屏编程实例?
三菱PLC与触摸屏编程实例如下,先在三菱PLC中设置好程序、输入输出点,并将其上传至触摸屏,再在触摸屏上进行界面设计、点击属性设置、画面连接等操作。最后,...
上位机系统,PLC,触摸屏三者如何配合比较好?
1、组态或系统集成2、通过组态软件将上位机、PLC、触摸屏关联起来,通过编写组态工程就可以灵活控制PLC或下位机,请注意有的触摸屏即为上位机,因为有的不只是...
三菱PLC与触摸屏如何编程?
三菱系列的PLC(FX2N)与三菱系列的触摸屏(A970GOT)和电脑的连接:计算机COM1口-----SC09编程线------PLC编程口(422口)计算机COM2口-----FX232CAB1数...