西门子PLC变量与参数的分析

合集下载

西门子PLC FC和FB用法讲解

西门子PLC FC和FB用法讲解

西门子PLC FC和FB用法讲解FC块讲解首先,我们从两者的名字就可以进行区分,可以用一个公式即FB=FC+DB来表示,FB是具有DB背景块的特殊FC,也就是说FB具有FC的功能,同时拥有一个DB块。

FC全称是Function函数。

注:DB块全称DataBlock 数据存储区域,类似数据库中关系表结构。

那首先什么函数呢?函数函数f(x)就像机器或黑箱,给予输入值x便产生唯一输出值f (x)。

x是自变量,f(x)是因变量。

举一个我们常见的公式,求圆的面积,S=π*r*r。

输入r值,便得到圆的面积S,这就是最简单的函数,r是自变量,S是因变量。

图1 变量声明图2 FC函数内容Input:输入型参数,提供外部输入接口。

类似于函数f(x)中的x,是一个自变量。

Input类型参数,是外部变量的拷贝副本,修改其值,外部变量无变化。

假设在程序中修改R的值,从图2编译信息发现,传递的并不是实际参数,所以修改外部接口变量无变化。

Output:输出型参数,提供外部输出接口。

该类型参数由于直接引用外部变量地址,可以修改其值。

InOut:输入输出型参数,既做输入又做输出。

同Output类型一样,可以修改外部接口变量的值。

在适当地方,使用InOut类型变量,可以减少占用PLC的变量声明空间。

Temp:局部变量,在函数内部使用,不提供外部的接口。

我们常常把temp变量用于数据转换的中间值,或者用于循环变量,比如用于For 或者While循环。

由于Temp是局部变量,它的值是随机,使用必须初始化,对其赋值。

Constant:常量,在函数内部使用,意思是恒定不变的变量,只能在声明处修改。

比如我们这里的π圆周率是固定不变的,可能调用的地方有几十处,若程序中直接引用3.1415,后期修改,需要把每个地方都修改过去,很麻烦。

在声明处修改π值,所有函数中的π变量都会修改。

假设我们在程序中修改π常量,从图2中编译信息可以发现,常量不能在程序中修改。

西门子S7-200 PLC指令简介及实例分析

西门子S7-200 PLC指令简介及实例分析

数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV ,用来传送单个的字节、字、双字、实数。

指令格式及功能如表5-1所示。

表5-1单个数据传送指令MOV 指令格式使EN O = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。

【例5-1】将变量存储器VW10中内容送到VW100中。

程序如图5-1所示。

LD I0.1MOVW VW10, VW100图5-1例5-1题图2. 字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。

指令格式及功能如表5-2所示。

表5-2 数据传送指令BLKMOV 指令格式使ENO= 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。

【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。

程序如图5-2所示。

LAD STLLD I0.0BMB VB20 ,VB100, 4图5-2 例5-2图程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。

执行结果如下:数组1数据 30 31 32 33数据地址 VB20 VB21 VB22 VB23块移动执行后:数组2数据 30 31 32 33数据地址 VB100 VB101 VB102 VB1035.1.2 字节交换、字节立即读写指令1. 字节交换指令字节交换指令用来交换输入字IN 的最高位字节和最低位字节。

西门子S7-300 PLC基础与应用 第3版第3章 基本指令

西门子S7-300 PLC基础与应用 第3版第3章 基本指令

输入位 输入字节 输入字 输入双字
在扫描循环期间,逻辑运算的结果存入输 出过程映像寄存器。在循环扫描结束 前,操作系统从输出过程映像寄存器 读出最终结果,并将其传送到数字量 输出模块,直接控制PLC外部的指示 灯、接触器、执行器等控制对象。
输出位 输出字节 输出字 输出双字
位存储器与PLC外部对象没有任何关系, 其功能类似于继电器控制电路中的中 间继电器,主要用来存储程序运算过 程中的临时结果,可为编程提供无数 量限制的触点,可以被驱动但不能直 接驱动任何负载。
页码: 2
西门子S7-300 PLC 基础与应用
第3章 基本逻辑指令的应用
指令的基本知识
1.指令的组成
指令是程序的最小独立单位,用户程序是由若干条 顺序排列的指令构成。指令一般由操作码和操作数组成, 其中的操作码代表指令所要完成的具体操作(功能), 操作数则是该指令操作或运算的对象。
例如,对于STL指令“A I0.0”,其中“A”是操作码, 表示该指令的功能是逻辑“与”操作;“I0.0”是操作 数,也就是数字量输入模块的第0字节的第0位;该指 令的功能就是对I0.0进行“与”操作。
存储位 存储字节 存储字 存储双字
寻址范围 0.0~65535.7
0~65535 0~65534 0~65532 0.0~65535.7 0~65535 0~65534 0~65532 0.0~255.7 0~255 0~254 0~252
标识符 I IB
IW ID Q QB QW QD M MB MW MD
S5T#0H_0M_10MS~ S5T#2H_46M_30S_0MS
示例 True L B#16#20 L 2#0000_0011_1000_0000 L W#16#0380 L C#896 L B#(10,10) L DW#16#0123_ABCD L B#(1,23,45,67) 'A'、'0'、',' L -23

西门子PLC程序设计过程中Temp变量的应用研究

西门子PLC程序设计过程中Temp变量的应用研究

西门子 PLC程序设计过程中 Temp变量的应用研究摘要:西门子S7-400、S7-300系列PLC的STEP7编程软件在程序设计过程中经常用到STAT变量和TEMP变量,本文通过对这两种变量编制相同控制程序研究,并应用仿真软件对运行结果进行测试和分析,详细阐述了应用TEMP变量进行程序设计时出现错误运行结果的过程和原理。

关键词:西门子PLC;仿真;TEMP变量一、概述PLC即可编程逻辑控制器,是一种专门为在工业环境下应用而设计的数字运算操作电子系统,其中西门子S7-400、S7-300系列PLC在我国的应用范围较广,其使用的编程软件为STEP7软件,在工程程序设计过程中,经常会遇到一个工程项目中同时存在大量同种类型的被控设备的情况。

二、应用分析为实现FB功能块的特定逻辑控制功能,常常需要使用大量的中间变量,中间变量可以选用STAT变量或TEMP变量,很多时候技术人员可能误以为以上两种变量在程序设计过程中可以互换使用,同时考虑到TEMP变量不占据CPU装载存储区的空间,更多时候选择使用TEMP变量,而实际应用过程中,不慎重选择很有可能造成严重后果。

1、PLC程序设计中常用的2个基本功能介绍功能1,实现对上升沿输入信号的检测并输出指令信号持续5秒后自动断开功能。

该功能应用于设备的启动按钮为自复位式,而设备启动需要持续4秒以上指令信号的工况,这时可以通过程序设计,实现当某一输入信号产生一个上升沿时,将输出指令信号置为1保持5秒再复位为0。

功能2,实现对时钟脉冲信号输入信号的累加并输出功能,同时具备累加值清零功能。

该功能常用于对现场物料的流量或重量等数据统计的工况,这时可以通过程序设计,实现当某一输入的脉冲信号产生时,将累加中间变量自加1,并赋值给输出端显示当前累加值,当操作人员给出“清零”信号时,该累加值自动清零。

2、测试程序编制2.1 FB功能块建立在STEP7程序中插入名称为“FB2”的功能块,符号名为“FB_TEST_TEMP”,同时在该功能块中添加相关参数,并编制程序分别运用STAT变量和TEMP变量作为中间变量实现功能1和功能2所述功能,如图一所示。

西门子PLC安全F-DB数据块解析

西门子PLC安全F-DB数据块解析

西门子PLC安全F-DB数据块解析F 共享 DB 是一个故障安全数据块,它包含安全程序的所有共享数据和F 系统所需的其它信息。

编译硬件配置时,系统将自动插入F 共享 DB。

通过其名称F_GLOBDB,可以在标准用户程序中评估安全程序的某些数据。

在标准用户程序中读取 F共享 DB在标准用户程序中或在操作员监视和控制系统上,可读出F 共享DB 中的以下信息:● 操作模式:安全模式或已禁用的安全模式(“MODE”变量)● 错误信息“执行安全程序时出错”(“ERROR”变量)● 集体 F 签名(“F_PROG_SIG”变量)● 安全程序的编译日期(“F_PROG_DAT”变量,DATE_AND_TIME 数据类型)可使用完全资格访问来访问这些变量(例如“'F_GLOBDB'.MODE”)。

全局F-DB块FOB_RTG1_SysInfo解析MODE BOOL 1 = 禁用安全模式F_SYSINFO F_SYSINFOMODE BOOL 1 = 禁用安全模式TCYC_CURR DINT F 运行组的当前循环时间(单位为 ms)TCYC_LONG DINT F 运行组的最大循环时间(单位为 ms)TRTG_CURR DINT F 运行组的当前运行时间(单位为 ms)TRTG_LONG DINT F 运行组的最大运行时间(单位为 ms)T1RTG_CURR DINT 不受 STEP 7 Safety V16 支持T1RTG_LONG DINT 不受 STEP 7 Safety V16 支持。

F_PROG_SIG DWORD 安全程序的集体 F 签名F_PROG_DAT DTL 安全程序的编译日期F_RTG_SIG DWORD F 运行组签名F_RTG_DAT DTL F 运行组的编译日期VERS_S7SAF DWORD STEP 7 Safety 的版本标识符通过完全资格寻址,可以访问F 运行组信息DB 的内容。

对西门子PLC的PID参数整定问题分析

对西门子PLC的PID参数整定问题分析

120研究与探索Research and Exploration ·工艺与技术中国设备工程 2017.01 (上)结合我国目前实际情况可知,PID 控制器已经在工业控制领域得到了较为广泛的应用。

与其他控制器相比,PID 控制器具有明显的计算量少、结构经典、便于参数调整等优势。

作为PID 控制的关键,其参数整定问题直接影响PID 控制的控制质量。

因此,分析西门子PLC 的PLD 参数整定问题具有一定的现实意义。

1 西门子PID 基本控制原理西门子PID 控制器的控制原理为:参照系统误差,借助PID 参数完成控制量的计算,最终实现控制功能。

具体而言,输入通过微分(D)、比例(P)以及积分(I)获得输出结果,并将输出结果传递至执行机构,由执行机构负责对某一规定对象执行控制任务。

从西门子PID 的构成来看,其中,微分部分的作用主要是提供盘查信号的变化速率,监测偏差信号的变化状况,识别偏差信号超出正常范围的征兆,准确于偏差信号由正常值转为太大之前,引入一个有效的早期修正信号,缩短系统调节时间。

而比例部分的作用则是即时完成控制系统偏差信号的反应(呈比例)。

当偏差产生后,调节器将会立即进行动作,抑制偏差控制功能的发挥。

此外,在西门子PID 控制器中,积分部分的作用以提升系统无差度以及消除静差为主。

积分的作用有效性与积分时间常数呈负相关关系,即随着积分时间常数的不断减小,积分的消除静差作用将发挥得越来越明显。

2 西门子PLC 的PID 参数整定这里主要从以下几方面入手,对西门子PLC 的PID 参数整定进行分析和研究。

2.1 模拟量闭环控制器控制系统方面在实际运用过程中,PID 模拟量闭环控制器控制系统可产生良好的自动控制功能,其自动控制原理为:当控制系统的设定值高于反馈值参数时,系统开始产生误差,误差被输入至PID 调节器中,由调节器完成微分、比例以及积分的运算,最终得出控制信号计算结果,并将该结果输出出来,传输至执行机构中。

西门子PLC高级编程2_STEP 7数据类型和变量

西门子PLC高级编程2_STEP 7数据类型和变量
. .
in Motor UDT1
out ...
...
. . A #Motor.Enable . .
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2018/7/13 PRO2_05E.6
SITRAIN Training for
Automation and Drives
Date: File:
2018/7/13 PRO2_05E.11
SITRAIN Training for
Automation and Drives
OB1
SIMATIC S7
Siemens AG 2001. All rights reserved.
数据块(DB)
功能 FC10
功能 FC20
可以被所有块访问
Byte n1)
Byte 1
Byte n+1 Byte n+2
Byte 2
Byte 3
...
WORD, DWORD,...数据类型
Byte n1) Byte n+1 Byte n+2 Byte n+2 1) n = 偶数
Word 1
Byte 3 Word 2
...
Byte n+1
Byte n+2
示例:
数组变量的声明:
• 一维:Meas_value: ARRAY[1..10] OF REAL; • 多维:Position: ARRAY[1..5,2..8,...] OF INT;
数组变量的访问:
• L #Meas_value[5] // 装载数组的第5个元素 // 将Meas_value装载到ACCU1中去

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦

西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦FB和FC区别FB--功能块,带背景数据块 FC--功能,相当于函数FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。

他们之间的主要区别是:1. FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区2. FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,TEMP本身不能设置初始值。

本质上,FB,FC的实现目的是相同的;无论何种逻辑要求,FB,FC均可实现。

只是实现方式效率不同,这也和工程师个人编程习惯有关。

FB块优点:1. 易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便2. 多重背景,减少重复工作,提高效率3. 多次调用时,参数修改方便4. 有独立的存储区FC块优点:1. 小巧灵活,对于非多次调用的程序更易理解2. 不占用额外的存储资源FB,FC块管脚定义IN---------变量是外部输入的,只能被本程序块读,不能被本程序块写;OUT-------是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写;IN_OUT--- 输入输出变量本程序块和其他程序都可以读写这个引脚的值。

TEMP -----临时变量,顾名思义是暂时存储数据的变量。

这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。

STAT-------在PLC运行期间始终被存储。

S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。

为何定义的FB,FC块,多次调用后程序混乱?对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。

为何含有定时器或计数器的FB或FC单次调用ok,多次调用时定时器或计数器混乱?对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN 接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“变量”与“参数”是西门子PLC中常用的名词,在不同的使用场合有不同的含义。

为了防止概念的混淆,根据不同的用途,将S7中的变量分为“程序变量”与“诊断变量”两大类:将参数分为“程序参数”与“配置参数(组态参数)”两大类。

“诊断变量”用于PLC调试阶段,“变量表调试”所指的就是“诊断变量”。

诊断变量包括的范围很广,凡是PLC中可以赋值或进行显示的信号与数据统称为诊断变量(Variable),它包括输入、输出、内部标志寄存器、定时器、计数器、数据块中的内容等。

“程序变量”与“程序参数”是在PLC程序设计阶段需要使用的“变量”与“参数”。

因此,除非特别说明,本章所述的“变量”均是指“程序变量”,“参数” 均是指“程序参数”;而在调试部分、硬件组态(配置)部分所述的“变量”均是指“诊断变量”,“参数”均是指“配置参数”。

西门子S7系列PLC可以使用的”程序变量”包括程序参数、局部变量(又称临时变量Temporary)、静态变量(Static)3种基本类型,并且有规定的使用范围。

艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。

如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。

相关文档
最新文档