1、1内内 容容系统配置与地址分配系统配置与地址分配指令系统指令系统程序结构与相应逻辑块程序结构与相应逻辑块网络简介网络简介应用举例应用举例2.2 系统配置系统配置S7S7系列系列PLCPLC采用的是模块化的结构形式,用户可选择不同型号和不同采用的是模块化的结构形式,用户可选择不同型号和不同数量的模块,并把这些模块安装在一个或多个机架上。数量的模块,并把这些模块安装在一个或多个机架上。除了除了CPUCPU模块、电源模块、通信接口模块之外,它规定每一个机架最模块、电源模块、通信接口模块之外,它规定每一个机架最多可以安装多可以安装。一个一个PLCPLC系统的最大配置能力(包括系统的最大配置能力(包括I
2、/OI/O点数、机架数等)与点数、机架数等)与CPUCPU的型的型号直接相关号直接相关 总线连接器总线连接器电源模块电源模块CPU模块模块通信模块通信模块I/O模块模块DIN导轨导轨模块模块DIN导轨导轨3.2.1 .2.1 硬件结构配置硬件结构配置 电源模块电源模块CPU模块模块通信模块通信模块I/O模块模块 1 2 3 4 5 6 7 8 9 10 11 逻辑槽号逻辑槽号4机架的连接机架的连接信号、功能模块信号、功能模块信号、功能模块信号、功能模块13456789 10 1113456789 10 112扩展机架(扩展机架(ER)中央机架(中央机架(CR)接口模块:接口模块:IM360(I
3、M365)CPU槽位号槽位号接口模块:接口模块:IM361(IM365)5.2.2 硬件地址配置硬件地址配置 系统的系统的I/O模块分为:模拟量和数字量二种类型,每个模块包含若干个通道。模块分为:模拟量和数字量二种类型,每个模块包含若干个通道。模块上任何通道均配置独立的地址,应用程序则根据地址实现对他们的操作。模块上任何通道均配置独立的地址,应用程序则根据地址实现对他们的操作。每个通道的地址占用一位每个通道的地址占用一位(bit),数字量模块最大为,数字量模块最大为32通道,模块地址占通道,模块地址占4字节字节I0.0, I2.2等等; 但是此值经常被符号替代但是此值经常被符号替代, star
4、t,stop,等等每个模拟量地址为一个字地址每个模拟量地址为一个字地址(2byte),模拟量模块最大为,模拟量模块最大为8通道,模拟地址占通道,模拟地址占16byte . 67DI/DO模块缺省地址配置模块缺省地址配置 IM3600.03.7 4.07.7 8.011.7 12.015.7 16.019.7 20.023.7 24.027.7 28.031.7 CR IM36132.035.7 36.039.7 60.063.7 IM36164.067.7 92.095.7 IM36196.099.7 124.0127.7 ER3 ER2 ER1 4 5 6 7 8 9 10 118AI/AO
5、模块缺省地址配置模块缺省地址配置 IM360256271 272287 288303 304319 320335 336351 352367 368383 CR IM361384399 400415 496511 IM361512527 624639 IM361640655 752767 ER3 ER2 ER1 4 5 6 7 8 9 10 119.3.1 STL指令及其结构指令及其结构语句指令:语句指令: 操作码操作码 操作数操作数 A I 0.1 /对输入继电器对输入继电器 I 0.1 进行与操作进行与操作 = Q 4.0 L MW10 /将字将字MW10装入累加器装入累加器1定义要执行的
6、功能定义要执行的功能执行该操作所需要的信息执行该操作所需要的信息 有些语句指令不带操作数,它们操作的对象是唯一的有些语句指令不带操作数,它们操作的对象是唯一的。 NOT /对逻辑操作结果(对逻辑操作结果(RLO)取反。)取反。 10操作数操作数操作数: 标识符标识符 标识参数标识参数A I 0.1 L M W 10表示操作数在该存储区域表示操作数在该存储区域内的具体位置内的具体位置 主标识符:表示操作数所在的存储区主标识符:表示操作数所在的存储区 主要有:I(输入映像区),Q(输出映像区),M(位存储区),PI(外部输入),PQ(外部输出),T(定时器),C(计数器),DB(数据块),L(本地
7、数据堆栈,主要是存放用户程序的临时变量)等辅助标识符进一步说明操作数的位数长度辅助标识符进一步说明操作数的位数长度包括有:X.x(位),B(字节), W(字2字节), D(双字4字节) 表示操作数存放区域及操作数表示操作数存放区域及操作数位数(位、字节、字等)位数(位、字节、字等) 11 操作数操作数(1)(1)7654321 010.710.610.510.410.310.210.1 10.0MB10MB11MB12MB13MB14M 10.3MW10MD10 12.3.2 寻址方式寻址方式操操 作作 数数指令的操作或运算对象指令的操作或运算对象. .寻址方式寻址方式指令得到操作数的方式。指
8、令得到操作数的方式。表示方式表示方式绝对寻址绝对寻址 符号寻址符号寻址(用一个符号指定一个特定的绝对地址用一个符号指定一个特定的绝对地址)寻址方式寻址方式立即寻址立即寻址 存储器直接寻址存储器直接寻址 存储器间接寻址存储器间接寻址13 SET /把把RLO (Result of Logic Operation)置)置“1” L 27 /把整数把整数27装人累加器装人累加器1 L C0100 /把把 BCD码常数码常数0100装入累加器装入累加器1 :对常数或常量的寻址方式,操作数本身包含在指令中对常数或常量的寻址方式,操作数本身包含在指令中14 A I0 . 0 /对输入位对输入位I0.0进行
9、进行“与与”逻辑操作逻辑操作 S L20 . 0/把本地数据位把本地数据位L20.0置置1 = M115 . 4 / 将将RLO的内容传给位存储区中的位的内容传给位存储区中的位M115.4 L DB1 . DBD12 /把数据块把数据块DB1双字双字DBD12中的内容传送给累加器中的内容传送给累加器1 /双字表示双字表示32位,如浮点数为位,如浮点数为32为双字为双字直接直接:在指令中直接给出操作数的存储单元地址在指令中直接给出操作数的存储单元地址15 :标识参数由一个存储器给出,存储器的内容标识参数由一个存储器给出,存储器的内容对应该标识参数的值对应该标识参数的值(该值又称为地址指针该值又称
10、为地址指针) 这种寻址方式能动态改变操作数存储器的地这种寻址方式能动态改变操作数存储器的地址,常用于程序循环过程中的寻址。址,常用于程序循环过程中的寻址。A IMD 2/对由对由MD 2指出的输入位进行指出的输入位进行“与与”逻辑操作,如:逻辑操作,如: MD 2值为值为 /20000 0000 0000 0000 0000 0000 0101 0110表示表示I 10. 6L IBDID 4 /将由双字将由双字DID 4指出的输入字节装入累加器指出的输入字节装入累加器1,如:,如:DID 4值为值为 /20000 0000 0000 0000 0000 0000 0101 0000表示对表示
11、对IB10操作操作OPN DBMW 2 /打开由字打开由字MW2指出的数据块,如指出的数据块,如MW2为为3,则打开,则打开DB3 16.3.3 逻辑操作结果逻辑操作结果(RLO) Result of Logic Operation, RLO位置位置:状态字位:状态字位 “ “1”1”作用作用:存储位逻辑指令或算术比较指令的结果。:存储位逻辑指令或算术比较指令的结果。17.3.4 位逻辑运算指令位逻辑运算指令PLCPLC中的触点包括中的触点包括(动合触点动合触点)和和(动断触点动断触点)两种形式。两种形式。按照按照PLCPLC的规定:的规定: (动合触点动合触点)用操作数用操作数“1 1”表示
12、触点表示触点“动作动作”,即认为触,即认为触点点“闭合闭合”,操作数,操作数“0 0”表示触点表示触点“不动作不动作”,即触点断开;,即触点断开; (动断触点动断触点)的表示方式则相反。的表示方式则相反。位逻辑运算指令主要包括位逻辑运算指令主要包括“与与”A、“与非与非”AN 、“或或”O、“或或非非”ON、“异或异或”XOR、赋值、置位、赋值、置位S、复位、复位R指令及其它指令及其它们的组合,用来描述触点的状态、决定触点的动作或根据逻辑运算结果控们的组合,用来描述触点的状态、决定触点的动作或根据逻辑运算结果控制程序的进程。制程序的进程。 在在PLC梯形图中的串联逻辑是用逻辑梯形图中的串联逻辑
13、是用逻辑“与与”和和“与非与非”表示表示 常开触点(动合触点):常开触点(动合触点):若操作数是若操作数是“1”,则常开触点,则常开触点“动作动作”,即认为触点,即认为触点“闭合闭合”,若操作数是,若操作数是“ 0”,则常开触点,则常开触点“不动作不动作”,即触点仍打开;即触点仍打开; 常闭触点(动断触点):常闭触点(动断触点):若操作数是若操作数是“1”,则常闭触点,则常闭触点“动作动作”,即触点,即触点“断断开开”; 若操作数是若操作数是“0”,则常闭触点,则常闭触点“不动作不动作”,即,即触点保持闭合。触点保持闭合。 如果串联回路里的所有触点皆闭合,该回路就通如果串联回路里的所有触点皆闭
14、合,该回路就通“电电”了了 图中如果所有触点闭合,即图中如果所有触点闭合,即I0.0、I1.0为为“1”,M2.1为为“0”,则输出则输出Q4.0信号状态就为信号状态就为“l”(继电器触点接通)(继电器触点接通) ( )I0.0I1.0M2.1Q4.0“1”“1”“0”“1” 在在PLC梯形图中的并联触点是用逻辑梯形图中的并联触点是用逻辑“或或”和和“或非或非”表示表示 在触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就在触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就“通电通电”。 图中如果有一个触点闭合(图中如果有一个触点闭合(I0.0为为“1”或或Q1.0为为“1”或
15、或M2.1为为“0”)则)则Q1.2为为“l”; 如果有三个触点全部是打开的,则输出如果有三个触点全部是打开的,则输出Q1.2为为“0”(继电器触点打开)。(继电器触点打开)。 ( )I0.0Q4.0I1.0M2.1当逻辑串是串并联的复合组合时,当逻辑串是串并联的复合组合时,CPU的扫描顺序是先的扫描顺序是先“与与”后后“或或”。 ( )I0.0Q1.2I0.1I0.1I0.0I0.2( )I0.0Q1.2I0.1I0.1I0.0I0.2 该操作把状态字中该操作把状态字中RLO的值赋给指定的操作数(位地址)的值赋给指定的操作数(位地址) 一个一个RLO可以驱动多个输出元件可以驱动多个输出元件
16、若若RLO为为“l”,则操作数被置位,否则操作数被复位。,则操作数被置位,否则操作数被复位。 A I 0.0 = Q 1.2 = Q 1.3( )I0.0Q1.2( )Q1.3 置位复位指令根据置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。的值,来决定被寻址位的信号状态是否需要改变。 若若RLO的值为的值为1,被寻址位的信号状态被置,被寻址位的信号状态被置l或清或清0; 若若RLO是是0,则被寻址位的信号保持原状态不变,则被寻址位的信号保持原状态不变, 这一特性又被称为静态的置位复位这一特性又被称为静态的置位复位 指令格式指令格式 指令示例指令示例 说明说明 S S Q0.
17、2 RLO为为1,则被寻址信号状态置,则被寻址信号状态置1,即使即使RLO又变为又变为 0,输出仍保持为,输出仍保持为1;FC 清清0。 R R M1.2 RLO为为 1,则被寻址信号状态置,则被寻址信号状态置0,即使即使RLO又变为又变为 0,输出仍保持为,输出仍保持为0;FC 清清0。 23.3.5 数字操作运算指令数字操作运算指令位逻辑运算指令位逻辑运算指令 比较指令比较指令 算术运算指令算术运算指令 装入和传送指令装入和传送指令计数器计数器,定时器定时器调用调用,跳转等跳转等24STEP7 STEP7 有二种编程方法有二种编程方法: 线性编程、线性编程、结构化编程结构化编程 线性编程线
18、性编程将整个用户程序指令逐条编写在一个连续的指令块中,将整个用户程序指令逐条编写在一个连续的指令块中, CPU线性地扫描每条指令线性地扫描每条指令(适用于简单的控制任务适用于简单的控制任务)L MW 1T MW 2. .结构化编程结构化编程*适合编制并组织复杂的控制程序适合编制并组织复杂的控制程序。 主程序功能(块)1功能(块)n25 操 作 系 统 OB1FB、SFB共享DB背景DBFC、SFC共享DB共享DBFC、SFCOB35、OB10、OB2026 结构化编程的结构化编程的“块块”STEP 7C语言main()中断函数中断函数OB1块块其它其它OB块块DB块块全局变量全局变量SFB、S
19、FC库函数库函数FC块块用户定义函数用户定义函数FB块块类似于子程序类似于子程序/过程过程27FB 与 FC 28 :bool、byte、int、dint、real、date、time等基本等基本数据类型,还可定义数组、结构等复式数据类型数据类型,还可定义数组、结构等复式数据类型:2930 L DB1.DBD2 /块号1,双字,数据块中25字节 A DB2.DBX0.2 /块号2,位, 0字节第2位 L “Temp”T0 /符号地址 OPN DB 1 L DBD 2 /访问DB1.DBD2OPN DI2 T DBD 4 /访问DI2.DBD43132S7 PLC程序在采用结构化编程中,一个程序
20、由许多逻辑功能块(子程序)组成,这些逻辑功能块允许相互调用。调用块可以是任何逻辑块(OB、FB、FC),被调用块只能是功能块(除OB外的逻辑块FB、FC、SFB、SFC)。 用 户 调用指令 程 序调用块(OB、FB、FC) FB FC SFB SFC被调用块OB块不可以被调用33功能块由两个主要部分组成:一是功能块由两个主要部分组成:一是变量声明表变量声明表;二是;二是指令程序指令程序3435FBFB功能块有一个数据块附属于该功能块,并随功能块的调用而打开,功功能块有一个数据块附属于该功能块,并随功能块的调用而打开,功能块的结束而关闭,该数据块称能块的结束而关闭,该数据块称(Instance
21、 Data BlockInstance Data Block)CALL FB4 , DB33 a1:= a2:= b1:= c1:=FB块的调用:36FCFC功能块没有背景数据块,因此不能使用静态变量,在变量声明表中可功能块没有背景数据块,因此不能使用静态变量,在变量声明表中可以声明包括以声明包括in in、outout、in_outin_out和和temp 4temp 4种类型局部数据种类型局部数据CALL FC1 a1:= a2:= b1:= c1:=FC块的调用:1. 1. 操作系统在操作系统在L L堆栈堆栈(主要是存放用户程序的临时变量)(主要是存放用户程序的临时变量)中给中给FCFC
22、的临时变量的临时变量分配存储空间分配存储空间2. FC2. FC块的参数表中的各参数在块操作结束前应被使用(或存放到特定位块的参数表中的各参数在块操作结束前应被使用(或存放到特定位置),否则它们将不会被自动保存。置),否则它们将不会被自动保存。 37S7提供了各种不同的组织块(提供了各种不同的组织块(OB),这些组织块允许用户创建在特定时间),这些组织块允许用户创建在特定时间或对特定事件响应的程序,这些或对特定事件响应的程序,这些OB可分为:可分为: 主循环块主循环块OB1(任何时候都需要)(任何时候都需要) 启动模块启动模块 OB 100 381. CPU中的这些组织块分有优先级中的这些组织
23、块分有优先级2. OB1是主循环块,任何是主循环块,任何S7PLC系统都需要系统都需要OB1,所以,所以OB1被分配被分配为最低优先级为最低优先级39OB块块 说明说明 优先级优先级 OB1主循环r 基本组织块,循环扫描 1(最低) OB10时间中断 根据设置的日期、时间定时启动 2 OB20延时中断 受SFC22控制启动后延时特定时间允许 3 OB35循环中断 根据特定的时间间隔允许 12 OB40硬件中断 检测到外部模块的中断请求时允许 16 OB800B87异步错误中断 检测到模块诊断错误或超时错误时启动 26 OB100启动 当CPU从STOP状态到RUN状态时启动 27 OB1是最重
24、要的组织块,当是最重要的组织块,当PLC从从STOP状态切换到状态切换到RUN状态后,状态后,CPU首先调用首先调用OB100一次,一次,OB100调用结束后,操作系统开始周而复始地调调用结束后,操作系统开始周而复始地调用用OB1,这称为扫描循环。,这称为扫描循环。调用调用OB1的时间间隔称为扫描周期,扫描周期的长短,主要由的时间间隔称为扫描周期,扫描周期的长短,主要由 OBI中的中的程序执行所需时间决定。程序执行所需时间决定。为防止程序陷入死循环,为防止程序陷入死循环,S7设有看门狗定时器(设有看门狗定时器(WDT),),WDT的定时的定时间隔(可以设置)确定了主循环的最长时间。正常情况下,
25、扫描周期小间隔(可以设置)确定了主循环的最长时间。正常情况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系统调用统调用OB80(循环时间超时),若(循环时间超时),若OB 80中未编写程序,中未编写程序,CPU将转入停将转入停止(止(STOP)状态。)状态。 OB100OB1OB80STOP41 S7 S7300 PLC300 PLC允许设计一个以固定间隔运行的定时中断组织块允许设计一个以固定间隔运行的定时中断组织块OB35OB35,定时时间间隔可以在定时时间间隔可以在lmslmslminlmin的范围内
26、设置,当允许循环中断时,的范围内设置,当允许循环中断时,OB35OB35以固定的间隔循环运行,但要求确保设置的定时时间间隔大于以固定的间隔循环运行,但要求确保设置的定时时间间隔大于OB35OB35的执的执行时间,否则将造成系统异常,操作系统将调用异步错误行时间,否则将造成系统异常,操作系统将调用异步错误OB 80OB 80。 42S7 PLC可以提供:MPIMultipoint Interface PROFIBUSDP Industrial Ethernet这3种通信方式都有各自的技术特点和不同的适应面。 43 44MPI子网的物理层符合子网的物理层符合RS485标准,它具有多点通信的性质,是
27、一种低成本的网络系统,标准,它具有多点通信的性质,是一种低成本的网络系统,用于连接多个不同的用于连接多个不同的CPU或设备。或设备。多数多数SIMATIC产品都集成有产品都集成有MPI接口,它们可以直接组网,实现网上各接口,它们可以直接组网,实现网上各PLC间的数据共享。间的数据共享。 采用专用的通信处理器模块或通信接口板可以把采用专用的通信处理器模块或通信接口板可以把S5 PLC、PC以及其它没有以及其它没有MPI接口的外接口的外设连接到设连接到MPI网上。网上。 图7.45 MPI子网示意图PC*S7 300S7 400PGOPMPI45接入到MPI网的设备称为一个站点或节点,一个MPI网
28、最多允许连接32个网络站点,它的传输速率是187.5Kbps,因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。 对于MPI网络,节点间的连接距离是有限制的,从第一个节点到最后一个节点最长距离仅为50m。对于一个要求较大区域的信号传输,采用两个中继器可以将MPI通信电缆最大长度延伸到1100m。 图7.46 MPI子网的扩展50米50米1000米RS485转发器(中继器)4647484950 51CPU的基本性能要与控制任务相适应,具体表现在三个方面:的基本性能要与控制任务相适应,具体表现在三个方面:( (a)a)最大允许配置最大允许配置的的I/O点数;点数;( (b)网络功能;
29、网络功能;(c)(c)复杂控制功能和先进控制功能。复杂控制功能和先进控制功能。与与CPUCPU的寻址能力有关,的寻址能力有关,不同型号的不同型号的CPUCPU允许配置允许配置的的I/OI/O上限是不一样的。上限是不一样的。系统的控制功能需要由多个系统的控制功能需要由多个PLC完成的时候,组网能力和网完成的时候,组网能力和网络通信功能也是络通信功能也是CPU选型所要考虑的关键。例如,在选型所要考虑的关键。例如,在S7系列系列PLC中,中,CPU31x可以通过可以通过MPI接口直接组网,其通信速率接口直接组网,其通信速率为为187.5kbps,每个网段最多允许连接,每个网段最多允许连接32个站点,
30、这种组网个站点,这种组网方式对多数中小型系统是可以适用的。如果站点之间的通信方式对多数中小型系统是可以适用的。如果站点之间的通信量很大或站点数很多,则需要选用量很大或站点数很多,则需要选用CPU31x2通过更高通通过更高通信速率的信速率的ProfibusDP总线组网。总线组网。一般来说,小型一般来说,小型PLC系统在这一方面是系统在这一方面是比较薄弱的。比较薄弱的。52PLC系统的软件设计系统的软件设计制定控制方案制定控制方案网络选型与模块选择网络选型与模块选择编制编制I/O分配表分配表定义程序及数据结构定义程序及数据结构定义模块功能定义模块功能编写指令程序编写指令程序软件调试和投运软件调试和投运PLC系统程序设计的基本过程系统程序设计的基本过程前期工作前期工作开发调试开发调试53.6.3 54 .6.4 .6.4 软件编写软件编写