浔之漫智控技术(上海)有限公司
    关于我们
  • 企业文化 组织结构 分支公司 售后服务 技术支持
  • 西门子模块6ES7277-0AA22-0XA0型号规格
  • 西门子模块6ES7277-0AA22-0XA0型号规格
  • 西门子模块6ES7277-0AA22-0XA0型号规格

产品描述

品牌西门值+ 包装说明 全新 - 产品规格子 现场安装

西门子模块6ES7277-0AA22-0XA0型号规格


PLC程序设计语言应用实例

    温度控制是许多机器的重要的构成部分。它的功能是将温度控制在所需要的温度范围内,然后进行工件的加工与处理。PID控制系统是得到广泛应用的控制方法之一,下面较为详尽地介绍了PID温度控制的PLC程序设计实例。

(1) 系统组成

    本套系统采用Omron的PLC与其温控单元以及Pro-face的触摸屏所组成。系统包括CQM1H-51、扩展单元TC-101、GP577R以及探温器、加热/制冷单元。

(2) 触摸屏参数设置

    设002代表现在的温度,而102表示输出的温度。如按下开始设置就可设置参数。需要设置的参数有6个,分别是比例带、积分时间、微分时间、滞后值、控制周期、偏移量。它们在PLC的地址与一些开关的地址如下:

    比例带 : DM51  积分时间 : DM52

    微分时间 : DM53  滞后值 : DM54

    控制周期 : DM55  偏移量 : DM56

    数据刷新 : 22905

(3) PLC程序

    002:PID的输入字

    102:PID的输出字

    [NETWORK]

    Name="bbbbbb Check"  //常规检查

    [STATEMENTLIST]

    LD 253.13      //常ON

    OUT TR0

    CMP 002 #FFFF     

    //确定温控单元是否完成初始化

    AND NOT 255.06     //等于

    OUT 041.15   //初始化完成

    LD TR0

    AND 041.15

    OUT TR1

    AND NOT 040.10    

    //不在参数设置状态

    MOV DM0050 102    

    //将设置温度DM50传送给PID输出字

    LD TR1

    MOV 002 DM0057    

    //将002传送到DM57

    [NETWORK]

    Name="Setting Start"  //设置开始

    [STATEMENTLIST]

    LD 253.13

    OUT TR0

    AND 229.05  

    //触摸屏上的开始设置开关

    DIFU 080.05  //设置微分

    LD TR0

    AND 041.15

    AND 080.05

    SET 040.01   //开始设置标志位1

    SET 040.10   //开始设置标志位2

    [NETWORK]

    Name="Poportion"   //比例带设置

    [STATEMENTLIST]

    LD 040.01

    OUT TR0

    AND NOT 042.01

    MOV #C110 102

    //读输出边与输入边的比例带

    CMP 002 #C110

    //比较输入字是否变成C110

    AND 255.06 //等于

    SET 042.01 //设置比例带标志

    LD TR0

    AND 042.01

    MOV DM0051 102

    //将比例带的设定值写入输出字

    CMP 002 DM0051 //是否写入

    AND 255.06

    SET 040.01      //复位标志1

    RSET 042.01    //复位比例带标志

    SET 040.02     //向下继续设置标志

    [NETWORK]

    Name="Integral"//积分时间设置

    [STATEMENTLIST]

    LD 040.02

    OUT TR0

    AND NOT 042.02

    MOV #C220 102 

    //读输出边与输入边的积分

    CMP 002 #C220 

    //比较输入字是否变成C220

    AND 255.06

    SET 042.02      //设置积分标志

    LD TR0

    AND 042.02

    MOV DM0052 102

    //将积分的设定值写入输出字

    CMP 002 DM0052 //是否写入

    AND 255.06

    RSET 040.02

    RSET 042.02

    SET 040.03      //向下继续设置标志

    [NETWORK]

    Name="differential"//微分时间设置

    [STATEMENTLIST]

    LD 040.03

    OUT TR0

    AND NOT 042.03

    MOV #C330 102

    //读输出边与输入边的微分

    CMP 002 #C330

    //比较输入字是否变成C330

    AND 255.06

    SET 042.03      //设置微分标志

    LD TR0

    AND 042.03

    MOV DM0053 102

    //将微分的设定值写入输出字

    CMP 002 DM0053 //是否写入

    AND 255.06

    RSET 040.03

    RSET 042.03

    SET 040.04      //向下继续设置标志

    [NETWORK]

    Name="Hysteresis"//滞后值设置

    [STATEMENTLIST]

    LD 040.04

    OUT TR0

    AND NOT 042.04

    MOV #C440 102

    //读输出边与输入边的滞后值

    CMP 002 #C440

    //比较输入字是否变成C440

    AND 255.06

    SET 042.04 //设置滞后值标志

    LD TR0

    AND 042.04

    MOV DM0054 102

    //将滞后值的设定值写入输出字

    CMP 002 DM0054 //是否写入

    AND 255.06

    RSET 040.04

    RSET 042.04

    SET 040.05      //向下继续设置标志
 
    [NETWORK]

    Name="Period"  //控制周期设置

    [STATEMENTLIST]

    LD 040.05

    OUT TR0

    AND NOT

    042.05

    MOV #C550 102

    //读输出边与输入边的控制周期

    CMP 002 #C550

    //比较输入字是否变成C550

    AND 255.06

    SET 042.05    //设置控制周期标志

    LD TR0

    AND 042.05

    MOV DM0055 102

    //将控制周期的设定值写入输出字

    CMP 002 DM0055 //是否写入

    AND 255.06

    RSET 040.05

    RSET 042.05

    SET 040.06    //向下继续设置标志

    [NETWORK]

    Name="Shift"  //偏移量设置

    [STATEMENTLIST]

    LD 040.06

    OUT TR0

    AND NOT 042.06

    MOV #C660 102

    //读输出边与输入边的偏移量

    CMP 002 #C660

    //比较输入字是否变成C660

    AND 255.06

    SET 042.06    //设置偏移量标志

    LD TR0

    AND 042.06

    MOV DM0056 102

    //将偏移量的设定值写入输出字

    CMP 002 DM0056 //是否写入

    AND 255.06

    RSET 040.06

    RSET 042.06

    SET 040.00

    [NETWORK]

    Name="Return"   //返回

    [STATEMENTLIST]

    OUT TR0

    AND NOT 042.00

    MOV #C070 102 //读输入边的处理值

    CMP 002 #C070 //比较输入字变成C070

    AND 255.06

    SET 042.00      //返回标志

    LD TR0

    AND 042.00

    MOV DM0050 102

    //将设定温度值写入输出字

    RSET 040.00

    RSET 042.00

    RSET 040.10

4  结束语

    以上是PID温度控制的PLC程序设计实例,经过反复试验,该系统可以维持温度在1℃之间变化,保证了好的生产状况,减少了不合格品发生的几率。


1  引言

    在PLC中有多种程序设计语言,如梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等。通过扩展或增强指令集,它们也能执行其它的基本操作。功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在PLC中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用。由于它具有连接方便、操作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。

2  常用的程序设计语言分类

    根据PLC应用范围,程序设计语言可以组合使用,常用的程序设计语言有以下几种:

(1) 梯形图(Ladder Diagram)程序设计语言

    梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,这种程序设计语言采用因果关系来描述事件发生的条件和结果,每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在右面。

    梯形图程序设计语言是*常用的一种程序设计语言,它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉。因此,由这种逻辑控制技术发展而来的梯形图受到欢迎,并得到广泛的应用。

    梯形图程序设计语言的特点是:

    ·与电气操作原理图相对应,具有直观性和对应性;

    ·与原有继电器逻辑控制技术相一致,易于撑握和学习;

    ·与原有的继电器逻辑控制技术的不同点是:梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此应用时需与原有继电器逻辑控制技术的有关概念区别对待;

    ·与布尔助记符程序设计语言有一一对应关系,便于相互转换和程序检查。

(2) 布尔助记符(Boolean Mnemonic)程序设计语言

    布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。

    布尔助记符程序设计语言具有下列特点:

    ·采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;

    ·在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;

    ·与梯形图有一一对应关系,其特点与梯形图语言基本类同。

(3) 功能表图(Sepuential Function Chart)程序设计语言

    功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。功能表图程序设计语言的特点是:

    ·以功能为主线,条理清楚,便于对程序操作的理解和沟通;

    ·对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计、调试时间;

    ·常用于系统规模校大、程序关系较复杂的场合;

    ·只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此整个程序的扫描时间较其他程序编制的程序扫描时间要短得多。

    功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能比较简单清楚地描述并发系统和复杂系统的所有现象,并能对系统中存在的象死锁、不安全等反常现象进行分析和建模,在模型的基础上可以直接编程,因此得到了广泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。




http://www.absygs.com 公司后提示信息

产品推荐