产品规格: | 不限 | 产品数量: | 9999.00 台 |
---|---|---|---|
包装说明: | 不限 | 价格说明: | 不限 |
查看人数: | 101 人 | 本页链接: | https://info.b2b168.com/s168-100952925.html |
在工程现场,经常可以遇到现场实际的过程值与客户想看到的观测值不一致的情况,如阀门开度,从模块读取的实际值为0到1000 ,但客户需要看到的观测值却为0到100,在遇到此类状况时,即可以通过线性变换来处理。
二、操作步骤
(1)创建项目,建立过程变量
创建 WinCC 项目并建立与控制器的通讯连接“Test”,在该通道下创建变量,地址分别为MD100和MD110,如图01:
图 01.(2)配置线性变换分别在这两个变量的属性中勾选线性标定选项,在AS值范围始于属性中分别填写0和1000;在OS值范围始于属性中分别填写0和100。其作用为将控制器中的实际值范围缩小10倍后显示在 WinCC 的相应变量中,如图02和03:
图 01.(2)配置线性变换分别在这两个变量的属性中勾选线性标定选项,在AS值范围始于属性中分别填写0和1000;在OS值范围始于属性中分别填写0和100。其作用为将控制器中的实际值范围缩小10倍后显示在 WinCC 的相应变量中,如图02和03:
图 01.
(2)配置线性变换
分别在这两个变量的属性中勾选线性标定选项,在AS值范围始于属性中分别填写0和1000;在OS值范围始于属性中分别填写0和100。其作用为将控制器中的实际值范围缩小10倍后显示在 WinCC 的相应变量中,如图02和03:
.(3)组态画面打开WinCC图形编辑器并新建画面,在画面中创建两个输入输出域,将上面的两个变量分配给输出域后保存,如图 04:
3)组态画面打开WinCC图形编辑器并新建画面,在画面中创建两个输入输出域,将上面的两个变量分配给输出域后保存,如图 04:
(3)组态画面
打开WinCC图形编辑器并新建画面,在画面中创建两个输入输出域,将上面的两个变量分配给输出域后保存,如图 04:
图 03.(3)组态画面打开WinCC图形编辑器并新建画面,在画面中创建两个输入输出域,将上面的两个变量分配给输出域后保存,
图 03.(3)组态画面打开WinCC图形编辑器并新建画面,在画面中创建两个输入输出域,将上面的两个变量分配给输出域后保存,
图 04. (4)测试效果点击图形编辑器工具栏中的绿色三角激活项目,在Step7中创建变量表并监视这两个变量的值,如图5所示:TestTagReal显示99.5时,MD100值为995TestTagUnsign显示98时,MD110值为980
SIMATIC S7-300是模块化的中小型PLC系统,各种模块之间都是独立的,可通过u型总线把各部件紧密地固定在标准的导轨( Rail)上进行组合。它主要由*处理器CPU,信号模块SM,通信模块CP,功能模块FM,
电源
模块PS,接口模块IM组成。如图1所示。
图1 S7-300PLC的基本组成 ②S7-300的数据管理 S7-300 CPU的存储区分为三个区:装载存储区、工作存储区和系统存储区。 a.装载存储区(Load Memory):用于存放用户程序(不含符号表和注释)和附加的系统数据(组态信息、连接及模块参数等),包括CPU内部的RAM和外部的MMC卡。 b.工作存储区(Work Memory):用来存储实际执行的用户程序。PLC在运行时,自动将装载存储区的可执行程序复制到工作存储区,CPU扫描工作存储区的程序和数据,在执行存储区复位操作时,工作存储区的程序和数据被清除。 c.系统存储区:是系统内部数据存储区的集合,包括影像寄存器、I/O存储区、定时器、计数器、状态寄存器等。 对于CPU存储区的三个区域中,工作存储区的数据是由装载存储区复制过来的,系统存储区的属性,对于用户编程较重要,不是本文讨论范围,只有装载存储区里的用户程序是我们关心的。1.S7-300硬件结构S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上。硬件结构如图:
图1 S7-300PLC的基本组成 ②S7-300的数据管理 S7-300 CPU的存储区分为三个区:装载存储区、工作存储区和系统存储区。 a.装载存储区(Load Memory):用于存放用户程序(不含符号表和注释)和附加的系统数据(组态信息、连接及模块参数等),包括CPU内部的RAM和外部的MMC卡。 b.工作存储区(Work Memory):用来存储实际执行的用户程序。PLC在运行时,自动将装载存储区的可执行程序复制到工作存储区,CPU扫描工作存储区的程序和数据,在执行存储区复位操作时,工作存储区的程序和数据被清除。 c.系统存储区:是系统内部数据存储区的集合,包括影像寄存器、I/O存储区、定时器、计数器、状态寄存器等。 对于CPU存储区的三个区域中,工作存储区的数据是由装载存储区复制过来的,系统存储区的属性,对于用户编程较重要,不是本文讨论范围,只有装载存储区里的用户程序是我们关心的。1.S7-300硬件结构S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上。硬件结构如图:
图1 S7-300PLC的基本组成
②S7-300的数据管理
S7-300 CPU的存储区分为三个区:装载存储区、工作存储区和系统存储区。
a.装载存储区(Load Memory):用于存放用户程序(不含符号表和注释)和附加的系统数据(组态信息、连接及模块参数等),包括CPU内部的RAM和外部的MMC卡。
b.工作存储区(Work Memory):用来存储实际执行的用户程序。PLC在运行时,自动将装载存储区的可执行程序复制到工作存储区,CPU扫描工作存储区的程序和数据,在执行存储区复位操作时,工作存储区的程序和数据被清除。
c.系统存储区:是系统内部数据存储区的集合,包括影像寄存器、I/O存储区、定时器、计数器、状态寄存器等。
对于CPU存储区的三个区域中,工作存储区的数据是由装载存储区复制过来的,系统存储区的属性,对于用户编程较重要,不是本文讨论范围,只有装载存储区里的用户程序是我们关心的。
1.S7-300硬件结构
S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上。硬件结构如图:
DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块2.S7-CPU模块S7-CPU模块可分为紧凑型、标准型、革新型、户外型、故障安全型、特种型CPU。CPU312C表示是紧凑型CPU;CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型CPU;CPU314-2PtP表示集成了点到点协议的紧凑型CPU;CPU313表示标准型CPU;CPU312IFM表示户外型CPU;CPU317-2DP表示集成了PROFIBUS-DP协议的特种型CPU;3.CPU的运行模式1)RUN-P:可编程运行模块,在此模式下,可以让用户调试运行程序。2)RUN:运行模式,在此模式下,仅能运行程序,不能修改程序。3)STOP:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到STOP位置,该位置不可保存。4.S7-300PLC功能1)高速的指令处理。2)人机界面(hmi)。3)诊断功能。4)口令保护。5.S7-300模块(多机架图)
DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块2.S7-CPU模块S7-CPU模块可分为紧凑型、标准型、革新型、户外型、故障安全型、特种型CPU。CPU312C表示是紧凑型CPU;CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型CPU;CPU314-2PtP表示集成了点到点协议的紧凑型CPU;CPU313表示标准型CPU;CPU312IFM表示户外型CPU;CPU317-2DP表示集成了PROFIBUS-DP协议的特种型CPU;3.CPU的运行模式1)RUN-P:可编程运行模块,在此模式下,可以让用户调试运行程序。2)RUN:运行模式,在此模式下,仅能运行程序,不能修改程序。3)STOP:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到STOP位置,该位置不可保存。4.S7-300PLC功能1)高速的指令处理。2)人机界面(hmi)。3)诊断功能。4)口令保护。5.S7-300模块(多机架图)
DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块
2.S7-CPU模块
S7-CPU模块可分为紧凑型、标准型、革新型、户外型、故障安全型、特种型CPU。
CPU312C表示是紧凑型CPU;
CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型CPU;
CPU314-2PtP表示集成了点到点协议的紧凑型CPU;
CPU313表示标准型CPU;
CPU312IFM表示户外型CPU;
CPU317-2DP表示集成了PROFIBUS-DP协议的特种型CPU;
3.CPU的运行模式
1)RUN-P:可编程运行模块,在此模式下,可以让用户调试运行程序。
2)RUN:运行模式,在此模式下,仅能运行程序,不能修改程序。
3)STOP:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。
4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到STOP位置,该位置不可保存。
MPI是多点接口(Multi Point Interface)的简称,是西门子公司开发的用于PLC之间通讯的保密的协议。MPI通讯是当通信速率要求不高、通信数据量不大时,可以采用的一种简单经济的通讯方式。MPI通信可使用PLC S7-200/300/400、操作面板TP/OP及上位机MPI/PROFIBUS通信卡,如CP5512/CP5611/CP5613等进行数据交换。MPI网络的通信速率为19.2Kbps~12Mbps,较多可以连接32个节点,较大通讯距离为50m,但是可以通过中继器来扩展长度。6.S7-300数字量模块地址的确定1)数字I/O模块每个槽占4B(等于32个I/O点),如槽1的地址为0.0~3.7;数字量模块中的输入点和输出点的地址由字节部分和位部分组成
1、指令分为单扫描周期指令和多扫描周期指令。对于多扫描周期指令,如果EN或者REQ只使能一个扫描周期,该指令不能成功执行;例如大多数的通信指令;
2、FB块的输入输出形参存储于背景数据块中,在调用该FB时实参可选;而FC块的输入输出是临时内存,必须*实参才能运行;
3、FB块的输入输出虽不是静态变量,但亦有保持功能,具体视程序而定;
4、注意变量被多次赋值时的先后顺序!因为变量的值总会被较后执行动作更新,前面的值将被覆盖;例如下图:
程序初衷为当接受响应完成时ERR置位,或响应**时ERR置位。上述程序是可以完成正常功能的;但若二者互换,如下图
程序初衷为当接受响应完成时ERR置位,或响应**时ERR置位。上述程序是可以完成正常功能的;但若二者互换,如下图
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!
5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;7、数组访问越界将导致CPU错误,ERR灯闪烁;8、单扫描周期指令的循环操作是在单扫描周期完成的;9、多使用宏定义,可使程序易读、方便修改;10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新;请注意二者区别;例见下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;7、数组访问越界将导致CPU错误,ERR灯闪烁;8、单扫描周期指令的循环操作是在单扫描周期完成的;9、多使用宏定义,可使程序易读、方便修改;10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新;请注意二者区别;例见下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;
7、数组访问越界将导致CPU错误,ERR灯闪烁;
8、单扫描周期指令的循环操作是在单扫描周期完成的;
9、多使用宏定义,可使程序易读、方便修改;
10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。
11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新
1.通过OB1的启动参数读出运行时间在非优化的OB1启动信息中带有OB1的运行时间,如图1所示。
图1.读出非优化的OB1中运行时间将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。2.调用RD_SINFO函数读出运行时间如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图1.读出非优化的OB1中运行时间将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。2.调用RD_SINFO函数读出运行时间如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图1.读出非优化的OB1中运行时间
将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。
2.调用RD_SINFO函数读出运行时间
如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图2优化OB1的启动信息例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数TOP_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图2优化OB1的启动信息例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数TOP_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图2优化OB1的启动信息
例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数TOP_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图3调用RD_SINFO函数3.调用RT_INFO函数读出运行时间通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图3调用RD_SINFO函数3.调用RT_INFO函数读出运行时间通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图3调用RD_SINFO函数
3.调用RT_INFO函数读出运行时间
通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图4调用RT_INFO函数通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。4.调用RUNTIME指令读出运行时间通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。
图4调用RT_INFO函数通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。4.调用RUNTIME指令读出运行时间通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。
图4调用RT_INFO函数
通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。
4.调用RUNTIME指令读出运行时间
通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。