9
在工程现场,经常可以遇到现场实际的过程值与客户想看到的观测值不一致的情况,如阀门开度,从模块读取的实际值为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)S**:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到S**位置,该位置不可保存。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)S**:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到S**位置,该位置不可保存。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)S**:停机模式,在此模式下,CPU不执行用户程序,但是装有STEP7的计算机可以读出或者修改用户程序。
4)MRES:存储器复位模式。当开关在此位置释放时会自动返回到S**位置,该位置不可保存。
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、状态与故障显示LED
CPU模块面板上的LED的意义如下:
①SF(系统出错/故障显示,红色):CPU硬件故障或软件错误时亮。
②BATF(电池故障,红色):电池电压低或没有电池时亮。
③DC5V(+5V电源指示,绿色):CPU和S7-300总线的5V电源正常时亮。
④FRCE(强制,黄色):至少有一个I/O被强制时亮。
⑤RUN(运行方式,绿色):CPU处于RUN状态时亮;重新启动时以2Hz的频率闪亮;HOLD状态时以0.5Hz的频率闪亮。
⑥S**(停止方式,黄色):CPU在S**、HOLD状态或重新启动时常亮;请求存储器复位时以0.5Hz的频率闪亮,正在执行存储器复位时以2Hz的频率闪亮
⑦BUSF(总线错误,红色):PROFIBUS-DP接口硬件或软件故障时亮,集成有DP接口的CPU才有此LED。集成有两个DP接口的CPU有两个对应的LED(BUS1F和BUS2F)。
2、CPU的运行模式
①CPU有4中操作模式:S**(停机)、STARTUP(启动)、RUN(运行)和HOLD(保持)。在所有的模式中,都可以通过MPI接口与其他设备通信。
②S**模式:CPU模块通电后自动进入S**模式,在该模式不执行用户程序,可以接收全局数据和检查系统。
③RUN模式:执行用户程序,刷新输入和输出,处理中断和故障信息服务。
④HOLD模式:在启动和RUN模式执行程序时遇到调试用的断点,用户程序的执行被挂起(暂停),定时器被冻结。
⑤STARTUP模式:启动模式,可以用钥匙开关或编程软件启动CPU。如果钥匙开关在RUN或RUN-P位置,通电时自动进入启动模式。
3、模式选择开关
有的CPU的模式选择开关(模式选择器)是一种钥匙开关,操作时需要插入钥匙,用来设定CPU当前的运行方式。钥匙拔出后,就不能改变操作方式。这样可以防止未经授权的人员非法删除或改变用户程序。还可以使用多级口令来保护整个数据库,使用户有效地保护其技术机密,防止未经允许的复制和修改。钥匙开关各位置的意义如下:
①RUN-P(运行-编程)位置:CPU不仅执行用户程序,在运行时还可以通过编程软件读出或修改用户程序,以及改变运行方式。在这个位置不能拔出钥匙开关。
②RUN(运行位置)位置:CPU执行用户程序,可以通过编程软件读出用户程序,但是不能修改用户程序,在这个位置可以取出钥匙开关。
③S**(停止)位置:不执行用户程序,通过编程软件可以读出和修改用户程序,在这个位置可以取出钥匙开关。
④MRES(清除存储器):MRES位置不能保持,在这个位置松手时开关将自动返回S**位置。将钥匙开关从S**状态扳到MRES位置,可复位存储器,使CPU回到初始状态。工作存储器、RAM装载存储器中的用户程序和地址区被清除,全部存储器位、定时器、计数器和数据块均被删除,即复位为零,包括有保持功能的数据。CPU检测硬件,初始化硬件和系统程序的参数,系统参数、CPU和模块的参数被恢复为默认设置,MPI(多点接口)的参数被保留。如果快闪存储器卡,CPU在复位后将它里面的用户程序和系统参数复制到工作存储区。
复位存储器按下述顺序操作:
plc
通电后将钥匙开关从S**位置扳到MRES位置,S** LED熄灭1s,再熄灭1s后保持亮。放开开关,使它回到S**位置,然后又回到MRES,S** LED以2Hz的频率至少闪动3s,表示正在执行复位,最后S** LED一直亮,可松开模式开关。
存储器卡被取掉或插入时,CPU发出系统复位请求,S** LED以0.5Hz的频率闪动。此时应将模式选择开关扳到MRES位置,执行复位操作。
4、微存储器卡
Flash EPROM为存储卡(MMC)用于在断电时保存用户程序和某些数据,它可以扩展CPU的存储器容量,也可以将有些CPU的操作系统保存在MMC中,这对于操作系统的升级是非常方便的。MMC用作装载存储器或便携式保存媒体。MMC的读写直接在CPU内进行,不需要专用的编程器。由于CPU 31xC没有安装集成的装载存储器,在使用CPU时必须插入MMC,CPU与MMC是分开订货的。
如果在写访问过程中拆下SIMATIC微存储卡,卡中的数据会被破坏。在这种情况下,必须将MMC插入CPU中并删除它,或在CPU中格式化存储卡。只有在断电状态或CPU处于S**状态时,才能取下存储卡。
5、通信接口
所有的CPU模块都有一个多点接口MPI,有的CPU模块有一个MPI和一个PROFIBUS-DP接口、有的CPU模块有一个MPI/DP接口和一个DP接口。
MPI用于PLC与其他
西门子plc
、PG/PC(编程器或个人计算机).OP(操作员接口)通过MPI网络的通信。CPU通过MPI接口或PROFIBUS-DP接口在网络上自动地广播它设置的总线参数(即波特率),PLC可以自动地“挂到”MPI网络上。
PROFIBUS-DP的传输速率较高12Mbit/s,用它与其他西门子带DP接口的PLC、PG/PC、OP和其他DP主站和从站的通信。
6、电池盒
电池盒是安装锂电池的盒子,在PLC断电时,锂电池用来**实时钟的正常运行,并可以在RAM中保存用户程序和更多的数据,保存的时间为1年,有的低端CPU(例如312IFM与313)因为没有实时钟,没有配备锂电池。
7、电源接线端子
电源模块的L1、N端子接AC220V电源,电源模块的接地端子和M端子一般用短路片短接后接地,机架的导轨也应接地。
电源模块上的L+和M端子分别是DC4V输出电压的正极和负极。用专用的电源连接器或导线连接电源模块和CPU模块的L+和M端子。
8、实时钟与运行时间计数器
CPU 312 IFM与CPU313因为没有锂电池,只有软件实时钟,PLC断电时停止计时,恢复供电后从断电瞬时的时刻开始计时,有后备锂电池的CPU有硬件实时钟、可以在PLC电源断电时继续运行,运行小时计数器的计数范围为O-32767h
由于梯形图是一种程序表示的形式,并非由硬件构成的控制电路,因此在画梯形图时,应注意和普通控制电路的不同之处,
plc
编程时应该遵循以下基本原则:
(1)外部输入/输出
继电器
、内部继电器、定时器、计数器等软器件的逻辑触点可以多次重复使用,*用复杂的程序结构来减少触点的使用次数。
(2)梯形图的每一行都是从左母线开始,线圈接在较右边。触点不能放在线圈的右边,而在继电
接触器
控制电路中,触点可以加在线圈的右边,这在PLC的梯形图中是不允许的。如图1 (a)表示。从图中不难看出编程者的意图是,当触点0.00、0.01、0.02都闭合时,线圈10.00被驱动得电。但在梯形图中由于触点不能与右母线相连,因此将图1 (a)转换成图1 (b)所示格式,既满足了程序的上述功能,又符合梯形图的编程规则。
图1 线圈未与右母线(或触点与右母线)相连情况的转换 (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图 (3)线圈不能直接与左母线相连。由图2 (a)不难看出编程者的意图是,使程序一运行10.00、10.01线圈即被驱动。要达到这样的目的,可以使用一个程序中未被调用的内部继电器(如200.00)的常闭触点或者特殊继电器25*(常通继电器)的常开触点来驱动它们,既满足了编程者的功能要求,又不违背梯形图编程规则,如图2 (b)所示。 (4)同一编号的线圈在同一个主程序中连续使用两次称为同名双线圈输出。同名双线圈输出*引起输出结果的不确定,编制程序时应尽量避免同名双线圈输出的情况,如何避免同名双线圈输出可以参考图3所示的方案。
图1 线圈未与右母线(或触点与右母线)相连情况的转换 (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图 (3)线圈不能直接与左母线相连。由图2 (a)不难看出编程者的意图是,使程序一运行10.00、10.01线圈即被驱动。要达到这样的目的,可以使用一个程序中未被调用的内部继电器(如200.00)的常闭触点或者特殊继电器25*(常通继电器)的常开触点来驱动它们,既满足了编程者的功能要求,又不违背梯形图编程规则,如图2 (b)所示。 (4)同一编号的线圈在同一个主程序中连续使用两次称为同名双线圈输出。同名双线圈输出*引起输出结果的不确定,编制程序时应尽量避免同名双线圈输出的情况,如何避免同名双线圈输出可以参考图3所示的方案。
图1 线圈未与右母线(或触点与右母线)相连情况的转换
(a)不符合编程规格的梯形图;(b)符合编程规格的梯形图
(3)线圈不能直接与左母线相连。由图2 (a)不难看出编程者的意图是,使程序一运行10.00、10.01线圈即被驱动。要达到这样的目的,可以使用一个程序中未被调用的内部继电器(如200.00)的常闭触点或者特殊继电器25*(常通继电器)的常开触点来驱动它们,既满足了编程者的功能要求,又不违背梯形图编程规则,如图2 (b)所示。
(4)同一编号的线圈在同一个主程序中连续使用两次称为同名双线圈输出。同名双线圈输出*引起输出结果的不确定,编制程序时应尽量避免同名双线圈输出的情况,如何避免同名双线圈输出可以参考图3所示的方案。
图2 线圈直接与左母线相连情况的转换 (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图
图2 线圈直接与左母线相连情况的转换 (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图
图2 线圈直接与左母线相连情况的转换
(a)不符合编程规格的梯形图;(b)符合编程规格的梯形图
图3 同名双线圈输出及其解决方案 (a)原梯形图;(b)运行效果; 在梯形图程序中一般应尽量避免同名双线圈输出,因为这样会造成输出结果的不确定,如图 (a)所示为同名双线圈输出梯形图。在编程语法上,该梯形图并不违反规定,但在实际运行过程中,其结果有时会和编程者的期望大相径庭。不难看出(a)图中编程者的意图是,当支路1中的触点0.00、0.01都闭合时、或支路2中的触点0.02、0.03都闭合时、或两条支路中的所有触点都闭合时,线圈10.00都能被驱动。但在实际执行中,当触点支路1中的触点0.00、0.01闭合,而支路2中的触点0.02、0.03断开时,线圈10.00并不得电,结果如图 (b)所示。这是因为PLC采用循环扫描的处理方式。在输入采样后,*处理器对梯形图自上而下进行运算。在运算*一阶电路时,线圈10.00是被驱动得电的,但运算到*二阶电路时,线圈10.00因触点0.02、0.03断开而不被驱动。在I/O刷新时,以最后的运算结果为准进行输出,因而此时的线圈10.00是失电状态的。 (5)梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地顺序执行,如不符合顺序执行原则的梯形图程序是无法输入编程软件的。如图4 (a)所示的桥式结构的梯形图,不难看出程序设计者的意图是,当支路l的所有触点均闭合、或支路2的所有触点均闭合、或支路3的所有触点均闭合、或支路4的所有触点均闭合时,线圈10.00被驱动得电。但此类梯形图由于不符合编程规则而无法输入编程软件或手持编程器,应将图4(a)转换成图4 (b)所示,才能利用编程软件或手持编程器写入PLC存储器中。
图3 同名双线圈输出及其解决方案 (a)原梯形图;(b)运行效果; 在梯形图程序中一般应尽量避免同名双线圈输出,因为这样会造成输出结果的不确定,如图 (a)所示为同名双线圈输出梯形图。在编程语法上,该梯形图并不违反规定,但在实际运行过程中,其结果有时会和编程者的期望大相径庭。不难看出(a)图中编程者的意图是,当支路1中的触点0.00、0.01都闭合时、或支路2中的触点0.02、0.03都闭合时、或两条支路中的所有触点都闭合时,线圈10.00都能被驱动。但在实际执行中,当触点支路1中的触点0.00、0.01闭合,而支路2中的触点0.02、0.03断开时,线圈10.00并不得电,结果如图 (b)所示。这是因为PLC采用循环扫描的处理方式。在输入采样后,*处理器对梯形图自上而下进行运算。在运算*一阶电路时,线圈10.00是被驱动得电的,但运算到*二阶电路时,线圈10.00因触点0.02、0.03断开而不被驱动。在I/O刷新时,以最后的运算结果为准进行输出,因而此时的线圈10.00是失电状态的。 (5)梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地顺序执行,如不符合顺序执行原则的梯形图程序是无法输入编程软件的。如图4 (a)所示的桥式结构的梯形图,不难看出程序设计者的意图是,当支路l的所有触点均闭合、或支路2的所有触点均闭合、或支路3的所有触点均闭合、或支路4的所有触点均闭合时,线圈10.00被驱动得电。但此类梯形图由于不符合编程规则而无法输入编程软件或手持编程器,应将图4(a)转换成图4 (b)所示,才能利用编程软件或手持编程器写入PLC存储器中。
图3 同名双线圈输出及其解决方案
(a)原梯形图;(b)运行效果;
在梯形图程序中一般应尽量避免同名双线圈输出,因为这样会造成输出结果的不确定,如图 (a)所示为同名双线圈输出梯形图。在编程语法上,该梯形图并不违反规定,但在实际运行过程中,其结果有时会和编程者的期望大相径庭。不难看出(a)图中编程者的意图是,当支路1中的触点0.00、0.01都闭合时、或支路2中的触点0.02、0.03都闭合时、或两条支路中的所有触点都闭合时,线圈10.00都能被驱动。但在实际执行中,当触点支路1中的触点0.00、0.01闭合,而支路2中的触点0.02、0.03断开时,线圈10.00并不得电,结果如图 (b)所示。这是因为PLC采用循环扫描的处理方式。在输入采样后,*处理器对梯形图自上而下进行运算。在运算*一阶电路时,线圈10.00是被驱动得电的,但运算到*二阶电路时,线圈10.00因触点0.02、0.03断开而不被驱动。在I/O刷新时,以最后的运算结果为准进行输出,因而此时的线圈10.00是失电状态的。
(5)梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地顺序执行,如不符合顺序执行原则的梯形图程序是无法输入编程软件的。如图4 (a)所示的桥式结构的梯形图,不难看出程序设计者的意图是,当支路l的所有触点均闭合、或支路2的所有触点均闭合、或支路3的所有触点均闭合、或支路4的所有触点均闭合时,线圈10.00被驱动得电。但此类梯形图由于不符合编程规则而无法输入编程软件或手持编程器,应将图4(a)转换成图4 (b)所示,才能利用编程软件或手持编程器写入PLC存储器中。