《教学课件第3章西门子S7200PLC》由会员分享,可在线阅读,更多相关《教学课件第3章西门子S7200PLC(144页珍藏版)》请在金锄头文库上搜索。
1、PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/ 试卷下载:/shiti/ 教案下载:/jiaoan/ 字体下载:/ziti/ 教学课件第3章 西门子S7-200PLC大连理工大学出版社大连理工大学出版社姜秀玲制作姜秀玲制作第
2、第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC3目录目录目目 录录3.1 S7系列系列PLC简介简介3.2 S7-200 PLC系统组成系统组成3.3编程元件及程序知识编程元件及程序知识3.4基本指令基本指令3.5应用指令应用指令3.6编程软件编程软件8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC4目录目录第第3章章 西门子西门子S7-200 PLC3.1 S7系列系列PLC简介简介德国
3、西门子(德国西门子(SIEMENS)公司的)公司的S7系列可编程控制器包括系列可编程控制器包括S7-200、S7-300、S7-400系列。系列。S7-200系列系列PLC是集成型小型单元式是集成型小型单元式PLC。集成了。集成了CPU、电源、电源、I/O于一体,具有丰富的内置集成功能,强劲的通信能力,使用简单方便、于一体,具有丰富的内置集成功能,强劲的通信能力,使用简单方便、易于掌握,具有极高的性价比。广泛应用于各个行业。易于掌握,具有极高的性价比。广泛应用于各个行业。S7-300系列系列PLC是模块化小型是模块化小型PLC系统,通过分布式的主机架系统,通过分布式的主机架(CR)和和3个扩展
4、机架个扩展机架(ER),可以对多达,可以对多达32个模块进行操作,各种单独的模块个模块进行操作,各种单独的模块之间可进行广泛组合以用于扩展,能满足中等性能要求的应用。之间可进行广泛组合以用于扩展,能满足中等性能要求的应用。 S7-400系列系列PLC采用模块化无风扇的设计,坚固耐用,易于扩展,通采用模块化无风扇的设计,坚固耐用,易于扩展,通信能力强大,容易实现分布式结构。该系列具有多种级别(功能逐步信能力强大,容易实现分布式结构。该系列具有多种级别(功能逐步升级升级)的的CPU,种类齐全的通用功能模块,使用户能根据需要组合成,种类齐全的通用功能模块,使用户能根据需要组合成不同的专用系统。当控制
5、系统规模扩大或变得更加复杂时,只要适当不同的专用系统。当控制系统规模扩大或变得更加复杂时,只要适当地增加一些模块,就能够实现系统升级。地增加一些模块,就能够实现系统升级。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC5目录目录3.2 S7-200 PLC系统组成系统组成S7-200系列系列PLC可提供可提供4种不同的基本单元和种不同的基本单元和6种型号的扩种型号的扩展单元。其系统构成包括基本单元、扩展单元、编程器、展单元。其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文
6、本显示器等。存储卡、写入器、文本显示器等。1基本单元(基本单元(CPU模块)模块)目前市场上目前市场上S7-22*系列系列PLC已基本取代了第一代已基本取代了第一代S7-21*系系列列PLC,并成为市场中的主流产品。,并成为市场中的主流产品。S7-22*系列有系列有CPU 221、CPU 222、CPU 224、CPU 224XP、CPU 226、CPU 226XM 6种不同型号。种不同型号。CPU 221无扩展功能,适于用无扩展功能,适于用作小点数的微型控制器。作小点数的微型控制器。CPU 222有扩展功能,有扩展功能,CPU 224具有较强控制功能的控制器。具有较强控制功能的控制器。CPU
7、 226和和CPU 226XM适适用于复杂的中小型控制系统,可扩展到用于复杂的中小型控制系统,可扩展到248点数字量和点数字量和35路模拟量,有路模拟量,有2个个RS485通信接口。通信接口。S7|200 CPU模块共同模块共同的技术指标、的技术指标、S7|200 CPU电源规范和电源规范和S7|200 CPU特有特有技术规范分别见表技术规范分别见表3-1、表、表3-2和表和表3-3。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC6目录目录S7-200 CPU模块共同的技术指标模块
8、共同的技术指标用用户存存储器器类型型EEPROM最大数字量最大数字量I/O映像区映像区128点入,点入,128点出点出最大模字量最大模字量I/O映像区映像区32点入,点入,32点出点出内部内部标志位(志位(M寄存器)寄存器)掉掉电永久保存永久保存超超级电容或容或电池保存池保存256位位112位位256位位定定时器器总数数1 ms定定时器器10 ms定定时器器100 ms定定时器器256个个4个个16个个256个个计数器数器总数数超超级电容或容或电池保存池保存256个个256个个布布尔尔量运算量运算执行速度行速度0.37 s/指令指令顺序控制序控制继电器器256点点定定时中断中断硬件硬件输入入边
9、沿中断沿中断可可选滤波波时间输入入2个,个,1 ms分辨率分辨率4个个0.212.8 ms8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC7目录目录S7-200 CPU电源规范电源规范 电源源类型型电源源电压允允许范范围冲冲击电流流隔离隔离掉掉电后的保持后的保持时间DC 24 V DC 20.428.8 V10 A,DC 28.8 V不隔离不隔离10 ms,DC 24 VAC电源源AC 85264 V,4763 Hz20 A,AC 254 VAC 1500 V80 ms,AC 240
10、 VDC 24 V传感器感器电源源输出出电压范范围纹波噪声波噪声不隔离不隔离L5 V同同电源源电压不隔离不隔离DC 20.428.8 V峰峰-峰峰值1 V电容的内部熔断器容的内部熔断器(用(用户不能更改)不能更改)3 A,250 V,慢速熔慢速熔断断2 A,250 V,慢速熔断,慢速熔断8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC8目录目录S7-200 CPU特有技术规范特有技术规范特性CPU 221CPU 222CPU 224CPU 224XPCPU 226外形尺寸/mm908
11、062908062120.58062120.580621908062用户数据存储区/B可以在运行模式下编辑不能在运行模式下编辑409640964096409681921228812288163841638424576数据存储区/B2048204881921024010240掉电保持时间典型值/h5050100100100本机数字量I/O出本机模拟量I/O6入/4出-8入/6出-14入/10出-14入/10出2入/1出24入/16数字量I/O映像区256(128入/128出)模拟量I/O映像区无16入/16出32入/32出扩展模块数量-2个7个脉冲捕捉输入个数681424高速计数器个数单相高速计
12、数器个数双相高速计数器个数4个4路30 kHz2路20 kHz6个6路30 kHz4路20 kHz6个6路30 kHz或2路200 kHz3路20 kHz或1路100 kHz6个4路30 kHz2路20 kHz8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC9目录目录S7-200 CPU特有技术规范续表特有技术规范续表高速脉冲高速脉冲输出出2路路20 kHz2路路20 kHz2路路100 kHz2路路20 kHz模模拟量量调节电位器位器1个,个,8位分辨率位分辨率2个,个,8位分辨率
13、位分辨率实时时钟有(有(时钟卡)卡)有(有(时钟卡)卡)有有有有有有RS-485通信口通信口11122可可选卡件卡件存存储器卡、器卡、电池卡和池卡和实时时钟卡卡存存储器卡和器卡和电池卡池卡DC 24 V 电源源CPU输入入电流流/最大最大负载80 mA/500 mA85 mA/500 mA110 mA/700 mA120 mA/900 mA150 mA/1050 mAAC 240 V电源源CPU输入入电流流/最大最大负载15 mA/60 mA20 mA/70 mA30 mA/100 mA35 mA/100 mA40 mA/160 mA8/1/2024第第第第3 3 3 3章章章章 西门子西门子
14、西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC10目录目录2扩展单元扩展单元S7-200系列系列PLC主要有两类主要有两类6种型号的扩展单元,它本身种型号的扩展单元,它本身没有没有CPU,只能与基本单元相连接使用,用于扩展,只能与基本单元相连接使用,用于扩展I/O点数。点数。(1)数字量扩展模块)数字量扩展模块S7-200系列系列PLC为了方便使用,提供了种类丰富的数字量为了方便使用,提供了种类丰富的数字量扩展模块,有单独的输入模块扩展模块,有单独的输入模块EM221(8路扩展输入);路扩展输入);有单独的输出模块有单独的输出模块EM222
15、(8路扩展输出);有路扩展输出);有I/O混合模混合模块块EM223(具有(具有8I/O、16I/O、32I/O等多种配置)。数字等多种配置)。数字量模块性能一览表见表量模块性能一览表见表3-4。 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC11目录目录数字量模块性能一览表数字量模块性能一览表数字量模数字量模块型号型号EM221EM222EM223输入点数入点数/点点8无无4/8/16输出点数出点数/点点无无84/8/16隔离隔离组点数点数/点点444输入入电压24V DC输出出
16、电压20.422.8 V DC 或或20250 V AC20.422.8 V DC 或或530 V DC、20250 V AC电缆长度(隔离度(隔离/不隔离)不隔离)/m300/500150/50300/500输出出类型型DC输出出/继电器器输出出DC输出出/继电器器输出出电能消耗(能消耗(+5V DC)/mA305040/100/1608/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC12目录目录S7-200有三种模拟量选用模块,即有三种模拟量选用模块,即4路模拟量输入模块路模拟量输
17、入模块EM231,2路模拟量输出模块路模拟量输出模块EM232和和4路输入路输入1路输出的路输出的模拟量混合模块模拟量混合模块EM235。S7-200的模拟量模块中的模拟量模块中AD、DA转换器的位数均为转换器的位数均为12位。位。模拟量输入模块模拟量输入模块模拟量输入模块的量程有模拟量输入模块的量程有DC 010 V、05 V、01 V、0500 mV、0100 mV、050 mV、10 V、5 V、2.5 V、1 V、500 mV、250 mV、100 mV、50 mV、25 mV和和020 mA等。量程用模块上的等。量程用模块上的DIP开关来开关来设置。设置。(2)模拟量扩展模块)模拟量
18、扩展模块8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC13目录目录 AIWXX MSB 单极性 LSB00012位数据值0 MSB 双极性 LSB000012位数据值 AIWXX 模拟量输入模块单极性全量程输入范围对应的数字量输出为模拟量输入模块单极性全量程输入范围对应的数字量输出为032000(如下图所示,图中的如下图所示,图中的MSB和和LSB分别是最高有效位和最低有效位分别是最高有效位和最低有效位),双,双极性全量程输入范围对应的数字量输出为极性全量程输入范围对应的数字量输出
19、为-32000+32000,电压输入时,电压输入时输入电阻不小于输入电阻不小于10 M,电流输入时,电流输入时(020 mA)输入电阻为输入电阻为250 。AD转换的时间转换的时间、=、=和和。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC75目录目录比比 较较 指指 令令 的的 基基 本本 格格 式式 运算关系字节比较整数比较双字整数比较实数比较等于等于=LDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2L
20、DD=IN1,IN2AD=IN1,IN2OD=IN1,IN2LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN2不等于LDBIN1,IN2ABIN1,IN2OBIN1,IN2LDWIN1,IN2AWIN1,IN2OWIN1,IN2LDDIN1,IN2ADIN1,IN2ODIN1,IN2LDRIN1,IN2ARIN1,IN2ORIN1,IN2小于LDBIN1,IN2ABIN1,IN2OBIN1,IN2LDWIN1,IN2AWIN1,IN2OWIN1,IN2LDDIN1,IN2ADIN1,IN2ODIN1,IN2LDRIN1,IN2ARIN1,IN2ORIN1,IN2小于等于=LDB=I
21、N1,IN2AB=IN1,IN2OB=IN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2LDD=IN1,IN2AD=IN1,IN2OD=IN1,IN2LDR=IN1,IN2AR=IN1,IN2ORLDBIN1,IN2ABIN1,IN2OBIN1,IN2LDWIN1,IN2AWIN1,IN2OWIN1,IN2LDDIN1,IN2ADIN1,IN2ODIN1,IN2LDRIN1,IN2ARIN1,IN2ORIN1,IN2大于等于=LDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2LDD=IN1,IN
22、2AD=IN1,IN2OD=IN1,IN2LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN28/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC76目录目录比较指令应用举例比较指令应用举例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC77目录目录(1)字节、字、双字右移位和左移位指令)字节、字、双字右移位和左移位指令字节向右移位指令字节向右移位指令SHR_B与字
23、节向左移位指令与字节向左移位指令SHL_B将输入(将输入(IN)的无符号数字节中的各位向右或向左移动的无符号数字节中的各位向右或向左移动N位后,送给输出字节位后,送给输出字节(OUT)。移位指令对移出位补)。移位指令对移出位补0,如果移动的位数,如果移动的位数N8,最多移位,最多移位8次,所有的循环和移位指令中的次,所有的循环和移位指令中的N均为字节变量。均为字节变量。字向右移位指令字向右移位指令SHR_W与字向左移位指令与字向左移位指令SHL_W将输入(将输入(IN)的无)的无符号数字中的各位向右或向左移动符号数字中的各位向右或向左移动N位后,送给输出字(位后,送给输出字(OUT)。移)。移
24、位指令对移位补位指令对移位补0,如果移动的位数,如果移动的位数N16,最多移位,最多移位16次。次。双字向右移位指令双字向右移位指令SHR_DW与双字向左移位指令与双字向左移位指令SHL_DW将输入将输入(IN)的无符号双字中的各位向右或向左移动)的无符号双字中的各位向右或向左移动N位后,送给输出双字位后,送给输出双字(OUT)。移位指令对移出位补)。移位指令对移出位补0,如果移动的位数,如果移动的位数N32,最多移位,最多移位32次。次。 移位指令如下页图所示。移位指令如下页图所示。3移位与循环移位指令移位与循环移位指令8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子
25、 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC78目录目录如果移位次数大于如果移位次数大于0,“溢出溢出”存储器位(存储器位(SM1.1)保存最)保存最后一次被移出的位值。如果移位结果为后一次被移出的位值。如果移位结果为0,零标志位,零标志位(SM1.0)被置为)被置为1。上述上述6条指令使条指令使ENO=0的错误条件:的错误条件:0006(间接寻址),(间接寻址),SM4.3(运行时间)。(运行时间)。3移位与循环移位指令移位与循环移位指令8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 P
26、LC S7-200 PLC S7-200 PLC79目录目录(2)字节、字、双字循环右移位和循环左移位指令)字节、字、双字循环右移位和循环左移位指令 字节循环右移位指令字节循环右移位指令ROR_B和字节循环左移位指令和字节循环左移位指令ROL_B将输入字节(将输入字节(IN)的数值向右或向左循环移动)的数值向右或向左循环移动N位,位,并将结果存入输出字节(并将结果存入输出字节(OUT)。移位次数)。移位次数N为字节变量,为字节变量,如果如果N8,执行循环移位之前先对,执行循环移位之前先对N进行模进行模8操作(操作(N除以除以8后取余数),因此实际移位次数在后取余数),因此实际移位次数在07之间
27、。如果之间。如果N为为8的的整倍数,则不进行移位操作。整倍数,则不进行移位操作。双字循环右移位指令双字循环右移位指令ROR_DW和双字循环左移位指令和双字循环左移位指令ROL_DW将输入双字(将输入双字(IN)的数值向右或向左循环移位,)的数值向右或向左循环移位,并将结果存入输出双字(并将结果存入输出双字(OUT)。如果移位次数)。如果移位次数N32,执行循环移位之前先对执行循环移位之前先对N进行模进行模32操作(操作(N除以除以32后取余后取余数),因此移位数在数),因此移位数在031之间。如果之间。如果N为为32的整倍数,的整倍数,则不进行移位操作。循环移位指令如下图所示。则不进行移位操作
28、。循环移位指令如下图所示。 3移位与循环移位指令移位与循环移位指令8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC80目录目录如果执行循环移位操作,移的最后一位的数值存放在溢出如果执行循环移位操作,移的最后一位的数值存放在溢出位(位(SM1.1)。如果实际移位次数为)。如果实际移位次数为0,SM1.0(零标志位)(零标志位)被置为被置为1。循环移位操作是无符号的。循环移位操作是无符号的。 使使ENO=0的错误条件:的错误条件:0006(间接地址),(间接地址),SM4.3(运(运行时
29、间)。行时间)。3移位与循环移位指令移位与循环移位指令8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC81目录目录字左移位指令和字循环右移位指令应用举例字左移位指令和字循环右移位指令应用举例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC82目录目录3.4.4表功能指令表功能指令表功能指令是指定存储器区域中的数据管理指令。可建立一个不大于表功能指令是指定存储器区域中的数据
30、管理指令。可建立一个不大于100个字的数据表,依次向数据区填入或取出数据,并可在数据区查个字的数据表,依次向数据区填入或取出数据,并可在数据区查找符合设置条件的数据,以对数据区内的数据进行统计、排序、比较找符合设置条件的数据,以对数据区内的数据进行统计、排序、比较等处理。表功能指令包括填表指令、查表指令、先进先出指令、后进等处理。表功能指令包括填表指令、查表指令、先进先出指令、后进先出指令及存储器填充指令等。在此仅介绍填表指令。先出指令及存储器填充指令等。在此仅介绍填表指令。填表指令填表指令ATT(Add To Table)向表()向表(TBL)中增加一个字)中增加一个字(DATA)。表内的第
31、一个数是表的最大长度()。表内的第一个数是表的最大长度(TL),第二个数是表),第二个数是表内实际的项数(内实际的项数(EC),新数据被放入表内上一次填入的数的后面。每),新数据被放入表内上一次填入的数的后面。每向表内填入一个新的数据,向表内填入一个新的数据,EC自动加自动加1。除了。除了TL和和EC外,表最多可以外,表最多可以装入装入100个数据。个数据。TBL为为WORD型型, DATA为为INT型。填表指令如下图型。填表指令如下图所示。所示。该指令影响该指令影响SM1.4,填入表的数据过多时填入表的数据过多时, SM1.4将被置为将被置为1。ATT DATA,TBL8/1/2024第第第
32、第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC83目录目录填表指令应用举例填表指令应用举例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC84目录目录3.4.5转换指令转换指令转换指令用于对操作数的类型、码制及数据和码制之间进行相互转换,转换指令用于对操作数的类型、码制及数据和码制之间进行相互转换,为在不同类型的数据间进行处理或运算提供方便。为在不同类型的数据间进行处理或运算提供方便。1.B
33、CD码与整数的转换码与整数的转换BCD_I指令将输入的指令将输入的BCD码转换成整数(码转换成整数(IN),并将结果送入),并将结果送入OUT指指定的变量中。输入范围是定的变量中。输入范围是BCD码码09999。I_BCD指令将输入的整数(指令将输入的整数(IN)转换为)转换为BCD码,并将结果送入码,并将结果送入OUT指指定的变量中。输入范围是整数定的变量中。输入范围是整数09999。这些指令影响这些指令影响SM1.6(非法(非法BCD)。)。BCD码与整数的转换如下图所示。码与整数的转换如下图所示。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PL
34、C S7-200 PLC S7-200 PLC S7-200 PLC85目录目录BCD码与整数的转换举例码与整数的转换举例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC86目录目录2.双整数与实数的转换双整数与实数的转换DTR(DI_R)指令将)指令将32位有符号整数(位有符号整数(IN)转换成)转换成32位实位实数,并将结果送入数,并将结果送入OUT指定的变量中。指定的变量中。ROUND指令将实数(指令将实数(IN)转换成双整数后送入)转换成双整数后送入OUT 指定的指定的变量
35、中。如果小数部分大于等于变量中。如果小数部分大于等于0.5,整数部分加,整数部分加1。如果要。如果要转换的数值过大,输出无法表示,则置溢出位转换的数值过大,输出无法表示,则置溢出位SM1.1为为1。TRUNC指令将指令将32位实数(位实数(IN)转换成)转换成32位带符号整数后送位带符号整数后送入入OUT指定的变量中。只有实数的整数部分被转换,小数部指定的变量中。只有实数的整数部分被转换,小数部分被舍去。分被舍去。双整数与实数的转换如下图所示。双整数与实数的转换如下图所示。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7
36、-200 PLC S7-200 PLC87目录目录整数转换成实数和取整举例整数转换成实数和取整举例8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC88目录目录7.段码指令段码指令段码段码SEG(Segment)指令,根据输入字节()指令,根据输入字节(IN)低)低4位位确定的十六进制数(确定的十六进制数(16#0F)产生点亮)产生点亮7段显示器各段段显示器各段的代码,并送到输出字节的代码,并送到输出字节OUT。七段编码显示见下表。七段编码显示见下表。段显示-gfedcba段显示-gf
37、edcba000111111801111111100000110901100111201011011a01110111301001111b01111100401100110c00111001501101101d01011110601111101e01111001700000111f01110001七段编码显示表七段编码显示表8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC89目录目录3.5应用指令应用指令3.5.1程序控制类指令程序控制类指令程序控制类指令用于对程序流转的控制,可以控
38、制程序的结束、分支、程序控制类指令用于对程序流转的控制,可以控制程序的结束、分支、循环、子程序或中断程序调用、步进指令等。通过程序控制类指令的合循环、子程序或中断程序调用、步进指令等。通过程序控制类指令的合理使用,可以优化程序结构,增强程序的功能。理使用,可以优化程序结构,增强程序的功能。下页表格是程序控制指令的列表,下面对部分程序控制指令分别加以说下页表格是程序控制指令的列表,下面对部分程序控制指令分别加以说明。明。1.结束指令结束指令 有条件结束有条件结束(END)指令,执行条件成立时结束主程序,返回主程序起点。指令,执行条件成立时结束主程序,返回主程序起点。条件结束指令用在无条件结束条件
39、结束指令用在无条件结束(MEND)指令之前。用户程序必须以无条件指令之前。用户程序必须以无条件结束指令结束主程序。条件结束指令不能在子程序或中断程序中使用。结束指令结束主程序。条件结束指令不能在子程序或中断程序中使用。结束指令应用举例结束指令应用举例8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC90目录目录程程 序序 控控 制制 指指 令令 的的 列列 表表助记符指令名称指令表格式功能END有条件结束指令END程序的条件结束MEND无条件结束指令MEND程序的无条件结束STOP暂停
40、指令STOP切换到STOP模式WDR看门狗指令WDR看门狗复位JMP跳转指令JMP N跳到定义的标号LBL标号指令LBL N定义一个跳转的标号FORNEXT循环开始指令循环结束指令FOR INDX,INIT,INALNEXT循环开始循环结束CALLCRET子程序调用指令子程序结束指令CALL SBR_NCRET调用子程序从子程序条件返回ATCHDTCHENIDISI中断连接指令中断分离指令中断允许指令中断禁止指令ATCH INT,EVENTDTCH EVENTENIDISI中断源与中断程序建立连接断开中断源与中断程序的连接允许中断禁止中断LSCR装载顺控继电器指令LSCR n顺控继电器段开始S
41、CRT顺控继电器转换指令SCRT n顺控继电器段转换SCRE顺控继电器结束指令SCRE顺控继电器段结束8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC91目录目录2.暂停指令暂停指令暂停暂停(STOP)指令,能够引起指令,能够引起CPU工作方式发生变化,工作方式发生变化,从运行方式从运行方式(RUN)进入停止方式进入停止方式(STOP),立即终止程,立即终止程序的执行。如果序的执行。如果STOP指令在中断程序中执行,那么指令在中断程序中执行,那么该中断程序立即终止,并且忽略所有挂起的
42、中断,继该中断程序立即终止,并且忽略所有挂起的中断,继续扫描主程序的剩余部分。在本次扫描的最后,完成续扫描主程序的剩余部分。在本次扫描的最后,完成CPU从从RUN到到STOP方式的转换。方式的转换。 暂停指令应用举例暂停指令应用举例8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC92目录目录3.看门狗指令看门狗指令为了保证系统可靠运行,为了保证系统可靠运行,PLC内部设置了系统监视定时器内部设置了系统监视定时器WDT,用于监,用于监视扫描周期是否超时。每当扫描到视扫描周期是否超时。每
43、当扫描到WDT定时器时,定时器时,WDT定时器将复位。定时器将复位。WDT定时器有一设定值(定时器有一设定值(100300 ms),系统正常工作时,所需扫描,系统正常工作时,所需扫描时间小于时间小于WDT的设定值,的设定值,WDT定时器被及时复位。系统故障情况下,定时器被及时复位。系统故障情况下,扫描时间大于扫描时间大于WDT定时器设定值,该定时器不能及时复位,则报警并停定时器设定值,该定时器不能及时复位,则报警并停止止CPU运行,同时复位输入、输出。这种故障称为运行,同时复位输入、输出。这种故障称为WDT故障,以防止因故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。系统故障或程序
44、进入死循环而引起的扫描周期过长。 系统正常工作时,有时会因为用户程序过长或使用中断指令、循环指令系统正常工作时,有时会因为用户程序过长或使用中断指令、循环指令使扫描时间过长而超过使扫描时间过长而超过WDT定时器的设定值,为防止这种情况下监视定定时器的设定值,为防止这种情况下监视定时器动作,可使用监视定时器复位时器动作,可使用监视定时器复位(WDR)指令,使指令,使WDT定时器复位。使定时器复位。使用用WDR指令时,在终止本次扫描之前,下列操作过程将被禁止:通信指令时,在终止本次扫描之前,下列操作过程将被禁止:通信(自由端口方式除外自由端口方式除外);I/O更新更新(立即立即I/O除外除外);强
45、制更新;强制更新;SM位更新位更新(SM0,SM5SM29不能被更新不能被更新);运行时间诊断;在中断程序中的;运行时间诊断;在中断程序中的STOP指令等。指令等。 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC93目录目录看门狗指令应用举例看门狗指令应用举例例题说明:当例题说明:当I0.0闭合时,闭合时,WDR指令运行,指令运行,复位系统监视定时器复位系统监视定时器WDT。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200
46、 PLC S7-200 PLC S7-200 PLC94目录目录4.跳转与标号指令跳转与标号指令跳转跳转(JMP)指令,可使程序流程转到同一程序中的具体标号指令,可使程序流程转到同一程序中的具体标号(n)处,当这种跳转执行时,栈顶的值总是逻辑处,当这种跳转执行时,栈顶的值总是逻辑1。标号标号(LBL)指令,标记跳转目的地的位置指令,标记跳转目的地的位置(n)。指令操作数。指令操作数n为常数为常数(0255)。跳转指令和相应的标号指令必须用在同一。跳转指令和相应的标号指令必须用在同一个程序段中,如下图所示。个程序段中,如下图所示。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子
47、西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC95目录目录5.循环指令循环指令循环开始循环开始(FOR)指令标记循环体的开始;循环结束指令标记循环体的开始;循环结束(NEXT)指指令标记循环的结束,并置栈顶值为令标记循环的结束,并置栈顶值为“1”。FOR与与NEXT之之间的程序部分为循环体。必须为间的程序部分为循环体。必须为FOR指令设定当前循环次数指令设定当前循环次数的计数器的计数器(INDX)、初值、初值(INIT)和终值和终值(FINAL)。每执行一次。每执行一次循环体,当前计数值增加循环体,当前计数值增加1,并将其值同终值作比较,如果,并
48、将其值同终值作比较,如果大于终值,那么终止循环。例如,给定初值大于终值,那么终止循环。例如,给定初值(INIT)为为1,终,终值值(FINAL)为为50,那么随着当前计数值,那么随着当前计数值(INDX)从从1增加到增加到50,FOR与与NEXT之间的指令被执行之间的指令被执行50次。次。允许输入端有效时,执行循环体直到循环结束。在允许输入端有效时,执行循环体直到循环结束。在FOR/NEXT循环执行的过程中可以修改终值。当允许输入端循环执行的过程中可以修改终值。当允许输入端重新有效时,指令自动将各参数复位重新有效时,指令自动将各参数复位(初值初值INIT和终值和终值FINAL,并将初值拷贝到计
49、数器并将初值拷贝到计数器INDX中中)。FOR指令和指令和NEXT指令必须成对使用。允许循环嵌套,嵌套深度可达指令必须成对使用。允许循环嵌套,嵌套深度可达8层。层。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC96目录目录 循循 环环 指指 令令 的的 使使 用用 举举 例例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC97目录目录 6.子程序子程序子程序在结构程序设
50、计中是一种方便有效的工具。与子程序相关的操作子程序在结构程序设计中是一种方便有效的工具。与子程序相关的操作有:建立子程序、子程序的调用和子程序条件返回等。有:建立子程序、子程序的调用和子程序条件返回等。(1)建立子程序建立子程序 可用编程软件可用编程软件Edit菜单中的菜单中的Insert选项,选择选项,选择Subroutine,以建立或插,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是认的程序名是SBR_n,编号,编号n从从0开始按递增顺序生成,可以在图标上开始按递增顺序生成,可以在图标上直接
51、更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。行编辑。(2)子程序指令子程序指令主程序可以用子程序调用指令来调用一个子程序。子程序执行结束必须主程序可以用子程序调用指令来调用一个子程序。子程序执行结束必须返回主程序。返回主程序。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC98目录目录子程序调用指令子程序调用指令子程序调用(子程序调用(CALL)指令,如图)指令,如图3-82(a)所示。使用输入有效时
52、,主机把程)所示。使用输入有效时,主机把程序控制权交给子程序序控制权交给子程序name。子程序的调用可以带参数,也可以不带参数。在梯。子程序的调用可以带参数,也可以不带参数。在梯形图中以指令盒的形式编程,指令盒名为子程序名形图中以指令盒的形式编程,指令盒名为子程序名name。 指令格式:指令格式:CALLname 例:例:CALLSBR_0子程序条件返回指令子程序条件返回指令子程序条件返回(子程序条件返回(CRET)指令,如图)指令,如图3|82(b)所示。在使能输入有效时,结束所示。在使能输入有效时,结束子程序的执行,返回主程序中此子程序调用指令的下一条指令。梯形图中以线子程序的执行,返回主
53、程序中此子程序调用指令的下一条指令。梯形图中以线圈的形式编程,指令不带参数。圈的形式编程,指令不带参数。指令格式:指令格式:CRET(条件返回)(条件返回)例:例:CRET(条件返回)(条件返回)注意事项注意事项:子程序嵌套。如果子程序的内部又有对另一子程序的调用指令,则这种调用结子程序嵌套。如果子程序的内部又有对另一子程序的调用指令,则这种调用结构称为子程序的嵌套。子程序的嵌套深度最多是构称为子程序的嵌套。子程序的嵌套深度最多是8级。级。当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈,堆栈中的其他值为中的其他值
54、为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。原来的逻辑堆栈值,调用程序又重新取得控制权。 累加器可在调用程序和被调子程序之间自由传递,所以累加器的值在子程序调累加器可在调用程序和被调子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。用时既不保存也不恢复。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC99目录目录无参数的子程序指令的使用举例无参数的子程序
55、指令的使用举例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC100目录目录7.中断指令中断指令中断指令使系统暂时中断正在执行的程序,而转到中断服务程序去处理那些急需处理的中断指令使系统暂时中断正在执行的程序,而转到中断服务程序去处理那些急需处理的事件,处理后再返回原程序执行。中断指令对特定的内部和外部事件做快速响应。事件,处理后再返回原程序执行。中断指令对特定的内部和外部事件做快速响应。(1)全局中断允许指令、全局中断禁止指令全局中断允许指令、全局中断禁止指令全局中断允许全局中断
56、允许(ENI)指令,全局地允许所有被连接的中断事件。指令,全局地允许所有被连接的中断事件。全局中断禁止全局中断禁止(DISI)指令,全局地禁止处理所有中断事件。执行指令,全局地禁止处理所有中断事件。执行DISI指令后,出现的中断指令后,出现的中断事件就进入中断队伍排队等候,直到事件就进入中断队伍排队等候,直到ENI指令重新允许中断。指令重新允许中断。 CPU进入进入RUN模式时自动禁止了中断。在模式时自动禁止了中断。在RUN模式执行模式执行ENI指令后,允许所有中断。指令后,允许所有中断。(2)中断连接指令、中断分离指令中断连接指令、中断分离指令中断连接中断连接(ATCH)指令(如下面的左图所
57、示),用来建立某个中断事件指令(如下面的左图所示),用来建立某个中断事件(EVNT)和某个中断和某个中断程序程序(INT)之间的联系,并允许这个中断事件。之间的联系,并允许这个中断事件。在调用一个中断程序前,必须用中断连接指令,建立某中断事件与中断程序的连接。在调用一个中断程序前,必须用中断连接指令,建立某中断事件与中断程序的连接。中断分离中断分离(DTCH)指令(如下面的右图所示),用来解除某个中断事件指令(如下面的右图所示),用来解除某个中断事件(EVNT)和某个中断和某个中断程序之间的联系,并禁止该中断事件。程序之间的联系,并禁止该中断事件。 8/1/2024第第第第3 3 3 3章章章
58、章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC101目录目录(3)中断返回指令中断返回指令有条件中断返回有条件中断返回(CRETI)指令,根据控制的条件从中断指令,根据控制的条件从中断程序中返回到主程序。程序中返回到主程序。所有的中断程序必须放在主程序的无条件结束指令之所有的中断程序必须放在主程序的无条件结束指令之后。在中断程序中不能使用后。在中断程序中不能使用DISI、ENI、HDEF、LSCR和和END指令。指令。 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-20
59、0 PLC S7-200 PLC S7-200 PLC102目录目录(4)中断的分类中断的分类中断可分为三类:通信口中断、中断可分为三类:通信口中断、I/O中断、时基中断。中断、时基中断。通信口中断通信口中断PLC的串行通信口可由用户程序来控制。通信口的这种操作模式称为自由端口的串行通信口可由用户程序来控制。通信口的这种操作模式称为自由端口模式。在自由端口模式下,用户程序定义波特率、每个字符位数、奇偶校验和模式。在自由端口模式下,用户程序定义波特率、每个字符位数、奇偶校验和通信协议。利用接收和发送中断可简化程序对通信的控制。通信协议。利用接收和发送中断可简化程序对通信的控制。I/O中断中断I/
60、O中断包含了上升沿或下降沿中断、高速计数器中断和脉冲串输出中断包含了上升沿或下降沿中断、高速计数器中断和脉冲串输出(PTO)中断。中断。S7-200 CPU可用输入点可用输入点(I0.0I0.3)的上升沿或下降沿产生中断,的上升沿或下降沿产生中断,CPU检测这检测这些上升沿或下降沿事件,可用来指示某个事件发生时的故障状态。些上升沿或下降沿事件,可用来指示某个事件发生时的故障状态。高速计数器中断,允许响应诸如当前值等于预置值、轴转动方向变化的计数方高速计数器中断,允许响应诸如当前值等于预置值、轴转动方向变化的计数方向改变和计数器外部复位等事件而产生中断。向改变和计数器外部复位等事件而产生中断。脉
61、冲串输出中断,允许对完成指定脉冲数输出的响应。脉冲串输出中断,允许对完成指定脉冲数输出的响应。必须用必须用ARCH指令将一个中断程序连接到相应的指令将一个中断程序连接到相应的I/O中断事件上以允许上述的中中断事件上以允许上述的中断。断。时基中断时基中断时基中断包括定时中断和定时器时基中断包括定时中断和定时器T32/T96中断。中断。定时中断按指定的周期时间循环执行。以定时中断按指定的周期时间循环执行。以1 ms为周期增量,周期时间可从为周期增量,周期时间可从255 ms。定时中断。定时中断0、定时中断、定时中断1把周期时间分别写入特殊存储器把周期时间分别写入特殊存储器SMB34、SMB35。8
62、/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC103目录目录(5)中断优先级中断优先级中断按以下固定的次序来决定优先级:通信口中断中断按以下固定的次序来决定优先级:通信口中断(最高优最高优先级先级)、I/O中断中断(中等优先级中等优先级)、 时基中断时基中断(最低优先级最低优先级)。在各个优先级范围内,在各个优先级范围内,CPU按先来先服务的原则处理中断。按先来先服务的原则处理中断。任何时刻只能执行一个用户中断程序。一旦中断程序开始任何时刻只能执行一个用户中断程序。一旦中断程序开始执
63、行,它会一直执行到结束。而且不会被别的中断程序执行,它会一直执行到结束。而且不会被别的中断程序(甚至是更高优先级的中断程序甚至是更高优先级的中断程序)所打断。正在处理某中断所打断。正在处理某中断程序时,新出现的中断事件需排队等待,以待处理。程序时,新出现的中断事件需排队等待,以待处理。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC104目录目录中中 断断 指指 令令 编编 程程 举举 例例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PL
64、C S7-200 PLC S7-200 PLC S7-200 PLC105目录目录8.顺序控制继电器指令顺序控制继电器指令工业控制中常有顺序控制的要求。所谓顺序控制,是使生产过程按工工业控制中常有顺序控制的要求。所谓顺序控制,是使生产过程按工艺要求事先安排的顺序自动地进行控制。对于复杂的控制系统,由于艺要求事先安排的顺序自动地进行控制。对于复杂的控制系统,由于内部连锁关系复杂,其梯形图冗长,通常要由熟练的电气工程师才能内部连锁关系复杂,其梯形图冗长,通常要由熟练的电气工程师才能编制出控制程序。编制出控制程序。 用用SCR指令编制的顺序控制程序清晰、明了,统一性强,尤其适合初指令编制的顺序控制程
65、序清晰、明了,统一性强,尤其适合初学者和不熟悉继电器控制系统的人员运用。学者和不熟悉继电器控制系统的人员运用。(1)SCR指令的功能指令的功能SCR指令包括指令包括LSCR(程序段的开始程序段的开始)、SCRT(程序段的转换程序段的转换)、SCRE(程序段的结束程序段的结束)指令,从指令,从LSCR开始到开始到SCRE结束的所有指令组成一个结束的所有指令组成一个SCR程序段。一个程序段。一个SCR程序段对应顺序功能图中的一个顺序步。程序段对应顺序功能图中的一个顺序步。 (2)使用使用SCR指令的限制指令的限制 只能使用顺序控制继电器作为段标志位。同一地址的只能使用顺序控制继电器作为段标志位。同
66、一地址的S位不可用于不位不可用于不同的程序分区。例如,不可把同的程序分区。例如,不可把S10.0同时用于主程序和子程序中。在同时用于主程序和子程序中。在SCR段内不能使用段内不能使用JMP、LBL、FOR、NEXT、END指令,可以在指令,可以在SCR段外使用段外使用JMP、LBL、FOR、NEXT指令。指令。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC106目录目录顺序控制继电器指令顺序控制继电器指令 (SCR)指令编程举例)指令编程举例 1111111下面的梯形图是为控制红、
67、绿、黄三色灯而设计的。要求:红灯先亮,下面的梯形图是为控制红、绿、黄三色灯而设计的。要求:红灯先亮,2 s后绿灯亮,后绿灯亮,再过再过3 s后黄灯亮,待红、绿、黄灯全亮后黄灯亮,待红、绿、黄灯全亮3 min后,全部熄灭。后,全部熄灭。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC107目录目录1.高速计数器指令高速计数器指令普通计数器要受普通计数器要受CPU扫描速度的影响,对高速脉冲信号扫描速度的影响,对高速脉冲信号的计数会发生脉冲丢失的现象。高速计数器脱离主机的扫的计数会发生脉冲
68、丢失的现象。高速计数器脱离主机的扫描周期而独立计数,它可对脉宽小于主机扫描周期的高速描周期而独立计数,它可对脉宽小于主机扫描周期的高速脉冲准确计数。高速计数器常用于电动机转速检测等场合,脉冲准确计数。高速计数器常用于电动机转速检测等场合,使用时,可由编码器将电动机的转速转化成脉冲信号,再使用时,可由编码器将电动机的转速转化成脉冲信号,再用高速计数器对转速脉冲信号进行计数。高速计数器指令用高速计数器对转速脉冲信号进行计数。高速计数器指令如下图所示如下图所示8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S
69、7-200 PLC108目录目录(1)高速计数器指令高速计数器指令高速计数器指令包含定义高速计数器高速计数器指令包含定义高速计数器(HDEF)指令和高速计数器指令和高速计数器(HSC)指指令令(如图如图3-89所示所示),高速计数器的时钟输入速率可达,高速计数器的时钟输入速率可达1030 kHz。定义高速计数器定义高速计数器(HDEF)指令,为指定的高速计数器指令,为指定的高速计数器(HSCx)选定一种工作选定一种工作模式模式(有有12种不同的工作模式种不同的工作模式)。使用。使用HDEF指令可建立起高速计数器指令可建立起高速计数器(HSCx)和工作模式之间的联系。操作数和工作模式之间的联系。
70、操作数HSC是高速计数器编号是高速计数器编号(05),MODE是工作模式是工作模式(011)。在使用高速计数器之前必须使用。在使用高速计数器之前必须使用HDEF指令指令来选定一种工作模式。对每一个高速计数器只能使用一次来选定一种工作模式。对每一个高速计数器只能使用一次HDEF指令。指令。高速计数器高速计数器(HSC)指令,根据有关特殊标志位来组态和控制高速计数器指令,根据有关特殊标志位来组态和控制高速计数器的工作。操作数的工作。操作数N指定了高速计数器号指定了高速计数器号(05)。高速计数器装入预置值后,当前计数值小于当前预置值时计数器处于工高速计数器装入预置值后,当前计数值小于当前预置值时计
71、数器处于工作状态。当当前值等于预置值或外部复位信号有效时,可使计数器产生作状态。当当前值等于预置值或外部复位信号有效时,可使计数器产生中断;除模式中断;除模式(02)外,计数方向的改变可也产生中断。可利用这些中外,计数方向的改变可也产生中断。可利用这些中断事件完成预定的操作。每当中断事件出现时,采用中断的方法在中断断事件完成预定的操作。每当中断事件出现时,采用中断的方法在中断程序中装入一个新的预置值,从而使高速计数器进入新一轮的工作。程序中装入一个新的预置值,从而使高速计数器进入新一轮的工作。由于中断事件产生的速率远低于高速计数器的计数速率,用高速计数器由于中断事件产生的速率远低于高速计数器的
72、计数速率,用高速计数器可以实现精确的高速控制,而不会延长可以实现精确的高速控制,而不会延长PLC的扫描周期。的扫描周期。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC109目录目录(2)高速计数器的工作模式高速计数器的工作模式高速计数器有高速计数器有12种不同的工作模式种不同的工作模式(011),可分为,可分为4大类:大类:内部方向控制的单向增减计数器,它没有外部控制方向内部方向控制的单向增减计数器,它没有外部控制方向的输入信号,由内部控制计数方向,只能作单向增或减计数,的输入信号
73、,由内部控制计数方向,只能作单向增或减计数,有一个计数输入端。有一个计数输入端。外部方向控制的单向增减计数器,它由外部输入信号控外部方向控制的单向增减计数器,它由外部输入信号控制计数方向,只能作单向增或减计数,有一个计数输入端。制计数方向,只能作单向增或减计数,有一个计数输入端。有增和减计数脉冲输入的双向计数器,它有两个计数输入有增和减计数脉冲输入的双向计数器,它有两个计数输入端,增计数输入端和减计数输入端。端,增计数输入端和减计数输入端。A/B相正交计数器,它有两个计数脉冲输入端,即相正交计数器,它有两个计数脉冲输入端,即A相计相计数脉冲输入端和数脉冲输入端和B相计数脉冲输入端。相计数脉冲输
74、入端。A、B相计数脉冲的相相计数脉冲的相位差互为位差互为90度。当度。当A相计数脉冲超前相计数脉冲超前B相计数脉冲时,计数相计数脉冲时,计数器进行增计数,反之,进行减计数。器进行增计数,反之,进行减计数。 高速计数器的硬件定义和工作模式见下页表。高速计数器的硬件定义和工作模式见下页表。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC110目录目录模式描述输入点SHC0I0.0I0.1I0.2SHC1I0.6I0.7I1.0I1.1SHC2I1.2I1.3I1.4I1.5SHC3I0.
75、1SHC4I0.3I0.4I0.5SHC5I0.40带有内部方向控制的单相计数器计数脉冲1计数脉冲复位2计数脉冲复位启动3带有外部方向控制的单相计数器计数脉冲4计数脉冲复位5计数脉冲复位启动6带有增/减计数脉冲的双相计数器增计数脉冲减计数脉冲7增计数脉冲减计数脉冲复位8增计数脉冲减计数脉冲复位启动9A/B相正交计数器计数脉冲A计数脉冲B10计数脉冲A计数脉冲B复位11计数脉冲A计数脉冲B复位启动高速计数器的硬件定义和工作模式表高速计数器的硬件定义和工作模式表 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PL
76、C S7-200 PLC111目录目录(3)高速计数器与特殊标志位存储器高速计数器与特殊标志位存储器(SM)特殊标志位存储器特殊标志位存储器(SM)是用户程序与系统程序之间的界面是用户程序与系统程序之间的界面为用户提供一些特殊的控制功能和系统信息,用户的特殊为用户提供一些特殊的控制功能和系统信息,用户的特殊要求也可通过它通知系统。高速计数器指令使用过程中,要求也可通过它通知系统。高速计数器指令使用过程中,利用相关的特殊存储器位可对高速计数器实施状态监视、利用相关的特殊存储器位可对高速计数器实施状态监视、组态动态参数、设置预置值和当前值等操作。组态动态参数、设置预置值和当前值等操作。 高速计数器
77、的状态字节高速计数器的状态字节 每个高速计数器都有一个状态字节,其中某些位指出了每个高速计数器都有一个状态字节,其中某些位指出了 当前计数方向,当前值是否等于预置值,当前值是否大于当前计数方向,当前值是否等于预置值,当前值是否大于 预置值。每个高速计数器的状态位的定义见表预置值。每个高速计数器的状态位的定义见表3-20。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC112目录目录状态位功能描述SM6.0SM6.4不用SM6.5当前计数方向状态位:0=减计数;1=增计数SM6.6当前
78、值等于预置值状态位:0=不等;1=等于SM6.7当前值大于预置值状态位:0=小于、等于;1=大于(3)高速计数器与特殊标志位存储器高速计数器与特殊标志位存储器(SM)特殊标志位存储器特殊标志位存储器(SM)是用户程序与系统程序之间的界面,它为用户提是用户程序与系统程序之间的界面,它为用户提供一些特殊的控制功能和系统信息,用户的特殊要求也可通过它通知系供一些特殊的控制功能和系统信息,用户的特殊要求也可通过它通知系统。高速计数器指令使用过程中,利用相关的特殊存储器位可对高速计统。高速计数器指令使用过程中,利用相关的特殊存储器位可对高速计数器实施状态监视、组态动态参数、设置预置值和当前值等操作。数器
79、实施状态监视、组态动态参数、设置预置值和当前值等操作。高速计数器的状态字节高速计数器的状态字节 每个高速计数器都有一个状态字节,其中某些位指出了当前计数方向,每个高速计数器都有一个状态字节,其中某些位指出了当前计数方向,当前值是否等于预置值,当前值是否大于预置值。每个高速计数器的状当前值是否等于预置值,当前值是否大于预置值。每个高速计数器的状态位的定义见下表。态位的定义见下表。高速计数器的状态位的定义表高速计数器的状态位的定义表8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC113目
80、录目录HSC0HSC1HSC2HSC3HSC4HSC5功能描述SM37.0SM47.0SM57.0SM147.0复位有效电平控制位:0=复位高电平有效;1=复位低电平有效-SM47.1SM57.1-启动电平有效控制位:0=高电平有效;1=低电平有效SM37.2SM47.2SM57.2SM147.2正交计数器计数速率选择:0=4X计数率;1=1X计数率SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3计数方向控制位:0=减计数;1=增计数SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向HSC中写入计数方向:0=不更新计数方向;1=更新计
81、数方向SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向HSC中写入预置值:0=不更新预置值;1=更新预置值SM37.6SM47.6SM57.6SM137.6SM147.6SM157.6向HSC中写入新的初始值:0=不更新初始值;1=更新初始值SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7HSC允许:0=禁止HSC;1=允许HSC 高速计数器的控制字节高速计数器的控制字节只有定义了计数器和计数器模式,才能对计数器的动态参数进行编程。只有定义了计数器和计数器模式,才能对计数器的动态参数进行编程。每个高速计数器都有一个控制字节,见下表。
82、控制字节控制计数器的计每个高速计数器都有一个控制字节,见下表。控制字节控制计数器的计数方式和其他一些设置,以及在用户程序中对计数器的运行进行控制。数方式和其他一些设置,以及在用户程序中对计数器的运行进行控制。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC114目录目录要装入的值HSC0HSC1HSC2HSC3HSC4HSC5新当前值SMD38SMD48SMD58SMD138SMD148SMD158新预置值SMD42SMD52SMD62SMD142SMD152SMD162HSC的当前
83、值和预置值的当前值和预置值 预置值和当前值的设置预置值和当前值的设置每个计数器都有一个预置值和一个当前值。预置值和当前值每个计数器都有一个预置值和一个当前值。预置值和当前值都是有符号的双字整数。都是有符号的双字整数。为了向高速计数器装入新的预置值和当前值,必须先设置控为了向高速计数器装入新的预置值和当前值,必须先设置控制字节,并把预置值和当前值存入特殊存储器中制字节,并把预置值和当前值存入特殊存储器中(见下表见下表),然后执行然后执行HSC指令,才能将新的值传送给高速计数器。用双指令,才能将新的值传送给高速计数器。用双字直接寻址可访问高速计数器的当前值,而写操作只能用字直接寻址可访问高速计数器
84、的当前值,而写操作只能用HSC指令来实现。指令来实现。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC115目录目录高高 速速 计计 数数 器器 编编 程程 举举 例例 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC116目录目录 2高速脉冲输出指令高速脉冲输出指令(1)高速脉冲输出指令高速脉冲输出指令高速脉冲输出指令,使高速脉冲输出指令,使PLC某些输出端产生高速脉冲,
85、用来某些输出端产生高速脉冲,用来驱动负载实现精确控制。高速脉冲输出驱动负载实现精确控制。高速脉冲输出(PLS)指令如下图所)指令如下图所示,检测为脉冲输出示,检测为脉冲输出(Q0.0或或Q0.1)设置的特殊存储器位,然设置的特殊存储器位,然后激活由特殊存储器定义的脉冲输出指令。指令操作数后激活由特殊存储器定义的脉冲输出指令。指令操作数Q为为0或或l。S7-200 CPU有两个有两个PTO/PWM发生器,分别产生高速脉冲发生器,分别产生高速脉冲串和脉冲宽度可调的波形。串和脉冲宽度可调的波形。PTO/PWM发生器的编号分配在发生器的编号分配在数字输出点数字输出点Q0.0和和Q0.18/1/2024
86、第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC117目录目录(2)PTO/PWM控制寄存器控制寄存器PLS指令从指令从PTO/PWM控制寄存器中读取数据,使程序按控控制寄存器中读取数据,使程序按控制寄存器中的值控制制寄存器中的值控制PTO/PWM发生器。因此执行发生器。因此执行PLS指令指令前,必须设置好控制寄存器。前,必须设置好控制寄存器。PTO/PWM控制寄存器各位的控制寄存器各位的功能见下页表。功能见下页表。SMB67控制控制PTO/PWM Q0.0,SMB77控制控制PTO/PWM Q0.
87、1;SMW68/SMW78、SMW70/SMW80、SMD72/SMD82分别存放周期值、脉冲宽度值、脉冲数值。分别存放周期值、脉冲宽度值、脉冲数值。在多段脉冲串操作中,执行在多段脉冲串操作中,执行PLS指令前应在指令前应在SMW166SMW176中填入管线的总段数、在中填入管线的总段数、在SMW168/SMW178中装中装入包络表的起始偏移地址,并填好包络表的值。状态字节用入包络表的起始偏移地址,并填好包络表的值。状态字节用于监视于监视PTO发生器的工作。发生器的工作。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-
88、200 PLC S7-200 PLC118目录目录Q0.0Q0.1描述状态字节SM66.4SM76.4PTO包络由于增量计算错误而终止;0=无错误,1=有错误SM66.5SM76.5PTO包络由于用户命令而终止;0=不终止,1=终止SM66.6SM76.6PTO管线溢出;0=无溢出,1=有溢出SM66.7SM76.7PTO 空闲;0=执行中,1=空闲控制字节SM67.0SM77.0PTO/PWM更新周期;0=不更新周期值,1=更新周期值SM67.1SM77.1PWM更新脉冲宽度值;0=不更新脉冲宽度值,1=更新脉冲宽度值SM67.2SM77.2PTO更新脉冲数;0=不更新脉冲数,1=更新脉冲数
89、SM67.3SM77.3PTO/PWM时间基准选择;0=1 s,1=1 msSM67.4SM77.4PWM更新方法;0=异步更新,1=同步更新SM67.5SM77.5PTO操作;0=单段操作,1=多段操作SM67.6SM77.6PTO/PWM模式选择;0=选择PTO,1=选择PWMSM67.7SM77.7PTO/PWM 脉冲输出;0=禁止,1=允许其他寄存器SMW68SMW78PTO/PWM周期值(范围:265535)SMW70SMW80PWM脉冲宽度值(范围:265535)SMW72SMW82PTO脉冲计数值(范围:14294967295)SMW166SMW176操作中的段数(仅用于多段PT
90、O操作中)SMW168SMW178包络表的起始位置,用从V0开始的字节偏移量表示(仅用于多段PTO操作中)PTO/PWM控制寄存器各位的功能表控制寄存器各位的功能表 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC119目录目录(3)PWM操作操作PWM功能提供占空比可调的脉冲输出。周期和脉宽的增量单位为微秒功能提供占空比可调的脉冲输出。周期和脉宽的增量单位为微秒(s)或毫秒或毫秒(ms)。周期变化范围分别为。周期变化范围分别为5065535 s或或265635 ms。脉宽变化范围分
91、别为脉宽变化范围分别为065535 s或或065535 ms。当脉宽大于等于周。当脉宽大于等于周期时,占空比为期时,占空比为100,即输出连续接通。当脉宽为,即输出连续接通。当脉宽为0时,占空比为时,占空比为0,即输出断开。如果周期小于最小值,那么周期时间被默认为最小值。即输出断开。如果周期小于最小值,那么周期时间被默认为最小值。 有两个方法可改变有两个方法可改变PWM波形的特性:同步更新和异步更新。波形的特性:同步更新和异步更新。 同步更新:同步更新:PWM的典型操作是当周期时间保持常数时变化脉冲宽度。的典型操作是当周期时间保持常数时变化脉冲宽度。所以,不需要改变时间基准。不改变时间基准,就
92、可以进行同步更新。所以,不需要改变时间基准。不改变时间基准,就可以进行同步更新。同步更新时,波形特性的变化发生在周期边沿,可提供平滑过渡。同步更新时,波形特性的变化发生在周期边沿,可提供平滑过渡。 异步更新:异步更新:如果需要改变如果需要改变PWM发生器的时间基准,就要使用异步更新。发生器的时间基准,就要使用异步更新。异步更新会造成异步更新会造成PWM功能被瞬时禁止,和功能被瞬时禁止,和PWM输出波形不同步,这会输出波形不同步,这会引起被控设备的振动。因此,建议选择一个适合于所有周期时间的时间引起被控设备的振动。因此,建议选择一个适合于所有周期时间的时间基准来采用基准来采用PWM同步更新。同步
93、更新。控制字节中的控制字节中的PWM更新方法状态位更新方法状态位(SM67.4或或SM77.4)用来指定更新类用来指定更新类型,执行型,执行PLS指令激活这些改变。指令激活这些改变。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC120目录目录(4)PTO操作操作PTO功能提供指定脉冲数和周期的方波功能提供指定脉冲数和周期的方波(50占空比占空比)脉冲串发生功能。周期以脉冲串发生功能。周期以微秒或毫秒为单位。周期的范围是微秒或毫秒为单位。周期的范围是5065535 s或或265535
94、 ms。如果设定的。如果设定的周期是奇数,会引起占空比失真。脉冲数的范围是周期是奇数,会引起占空比失真。脉冲数的范围是14294967295。如果周期时间小于最小值,就把周期默认为最小值。如果指定脉冲数为如果周期时间小于最小值,就把周期默认为最小值。如果指定脉冲数为0,就把,就把脉冲数默认为脉冲数默认为1个脉冲。状态字节中的个脉冲。状态字节中的PTO空闲位空闲位(SM66.7或或SM176.7)为为1时,时,则指示脉冲串输出完成。可根据脉冲串输出完成调用中断程序。则指示脉冲串输出完成。可根据脉冲串输出完成调用中断程序。若要输出多个脉冲串,若要输出多个脉冲串,PTO功能允许脉冲串的排队,形成管线
95、。当激活的脉冲功能允许脉冲串的排队,形成管线。当激活的脉冲串输出完成后,立即开始输出新的脉冲串。这保证了脉冲串顺序输出的连续性。串输出完成后,立即开始输出新的脉冲串。这保证了脉冲串顺序输出的连续性。 PTO发生器有单段管线和多段管线两种模式。发生器有单段管线和多段管线两种模式。 单段管线模式单段管线模式单段管线中,只能存放一个脉冲串的控制参数。一旦启动了单段管线中,只能存放一个脉冲串的控制参数。一旦启动了PTO起始段,就必起始段,就必须立即为下一个脉冲串更新控制寄存器,并再次执行须立即为下一个脉冲串更新控制寄存器,并再次执行PLS指令。第二个脉冲串指令。第二个脉冲串的属性一直保持到第一个脉冲串
96、发送完成。第一个脉冲串发送完成,紧接着就的属性一直保持到第一个脉冲串发送完成。第一个脉冲串发送完成,紧接着就输出第二个脉冲串。重复上述过程可输出多个脉冲串。输出第二个脉冲串。重复上述过程可输出多个脉冲串。多段管线模式多段管线模式多段管线中,多段管线中,CPU在变量在变量(V)存储区建立一个包络表。包络表中存储各个脉冲串存储区建立一个包络表。包络表中存储各个脉冲串的控制参数。多段管线用的控制参数。多段管线用PLS指令启动。执行指令时,指令启动。执行指令时,CPU自动从包络表中按自动从包络表中按顺序读出每个脉冲串的控制参数,并实施脉冲串输出。当执行顺序读出每个脉冲串的控制参数,并实施脉冲串输出。当
97、执行PLS指令时,包指令时,包络表内容不可改变。络表内容不可改变。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC121目录目录3PID回路指令回路指令(1)PID算法算法在闭环控制系统中广泛应用在闭环控制系统中广泛应用PID控制控制(即比例即比例积分积分微分控微分控制制)。PID控制器调节回路输出,其控制原理基于下面的方程控制器调节回路输出,其控制原理基于下面的方程式。式。 M(t)=Kce+Kc+Mintial+Kc 输出输出=比例比例+积分积分+微分微分 式中式中 M(t)PI
98、D回路的输出,是时间函数;回路的输出,是时间函数; KcPID回路的增益;回路的增益; ePID回路的偏差;回路的偏差; MintialPID回路输出的初始值。回路输出的初始值。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC122目录目录(2)PID回路指令回路指令PID回路指令运用回路表中的输入信息和组态信息,进行回路指令运用回路表中的输入信息和组态信息,进行PID运算,编程极其简便。该指令有两个操作数:运算,编程极其简便。该指令有两个操作数:TBL和和LOOP,如下图所示。其中
99、,如下图所示。其中TBL是回路表的起始地址,操作是回路表的起始地址,操作数限用数限用VB区域区域(BYTE型型);LOOP是回路号,可以是是回路号,可以是0到到7的的整数整数(BYTE型型)。进行。进行PID运算的前提条件是逻辑堆栈栈顶值运算的前提条件是逻辑堆栈栈顶值必须为必须为1。在程序中最多可以用。在程序中最多可以用8条条PID指令。指令。PID回路指令回路指令不可重复使用同一个回路号不可重复使用同一个回路号(即使这些指令的回路表不同即使这些指令的回路表不同),否则会产生不可预料的结果。否则会产生不可预料的结果。回路表包含回路表包含9个参数,用来控制和监视个参数,用来控制和监视PID运算。
100、运算。PID回路表回路表的格式见下页表。的格式见下页表。 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC123目录目录PID回路的格式表回路的格式表偏移地址参数数据类型变量类型说明0过程变量PVn实数输入必须在0.01.0之间4给定值SPn实数输入必须在0.01.0之间8输出值Mn实数输入/输出必须在0.01.0之间12增益Kc实数输入比例常数,可正可负16采样时间Ts实数输入单位为s,必须是正数20积分时间Ti实数输入单位为min,必须是正数24微分时间TD实数输入单位为min,
101、必须是正数28积分项前值MX实数输入/输出必须在0.01.0之间32过程变量当前值PVn-1实数输入/输出最近一次PID变量值8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC124目录目录(3)控制方式控制方式S7-200 PLC执行执行PID指令时为指令时为“自动自动”运行方式,不执行运行方式,不执行PID指令时为指令时为“手动手动”方式。方式。PID指令有一个允许输入端指令有一个允许输入端(EN)。当该输入端检测到一个正。当该输入端检测到一个正跳变跳变(从从0到到1)信号,信号,
102、PID回路就从手动方式无扰动地切换到回路就从手动方式无扰动地切换到自动方式。无扰动切换时,系统把手动方式的当前输出值填自动方式。无扰动切换时,系统把手动方式的当前输出值填入回路表中的入回路表中的Mn,用来初始化输出值,用来初始化输出值Mn,且进行一系列的,且进行一系列的操作,对回路表中的值进行组态:操作,对回路表中的值进行组态:置给定值置给定值SPn=过程变量过程变量PVn置过程变量当前值置过程变量当前值PVn-1=过程变量当前值过程变量当前值PVn置积分项前值置积分项前值MX=输出值输出值Mn梯形图中,若梯形图中,若PID指令的允许输入端指令的允许输入端(EN)直接接至左母线,直接接至左母线
103、,在启动在启动CPU或或CPU从从STOP方式转换到方式转换到RUN方式时,方式时,PID使使能位的默认值为能位的默认值为1,可以执行,可以执行PID指令,但无正跳变信号,指令,但无正跳变信号,因而不能实现无扰动的切换。因而不能实现无扰动的切换。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC125目录目录 (4)回路输入变量的转换和标准化回路输入变量的转换和标准化 每个每个PID回路有两个输入变量,给定值回路有两个输入变量,给定值SP和过程变量和过程变量PV。给定值通常是一个固。给
104、定值通常是一个固定的值,如水箱水位的给定值。过程变量与定的值,如水箱水位的给定值。过程变量与PID回路输出有关,并反映控制的效回路输出有关,并反映控制的效果。在水箱控制系统中,过程变量就是水位的测量值。果。在水箱控制系统中,过程变量就是水位的测量值。 给定值和过程变量都是实际工程物理量,其数值大小、范围和测量单位都可能给定值和过程变量都是实际工程物理量,其数值大小、范围和测量单位都可能不一样。执行不一样。执行PID指令前必须把它们转换成标准的浮点型实数。指令前必须把它们转换成标准的浮点型实数。转换步骤如下:转换步骤如下:回路输入变量的数据转换。把回路输入变量的数据转换。把A/D模拟量单元输出的
105、整数值转换成浮点型实数模拟量单元输出的整数值转换成浮点型实数值,程序如下:值,程序如下: XORD AC0,AC0 /清空累加器清空累加器 MOVW AIW0,AC0 /把待变换的模拟量存入累加器把待变换的模拟量存入累加器 LDW= AC0,0 /如果模拟量为正如果模拟量为正 JMP 0 /则直接转成实数则直接转成实数 NOT /否则否则 ORD 16#FFFF0000,AC0 /先对先对AC0中的值进行符号扩展中的值进行符号扩展 LBL 0 ITD AC0,AC0 /把整数转换成双字整数把整数转换成双字整数 DTR AC0,AC0 /把双字整数转成实数把双字整数转成实数 8/1/2024第第
106、第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC126目录目录实数值的标准化。把实数值进一步标准化为实数值的标准化。把实数值进一步标准化为0.00.01.01.0之间之间的实数。实数标准化的公式如下:的实数。实数标准化的公式如下:式中式中 R Rnormnorm标准化的实数值;标准化的实数值;R Rrawraw未标准化的实数值;未标准化的实数值;OffOffsetset值域,单极性为值域,单极性为0.00.0,双极性为,双极性为0.0.;S Spanpan值域,即最大允许值减去最小允许值,单极性为值域,
107、即最大允许值减去最小允许值,单极性为3200032000,双极性为,双极性为6400064000。双极性实数标准化的程序如下:双极性实数标准化的程序如下: R 64000.0R 64000.0,AC0 /AC0 /累加器中的实数值除以累加器中的实数值除以64000.064000.0 +R 0.5 +R 0.5,AC0 /AC0 /加上偏置,使其落在加上偏置,使其落在0.00.01.01.0之间之间 MOVR AC0 MOVR AC0,VD100 /VD100 /标准化的实数值存入回路表标准化的实数值存入回路表8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200
108、 PLC S7-200 PLC S7-200 PLC S7-200 PLC127目录目录(5)回路输出变量的数据转换)回路输出变量的数据转换回路输出变量是用来控制外部设备的,例如,控制水泵的速度。回路输出变量是用来控制外部设备的,例如,控制水泵的速度。PID运运算的输出值是算的输出值是0.00.1之间的标准化的实数值,。在输出变量传送给之间的标准化的实数值,。在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过程是实数值标准化的逆过程。程是实数值标准化的逆过程。 回路输出变量的刻度化。把回路输出的标准化实数转
109、换成刻度实数,回路输出变量的刻度化。把回路输出的标准化实数转换成刻度实数,转换公式如下:转换公式如下:Rscal=(Mn-Offset)Span 式中式中 Rscal回路输出的刻度实数值;回路输出的刻度实数值; Mn回路输出的标准化实数值;回路输出的标准化实数值; Offset值域,单极性为值域,单极性为0.0,双极性为,双极性为0.; Span值域,即最大允许值减去最小允许值,单极性为值域,即最大允许值减去最小允许值,单极性为32000,双极性为,双极性为64000。回路输出变量的刻度化的程序如下:回路输出变量的刻度化的程序如下: MOVR VD108,AC0 /把回路输出变量移入累加器把回
110、路输出变量移入累加器 -R 0.5,AC0 /对双极性输出值,对双极性输出值,Offset为为0.5 *R 64000.0,AC0 /得到回路输出变量的刻度值得到回路输出变量的刻度值8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC128目录目录将实数转换为整数将实数转换为整数(INT)。把回路输出变量的刻度值转换成整数。把回路输出变量的刻度值转换成整数(INT)的程序为的程序为: ROUND AC0,AC0 /把实数转换为双字整数把实数转换为双字整数 DTI AC0,AC0 /把双字
111、整数转换为整数把双字整数转换为整数 MOVW AC0,AQW0 /把整数写入模拟量输出寄存器把整数写入模拟量输出寄存器(6)出错条件出错条件如果指令操作数超出范围,如果指令操作数超出范围,CPU会产生编译错误,致使编译失败。会产生编译错误,致使编译失败。PID指令不检查回路表中的值是否在范围之内,必须确保过程变量、给定值、指令不检查回路表中的值是否在范围之内,必须确保过程变量、给定值、输出值、积分项前值、过程变量前值在输出值、积分项前值、过程变量前值在0.0到到1.0之间。之间。 如果如果PID运算发生错误,那么特殊存储器标志位运算发生错误,那么特殊存储器标志位SM1.l(溢出或非法值溢出或非
112、法值)会会被置被置1,并且中止,并且中止PID指令的执行。要想消除这种错误,单靠改变回路表指令的执行。要想消除这种错误,单靠改变回路表中的输出值是不够的,正确的方法是在执行中的输出值是不够的,正确的方法是在执行PID运算之前,改变引起运运算之前,改变引起运算错误的输入值,而不是更新输出值。算错误的输入值,而不是更新输出值。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC129目录目录(7)PID指令应用指令应用例:某水箱需要维持一定的水位,该水箱里的水以变化的速度流出。这例:某水箱需
113、要维持一定的水位,该水箱里的水以变化的速度流出。这就需要有一个水泵以变化的速度给水箱供水以维持水位就需要有一个水泵以变化的速度给水箱供水以维持水位(满水位的满水位的75)不变,这样才能使水箱不断水。不变,这样才能使水箱不断水。 分析:本系统的给定值是水箱满水位的分析:本系统的给定值是水箱满水位的75时的水位,过程变量由水位时的水位,过程变量由水位测量仪提供。输出值是水泵的速度,可以从允许最大值的测量仪提供。输出值是水泵的速度,可以从允许最大值的0变到变到100。 给定值可以预先设定后直接输入到回路表中,过程变量值是来自水位测给定值可以预先设定后直接输入到回路表中,过程变量值是来自水位测量仪的单
114、极性模拟量,回路输出值也是一个单极性模拟量,用来控制水量仪的单极性模拟量,回路输出值也是一个单极性模拟量,用来控制水泵速度。泵速度。 本系统中选择比例和积分控制,其回路增益和时间常数可以通过工程计本系统中选择比例和积分控制,其回路增益和时间常数可以通过工程计算初步确定。但还需要进一步调整以达到最优控制效果。初步确定的回算初步确定。但还需要进一步调整以达到最优控制效果。初步确定的回路增益和时间常数为:路增益和时间常数为:Kc=0.25,Ts=0.1s,Ti=30 min,TD=0。 水箱水位水箱水位PID控制的程序如下页图示。控制程序主要包括三部分:主程控制的程序如下页图示。控制程序主要包括三部
115、分:主程序(序(MAIN)、回路表初始化程序()、回路表初始化程序(SBR_0)、中断程序()、中断程序(INT_0)。)。在程序中,在程序中,I0.0控制手动与自动的切换:控制手动与自动的切换:0代表手动,代表手动,1代表自动。代表自动。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC130目录目录水箱水位水箱水位PID控制程序控制程序 8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-
116、200 PLC131目录目录水箱水位水箱水位PID控制程序(续)控制程序(续)8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC132目录目录4时钟指令时钟指令读写实时时钟指令读写实时时钟指令TODR (Time of Day Read),从实时时钟读取当前,从实时时钟读取当前时间和日期,并把它们装入以时间和日期,并把它们装入以T为起始地址的为起始地址的8字节缓冲区中。字节缓冲区中。8个字节时间缓冲区格式(个字节时间缓冲区格式(T)T字节字节 说明说明 字节数据字节数据 0 年年 (0
117、-99)当前年份当前年份 (BCD值值) 1 月月 (1-12)当前月份当前月份 (BCD值值) 2 日期日期 (1-31)当前日期当前日期 (BCD值值) 3 小时小时 (0-23)当前小时当前小时 (BCD值值) 4 分钟分钟 (0-59)当前分钟当前分钟 (BCD值值) 5 秒秒 (0-59)当前秒当前秒 (BCD值值) 6 00 保留保留 始终设置为始终设置为00 7 星期几星期几 (1-7)当前是星期几,当前是星期几,1=星期日星期日 (BCD值值)8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PL
118、C S7-200 PLC133目录目录读写实时时钟指令举例读写实时时钟指令举例2008年年3月月30日日14时时11分分43秒星期日读取的值秒星期日读取的值8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC134目录目录3.6编程软件编程软件STEP 7-Micro/WIN V4.0是西门子公司专为是西门子公司专为S7-200系列系列PLC开发的最开发的最新编程软件。本节将重点介绍新编程软件。本节将重点介绍STEP 7-Micro/WIN V4.0软件的安装、软件的安装、功能说明及如何
119、用编程软件进行编程、调试及运行监控等内容。功能说明及如何用编程软件进行编程、调试及运行监控等内容。 3.6.1编程软件安装编程软件安装1软件安装软件安装为了实现为了实现PLC与计算机间的通信,必须用具有与计算机间的通信,必须用具有Windows 95以上操作以上操作系统的计算机,同时必须配备下列三种设备中一种:一根系统的计算机,同时必须配备下列三种设备中一种:一根PC/PPI电缆、电缆、一个通信处理器一个通信处理器(CP)卡和多点接口卡和多点接口(MPI)电缆、一块电缆、一块MPI卡和配套的电卡和配套的电缆。其中缆。其中PC/PPI电缆价格便宜,用得最多。电缆价格便宜,用得最多。 STEP 7
120、-Micro/WIN V4.0编程软件可以从西门子公司网站编程软件可以从西门子公司网站()下载,也可以用光盘安装下载,也可以用光盘安装,双击双击STEP 7-Micro/WIN V4.0的安装程序的安装程序setup.exe,根据在线提示,完成安装。,根据在线提示,完成安装。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC135目录目录3.6.2功能介绍功能介绍1.基本功能基本功能STEP 7-Micro/WIN V4.0的基本功能是协助用户完成应用软件的开发任务,例的基本功能是协助
121、用户完成应用软件的开发任务,例如,创建用户程序,修改和编辑原有的用户程序。利用该软件可设置如,创建用户程序,修改和编辑原有的用户程序。利用该软件可设置PLC的的工作方式和参数,上载和下载用户程序,进行程序的运行监控。它还具有简工作方式和参数,上载和下载用户程序,进行程序的运行监控。它还具有简单语法的检查、对用户程序的文档管理和加密等功能,并提供在线帮助。单语法的检查、对用户程序的文档管理和加密等功能,并提供在线帮助。上载和下载用户程序指的是用上载和下载用户程序指的是用STEP 7-Micro/WIN V4.0编程软件进行编程时,编程软件进行编程时,PLC主机和计算机之间的程序、数据和参数的传送
122、。主机和计算机之间的程序、数据和参数的传送。上载用户程序是将上载用户程序是将PLC中的程序和数据通过通信设备中的程序和数据通过通信设备(如如PC/PPI电缆电缆)上载到上载到计算机中进行程序的检查和修改;下载用户程序是将编制好的程序、数据和计算机中进行程序的检查和修改;下载用户程序是将编制好的程序、数据和CPU组态参数通过通信设备下载到组态参数通过通信设备下载到PLC中以进行运行调试。中以进行运行调试。程序编辑中的语法检查功能可以避免一些语法和数据类型方面的错误。梯形图程序编辑中的语法检查功能可以避免一些语法和数据类型方面的错误。梯形图中错误处的下方自动加红色曲线,语句表中错误行前有红色叉,且
123、错误处的中错误处的下方自动加红色曲线,语句表中错误行前有红色叉,且错误处的下方加红色曲线。下方加红色曲线。 软件功能的实现可以在联机工作方式软件功能的实现可以在联机工作方式(在线方式在线方式)下进行,部分功能的实现也下进行,部分功能的实现也可以在离线工作方式下进行。可以在离线工作方式下进行。 联机方式:有编程软件的计算机与联机方式:有编程软件的计算机与PLC连接,此时允许两者之间做直接通信。连接,此时允许两者之间做直接通信。 离线方式:有编程软件的计算机与离线方式:有编程软件的计算机与PLC断开连接,此时能完成大部分基本功断开连接,此时能完成大部分基本功能,如编程、编译和调试程序系统组态等。能
124、,如编程、编译和调试程序系统组态等。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC136目录目录2.主界面各部分功能主界面各部分功能启动启动STEP 7-Micro/WIN V4.0编程软件编程软件,其主界面如下图所示。其主界面如下图所示。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC137目录目录标标 准准 工工 具具 栏栏 及及 功功 能能8/1/2024第第第第3
125、 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC138目录目录调调 试试 工工 具具 栏栏 及及 功功 能能8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC139目录目录公公 用用 工工 具具 栏栏 及及 功功 能能8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC140目录目录LAD指令工
126、具栏及功能指令工具栏及功能8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC141目录目录快快 捷捷 键键 及及 功功 能能F4包含所有接点助记符类型的列表框(仅限包含所有接点助记符类型的列表框(仅限LAD)F6包含所有线圈助记符类型的列表框(仅限包含所有线圈助记符类型的列表框(仅限LAD)F9包含所有方框助记符类型的列表框包含所有方框助记符类型的列表框8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 P
127、LC S7-200 PLC142目录目录3.6.3编程编程 1.项目生成项目生成项目项目(Project)文件来源有文件来源有3个:新建一个项目、打开已有个:新建一个项目、打开已有的项目和从的项目和从PLC上传已有项目。上传已有项目。 (1)新建项目新建项目建立一个项目文件,单击建立一个项目文件,单击文件文件(File)菜单中的菜单中的新建新建(New)命令或工具条中的命令或工具条中的新建新建按钮按钮,在主窗口将显示新在主窗口将显示新建的项目文件主程序区。建的项目文件主程序区。新建的项目文件以新建的项目文件以“Project1(CPU 221)”命名,包括内容命名,包括内容为系统默认为系统默认
128、PLC的型号。项目包含程序块、数据块、系统的型号。项目包含程序块、数据块、系统块等内容,其中程序块中有块等内容,其中程序块中有1个主程序,个主程序,1个可选的子程序个可选的子程序SBR_0和一个中断程序和一个中断程序INT_0。8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC143目录目录 (2)打开已有文件打开已有文件打开一个磁盘中已有的程序文件,可用打开一个磁盘中已有的程序文件,可用文件文件(File)单中单中开开(Open)命令,在弹出的对话框中选择打开的程序文件。命令,在弹出
129、的对话框中选择打开的程序文件。也可以用工具条中的按钮来完成也可以用工具条中的按钮来完成(3)上载文件上载文件 在已经与在已经与PLC建立通信的前提下,如果要上载建立通信的前提下,如果要上载PLC存储器存储器中的程序文件,可用中的程序文件,可用文件文件(File)菜单中的菜单中的上传上传(Upload)命令,也可以用工具条中的按钮来完成。命令,也可以用工具条中的按钮来完成。 2.程序的编辑程序的编辑 编辑和修改控制程序是程序员利用编辑和修改控制程序是程序员利用STEP 7-Micro/WIN V4.0编程软件要做的最基本的工作,本软件有较强的编辑功编程软件要做的最基本的工作,本软件有较强的编辑功能。程序的编辑和各种操作请读者参见教材或相关手册能。程序的编辑和各种操作请读者参见教材或相关手册8/1/2024第第第第3 3 3 3章章章章 西门子西门子西门子西门子 S7-200 PLC S7-200 PLC S7-200 PLC S7-200 PLC144目录目录8/1/2024