西门子6ES7214-1BD23-0XB8安装方法

  • 更新时间:2024-04-29 15:25
    所属行业:电气 工控电器 DCS/PLC系统
  • 发货地址:上海松江永丰

    信息编号:295048646,公司编号:22556605

    产品规格:模块式

    产品数量:1000.00 台

    包装说明:全新

    产品单价:面议

    官方网址:http://zhangqueena.b2b168.com/

  • 15221406036 聂航
  • 留言数:1
  • 查看数:4
    相关产品: 西门子代理商 西门子一级代理商
浔之漫智控技术(上海)有限公司 会员 5 年
  • 所在区域:上海松江永丰
  • 经营性质:私有企业
  • 企业类型:经销批发
  • 注册地:上海 松江 永丰 上海市松江区广富林路4855弄52号3楼
  • 主营产品:西门子DP电缆代理商,西门子中国代理商,西门子中国一级代理商,西门子模块代理商,西门子,代理商
  • 企业已认证
  • 个人实名已认证
  • “西门子6ES7214-1BD23-0XB8安装方法”详细信息

浔之漫智控技术(上海)有限公司

西门子6ES7214-1BD23-0XB8安装方法


1本地数据堆栈区L是局部变量,L变量仅在调用它的子程序中有效。

不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。

2不需要做初始化

3 局部变量解释:

L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是二个字节的五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义.

4. 全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。

5  使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据快。

“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用

在S7-300CPU中,每一个级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的大数量为256B(字节),组织块OB自己占去20B或22B,还剩下多234B可分配给FC或FB。如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The?block?could?not?be?copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect?local?data?length(不正确的局部数据长度)。

在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单bbbbbb?Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local?Data(局部数据))。

在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference?Data(参考数据)/Display(显示),然后选择Program?Structure(程序结构),即可在参考表中查看局部数据的占用情况。 

  面向对象编程是计算机语言的一种的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算机编程中我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如:电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它们编写类,以下将会用到西门子的Step7编程语言和的Unity 编程语言来讲解PLC的面向对象编程。


一、 实现方式


    面向对象编程在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、多重背景等名词并不能让大家很明白的理解和使用这种的设计理念。如果大家从面向对象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看 成“类”,它可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrMM440,这在面向对象编程中称为“类”,当需要 编程控制具体的电机时,可以给它分配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需要控制多个电机时,可以分配不同的背景 DB到这个FB块,即创建类的多个实例。Step7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这也可以类比于计算机编程中的面向过程编程,即纯粹以函数为主体的编程。


    的Unity软件编程可以好的理解面向对象编程。它的DFB定义中包含输入/输出参数,私有/共有变量,以及代码实现,而这正是计算机的面向对象 编程中“类”的基本元素,而创建类的实例(对象)就像创建普通的“布尔”变量一样,只需在“Function Blocks”中定义这种“类”的变量即可。


    Step7和Unity都可以采用面向过程和面向对象编程方式,这两种编程方式的区别类似于计算机语言中的C语言和C++语言编程的区别。


    以下的讲解将会把Step7中的FB和Unity中的DFB称为“类”,Step7中的FB+背景DB以及Unity中DFB的实例称为“对象”。


二、 面向对象编程架构


    以上讲解的是实现细节,而编程思想是建立在程序架构上的,不是某个局部使用了面向对象方式,则可以称之为这种编程就是面向对象编程。这种编程需要从以下方面着手:


1、 电路设计的结构化。


    这里主要以自动线为主介绍,对于单机机床可以是它的简化结构,


    <1>、自动线层:这是层次,它拥有一个主PLC,对属于它下面的各区域控制


    <2>、工程层:拥有立的配送电系统,但没有PLC,只有分布式模块,由自动线控制。顾名思义,它有着较大的立性,可以作为一个单的工程项目设计和制造,当自动线比较小时,可以省略该层次。


    <3>、功能组层:根据工艺划分,将实现某一个工艺功能的区段设备划分为一个功能组,它隶属于工程层,当工程层被省略时,隶属于自动线层。


    面向对象编程并不一定要求使用以上的结构,但好的电气结构利于面向对象编程。


2、 任何控制对象逻辑都在“类”中实现。


    为了做到这点,分析与控制对象相关的信息,譬如,对于一个电机,有以下相关的信息需要考虑:


    输入信息:


    <1>、电路保护信息,如电机的空气开关,热继电器等。


    <2>、功能保护信息,如运动电机的限位开关,风机的风压开关,油泵的油位开关等。


    <3>、启动和终止条件,以上的电路保护和功能保护都可能导致电机运转终止,复位也可能导致重启动,但这里的条件指的是正常运行的启动和终止条件,譬如顺序控制的流程步。


    <4>、控制模式:如手动和自动等。


    <5>、故障复位:通过复位信息,重新启动。


    输出信息:


    <1>、控制输出,如控制电机的主接触器。


    <2>、状态信息输出


    <3>、故障输出


    .........


    状态储存信息:


    用于代码实现的中间变量以及可以被人机界面读出的状态变量等


    把以上信息都整合到一个类中,并尽量使类的参数标准化。不过,同编程语言还是曾在一些差别,针对Step7,应该遵循的标准是:程序结构由FC实现,对象控制由FB实现,如下的一种结构体系(其电气结构来自上面的介绍):这只不过是一个粗略的PLC程序架构体系,好的架构应该完善和科学。


3、 规划好数据结构


    数据结构的定义相当重要,并尽量统一这些结构,不要顾虑存储空间,当今的PLC内存足以容纳大量的数据。说明一点的是在Step7中尽量不要在类的外部定义数据结构(UDT),而是在类里面定义,虽然会造成不同类中同一结构的重复性定义,但却提高了类的立性。


三、 优越性


1、 标准化


    使用这种设计模式,可以将程序设计分为两个阶段,即标准库、基本架构开发,以及实际应用层面设计。其中标准库、基本架构是程序标准化的基础,而应用层设计是针对具体的控制工程编程,这样可以把程序设计人员分成两类,一类是标准开发,由程序员负责,一类是应用设计(其中程序调试规划到应用设计),由 经过标准化培训的一般程序员完成,通过这种分配就可以解决中国工业自动化中面临的尴尬局面。传统的中国控制工业,一个程序设计由一个人完成,这样他还负责现场调试,而拥有丰富经验的程序员一般是三十岁后,这时他已经成家,而显然长期出差对家庭不利,很多的程序员为了家庭考虑不得不改行,要么转到管 理岗位,要么去制造工厂搞设备维护,这是资源的严重流失。毫无疑问,使用以上的设计流程,我么可以让经验丰富的程序员搞标准库和架构的设计,而让刚踏入这个行业的年轻人搞应用设计和调试,这不仅可以让老程序员继续他自己的工作,而不影响家庭,也可以让年轻的程序员参入现场调试,培养自己的经验,提高自己的 收入。 


 这可能让某些人士担心,认为年轻的程序员可以参加现场的调试吗?可以肯定的是没有标准化支撑的程序不仅年轻的程序员编不出来,而且现场调试会问题多多。但有了好的标准化后,一年半以上工作经验的程序员就应该能够立面对自动线。


    PLC中的面向对象编程的就是黑匣子编程,针对Step7,我们使用FB去实现每一个对象的控制,控制逻辑、报警处理、信号交换全在FB中,对于应用设计人员,不需要明白里面的代码实现,只需要了解该FB的功能以及如何使用好它就行,这样对于应用程序人员的编程能力要求大大降低,对于编程只不过是遵循架构,拷贝代码,改变输入输出条件而已。


    那么调试呢?很多人认为使用FB编程的烦就是FB的多次调用后,根本无法诊断这些代码,从技术层面上讲确实如此,我们除了从背景DB上查看信息外, 是无法在它多次被调用后监控代码的,但我已说过,这是黑匣子编程,我们不需要诊断这些代码,只需要知道什么样的输入、什么样的参数设定导致什么样的输出就行,代码的逻辑与功能好坏是由标准库开发人员负责的,这就要求标准开发人员需要对他设计的功能块在不同条件下进行不同的测试,保证无误,还需要编写完整、 详尽的功能说明文档,以便于应用设计人员了解这些块,标准架构并不是出来就一劳永逸的,针对千变万化的工程,它是需要不断完善和修订的,这也是一个工程公司可以实实在在进行知识积累的地方。


    程序不仅需要给调试人员使用,而且用户(设备维护人员)也需要了解,如果把完整的标准库文档给用户,可能曾在技术外泄的可能,若不给,对他们诊断设备可能曾在困难,这就需要标准人员制作另外一分文档,即设备维护文档,其知识的透漏以用户能够使用程序进行诊断为限。


2、 重用性和易管理型


    计算机面向对象编程的优点也有重用性和易管理型,在PLC中也曾在,以Step7为例,需要讨论FC和FB的差异。观察数据类型,FB比FC只不过多一个 “STAT”类型,在使用上FB需要背景DB,FC不需要,但就这个差别导致FB拥有自己立的数据储存空间,而FC的数据储存却借助公有变量(如中 间变量M或者共享DB),有这样一种准则,程序块的立性越强,其重用性也越好,产生数据访问冲突的可能性也少,则易于管理。有些公司生产的PLC, 其程序语言没有类似FB 的这种特性,这时可以采用类似“FC+共享DB”的替代方案解决,但它的立性已经大大降低。


    同样的代码的立性是标准的一个重要环节,很难想象一个与其他功能块之间有着千丝万缕联系的功能块能够被作为标准块在不同工程中有效的重复使用。


    纵观计算机语言的发展,开始的编程都是令人恐怖的,而当今的编程让人们得到很大的解脱,有很多现成的标准类库实用,人们可以把多的编程精力放在实现功能本身上,PLC编程也应该朝这种方向发展,应该让多的人从事应用层面的设计,那些标准功能块不应该重复的被不同人员开发,虽然各大PLC厂开发了大量 的程序库,但工业控制对象各式各样,不**业都应该拥有自己的程序库,而代码的可重用性是评价这些功能块好坏的关键。

3、 设计思想的性


    在电路图设计中我们早已经在使用针对控制对象的绘图方式,即把基本的主配送电路和PLC配置完成后,我们会针对每一个现场控制对象如:电机、阀、气缸等控制对象绘制电路图,他们的电源来自主配送电路,控制和反馈与PLC建立连接,硬件连锁根据实际情况调整,一个个控制对象就象搭建积木一样有组织的堆积起来,同样的,编程也是针对一个个控制对象使用相应的标准控制块实现就可以,把程序控制细节实现了有效的封装,使程序看起来简洁和易于维护,而好的设计可以把原理图和程序进行很好的关联,甚至于做到一对一的关系,如原理图中的一个控制对象可以在程序中找到相应的FB调用与之对应,真正做到面向控制对象编程。


    可能有人疑虑,PLC编程大部分是步进编程,这一个个标准块都是针对控制对象的,那控制顺序如何实现呢?这就要求编写专门的顺序控制FB块,或者使用Siemens现成的Graph7来实现,这点与一般编程没什么差别。


    结束语:现在的工业控制领域有很多程序高手,他们很精通算法,也有着自己的编程理念,当我和一些人探讨标准化时,他们认识到标准化的性,但认为这样无法体现自己的编程水准,是的,如上所述作为应用层面的程序设计是不要很高的编程水平,但要想想,一个人难道能一辈子去搞现场调试吗?若想体现自己的,可 以从事标准编程。我希望他们能花一点时间研究程序架构,各行各业,真正的是系统架构设计者,编程小技巧只不过是为好的架构锦上添花。

202207281244519172844.jpg202202231632210850864.jpg202202231632201798164.jpg



当PLC的用户程序要保留在RAM中时,就会用到电池,电池通常是3V或3.6V的不可充电的锂电池,电池的使用寿命通常是五年左右,电池用久了,电压就会下降,当其下降到不足以保证RAM中数据时,RAM中的程序就会丢失。如果用户没有备份程序,就会相当麻烦。

一般PLC内部设有电池电压检测电路,当电压下降到一定程度时,PLC就会报警,提醒换电池。PLC的使用说明书都有提供换电池的方法。一般来 说,PLC在断电后,因为PLC上RAM电源端接有充电电容,即使把电池去掉,电容上充电电量也足够RAM内的数据保持一段时间,所以如果取掉电池后在短 时间内(通常5分钟)再将新电池换上去,数据是不会丢失的。

但用户实际使用PLC的环境情况不尽相同,例如电容的容量下降,RAM电源回路有 灰尘、油泥等形成放电回路等,这会加快PLC断电后电容的放电速度,从而使时间不好把握。如果在带电的情况下换电池就可保程序万无一失。因为电源始终会 有电压加在RAM芯片的电源脚。当然换时亦要小心应对,注意电池的性以及避免短路情况发生。

是把PLC通电15分钟(给内部电容充电),断电,在5分钟内换好新的电池,再上电试一下;

西门子PLC有带卡的,有不带电池的;也有带卡的,带电池的。程序存在MMC卡中,如果没有存储卡,需要电池保存程序的,换电池时候务必注意,带电的情况下,将旧电池取出来,然后将新电池换上即可。

 为了PLC程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:


一、程序结构

1、  程序结构统一

OB1:主程序;

OB100:初始化程序(主程序调用);

OB35:100ms(可修改)中断(主程序调用),可以调用PID模块;

OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(主程序调用、编程);

FC1:系统模式;

FC2:输入处理;

FC3:输出处理;

FC4:运行处理;

FC5:停止处理;

FC6:手自动切换;

FC7:

。。。

。。。

FC100:之后用来建立一些可以循环调用的子程序;

FC105:系统自带,模拟量输入子程序(可以循环调用);

FC106:系统自带,模拟量输出子程序(可以循环调用);

modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;

通讯CP340:FB2:P_RCV,FB3:P_SND;

一般PID:用FB41;

温、湿度PID:用FB58;

如果程序块与系统块重复,请避让。


2、  数据块

DB1:AI数据,类型:REAL,与上位机接口;

DB2:AO数据,类型:REAL,与上位机接口;

DB3:DI数据,类型:BOOL,与上位机接口;

DB4:DO数据,类型:BOOL,与上位机接口;

DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;

DB6:报警消息,类型:BOOL,与上位机接口;

DB7:类型:REAL,中间寄存器;

DB8:类型:INT,中间寄存器;

DB9:类型:WORD,中间寄存器;

DB10:类型:BOOL,中间寄存器;

DB11:之后用作与设备通讯用,例如:MODBUS通讯等;

DB100:之后用作调用FB块时的背景数据块;

M区:也作为中间变量。


3、  DP从站故障诊断

DP从站做故障诊断,故障报警,用FB125即可。


二、控制模式

1、  系统设置远程/本地/手动按钮

1.1、 远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

1.2、 本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

1.3、 手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

2、  单台设备控制

单台设备有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

3、  单台设备(泵、风机及其它大型设备)运行满24小时进行轮换,且有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;


三、编程技巧

1、  程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

2、  如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

3、  对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;

4、  程序要有注释,变量及中间变量有描述,方便别人阅读或以后查阅;

5、  定期做程序备份,以工程名称+系统名称+当天日期;

6、  程序加密,防止别人。



    “西门子6ES7214-1BD23-0XB8安装方法”联系方式

    浔之漫智控技术(上海)有限公司

  • 聂航(经理)

    电话:18974237865

    手机:15221406036

    地址:上海松江永丰上海市松江区广富林路4855弄52号3楼

    网址:http://zhangqueena.b2b168.com/

    我要给“西门子6ES7214-1BD23-0XB8安装方法”留言
    “西门子6ES7214-1BD23-0XB8安装方法”商家推荐产品
关于八方 | 关于我们 | 八方币招商合作网站地图 | 免费注册商业广告 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式商务洽谈室投诉举报
粤ICP备10089450号 - Copyright © 2004 - 2024 b2b168.com All Rights Reserved