西门子可编程序控制器工作原理与编程

学习单元1 西门子S7—300 PLC的认识和简单程序编制
学习目标
1.初步认识西门子S7—300系列PLC
2.了解S7—300PLC的结构和信号模块(SM)
3.了解S7—300PLC的地址分配
4.了解S7—300PLC的存储器及数据类型
5.了解S7—300PLC的梯形图指令,学会编制简单的控制程序
知识要求
一、S7—300PLC的硬件和地址分配
西门子(SIMATIC)自动化系统由一系列部件组合而成,包括PLC、工业控制网络、分布式I/O、人机界面(HMI)、标准工具STEP7等。在SIMATIC系列PLC产品中,又可根据性能及用途分为S7、M7、C7、WINAC等几大系列。其中S7系列是传统意义的PLC产品,它包括针对低性能要求的紧凑的微型PLCS7—200、针对中等性能要求的模块式中小型PLCS7—300及用于高性能要求的模块式大型PLCS7—400。S7—300是通用型的PLC,适合自动化工程中的各种应用场合,尤其是生产制造过程中的应用。模块化、无风扇结构,易于实现分布式的配置以及易于掌握等特点,使得S7—300在各种工业领域中实施各种控制任务时,成为一种优选的解决方案。
1.S7—300 PLC的硬件结构
S7—300采用紧凑的、无槽位限制的模块结构,电源模块(PS)、CPU、信号模块(SM)、功能模块(FM)、接口模块(IM)和通信处理器(CP)都安装在导轨上。如图1—103所示。电源模块总是安装在机架的左边,CPU模块紧靠电源模块。如果有接口模块,就把接口模块放在CPU的右边。再右边就可安装其他的各种模块。电源模块为CPU模块和其他模块提供DC24V电源。
S7—300用背板总线将除了电源模块之外的各个模块互相连接起来。背板总线集成在模块上,模块之间通过U形总线连接器相连,每个模块都有一个总线连接器接插在模块的背后,安装时先将总线连接器插在CPU模块上,并用固定螺钉把模块固定在导轨上,然后依次安装各个模块,如图1—104所示。
外部接线接在信号模块和功能模块的前连接器的端子上,前连接器有20针和40针两种,可根据模块规格选用。前连接器被安装在模块前门盖内的插座上。
每一台S7一300PLC多可使用四个机架,其中装有CPU模块的导轨为中央机架,其他的导轨上可安装除CPU之外的各种模块,称为扩展机架。每个机架多可以安装八个信号模块、功能模块或通信处理器模块。机架之间用接口模块和专用电缆进行连接。
2.S7一300 PLC的常用模块
除电源、CPU和IM外,S7一300可以选择的其他模块有:DI(数字量输入)、DO(数字量输出)、AI(模拟量输入)、A0(模拟量输出)、FM(功能模块)、CP(通信模块)等。
(1)PS 30X系列电源模块
电源模块是构成PLC 控制系统的重要组成部分,针对不同系列的CPU,西门子有匹配的电源模块与之对应,用于对PLC内部电路和外部负载供电。有多种S7一300电源模块可为可编程序控制器供电,也可以向需要24V直流的传感器/执行器供电,比如PS305、PS307。PS305电源模块是直流供电,PS307是交流供电。如图1一105所示是PS307电源模块示意图。
PS307电源模块具有以下特性:
1)输出电流2A(或5A、10A)。
2)输出电压DC24V,防短路和开路保护。
3)连接单相交流系统(输入电压AC120/230V,50/60Hz)。
4)可用作负载电源。
(2)CPU模块
CPU是PLC系统的运算控制核心。它根据系统程序的要求完成以下任务:接收并存储用户程序和数据;接收现场输入设备的状态和数据;诊断PLC内部电路工作状态和编程过程中的语法错误;完成用户程序规定的运算任务;更新有关标志位的状态和输出状态寄存器的内容;实现输出控制或数据通信等功能。
S7—300CPU模块有20多种不同型号,各种CPU按性能等级划分,可以涵盖各种应用范围。除了标准型的CPU之外,还有紧凑型的CPU。紧凑型CPU具有集成的DI/DO、AI/AO 等。它没有集成的装载存储器,运行时需插入MMC卡(Flash EPROM),通过MMC卡执行程序和保存数据。如图1—106所示为紧凑型CPU314C—2DP。
(3)接口模块
接口模块负责主架导轨和扩展导轨之间的总线连接,有IM365、IM360、IM361等。其中IM365只能扩展一个机架,电缆线长度只有1m。IM360、IM361可扩展三个机架,电缆线长度有10m,IM360安装于主机架,IM361安装于扩展机架,IM360和IM361之间用专用的368电缆连接。
(4)信号模块
信号模块也叫输入/输出模块,是CPU模块与现场输入/输出元件和设备连接的桥梁,用户可根据现场输入/输出设备选择各种用途的I/O模块。
1)数字量输入模块SM321。数字量输入模块有直流输入方式和交流输入方式两种。对现场输入元件,仅要求提供开关触点即可。输入信号进入模块后,一般都经过光电隔离和滤波,然后才送至输入缓冲器等待CPU采样。采样时,信号经过背板总线进人到输人映像区。数字量输入模块的接口电路如图1一107所示。
数字量输入模块需由外部电源供电,外部电源的极性应如图1—107 中所示。每个输人点有一只绿色发光二极管显示输人状态,输入开关闭合(即有输入电压)时二极管点亮。
2)数字量输出模块SM322。数字量输出模块SM322将S7—300内部信号电平转换成所要求的外部信号电平,可直接用于驱动电磁阀、接触器、小型电动机、灯和电动机启动器等。按负载回路使用的电源不同,它可分为直流输出模块、交流输出模块和交直流两用输出模块。按输出开关元件的种类不同,它又可分为半导体管输出方式、晶闸管输出方式和继电器触点输出方式。半导体管输出方式的模块只能带直流负载,属于直流输出模块;晶闸管输出方式属于交流输出模块;继电器触点输出方式的模块属于交直流两用输出模块。从响应速度上看,半导体管响应快,继电器响应慢;从安全隔离效果及应用灵活性角度来看,以继电器触点输出型。半导体管输出的接口电路如图1—108所示。
3)模拟量输入模块SM331。S7—300 模拟量输入模块的输入测量范围很宽,它可以直接输人电压、电流、电阻、热电偶等信号。SM331主要中 AD转换部件、模拟切换开关、补偿电路、恒流源、光电隔离部件、逻辑电路等组成。A/D转换部件是模块的核心,其转换原理采用积分方法。
4)模拟量输出模块SM332。S7—300模拟量输出模块可以输出0~10V,1~5V,-10~10V,0~20mA,4~20mA等模拟信号。模拟量输出模块SM332目前有三种规格型号,即4A0x12位模块、2A0x12位模块和4A0x16位模块,分别为四通道的12位模拟量输出模块、两通道的12位模拟量输出模块、四通道的16位模拟量输出模块。其中具有12位输入的模块除通道数不一样外,其工作原理、性能、参数设置等各方面都完全一样。
(5)功能模块
功能模块主要用于对实时性和存储容量要求高的控制任务,如计数器块、快速/慢速进给驱动位置控制模块、电子凸轮控制器模块、步进电动机定位模块、伺服电动机定位模块、闭环控制模块、接口模块、称重模块、位置输入模块、超声波位置等。
(6)通信处理器模块
S7—300系列PLC有多种用途的通信处理器模块,可用于组态网络,如CP340、CP341、CP342、CP343等,可以实现点对点通信(Point to Point,PTP——用CP340、CP341模块)、Profbus(用CP342模块)、工业以太网(用CP343模块)等通信连接。
3.S7—300 PLC的地址分配
S7—300PLC信号模块中的每个端口或模拟量信号的每个通道,都必须有唯一的地址供编程使用。地址的分配既可使用默认的地址,也可自行定义。
使用默认地址时,S7—300为每个槽分配了4个字节的地址给数字量信号模块;16个字节的地址给模拟量信号模块。默认地址分配的规律如下:
(1)地址编号从主机架的4#槽开始按槽号和机架号依次增大。
(2)数字量模块每个端子的地址以对应字节的1位表示;模拟量模块每个通道的地址用1个字表示。
(3)输入量和输出量的地址可以重叠。
(4)使用紧凑型CPU时,CPU中集成的I/O地址默认为3#机架11上分配的地址。
数字量信号的地址分配如图1—109所示。
数字量模块每个端子的地址以对应字节的1位表示,如图1—110所示。
模拟量信号的地址分配如图1—111所示。
模拟量模块每个通道的地址用一个字表示,例如当使用紧凑型的CPU313C时,CPU中集成有四路模拟量输入,二路拟量输出,则这四路模拟量输入通道的地址分别为PIW752、PIW754、PIW756、PIW758,而二路模拟量输出通道的地址则分别为POW752和POW754。
二、S7—300 PLC的存储器及数据类型
1.CPU存储器的区域及系统存储区
(1)CPU的存储器区域
PLC的系统程序相当于个人计算机的操作系统,它使PLC具有基本的智能,能够完成PLC设计者规定的各种工作。系统程序由PLC生产厂家设计并固化在ROM中,用户不能读取。用户程序由用户设计,它使PC能完成用户要求的特定功能。用户程序存储器的容量以字节为单位,不同的程序对应不同的存储区域。
CPU存储器可以分为三个区域,如图1—112所示。
1)装载存储器。装载存储器位于型存储卡(MMC)中。装载存储器的容量与MMC的容量一致。用于保存程序指令块和数据块以及系统数据,也可以将项目的整个组态数据保存在MMC中。
2)工作存储器(RAM)。RAM集成在CPU中,不能被扩展。它可用于运行程序指令,并处理用户程序数据。CPU自动把装载存储器中可执行的部分复制到工作存储器,运行时CPU扫描工作存储器中的程序和数据。
CPU的RAM都具有保持功能。
3)系统存储区。RAM系统存储区集成在CPU中,不能被扩展。它分为多个区域,对应各种编程元件,用户程序可对其进行读写访问。
(2)系统存储区中的编程元件映像
1)过程映像输入(I)。共有128个字节,地址为IB0~IB127,对应信号输入端口的地址。
2)过程映像输出(Q)。共有128个字节,地址为QB0~QB127,对应信号输出端口的地址。
I和Q在编程中可用“位”“字节(B)”“字(W)”“双字(D)”的形式表示,如图1—113所示。
注意:以字或双字形式存储数据时,高位字节是放在地址小的字节中的。
3)外设I/O存储区(PI和PQ)。直接保存外部输入/输出端口的数据。
读写外设I/O存储区时只能用“字节(B)”“字(W)”“双字(D)”的形式,如 PIW0、PQB2等,不能用“位”的形式表示。
4)位存储区(M)。共有256个字节(即2048位),地址范围为MB0~MB255,可用“位”“字节(B)”“字(W)”“双字(D)”的形式表示,如M10.0、MB12、MW8、MD32等。
5)定时器(T)。共有256个16位定时器,地址为T0~T255。
6)计数器(C)。共有256个16位计数器,地址为C0~C255。
2.S7—300 PLC的数据类型
在编制PLC程序时,不可避免地会用到各种数据,这需要用规定的形式来加以表示,因此就必须了解PLC中的数据类型。S7—300PLC的数据类型有三类:基本数据类型、复合数据类型及参数数据类型。此处仅对基本数据类型进行介绍。
基本数据类型有以下几种:
(1)位(BOOL)
数据长度1位,对应数值为“0”和“1”。
(2)字节(BYTE)
数据长度8位,数据格式为“B#16#”,数值范围为B#16#0~B#16#FF。
(3)字(WORD)
数据长度16位,有四种表达形式:
1)二进制:2#✱✱,如2#101。
2)十六进制:W#16#✱✱✱✱,如W#16#90F,数值范围为W#16#0~W#16#FFFF。
3)BCD码:C#✱✱✱,如C#354,数值范围为C#0~C#999。
4)无符号十进制:B#(✱,✱),如B#(12,254),取值范围为B#(0,0)~B#(255,255)。括号中的数字是用十进制的0~255来表示二进制中1个字节的内容,则16位的数就要用两个0~255的数来表示。B#(12,254)即为2#00001100 11111110。
这四种表达形式中,STEP7中常用十六进制格式,即W#16#✱✱✱✱。
(4)双字(Double Word)
数据长度为32位,同样有二进制、十六进制、BCD、无符号十进制四种表达形式,通常用十六进制格式:DW#16#✱✱✱✱✱✱✱✱。数值范围为DW#16#0~DW#16#FFFFFFFF。
(5)整数(INT)
数据长度16位,带符号,高位是符号位:0为正数,1为负数。后面15位表示数值,以补码表示。
(6)双整数(Double INT)
数据长度32位,高位表示符号,后面31位表示数值,以补码表示。常数前需加上L#以表示双整数,如L#27648表示32位的整数+27648(十进制);L#-9764表示32位的整数-9764。
(7)浮点数(REAL)
数据长度32位,格式为✱.✱✱✱✱e±✱✱,如3.524e+3表示3.524x10³=3524,1.0513e-2表示1.0513x10⁻²=0.010513。浮点数用于表示带小数的数值、很大的数值及很小的数值,数值范围为±1.175495x10负38次方~±3.402823x1038次方。
(8)S5TIME(SIMATIC时间)
在定时器指令中表示时间,数据长度16位,包括时基和时间常数两个部分。时间常数采用BCD码,占12位,取值范围0~999;时基占2位,表示时间单位。其时间格式如图1—114所示,图中即为定时439s,高2位不用。
在定时器指令中,用直接设置方式表示时间时可写为“S5T#439s”或“S5T#7 m19s”;用间接设置方式时,存储定时时间的存储单元内必须为如图1—114所示的格式。
三、S7—300 PLC的梯形图指令
1.S7—300 PLC的指令概述
(1)S7—300PLC的编程语言
对S7—300进行编程时,可使用多种编程语言,如STL(语句表)、LAD(梯形图)、FBD(功能块图)、Graph(顺序功能图)、SCL(结构化控制语言)、Hi-Graph(图形编程语言)、CFC(连续功能图)等。不同的编程语言可供不同知识背景的人员使用,但基本的编程语言是STL、LAD、FBD。
梯形图是一种图形语言,形象直观,容易掌握。梯形图与继电控制电路图的表达方式极为相似,适合于熟悉继电器控制电路的工程人员使用,特别适用于数字量逻辑控制。
梯形图按自上而下、从左到右的顺序排列,左边的竖线为左母线,然后按一定的控制要求和规则连接各个触点,后以线圈(或指令)结束,右边再加上一根竖线,称为右母线。通常一个梯形图中由若干个网络(Network)即梯级组成。
(2)S7—300的寻址方式
寻址方式即是程序中对编程元件进行访问的方式。S7—300编程时可使用的寻址方式有立即寻址、直接寻址及间接寻址三种,用梯形图编程时,一般只使用立即寻址和直接寻址方式。
1)立即寻址。立即寻址是指在指令中直接提供操作数,如L276(276装入累加器)。
2)直接寻址。直接寻址也称为地址寻址,是指直接在指令中指定地址——即所访问的存储区域、访问形式及地址数据。地址由地址标识符和存储器位置组成。其中地址标识符的形式为指定存储区(如I、Q、M)加上描述数据大小的符号(如B、W、D);或指定软元件(如T、C)或块(如FC、DB、SFC)加上软元件或块的编号。
在编程时,可采用四种直接寻址的方式。
①位寻址
格式:地址标识符+字节地址+位地址(0~7)。例如,I4.0,Q20.3,M100.1,DBX0.0等。
②字节寻址
格式:存储区关键字+B+字节地址(存储区关键字+B即为地址标识符)。例如,MB0,IB10,QB2,DBB1等。
③字寻址
格式:存储区关键字+W+第1字节地址(存储区关键字+W即为地址标识符)。例如,MWO,IW10,PIW752,DBW12等。
④双字寻址
格式:存储区关键字+D+第1字节地址(存储区关键字+D即为地址标识符)。例如,MD50,DBD20等。
在使用直接寻址时应注意:1个字包括2个字节,如MW10中包括了MB10、MB11。若再使用MW11,则MW11中包括了MB11、MB12。这样MB11就被重复使用而会造成数据的错乱。同样1个双学包括4个字节,如MD50中包括了MB50、MB51、MB52、MB53。应尽量避免地址重叠情况的发生,使用字寻址时,尽量采用偶数地址;使用双字寻址时,采用加4寻址。
2.位逻辑指令
位逻辑指令是对位信号进行逻辑处理的指令,使用位逻辑指令对触点的组合进行逻辑运算,当逻辑运算结果(RLO)为“1”时可执行其后的功能。
常用的位逻辑指令有:
上述有关线圈操作的指令中,输出线圈指令无保持功能,而线圈置位和线圈复位指令都有保持功能。使用位逻辑指令的例子如图1—115所示。注意其中的触点和线圈均采用位寻址方式来加以表示。
常用的位逻辑指令还有上升沿脉冲和下降沿脉冲指令。
脉冲指令的使用实例如图1—116所示。
在脉冲指令中,“边沿存储位”地址(即如图1—116所示的M0.0及M0.1)在每个扫描周期中记忆逻辑运算结果RLO的状态。RLO上升沿检测指令可以检测从“0”到“1”的信号变化,并将RLO的当前信号状态与“边沿存储位”地址中的信号状态进行比较。如果指令执行之前“边沿存储位”地址的信号状态(即上一个扫描周期的RLO状态)为“0”,若当前的RLO变为“1”,则在执行本指令后,指令后的线圈(04.1)产生一个脉宽为1个扫描周期的脉冲。
RLO下降沿检测指令的功能与其类似,但检测的是RLO的下降沿变化。
3.定时器指令
S7—300PLC中有256个定时器T0~T255,任何一个都可按照所使用的定时器指令作为不同类型的定时器使用。
在S7—300中,有五种不同的定时器指令:
脉冲定时器——(SP)
扩展脉冲定时器——(SE)
开通延时定时器——(SD)
保持型开通延时定时器——(SS)
关断延时定时器——(SF)
(1)脉冲定时器指令(SP)
SP指令是产生指定时间宽度脉冲的定时器指令。脉冲定时器指令的使用如图1—117所示,程序中定时器T1的定时值为2s。
如图1—117a所示的程序中,T1接点控制Q0.0线圈,因此T1接点的状态与Q0.0的状态一致。由如图1—117b所示的时序图可以看出,脉冲定时器启动的条件是控制信号10.0接通,在定时器启动计时的同时,T1接点开始输出高电平“1”;定时器定时时间到则T1接点输出低电平“0”。在定时器计时的过程中,控制信号10.0的状态若变为“0”则定时器立即停止计时,且T1接点输出立即被复位为“0”。因此,脉冲定时器输出的高电平的宽度小于或等于所定义的时间值。
(2)扩展脉冲定时器指令(SE)
SE指令与SP指令相似,但SE指令具有保持功能。如图1—118所示为扩展脉冲定时器指令的使用。
由图1—118b时序图可看出,如果定时时间尚未到达,控制信号10.0的状态就由“1”变为“0”(t=6.5s处),这时定时器仍然继续运行,直到计时完成。这是SE指令与SP指令的不同之处。
(3)开通延时定时器指令(SD)
SD相当于继电器控制系统中的通电延时时间继电器。通电后延时一段时间触点动作。直到控制信号触点断开时,定时器触点被复位为“0”。如图1—119所示为开通延时定时器指令的使用情况。在定时器计时的过程中,控制信号10.0的状态若变为“0”则定时器立即停止计时。
(4)保持型开通延时定时器指令(SS)
SS指令与SD指令类似,但SS指令有保持功能。如图1—120所示为保持型开通延时定时器指令的使用情况。从如图1—120b所示波形图中可看出,一旦定时器SS指令被启动开始计时,即使控制信号10.0的状态变为“0”,定时器SS指令仍然继续计时,定时时间到时定时器触点动作。但正是因为如此,只要定时器被启动,其触点就会接通并且不能由控制信号10.0对其复位,因此需要使用复位指令来对定时器进行复位。
(5)关断延时定时器指令(SF)
SF指令相当于继电器控制系统中的断电延时时间继电器。也是定时器指令中唯一的一个由下降沿启动的定时器指令。关断延时定时器的工作情况如图1一121所示。
在关断延时定时器中,当控制信号10.0接通时,定时器的触点立即动作,但定时器的计时要等到控制信号10.0断开时才开始,等计时结束时定时器的触点被复位。若计时过程中控制信号10.0又被接通,则立即停止计时,等控制信号10.0断开时重新开始计时。
技能要求
使用S7—300PLC的电动机Y/Δ启动程序编程
一、操作要求
用S7—300PLC梯形图指令编制电动机的Y/Δ启动程序。
交流笼型电动机采用Y/Δ降压启动的电路原理图如图1—122所示,要求当启动按钮SB1被按下后,电动机定子绕组接通电源,并以Y形接法启动。经过一段时间后(设为3s),改为Δ形接法运行。按下停止按钮SB2,切断电源,电动机停止运行。
二、操作准备
本项目所需元器件清单见表1—17。
三、操作步骤
步骤1 在S7—300型PLC实训工作台上认识电源、CPU、输入/输出等模块PLC实训工作台、CPU313C—2DP、电源模块PS307—2A和MPVRS—232适配器等分别如图1—123、图1—124和图1—125所示。
在如图1—124所示紧凑型CPU313C—2DP中集成有DI16/DO16、AI4/A02等输入/输出模块,机架中未使用PS307电源模块,而是使用的外部DC24V电源。另外,在CPU313C—2DP右边安装的是CP343—1以太网通信模块。
步骤2 根据电气电路图列出所需的控制器件并进行I/O分配
电动机Y/Δ启动输入/输出元件分配法见表1—18。
步骤3 根据控制要求用S7—300PLC梯形图指令编制电动机Y/Δ启动控制程序
用S7—300PLC梯形图指令编制的电动机Y/Δ启动控制程序如图1—126所示。在程序中,M0.0为运行标记,为了防止按下停止按钮电动机停转,但停止按钮释放又自行启动的情况(启动按钮按下未放或被卡住时)发生,在10.0常开触点后加了一个上升沿脉冲检测指令。在使用置位指令(S)或复位指令(R)时,为了防止线圈被闭锁[即(S)或(R)指令在控制条件未被释放时处于一直被执行的状态],通常应使用脉冲检测指令。但注意在整个程序中,各个脉冲检测指令上的“边沿存储位”的地址不能重复。
注意事项
1.注意实物和教材说明的对照。
2.注意S7—300梯形图指令的形式和用法。
3.注意定时器的种类和时间常数的设置形式。
4.注意西门子PLC和三菱、松下等PLC梯形图程序的异同。注意在S7—300的程序结束时,不需要用程序结束指令(在三菱FXNPLC程序中要用“END”指令、松下FP0 PLC程序中要用“ED”指令)。
- 西门子PLC S7-300 结构原理及选型 S7-300选型 2026-01-12
- 西门子S7-300/400系列STEP7编程入门(三):硬件组态和PLC寻址 2026-01-12
- 西门子PLC S7-300常见50种故障问题及处理方法 2026-01-12
- 谁也没想到,一个小小接触器竟让PLC全面瘫痪 2026-01-12
- 西门子s7-300教程:带你全面认识西门子s7-300 2026-01-12
- 西门子触摸屏程序下载步骤,十分详细,一看就会 2026-01-12
- 西门子触摸屏如何实现加密功能? 2026-01-12
- 工控学习视频分享-西门子触摸屏入门及应用 2026-01-12
- 【每周都要SMART!】S7-200 SMART在SMT带复判缓存机中的应用 2026-01-12
- 【每周都要SMART!】SMART LINE V4与SMART PLC的通信组态 2026-01-12
- 几何级增长!西门子科技成就光伏领域超级黑马 2026-01-12
- 工业制造的大脑 2026-01-12
- 跟着工程师嗑CP:PROFIBUS CP 2026-01-12
- LOGO! 8.4小巧灵活的云网关、智能逻辑控制器 2026-01-12
- 【案例分享】西门子LOGO!在工厂照明的实际应用 2026-01-12

