西门子S7-1200 PLC应用技术项目教程(第3版) 课件 窄屏 7.十字路口交通灯控制-LAD_第1页
西门子S7-1200 PLC应用技术项目教程(第3版) 课件 窄屏 7.十字路口交通灯控制-LAD_第2页
西门子S7-1200 PLC应用技术项目教程(第3版) 课件 窄屏 7.十字路口交通灯控制-LAD_第3页
西门子S7-1200 PLC应用技术项目教程(第3版) 课件 窄屏 7.十字路口交通灯控制-LAD_第4页
西门子S7-1200 PLC应用技术项目教程(第3版) 课件 窄屏 7.十字路口交通灯控制-LAD_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

识项

入项

施目录Contents项

展项目7十字路口交通信号灯的控制练

解项目导入当启动按钮接通时,交通信号灯系统开始工作:首先南北方向红灯亮、东西方向绿灯亮,南北方向红灯亮维持30s,在此期间东西方向绿灯亮维持25s,25s后东西方向绿灯闪烁,闪烁3s后熄灭,接着东西方向黄灯亮并维持2s,2s后东西方向黄灯熄灭、红灯亮,同时南北方向红灯熄灭、绿灯亮;东西方向红灯亮维持30s,在此期间南北方向绿灯亮维持25s,25s后南北方向绿灯闪烁,闪烁3s后熄灭,接着南北方向黄灯亮并维持2s,2s后南北方向黄灯灭、红灯亮,同时东西方向红灯灭、绿灯亮,如此周而复始。按下停止按钮后,全部灯熄灭。项目7十字路口交通信号灯的控制项目分析交通信号灯的顺序控制过程状态转换如上图,如运料小车的往返运动一样,可采用以转换为中心的顺序控制设计法,置位/复位指令来实现顺序控制的设计。项目7十字路口交通信号灯的控制本项目采用结构化程序设计的思路,由于东西方向和南北方向交通信号灯的运行情况相同,因此两个方向的交通信号灯的运行采用同一个函数来实现,在主程序中两次调用该函数即可。在函数的设计中,由于遵循时间规则,因此可以采用比较指令或定时器指令来实现。相关知识--组织块、函数、函数块和数据块项目7十字路口交通信号灯的控制块块包括组织块(OB)、函数(FC)、函数块(FB)和数据块(DB),而数据块又包括全局数据块和背景数据块。组织块中可以包含全局数据块,组织块可以调用函数块和函数,而函数块又可以调用函数块或函数。相关知识--组织块(OB)项目7十字路口交通信号灯的控制启动组织块当CPU的工作模式从STOP切换到RUN时,执行一次启动组织块。执行完启动组织块后,就开始执行循环组织块。由于启动组织块只执行一次,因此一般用于初始化项目中的变量。一个项目的程序块中可以添加多个启动组织块,默认的启动组织块为OB100。相关知识--组织块(OB)项目7十字路口交通信号灯的控制循环组织块每个扫描周期都会被执行到的组织块叫作循环组织块,默认的循环组织块为OB1。同样,一个项目的程序块中可以添加多个循环组织块,CPU会按数字顺序从主程序循环组织块(默认为OB1)开始执行每个程序循环组织块。相关知识--组织块(OB)项目7十字路口交通信号灯的控制中断组织块中断组织块包括延时中断组织块、循环中断组织块、硬件中断组织块、时间错误中断组织块和诊断错误中断组织块,用来对内部或外部事件做出快速响应,一旦出现中断事件,操作系统执行完当前的指令后立即响应中断,中断组织块执行结束后,返回到断点处继续执行循环组织块。相关知识--函数项目7十字路口交通信号灯的控制函数(FC)

函数是一种可以快速执行的子程序块,它包含用于完成特定任务的代码和参数,通常用于根据输入参数执行指令。

在程序中的不同点可以多次调用函数,没有分配给函数的背景数据块,函数使用临时堆栈临时保存数据,函数退出运行后,临时堆栈中的数据将丢失。函数分为有参函数和无参函数两大类,有参函数在调用时必须提供函数的实参。相关知识--函数块项目7十字路口交通信号灯的控制函数块(FB)

函数块是一种使用参数进行调用的程序块,其参数存储在背景数据块中,函数块退出运行后,保存在背景数据块中的参数不会丢失。函数块可以多次调用,每次调用都可以分配一个独立的背景数据块,多个独立的背景数据块也可以组合成一个多重背景数据块。与有参函数不同的是,函数块的参数可以赋值,也可以不赋值。相关知识--数据块项目7十字路口交通信号灯的控制数据块(DB)

数据块用于保存用户数据,数据块的最大存储空间由CPU的工作存储器容量决定。数据块分为全局数据块和背景数据块。全局数据块可以被所有的程序块访问,即任何组织块、函数、函数块都可访问全局数据块中的数据,全局数据块的结构可自由选用。背景数据块用于分配给特定的函数块,背景数据块的结构与相应的函数块接口一致。还可以采用UDT(用户自定义数据类型)创建全局数据块模板。相关知识--数据指令--比较指令--关系比较指令项目7十字路口交通信号灯的控制关系比较指令

关系比较指令用于比较两个相同类型数据的大小

关系比较符:“==”(等于)、“<>”(不等于)、“>”(大于)、“<”(小于)、“>=”(大于或等于)和“<=”(小于或等于)。

比较的数据类型:SInt、Int、DInt、USInt、UInt、UDInt、Real、LReal、String、Char、Time、Date、DTL和常数。

比较结果:逻辑值TRUE或FALSE。相关知识--数据指令--比较指令--关系比较指令项目7十字路口交通信号灯的控制等于不等于大于等于小于等于大于小于用接通延时定时器和关系比较指令组成占空比可调的脉冲发生器。高电平为2S,周期为3S的脉冲信号,脉冲信号从Q0.0输出。项目7十字路口交通信号灯的控制应用举例1相关知识--数据指令有一密码锁,SB1为开锁确认键,SB4为复位键,SB5为报警键,开锁条件为:按SB2键3次后,再按SB3键2次,再按确认键,锁即被打开。当SB2、SB3键按键次数错时,按确认键或直接按报警键时,即报警。按下SB4复位键,所被锁上。项目7十字路口交通信号灯的控制应用举例2相关知识--数据指令项目7十字路口交通信号灯的控制输入输出名称地址名称地址名称地址SB1I0.0SB4I0.3开锁Q0.0SB2I0.1SB5I0.4报警Q0.1SB3I0.2

配相关知识--数据指令相关知识--数据指令项目7十字路口交通信号灯的控制程序段1:

程序段2:

程序段5:程序段3:程序段4:

项目7十字路口交通信号灯的控制相关知识--数据指令--比较指令--围内指令/范围外指令范围内指令和范围外指令

范围内(IN_RANGE)指令和范围外(OUT_RANGE)指令可以等效为一个触点,用于测试输入值是在指定的范围之内还是之外。如果比较结果为TRUE,则功能框输出为TRUE。输入参数MIN、VAL和MAX的数据类型必须相同

项目7十字路口交通信号灯的控制范围内指令和范围外指令当满足以下条件时范围内指令比较结果为真:MIN≤VAL≤MAX;当满足以下条件时范围外指令比较结果为真:VAL<MIN或VAL>MAX;比较的数据类型可以为SInt、Int、DInt、USInt、UInt、UDInt、Real、LReal和常数。范围内范围外相关知识--数据指令--比较指令--围内指令/范围外指令项目7十字路口交通信号灯的控制相关知识--数据指令--移动和块移动指令移动和块移动指令

使用移动指令将数据元素复制到新的存储器地址,并从一种数据类型转换为另一种数据类型,移动过程不会更改源数据。

MOVE将单个数据元素从IN参数指定的源地址复制到OUT参数指定的目标地址;

MOVE_BLK将数据元素块复制到新地址的可中断移动,在MOVE_BLK执行期间排队并处理中断事件;

UMOVE_BLK将数据元素块复制到新地址的不中断移动,在UMOVE_BLK完成执行前排队但不处理中断事件。

项目7十字路口交通信号灯的控制相关知识--数据指令--移动和块移动指令MOVE_BLK指令和UMOVE_BLK指令的IN/OUT的数据类型有SInt、Int、DInt、USInt、UInt、UDInt、Real、Byte、Word、DWord;COUNT的数据类型为UInt。应用举例3若SB1接到PLC的输入端I0.0,一盏灯接到PLC的输出端Q0.0。要求按一下SB1,灯按10s亮、5s灭的规律闪烁,再按一下SB1,灯熄灭,如此循环,请设计梯形图项目7十字路口交通信号灯的控制相关知识--数据指令项目7十字路口交通信号灯的控制相关知识--数据指令用计数器指令计数,统计按钮按下的次数计数器的自复位程序段1:程序段2:项目7十字路口交通信号灯的控制相关知识--数据指令建立第一次按钮按下标志位按钮第二次按下,复位第一次按钮按下标志位程序段3:程序段4:项目7十字路口交通信号灯的控制相关知识--数据指令由定时器和比较指令构成的闪烁程序程序段5:程序段6:SWAP指令用于交换2字节和4字节数据元素的字节顺序,但不改变每字节中的位顺序,执行SWAP指令之后,ENO始终为TRUE。SWAP指令交换的数据类型若为Word,则交换高低字节;若为DWord,则交换4字节中数据的顺序,交换的值保存到OUT指定的地址项目7十字路口交通信号灯的控制相关知识--数据指令--数据传送指令FILL_BLK指令与UFILL_BLK指令

用于将源数据元素IN复制到通过参数OUT指定的初始地址。复制过程不断重复并填充相邻地址块,直到复制数等于参数COUNT。IN和OUT必须是D或L(数据块或块的局部数据)中的数组元素,COUNT为填充的数组元素的个数,数据类型为DInt或常数,IN可以是一个常数。

FILL_BLK指令与UFILL_BLK指令的功能基本相同,其区别在于后者的填充操作不会被中断事件中断。项目7十字路口交通信号灯的控制相关知识--数据指令--数据传送指令CONV指令

用于将数据元素从一种数据类型转换为另一种数据类型。单击功能框名称下方的下拉按钮,然后从下拉列表中选择IN的数据类型和OUT的数据类型。选择完转换源的数据类型之后,转换目标的下拉列表中将显示可能的转换项。例:与Bcd16进行转换仅限于Int数据类型,与Bcd32进行转换仅限于DInt数据类型。项目7十字路口交通信号灯的控制相关知识--数据指令--数据转换指令项目7十字路口交通信号灯的控制相关知识--数据指令--数据转换指令应用举例4图7-16转换指令中,输入BCD码16#20,表示十进制的20,转换为整数MW20中,对应16#14项目7十字路口交通信号灯的控制相关知识--数据指令取整和截取指令ROUND用于将实数转换为整数,实数的小数部分舍入为最接近的整数值(舍入为最接近值)。TRUNC用于将实数转换为整数,实数的小数部分被截成零CEIL用于将实数转换为大于或等于该实数的最小整数FLOOR用于将实数转换为小于或等于该实数的最大整数项目7十字路口交通信号灯的控制相关知识--数据指令--取整和截取指令TRUNC(+100.7)=100,TRUNC(-100.7)=-100。CEIL(100.2)=101,CEIL(-100.2)=-100FLOOR(100.2)=100,FLOOR(-100.2)=-101项目7十字路口交通信号灯的控制相关知识--数据指令--取整和截取指令ROUND(10.5)=10,ROUND(11.5)=12NORM_X指令用于将输入的整数值VALUE(MIN≤VALUE≤MAX)线性转换为0.0~1.0的实数,并将转换结果保存到OUT指定的地址。参数MIN、VALUE和MAX的数据类型必须相同。MIN、MAX、OUT的数据类型可以是SInt、Int、DInt、USInt、UInt、UDInt和Real,也可以是常数项目7十字路口交通信号灯的控制相关知识--数据指令--标定和标准化指令SCALE_X指令用于将输入的浮点数VALUE(范围为0.0~1.0)线性转换为由参数MIN(下限)和MAX(上限)定义的数值范围之间的整数,并将转换结果保存到OUT指定的地址。参数MIN、MAX和OUT的数据类型必须相同,可以是SInt、Int、DInt、USInt、UInt、UDInt和Real,MIN、MAX可以是常数。相关知识--数据指令--标定和标准化指令项目7十字路口交通信号灯的控制应用举例5温度传感器测量范围为0~100°C,转换后输出电压为0~10V,接入1200PLC的模拟量输入端0,其地址为IW64,转换后数字量范围为0~27648,将其还原为温度信号,存入MD20单元。相关知识--数据指令项目7十字路口交通信号灯的控制移位指令

移位指令包括左移(SHL)指令和右移(SHR)指令,用于将输入单元IN的值左移或右移N位,移位的结果保存到OUT单元中。对于无符号数,移位后空出位填0;对于有符号数,左移后空出位填0,右移后空出位为符号位,正数的符号位为0,负数的符号位为1。移位指令的数据类型包括SInt、Int、DInt、USInt、UInt、UDInt、Word、DWord、Byte,N的数据类型为UInt。项目7十字路口交通信号灯的控制相关知识--数据指令--移位指令项目7十字路口交通信号灯的控制以Word数据类型的SHL指令为例,输入MW0为1110001010101101:第一次执行指令,左移1位,输出MW2的值为1100010101011010;第二次执行指令,左移1位,输出MW2的值为1000101010110100;第三次执行指令,左移1位,输出MW2的值为0001010101101000;第四次执行指令,左移1位,输出MW2的值为0010101011010000。相关知识--数据指令--移位指令左移右移数据类型循环移位指令

循环移位指令包括循环左移(ROL)指令和循环右移(ROR)指令,用于将参数IN的位序列循环左移或右移,结果分配给OUT。N表示要循环移位的位数。循环移位指令的数据类型包括Word、DWord、Byte。

项目7十字路口交通信号灯的控制相关知识--数据指令--循环移位指令项目7十字路口交通信号灯的控制相关知识--数据指令--循环移位指令以Word数据类型的ROR指令为例,输入MW0为0100000000000001:第一次执行指令,循环右移1位,输出MW2的值为1010000000000000;第二次执行指令,循环右移1位,输出MW2的值为0101000000000000;第三次执行指令,循环右移1位,输出MW2的值为0010100000000000;第四次执行指令,循环右移1位,输出MW2的值为0001010000000000。循环左移循环右移数据类型应用举例6当SA为高电平时,8盏彩灯的值逐位左移;当SA为低电平时,8盏彩灯的值逐位右移。相关知识--数据指令项目7十字路口交通信号灯的控制程序段1:初始化作用:给MB2、MB3赋初始值,分别表示循环左移和循环右移的初值程序段2:根据SA的状态,选择是循环左移还是循环右移相关知识--数据指令项目7十字路口交通信号灯的控制程序段3:程序段4:程序段3、4,将位存储单元的值输出到输出过程映像寄存器相关知识--数据指令项目7十字路口交通信号灯的控制项目7十字路口交通信号灯的控制项目实施--硬件设计--地址分配输入输出序号名称代号地址序号名称代号地址1启动SB1I0.01东西红灯东西RQ0.02停止SB2I0.12东西绿灯东西YQ0.1

3东西黄灯东西GQ0.2

4南北红灯南北RQ0.3

5南北绿灯南北YQ0.4

6南北黄灯南北GQ0.5地

配项目7十字路口交通信号灯的控制项目实施--硬件设计--控制电路接线图项目7十字路口交通信号灯的控制根据设计要求,东西方向和南北方向交通信号灯的运行情况完全一致,因此可以首先设计一个当前方向的红绿灯控制函数FC1。东西方向红绿灯控制和南北方向红绿灯控制各调用一次该函数项目实施--软件设计项目7十字路口交通信号灯的控制项目实施--软件设计--I/O变量定义项目7十字路口交通信号灯的控制项目实施--软件设计--编辑函数FC项目7十字路口交通信号灯的控制项目实施--软件设计--函数FC的梯形图程序段1程序段2程序段3注意:定时器指令的背景数据块是在接口参数中定义的“#TIMERDB”,而不能用“%DB1”这样的全局数据块。项目7十字路口交通信号灯的控制项目实施--软件设计--添加两个IEC_TIMER数据块项目7十字路口交通信号灯的控制项目实施--软件设计--主程序的梯形图程序段1程序段2“启—保—停”控制网络,M0.0为程序运行标志位M2.1产生周期为60s、占空比为50%的周期信号项目7十字路口交通信号灯的控制项目实施--软件设计--主程序的梯形图程序段3程序段4实参%DB1和%DB2,与形参TIMERDB,数据类型一致项目7十字路口交通信号灯的控制项目实施--软件设计--仿真调试将项目下载到仿真器中,打开仿真器的项目视图并新建仿真项目。在SIM表格_1的“地址”栏中依次输入交通信号灯的输入/输出地址,在“名称”栏中输入“南北红数据块”.ET和“东西红数据块”.ET,表示南方方向和东西方向的定时器已消耗的时间,停止按钮是常闭,因此,仿真时I0.1需首先打勾。项目拓展在上述项目的基础上,对交通信号灯的控制要求进行适当修改,具体描述如下:按下启动按钮,交通信号灯开始工作,首先南北方向红灯亮并维持30s,在此期间东西方向绿灯亮25s,之后闪烁3s,接着黄灯亮2s;然后东西方向红灯亮并维持50s,在此期间南北方向绿灯亮45s,之后闪烁3s,接着黄灯亮2s。如此循环,按下停止按钮,当前方向的灯熄灭后,方可停止工作。采用函数调用的方式完成设计。项目7十字路口交通信号灯的控制项目7十字路口交通信号灯的控制项目拓展--红绿灯控制函数FC的设计由于东西方向和南北方向红灯和绿灯点亮的时间不同,因此,在设计功能时,红灯和绿灯点亮的时间不能直接写入功能中,必须引入接口参数,在OB1中调用功能时,再给接口参数赋值。项目7十字路口交通信号灯的控制项目拓展--红绿灯控制函数FC的设计由于按下停止按钮,当前方向运行的红绿灯不能立即熄灭,故用3个脉冲定时器接通红灯、黄灯、绿灯,定时器的背景数据块只能用接口参数。M0.5只能串联在T_GF指令的后面,不能串联在T_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论