西门子S7-300 数据资料
学习西门子S7-300的基础

学习西门子S7-300的基础第一章PLC概述一、可编程控制器的产生及定义①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。
但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC (programmable logic controller)。
②70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC (programmablecontroller)。
但由于PC容易与个人计算机(personal computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。
③1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算的电子系统,是专为在工业环境下的应用而设计的工业控制器,它采用了可以编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。
④PLC是由继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。
继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。
⑤PLC是集自动控制技术、计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。
二、可编程控制器的分类及特点(一)分类(1)从组成结构形式分①一体化整体式PLC②模块式结构化PLC(2)按I/O点数及内存容量分①超小型PLC②小型PLC③中型PLC④大型PLC⑤超大型PLC(3)按输出形式分①继电器输出为有触点输出方式,适用于低频大功率直流或交流负载②晶体管输出为无触点输出方式,适用于高频小功率直流负载③晶闸管输出为无触点输出方式,适用于高速大功率交流负载(二)特点①可靠性高、抗干扰能力强②编程简单、使用方便③设计、安装容易,维护工作量少④功能完善、通用性好,可实现三电一体化PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体。
西门子S7-300 CPU317F-2 PN DP 数据手册说明书

512
Yes 0 511 Z 0 to Z 7
Yes 0 999
Yes SFB Unlimited (limited only by RAM capacity)
512
Yes 0 511 No retentivity
10 ms 9 990 s
Yes SFB
08/19/2020
Subject to change without notice © Copyright Siemens
Data sheet
6ES7317-2FK14-0AB0
SIMATIC S7-300 CPU317F-2 PN/DP, Central processing unit with 1.5 MB work memory, 1st interface MPI/DP 12 Mbit/s, 2nd interface Ethernet PROFINET, with 2-port switch, Micro Memory Card required
Number of expansion units, max.
3
Number of DP masters
● integrated
1
● via CP
4
Number of operable FMs and CPs (recommended)
● FM
8
● CP, PtP
8
● CP, LAN
10
Rack
● Racks, max.
750 mA 150 mA 4A 1 A²·s
4.65 W
1 536 kbyte No 256 kbyte
Yes 8 Mbyte 10 y
Yes; Guaranteed by MMC (maintenance-free) Yes; Program and data
最基础最全面的西门子S7-300介绍

电源模块上的L+和M端子分别是DC24V输出电压的正、 负极。用专用的电源连接器连接电源模块和CPU模块 的L+和M端子。
九、实时钟与运行时间计数器
CPU312 IFM与CPU313因为没有锂电池,只有软件 实时钟,PLC断电时停止计时,恢复供电后从断电 瞬时的时刻开始计时。有后备锂电池的CPU有硬件 实时钟,右以在PLC电源断电时继续运行,运行小 时计数器的计数范围为0-32767h。
五、微存储器卡
Flash EPROM微存储卡(MMC)用于在断电时保存用户 程序和某些数据,它可以扩展CPU的存储器容量,也 可以将有些CPU的操作系统保存在MMC中,这对于操作 系统的升级是非常方便的。MMC用作装载存储器或便 携式保存媒体。MMC的读写直接在CPU内进行,不需要 专用的编程器。由于CPU31xC没有安装集成的装载存 储器,在使用CPU时必须插入MMC,CPU与MMC是分开订 货的。 如果在写访问过程中拆下SIMATIC微存储卡,卡中的 数据会被破坏。在这种情况下,必须将MMC插入CPU中 并删除它,或在CPU中格式化存储卡。只有在断电状 态或CPU处于STOP状态时,才能取下存储卡。
一、状态和故障显示LED
SF(红色):系统错误、编程错误或从有诊断功能 模板来的故障。 BF(或BATF 红色):电池故障,电池电压低或没 有电池时亮。 DC5V(绿色):CPU和S7-300总线的5V电源电压正 常时亮。(提供给背板总线) FRCE(黄色):至少有一个I/O接口被强制时亮。 RUN(绿色):CPU启动时闪亮(2Hz),运行时常亮 STOP(黄色):CPU在STOP、HOLD状态或重新启动时 常亮;当要求存储器复位时以0.5Hz的频率闪烁,正 在执行存储器复位时以2Hz的频率闪烁。
1、导轨(Rail) S7-300的模块机架(起物理支撑作用,无背板总线) 2、电源模块(PS) 将市电电压(AC120/230V)转换为DC24V,为CPU和 24V直流负载电路(信号模块、传感器、执行器等) 提供直流电源。输出电流有2A、5A、10A三种 ●正常:绿色LED灯亮 ●过载:绿色LED灯闪 ●短路:绿色LED灯暗(电压跌落,短路消失后自动 恢复) ●电压波动范围:5%
最新西门子S7-300的基本数据类型

STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。
⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W #16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0~C#999。
BCD 码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。
BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C #987或者B#(9,135)。
SIMATIC S7-300 S7-300模块数据

SIMATICS7-300S7-300模块数据设备手册Siemens AG Division Digital Factory Postfach 48 48 90026 NÜRNBERG A5E00432670-AJⓅ 08/2017 本公司保留更改的权利Copyright © Siemens AG 2012 - 2017.保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。
人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。
警告提示根据危险等级由高到低如下表示。
危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。
警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。
小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。
注意表示如果不采取相应的小心措施,可能导致财产损失。
当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。
如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。
合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。
其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。
由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。
按规定使用Siemens 产品请注意下列说明:警告Siemens 产品只允许用于目录和相关技术文件中规定的使用情况。
如果要使用其他公司的产品和组件,必须得到 Siemens 推荐和允许。
正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。
必须保证允许的环境条件。
必须注意相关文件中的提示。
商标所有带有标记符号 ® 的都是西门子股份有限公司的注册商标。
本印刷品中的其他符号可能是一些其他商标。
若第三方出于自身目的使用这些商标,将侵害其所有者的权利。
最基础最全面的西门子S7-300介绍剖析

• 模块内集成背板总线 • 网络连接 - 多点接口 (MPI),
- PROFIBUS 或
- 工业以太网 • 通过编程器PG访问所有的模块 • 无插槽限制 • 借助于“HWConfig”工具可以进行组态和 设置参数
二、特点 • 循环周期短、处理速度高 • 指令集功能强大(包含350多条指令),
可用于复杂功能 • 产品设计紧凑,可用于空间有限的场合 • 模块化结构,设计更加灵活 • 有不同性能档次的CPU模块可供选用 • 功能模块和I/O模块可选择 • 有可在露天恶劣条件下使用的模块类型
四、CPU的模式选择开关
有的CPU的模式选择开关是一种钥匙开关,操作时 需要插入钥匙,用来设置CPU当前的运行方式。钥 匙拔出后,就不能改变操作方式。这样可以防止未 经授权的人员非法删除或改写用户程序。 ➢RUN-P:运行-编程状态(可读写存储器),在此 位置不可以拔出钥匙开关。 ➢RUN: 运行状态(只可读存储器),不可以修改 用户程序,在此位置可以取出钥匙开关。 ➢STOP: 停止运行状态(可修改程序),在此位置 可以取出钥匙开关。 ➢MRES: 清存储器,此位置钥匙开关不能保持,松 手时开关将自动返回STOP位置。
3、CPU模块
各种CPU有不同的性能,例如有的CPU集成有数字量和模拟 量输入/输出点,有的CPU集成有PROFIBUS-DP等通信接口。 CPU前面板上有状态故障指示灯、模式开关、24V电源端子、 电池盒与存储器模块盒(有的CPU没有)。
4、信号模块 (SM)
信号模块是数字量输入/输出模块和模拟量输入/ 输出模块的总称,它们使不同的过程信号电压或 电流与PLC内部的信号相匹配。 • 数字量输入模块:SM321系列,24V DC, 120/230V AC • 数字量输出模块:SM322系列,继电器型,晶 体管型,可控硅型 • 模拟量输入模块:SM331系列,电压,电流, 电阻,热电偶 • 模拟量输出模块:SM332系列,电压,电流 功能 使不同级的过程信号电平和S7-300的内部信号电 平相匹配
西门子S7-300 数据资料

基本数据类型(1)基本数据类型;(2)用户通过组合基本数据类型生成的复合数据类型; (3)可用来定义传送FB(功能块)和FC(功能)参数的参数类型.下面介绍STEP7的基本数据类型:1)位(bit) 位数据的数据类型为BOOL(布尔)型,在编程软件中BOOL 变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示. 位存储单元的地址由字节地址和位地址组成,例如I3.2中的区域标示符"I"表示输入(Input),字节地址为3,位地址为2,如图所示.这种存取方式称为"字节.位"寻址方式.输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成2)字节(Byte) 8位二进制数组成1个字节(Byte,如下图,其中的第0位为最低位(LSB),第7位为最高位(MSB).3)字(Word) 相邻两个字节组成一个字,字用来表示无符号数.MWl00是由MB1OO和MB1O1组成的1个字,如图5.4.3,MB00为高位字节.MW100中的M为区域标示符,W表示字,100为字的起始字节MB1O0的地址.字的取值范围为W#16#0000~W#16#FFFF. 4) 双字(Double Word) 两个字组成1个双字,双字用来表示无符号数.MD100是由MB100~MB103组成的1个双字,(见上图),MB100为高位宇节, D表示双字,100为双字的起始字节MB100的地址.双字的取值范围为DW#16#0000_0000~DW#16#FFFF_FFFF.常数的表示方法常数值可以是字节,字或双字,CPU以二进制方式存储常数,常数也可以用十进制,十六进制,ASCII码或浮点数形式来表示.B#16#,W#16#,DW#16#分别用来表示十六进制字节,字和双字常数.2#用来表示二进制常数,例如2#1101_1010. L#为32位双整数常数,例如L# +5. P#为地址指针常数,例如P#M2.O是M2.0的地址. S5T#是16位S5时间常数,格式为S5T# aD_bH_cM_dS_eMS.其中a,b,c,d,e分别是日, 小时,分,秒和毫秒的数值.输入时可以省掉下划线, 例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2小时15分30秒. C#为计数器常数(BCD码),例如C#250.状态字状态字用于表示CPU执行指令时所具有的状态.某些指令可否执行或以何种方式执行可能取决于状态字中的某些位,指令执行时也可能改变状态字中的某些位,可以用位逻辑指令或字逻辑指令访问并检测状态字.状态字的结构如图所示.逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of LogicOperation, RLO).该位存储逻辑操作指令或比较指令的结果.在逻辑串中,RLO位的状态表示有关信号流的信息,RLO的状态为1, 表明有信号流(通),RLO的状态为0,表明无信号流(断).可用RLO触发跳转指令. 溢出位(OV) 状态字的第4位称为溢出位.当算术运算或浮点数比较指被置1,如果执行结果正常,该位被清0. 令执行时出现错误(溢出,非法操作,不规范格式)时,OV位条件码l(CCl)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0.这两位结合起来用于表示在累加器1中产生的算术运算结果与0的大小关系, 基本指令及其编程1,位逻辑指令状态寄存器触点在S7-300/400PLC中,CPU中有一个专门用于存储指令执行状态的16位状态寄存器,状态寄存器以二进制位的形式保存指令的执行结果与中间状态等,在梯形图编程时,这些标志可以用触点的形式在梯形图中使用与编程,S7300/400PLC可以使用的状态寄存器触点如下表所示.状态寄存器触点1,"与"(A),"与非"(AN)A:"与"指令适用于单个常开触点串联,完成逻辑"与"运算. AN:"与非"指令适用于单个常闭触点串联,完成逻辑"与非" 运算."与"(A),"与非"(AN)指令由图可知,触点串联指令也用于串联逻辑行的开始.CPU对逻辑行开始第1条语句如I1.0的扫描称为首次扫描.首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中; 在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相"与"产生的结果,再存入RLO中,如此依次进行.在逻辑串结束处的RLO可作进一步处理. 如赋值给Q4.2(=Q4.2).2 ,"或"(O),"或非"(ON) )," ), 或非" )O:"或"指令适用于单个常开触点并联,完成逻辑"或"的运算. ON:"或非"指令适用于单个常闭触点并联,完成逻辑"或非"运算."或"(O),"或非"(ON)指令由图可知,触点并联指令也用于一个并联逻辑行的开始.CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描.首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相"或",产生新的结果再存入RLO中,如此一次进行.在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0). 此外,还有"异或"(X),"异或非" (XN),嵌套指令等等.3,输出线圈,输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中.下图是两个应用举例.4,中间输出如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为"连接器"或"中间赋值元件".它和其他元件串联时, "连接器"指令和触点一样插入.连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处.5 置位指令,复位指令置位指令,置位/复位指令也是一种输出指令.使用置位指令时,如果RLO =1,则指定的地址被置为1,而且一直保持,直到被复位为0.使用复位指令时,如果RLO=1,则指定的地址被复位为0,而且一直保持,直到被置位为1,如图所示.6 触发器指令触发器有置位复位触发器(SR触发器)和复位置位触发器(RS 触发器)两种,这两种触发器指令均可实现对指定位地址的置位或复位.触发器可以用在逻辑串最右端,结束一个逻辑串;也可用在逻辑串中,当作一个特殊触点,影响右边的逻辑操作结果.置位优先型RS触发器如下图所示.7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升沿(也称正跳沿);从1变到0时,产生一个下降沿(也称负跳变). 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表明有一个跳变沿.因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较. S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的指令. (1) RLO跳变沿检测指令RLO跳变沿检测可分别检测正跳沿和负跳沿.①当RLO从0到1时,正跳沿检测指令在当前扫描周期以RLO=0表示其变化,而在其他扫描周期均为0.在执行RLO正跳沿检测指令前,RLO的状态存储在位地址中. ②当RLO从1到0时,负跳沿检测指令在当前扫描周期以RLO=1表示其变化,而在其他扫描周期均为0.在执行RLO负跳沿检测指令前,RLO的状态存储在位地址中. RLO跳变沿检测指令和操作数见下表.RLO跳变沿检测指令和操作数(2) 触点跳变沿检测指令触点跳变沿检测可分别检测正跳沿和负跳沿. ①触点正跳沿检测指令FP:在LAD中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从0到1时,输出端Q接通一个扫描周期. ②触点负跳沿检测指令FN:在LAD 中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从1到0时,输出端Q接通一个扫描周期.触点跳变沿检测指令和操作数LAD(a)程序行要检测的是逻辑串I1.0,I1.1的运算结果的跳变边沿,即图中①点处的RLO的边沿变化情况,同时用M1.0来存储RLO①的状态.程序的工作过程如时序图:当程序运行到图中a点时,当前RLO值是1,而上次RLO值(存放在M1.0中)是0, 于是FP指令判断到一个RLO的正跳沿,就将②点处的M1.0置1, 并且输出给M8.0;当程序经过1个扫描周期,运行到波形图中b点时,当前RLO值和前一个RLO值均为1,相同(RLO在相邻两个扫描周期中相同,可全为1或0),那么FP指令将②点处M1.0置0, 并输出给M8.0.这样M8.0为1的时间仅一个周期.图中虚线箭头指的是两个相邻扫描周期RLO的比较. 对RLO下降沿的检测,读者可自行分析c点,d点时的情况,FN 指令检测到一个RLO①的负跳沿时将M8.1置1,M8.1为1的时间也是一个周期.位逻辑指令的应用举例机床的工作台运动示意图工作台由交流电动机驱动,改变电动机的旋转方向就可以改变工作台的运动方向.按下启动按钮SBl后,电动机驱动工作台运动,如果工作台运动到极限位置时,由行程开关SQl或SQ2检测并发出停止前进指令,同时自动发出返回指令.只要不按停止按钮SB2,工作台将继续这种自动往复运动.工作台驱动电动机通过热继电器做过载保护.。
S7-300

定时中断组织块OB35西门子S7-300/400有9个定时中断组织块:OB30、OB31、OB32、OB33、OB34、OB35、OB36、OB37、OB38 。
CPU可以定时中断去执行这些模块中的程序,即:每隔一段时间就停止当前的程序,转去执行定时中断组织块中的程序,执行结速后再返回。
相当于单片机的定时中断。
这9个组织块功能相同,你可以选择其中之一使用,区别是它们的中断优先级不同,如果程序中用到了多个定时中断组织块,应设好它们的执行优先级。
S7-300CPU 可用的定时中断组织模块是OB35,在300站点的硬件组态中,打开CPU 属性设置可以看到其它的中断组织块为灰色。
OB35默认的调用时间间隔为100ms 我们可以根据需要更改,定时范围是1-60000毫秒(ms)设置中断时间间隔如下图所示注意:设置的时间必须大于OB35中程序执行所花费的时间。
例如:如果中断时间间隔为50ms而OB35中的程序花费的时间是70ms,那么OB35中的程序还没执行完毕就产生第二次中断,程序就会出错,这显然是我们不想看到的结果。
以现在的技术,让你间隔一小时去月球拿一块石头你能做到吗???去月球所用的时间大于去月球的时间间隔,你做不到吧???正确设置:中断时间间隔大于OB35中程序执行完毕一次所需的时间使用FB41实现PID控制在自动化领域中常常要用到PID控制,而常规仪表里一个控制器就只能实现一路的PID 控制,如果要现实多路的PID控制成本就会变得非常高,而且不便于我们集中控制与管理。
经过学习西门子S7-300PLC,我们可以使用模块FB41来实现PID控制,FB41就相当于我们常规仪表里的控制器,既然是PID控制器就应该能够设定P、I、D参数。
即:比例度、积分时间、微分时间。
常规仪表的面板上可以更改PID参数,又有手动/自动切换按钮等。
今天我们要做的就是使用S7-300PLC 的FB41来代替常规仪表,如何使用FB41来实现PID控制的呢??FB41是一个功能块,它所能实现的功能(PID)已经由专业人员设计好,我们只要调用它,并根据我们的需要来更改相应的参数即可使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本数据类型
(1)基本数据类型;(2)用户通过组合基本数据类型生成的复合数据类型; (3)可用来定义传送FB(功能块)和FC(功能)参数的参数类型.
下面介绍STEP7的基本数据类型:
1)位(bit) 位数据的数据类型为BOOL(布尔)型,在编程软件中BOOL 变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示. 位存储单元的地址由字节地址和位地址组成,例如I3.2中的区域标示符"I"表示输入(Input),字节地址为3,位地址为2,如图所示.这种存取方式称为"字节.位"寻址方式.输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成
2)字节(Byte) 8位二进制数组成1个字节(Byte,如下图,其中的第0位为最低位(LSB),第7位为最高位(MSB).
3)字(Word) 相邻两个字节组成一个字,字用来表示无符号数.MWl00是由MB1OO和MB1O1组成的1个字,如图5.4.3,MB00为高位字节.MW100中的M为区域标示符,W表示字,100为字的起始字节MB1O0的地址.字的取值范围为W#16#0000~W#16#FFFF. 4) 双字(Double Word) 两个字组成1个双字,双字用来表示无符号数.MD100是由MB100~MB103组成的1个双字,(见上图),MB100为高位宇节, D表示双字,100为双字的起始字节MB100的地址.双字的取值范围为DW#16#0000_0000~DW#16#FFFF_FFFF.
常数的表示方法常数值可以是字节,字或双字,CPU以二进制方式存储常数,常数也可以用十进制,十六进制,ASCII码或浮点数形式来表示.
状态字
状态字用于表示CPU执行指令时所具有的状态.某些指令可否执行或以何种方式执行可能取决于状态字中的某些位,指令执行时也可能改变状态字中的某些位,可以用位逻辑指令或字逻辑指令访问并检测状态字.状态字的结构如图所示.
逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO).该位存储逻辑操作指令或比较指令的结果.在逻辑串中,RLO位的状态表示有关信号流的信息,RLO的状态为1, 表明有信号流(通),RLO的状态为0,表明无信号流(断).可用RLO触发跳转指令. 溢出位(OV) 状态字的第4位称为溢出位.当算术运算或浮点数比较指被置1,如果执行结果正常,该位被清0. 令执行时出现错误(溢出,非法操作,不规范格式)时,OV位
基本指令及其编程
1,位逻辑指令
状态寄存器触点
在S7-300/400PLC中,CPU中有一个专门用于存储指令执行状态的16位状态寄存器,状态寄存器以二进制位的形式保存指令的执行结果与中间状态等,在梯形图编程时,这些标志可以用触点的形式在梯形图中使用与编程,S7300/400PLC可以使用的状态寄存器触点如下表所示.
状态寄存器触点
1,"与"(A),"与非"(AN)
A:"与"指令适用于单个常开触点串联,完成逻辑"与"运算. AN:"与非"指令适用于单个常闭触点串联,完成逻辑"与非" 运算.
"与"(A),"与非"(AN)指令
由图可知,触点串联指令也用于串联逻辑行的开始.CPU对逻辑行开始第1条语句如I1.0的扫描称为首次扫描.首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中; 在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相"与"产生的结果,再存入RLO中,如此依次进行.在逻辑串结束处的RLO可作进一步处理. 如赋值给Q4.2(=Q4.2).
2 ,"或"(O),"或非"(ON) )," ), 或非" )
O:"或"指令适用于单个常开触点并联,完成逻辑"或"的运算. ON:"或非"指令适用于单个常闭触点并联,完成逻辑"或非"运算.
"或"(O),"或非"(ON)指令
由图可知,触点并联指令也用于一个并联逻辑行的开始.CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描.首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相"或",产生新的结果再存入RLO中,如此一次进行.在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0). 此外,还有"异或"(X),"异或非" (XN),嵌套指令等等.
3,输出线圈,
输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化,在LAD中,只能将输出指
令放在触点电路的最右端,不能将输出指令单独放在一个空网络中.下图是两个应用举例.
4,中间输出
如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为"连接器"或"中间赋值元件".它和其他元件串联时, "连接器"指令和触点一样插入.连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处.
5 置位指令,复位指令置位指令,
置位/复位指令也是一种输出指令.使用置位指令时,如果RLO =1,则指定的地址被置为1,而且一直保持,直到被复位为0.使用复位指令时,如果RLO=1,则指定的地址被复位为0,而且一直保持,直到被置位为1,如图所示.
6 触发器指令
触发器有置位复位触发器(SR触发器)和复位置位触发器(RS 触发器)两种,这两种触发器指令均可实现对指定位地址的置位或复位.触发器可以用在逻辑串最右端,结束一个逻辑串;也可用在逻辑串中,当作一个特殊触点,影响右边的逻辑操作结果.置位优先型RS触发器如下图所示.
7 边沿检测指令
当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升沿(也称正跳沿);从1变到0时,产生一个下降沿(也称负跳变). 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表明有一个跳变沿.因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较. S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的指令. (1) RLO跳变沿检测指令RLO跳变沿检测可分别检测正跳沿和负跳沿.
①当RLO从0到1时,正跳沿检测指令在当前扫描周期以RLO=0表示其变化,而在其他扫描周期均为0.在执行RLO正跳沿检测指令前,RLO的状态存储在位地址中. ②当RLO从1到0时,负跳沿检测指令在当前扫描周期以RLO=1表示其变化,而在其他扫描周期均为0.在执行RLO负跳沿检测指令前,RLO的状态存储在位地址中. RLO跳变沿检测指令和操作数见下表.
RLO跳变沿检测指令和操作数
(2) 触点跳变沿检测指令
触点跳变沿检测可分别检测正跳沿和负跳沿. ①触点正跳沿检测指令FP:在
LAD中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从0到1时,输出端Q接通一个扫描周期. ②触点负跳沿检测指令FN:在LAD 中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从1到0时,输出端Q接通一个扫描周期.
触点跳变沿检测指令和操作数
LAD(a)程序行要检测的是逻辑串I1.0,I1.1的运算结果的跳变边沿,即图中①点处的RLO的边沿变化情况,同时用M1.0来存储RLO①的状态.程序的工作过程如时序图:当程序运行到图中a点时,当前RLO值是1,而上次RLO值(存放在M1.0中)是0, 于是FP指令判断到一个RLO的正跳沿,就将②点处的M1.0置1, 并且输出给M8.0;当程序经过1个扫描周期,运行到波形图中b点时,当前RLO值和前一个RLO值均为1,相同(RLO在相邻两个扫描周期中相同,可全为1或0),那么FP指令将②点处M1.0置0, 并输出给M8.0.这样M8.0为1的时间仅一个周期.图中虚线箭头指的是两个相邻扫描周期RLO的比较. 对RLO下降沿的检测,读者可自行分析c点,d点时的情况,FN 指令检测到一个RLO①的负跳沿时将M8.1置1,M8.1为1的时间也是一个周期.
位逻辑指令的应用举例
机床的工作台运动示意图工作台由交流电动机驱动,改变电动机的旋转方向就可以改变工作台的运动方向.按下启动按钮SBl后,电动机驱动工作台运动,如果工作台运动到极限位置时,由行程开关SQl或SQ2检测并发出停止前进指令,同时自动发出返回指令.只要不按停止按钮SB2,工作台将继续这种自动往复运动.工作台驱动电动机通过热继电器做过载保护.。