S7300使用说明书.docx
- 文档编号:30207647
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:29
- 大小:497.71KB
S7300使用说明书.docx
《S7300使用说明书.docx》由会员分享,可在线阅读,更多相关《S7300使用说明书.docx(29页珍藏版)》请在冰豆网上搜索。
S7300使用说明书
一、S7-300初始化
尽量使用window2000,WindowsXP。
STEP7V52或以上版本
1.2通信
1、设置通信
`设置或添加PCAdapter(MPI),Property按钮LocalConnection属性页COM119200,注意一般连接到计算机的串行口1。
其他参数不需要设置,注意选择PCAdapter,不要有其他的,例如pc/ppi。
1.3硬件组态
2、新建工程
在SIMATICManager中新建工程,也可以通过wizard向导建立。
选中右边的工程名,InsertStationSIMATIC300。
双击Hardware,从而进入HWCONFIG窗口。
Option>InsertNEWGSE文件。
把MM420,ET200等GSD文件加入。
在hwconfig,如图所示,插入RAC-300机架。
选中机架第二栏,双击CPU-300>CPU313C-2DP,注意准确的编号。
默认地址2。
双击DP,选择Property按钮。
选择NEW,选择1.5MBPS,如果出现警告,可以选择187kpbs。
依次在SLOT1,2,3位置插入其他模块。
0电源模块
S7-300
DI地址:
256-263
DO地址:
256-259
选中DP线,然后双击ET200S,如图所示,插入ET200S.
选择,依次在SLOT1,2,3位置插入其他模块。
6ES7138-4CA00-0AA0PM-EDC24V
6ES7134-4GB50-0AB02AII2DMU
地址Iaddress264-267
6ES7134-4JB50-0AB02AIRTD
地址Iaddress268-271
插入MM420
选择4PKW,2PZD(PPO1)
2AX地址Iaddress280-283Qaddress268-271
全部保存
1.4下装硬件组态并检测
在SIMATICManager中,选择工程,选择PLC>Clear/Reset,可以清除原来的配置信息。
把CPU开关拨到ST,再转到RN位置。
则CPU开始运行。
在HW-CONFIG窗口中,选择saveandcompile,选择PLC>DownLoad,或者Ctrl+L快捷键。
不要理会这个信息,按yes。
然后stop,再下载完后restart。
在HWCONFIG窗口,如图所示。
选择DO,DI,113都可以进行Monitor/Modify。
如图所示,选中Monitor,要求此时在运行状态RUNNING。
可以设置为1,然后按ModifyValue,就可以写入。
当然,如果CPU的程序也在写同一个变量,则可以Forceall或者强制某个变量。
在调试后,解除强制。
二、编程
2.1控制策略
基本思想是提供一个下位机程序。
从而基本满足全部单回路,串级,比值,联锁保护,前馈反馈,解偶等实验。
ET200S采集数据的获取,变频器的控制。
这些数据全部可以获取,变频器包括状态值获取,状态设置,频率设置,真实频率获取。
其他同常规仪表。
数值
0默认值
1
2
3
4
SEL_AI0
4-20毫安通道AI0
总线下水箱液位
总线支路1流量
总线换热器冷出
总线储水箱温度
SEL_AI1
4-20毫安通道AI1
总线下水箱液位
总线支路1流量
总线换热器冷出
总线储水箱温度
SEL_AO0
4-20毫安通道AO0
总线变频器
这样的结构可以通过2AI,1AO实现压力、温度、液位、流量、串级的PID控制。
满足基本需要。
增加四个实验,把现场总线部分加入:
“现场总线流量控制实验”,“现场总线压力控制实验”,“现场总线温度控制实验”“现场总线串级控制实验”。
通过增加变量SEL_AI0,SEL_AI1,SEL_AO0(默认值是0,表示使用4-20毫安通道),可以实现现场总线实验。
如果数字量DO有余,则可以增加三个开关量输出,控制工频1,工频2,变频。
这是特别的要求。
2.2编程
2.2.1初步编辑
如图所示,双击Symbols编辑,编辑全部输入输出相关的全局变量。
以便使得程序具有很好的可读性。
包括IO地址,数据块重命名,等等。
这里的S7Program
(1)和SIMATIC300
(1)等等都可以重新命名。
打开C:
\Siemens\Step7\S7libs\Stdlib30,如图所示,复制PIDcontrolBlocks中的FB41,粘贴到我们的block中。
打开OB1,就可以开始编写程序了。
在一个网络中,插入插入EMPTYBOX,输入“CONT_C”,如图所示。
系统自动选择了PID功能块,在“”中输入DB1,也就是这个FB的数据块名。
如图所示。
系统提醒你是否建立INSTANCEDATABLOCK,回答YES,就可以创建一个PID的背景数据。
由于我们要用到两个PID,所以就有两个DB。
我们还可以自己创建一个DB,选择菜单Insert>S7Block>DataBlock,建立一个DB3,以便进行变频器的一些操作。
其中的VAR_1对于编程没有意义,而是用于调试,以便观察变量,修改变量。
全部模块建立完成,余下的工作就是编辑Symbols、OB1和DB3。
2.2.2符号和变量编辑
打开S7Program
(1)下的Symbols如图所示。
在电路板上1#,5#温度互换位置。
保证锅炉和换热器温度连接到现场总线上。
(不要按照图中地址)
定义的好处是增加可读性。
例如增加
PID0DB1FB41
PID1DB2FB41
则可以应用DB1,DB2中的变量名称。
使用变量的最大好处是:
即使你删除或者增加了变量项目,就不需要重新设置程序中的地址。
强烈建议您在SYMBOL中定义数据区名,然后在程序中使用变量名。
如果你修改了符号表,或者变量表,则需要关闭程序编辑窗口,重新打开,才能使用。
依据系统的硬件,提供了AI0,AI1,AO0,FT101,LT103,TE104,TE105,TR_COMAND等等,TR_SETPOINT,TR_STATUS,EM_STOP几个变量,有输入也有输出。
可以定义如下共享数据类型:
I/O信号(I,IB,IW,ID,Q,QB,QW,QD)
I/O输入输出(PI,PQ)
位存储器(M,MB,MW,MD)
定时器(T)/counters(C)
逻辑块(OB,FB,FC,SFB,SFC)
数据块(DB)
用户定义的数据类型(UDT)
变量表(VAT)
2.2.3编程
"MYDATA".PV0_SEL和"MYDATA".PV1_SEL决定了输入到PID控制器的过程数据。
按照-100~100%的方式,也就是送到监控系统的数据在-100.00~100.00之间,超过这些数值的数据则表示异常。
如图所示是对AI0的处理。
CMP是一个选择判断。
后续包括对LT103,FT101,TE104TE105的选择。
如图所示是对PID0的设置。
具体含义请参看附录中的内容。
如图所示是控制变频器的命令:
“准备”,“启动”“清错”。
分别发送#47E,#47F,#4FE
紧急停车,如图所示。
非急停,是否串级,如果是,则输出PID1到中间变量
非急停,是否串级,如果不是,则输出PID0到中间变量
最终输出,如果MV_SEL=0,则从AO输出,如果MV_SEL=1,则从变频器输出。
27648转换成16385输出到变频器。
27648为输出的外设数据,16385对应50Hz。
如果用户设置频率读取频率,都只能是100%-100%.没有%符号,也就是-100.0~100.0。
由于这里都是DWORD格式,为了送到监控软件,所以进行了转换。
高低限值判断。
送到DO0,O1。
在变频器可以访问的情况下。
给出一些信息。
注意,如果变频器和ET200S不可用。
或者通讯不正常,则可以导致CPU停机。
2.3程序下载
如下图,激活ADAM8000的“Blocks”点击下载按钮,实现整个程序块(包括OB1、OB121、FB41、DB1、DB2、DB3)的下载。
下装前最好先清楚CPU。
如果出现CPU不容易了解的停机,那么也可以先清楚CPU重新下装。
如果不容易调试,那么可以把程序一段段复制到一个新的工程中,然后下装,运行看。
三、S7-300与组态王的通讯
3.1通信设置
假定MPI电缆连接到了COM1口。
通信设置如下。
⑴右键单击COM1新建设备:
西门子S7-300系列MPI(电缆);串口:
COM1;地址:
2.2
⑵双击COM1设置串口COM1:
波特率9600bps;偶校验;数据位8;停止位1;通讯方式RS-485
3.2数据词典定义
由于不支持BOOL访问,所以BOOL都是按照BYTE方式。
特别注意的地方时,如果要正作用,则比例系数设置为正数,如果是反作用,则比例系数设置为负数。
变量名
变量类型
寄存器
数据类型
读写属性
数据范围
描述
PID0_AM
I/O整数
DB1.0
BYTE
读写
0~1
手动自动切换
PID0_PV
I/O实数
DB1.92
Float
只读
0~100(%)
测量值
PID0_SP
I/O实数
DB1.6
Float
读写
0~100(%)
设定值
PID0_MAN
I/O实数
DB1.16
Float
读写
0~100(%)
手动输出值
PID0_MV
I/O实数
DB1.72
Float
读写
0~100(%)
输出值
PID0_P
I/O实数
DB1.20
Float
读写
-1000~1000
比例系数
PID0_I
I/O整数
DB1.24
Long
读写
0~100000000
积分时间,单位ms
PID0_D
I/O整数
DB1.28
Long
读写
0~100000000
微分时间,单位ms
PID0HLM
I/O实数
DB1.40
Float
读写
0~100
输入上限
PID0LLM
I/O实数
DB1.44
Float
读写
0~100
输入下限
PID0QLMN_HLM
I/O整数
DB1.78
Float
读写
0~100
上限告警,第0位,送DO0
PID0QLMN_LLM
I/O整数
DB1.78
Float
读写
0~100
下限告警,第1位,送DO1
PID0_D_SEL
I/O整数
DB0.7
BYTE
读写
加入微分
PID0_I_SEL
I/O整数
DB0.4
BYTE
读写
加入积分
PID1_AM
I/O整数
DB1.0
BYTE
读写
0~1
手动自动切换
PID1_PV
I/O实数
DB2.92
Float
只读
0~100(%)
测量值
PID1_SP
I/O实数
DB2.6
Float
读写
0~100(%)
设定值
PID1_MAN
I/O实数
DB2.16
Float
读写
0~100(%)
手动输出值
PID1_MV
I/O实数
DB2.72
Float
读写
0~100(%)
输出值
PID1_P
I/O实数
DB2.20
Float
读写
0~1000
比例系数
PID1_I
I/O实数
DB2.24
Long
读写
0~1000000
积分时间,单位ms
PID1_D
I/O整数
DB2.28
Long
读写
0~1000000
微分时间,单位ms
PID1HLM
I/O实数
DB2.40
Float
读写
0~100
下限
PID1LLM
I/O实数
DB2.44
Float
读写
0~100
上限
PID1QLMN_HLM
I/O整数
DB2.78
Float
读写
0~100
上限告警,第0位
PID1QLMN_LLM
I/O整数
DB2.78
Float
读写
0~100
下限告警,第1位
CHAIN
I/O整数
DB3.2
BYTE
读写
0-255
0表示不加入串级,1表示加入
PV0_SEL
I/O整数
DB3.4
BYTE
读写
0-5
选择AI0或者其他四个现场总线输入。
PV1_SEL
I/O整数
DB3.6
BYTE
读写
0-5
选择AI1或者其他四个现场总线输入。
MV_SEL
I/O整数
DB3.8
BYTE
读写
0-5
选择AO0或者变频器
TR_COMMAND
I/O整数
DB3.10
BYTE
读写
0~4
变频器准备第0位;启动,第1位;变频器清错,第2位
TR_SET_FREQUENT
I/O实数
DB3.12
Float
读写
0~100
输出目标频率,目的是送给组态软件,或者组态软件设置
TR_REAL_FREQUENT
I/O实数
DB3.16
Float
读写
0~100
当前频率
TR_STATUS
I/O整数
DB3.20
INT
读写
0~65535
当前状态
MV_REAL
I/O实数
DB3.34
Float
读写
0~100
最终输出。
EM_STOP
I/O整数
DB3.50
BYTE
读写
0~255
紧急停车,第0位
LT103
I/O实数
DB3.52
Float
只读
0~100
液位
FT101
I/O实数
DB3.56
Float
只读
0~100
流量
TE104
I/O实数
DB3.60
Float
只读
0~100
换热器温度
TE101
I/O实数
DB3.64
Float
只读
0~100
锅炉温度
3.3常规实验
以下全部实验不只需要提供一个S7-300程序。
设定值最好在画面“出现时”设置。
除了要设定一些参数外,还需要设置每个试验的P,DI参数。
如果在程序中没有设置参数,则最好拨动CPU开关到MR位置,从而使得所有数据设置为默认初始化值。
3.3.1常规液位控制
液位(单、双、三容,以及各种非线性,特殊闸板)特性测量和单回路控制实验。
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
3.3.2常规压力控制和水泵特性测量
水泵特性测量和压力单回路控制实验。
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
压力控制可以选择调节阀,也可以选择变频器。
如果要调节阀控制则为正作用,则比例系数设置为正数,如果变频器控制则使用反作用,则比例系数设置为负数。
3.3.3常规流量控制和水泵特性测量
水泵特性测量和流量单回路控制实验。
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
压力控制可以选择调节阀,也可以选择变频器。
如果要变频器控制则为正作用,则比例系数设置为正数,如果调节阀控制则使用反作用,则比例系数设置为负数。
3.3.4常规温度控制
温度(锅炉、滞后管、换热器等)特性测量和单回路控制实验。
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
3.3.5常规串级控制
包括流量-液位串级,流量-温度串级。
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=1(设定值),PID0_MAN=0(默认值)。
3.3.6常规联锁控制
参数设置PV0_SEL=0(默认值),MV_SEL=0(默认值),CHAIN=0(默认值),PID0_MAN=1(设定值)。
手动值设定为100%。
这样全功率加热,PID0HLM=50,PID0HLM=49,DO1连接2#继电器,DI0连接上限液位。
3.4现场总线实验
3.4.1现场总线液位控制
液位(单、双、三容,以及各种非线性,特殊闸板)特性测量和单回路控制实验。
参数设置PV0_SEL=1(设定值),MV_SEL=1(设定值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
3.4.2现场总线流量控制
变频器连接到支路1的水泵上。
水泵特性测量和流量单回路控制实验。
参数设置PV0_SEL=2(设定值),MV_SEL=1(设定值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
3.4.3现场总线温度控制
换热器单回路控制实验。
参数设置PV0_SEL=3(设定值),MV_SEL=1(设定值),CHAIN=0(默认值)。
如果测量特性则PID0_MAN=1,如果是控制则PID0_MAN=0。
3.4.4现场总线串级控制
包括流量-液位串级,流量-温度串级。
参数设置PV0_SEL=1(设定值),MV_SEL=1(设定值),CHAIN=1(设定值),PID0_MAN=0(默认值)。
四、附录PID控制
本附录在你用PID模块实现控制时提供帮助,为你介绍控制模块的功能并使你熟悉模块参数设置的用户界面。
4.1简介
4.1.1PID控制的概念
PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。
控制模块利用其所提供的全部功能可以实现一个纯软件控制器。
循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。
功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。
4.1.2基本功能
在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。
除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。
4.1.3应用
用两个控制模块组成控制器就可以突破局限的特定应用。
控制器的性能和处理速度只与所采用的CPU性能有关。
对于任意给定的CPU,控制器的数量和每个控制器被调用的频率是相互矛盾的。
控制环执行的速度,或者说,在每个时间单元内操作值必须被更新的频率决定了可以安装的控制器的数量。
对要控制的过程类型没有限制,迟延系统(温度、液位等)和快速系统(流量、电机转速等)都可以作为控制对象。
4.1.4过程分析
注意:
控制过程的静态性能(比例)和动态性能(时间延迟、死区和重设时间等)对被控过程控制器的构造和设计以及静态(比例)和动态参量(积分和微分)的维数选取有着很大的影响。
准确地了解控制过程的类型和特性数据是非常必要的。
4.1.5控制器的选取
注意:
控制环的特性由被控过程或被控机械的物理特性决定,并且我们可以改变的程度不是很大。
只有选用了最适合被控对象的控制器并使其适应过程的响应时间,才能得到较高的控制质量。
4.1.6生成控制器
不用通过编程你就可以生成控制器的大部分功能(构造、参数设置和在程序中的调用等),前提是你掌握了STEP7的编程知识。
4.2参数设置
4.2.1调用参数分配用户界面
在Windows95下按照下面的选项调用PID控制器的参数设置用户界面Start—SIMATIC_Step7—PIDControlParameterAssignment在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。
如果你新建了一个新的背景数据块,你会被提示将这个数据块分配给某一个功能块。
FB43PULSEGEN没有参数设置的界面,你必须用STEP7的工具给其分配参数。
4.2.2在线帮助
当你给控制模块设置参数时可以使用参数设置用户界面的在线帮助,你可以以三种方式调用在线帮助用菜单选项中的Help
按下F1键
按下参数设置用户界面里的帮助按钮
4.3用功能块FB41“CONT_C”实现连续控制
4.3.1简介
在SIMATICS7可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程。
在参数设置过程中,你可以通过参数设置来激活或取消激活PID控制的某些子功能来设计适应过程需要的控制器.
4.3.2应用
你可以将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器。
控制器的算法是基于具有模拟输入信号的采样PID控制。
如果扩展需要的话可以引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。
4.3.3描述
除了给定点和过程变量分支的功能外,FB自己就可以实现一个完整的具有连续操作值输出并且具有手动改变操作值功能的PID控制器,下面你会找到各子功能的详细描述
给定点分支
给定点的值以浮点形式在SP_INT处输入。
过程变量分支
过程变量可以从外设直接输入到PV_PER或以浮点PV-IN形式输入,功能CRP_IN将从外设来的值PV-PER转化成范围在-100%~100%之间的浮点形式,根据下面的法则进行转换:
CRP_IN=PV_PER*100/27648
功能PV_NORM根据下面的法则标准化输出CRP_IN
PV_NORM的输出=(CRP_IN的输出)*PV_FAC+PV_OFF
PV_FAC和PV_OFF的默认值分别为1和0
误差信号
误差是给定点和过程变量之间的差值。
为了抑制由于控制量量化而引起的小扰动(例如,控制量由于其执行电子管的有限分辨率),可将死区功能DEADBAND运用在误差信号上。
如果DEADB_W=0,则死区就不起作用。
PID算法
此处PID算法是位置式的,比例、积分和微分作用并联并且可以分别激活或取消激活。
这样就可以分别构造P、PI、PD以及PID控制器,纯比例控制器或纯微分控制也是可以的。
手动值
可以在手动和自动模式之间切换,在手动模式下,操作值可以由一个手动选择值来设定,积分器在内部设定为LMN(操作值)-LMN_P(比例操作值)-DISV(扰动),
微分器设定为0并且在内部进行同步,这意味着当转换到自动模式后,不会引起操作值的突然改变。
操作值
利用LMNLIMIT功能可以将操作值限定在所选的值范围内,输入值引起的输出超过界限时会在信号位上表现出来,功能LMN_NORM根据下面的公式标准化LMNLIMIT的输出LMN=LMNLIMIT的输出×LMN_FAC+LMN_OFFLMN_FAC和LMN_OFF的默认值分别为1和0操作值也可以直接输出到外设,功能CRP_OUT将浮点形式的值LMN根据下面的公式转化成能输出到外设式的值:
LMN_PER=LMN×100/27648
前馈控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7300 使用 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)