版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自动化生产线安装与调试第1页,共22页。项目十 柔性自动线立体仓库站控制 S7-300PLC结构化编程第2页,共22页。S7-300程序结构S7-300程序设计方法结构化编程S7-300 PLC产生高频脉冲控制步进电机第3页,共22页。一、S7-300程序结构1、用户块根据逻辑功能的不同,用户块分为组织块(OB,Organize Block),功能块(FB,Function Block),功能(FC,Function)和数据块(DB,Data Block)。 为了容易阅读和理解,在编程中常常将程序分为若干部分。每个程序部分具有其技术和功能基础,称之为块。块是程序中真正有用的部分,包括用户块和系
2、统块。它们在功能、使用方法和结构上各个不同。 1)组织块(OB)OB是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。见图5-52。各种组织块由不同的时间启动,具有不同的优先级,而循环执行的主程序则在组织块OB1中。OB100为初始化程序块,0B10OB17为日期时间中断组织块,0B20OB23为延时中断组织块,OB30OB38为循环中断组织块,OB40OB47为硬件中断组织块,OB80OB82为异步错误组织块(时间错误,电源故障处理,诊断中断,机架故障组织块OB86等等。第4页,共22页。一、S7-300程序结构1、用户块根据逻辑功能的不同,用户块分为组织块(OB,Organize
3、 Block),功能块(FB,Function Block),功能(FC,Function)和数据块(DB,Data Block)。 为了容易阅读和理解,在编程中常常将程序分为若干部分。每个程序部分具有其技术和功能基础,称之为块。块是程序中真正有用的部分,包括用户块和系统块。它们在功能、使用方法和结构上各个不同。 1)组织块(OB)OB是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。见图5-52。各种组织块由不同的时间启动,具有不同的优先级,而循环执行的主程序则在组织块OB1中。OB100为初始化程序块,0B10OB17为日期时间中断组织块,0B20OB23为延时中断组织块,OB3
4、0OB38为循环中断组织块,OB40OB47为硬件中断组织块,OB80OB82为异步错误组织块(时间错误,电源故障处理,诊断中断,机架故障组织块OB86等等。第5页,共22页。一、S7-300程序结构3)数据块DB 数据块分为背景数据块和共享数据块。背景DB是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。 共享DB的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义。需要说明的是,背景DB和共享DB没有本质的区别,它们的数据可以被任何一个程序块读写。 FC和FB都是用户自己编写的程序块,用户可以将具有相同控
5、制过程的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括组织块和功能、功能块)调用FC或FB。 FC或FB相当于子程序的功能,都可以定义自己的参数。 2)功能(FC)和功能块(FB)2、系统块 系统块包含在操作系统中,包括:SFC(System Function),SFB(System Function Block),SDB(System Data Block) 。 SFC和SFB是预先编好的可供用户调用的程序块,它们已经固化在S7PLC的CPU中,其功能和参数已经确定。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。具体信息可查阅CPU的相关技术手册。通常SFC和S
6、FB提供一些系统级的功能调用,如通讯功能、高速处理功能等。注意:在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。第6页,共22页。一、S7-300程序结构 变量声明表中放着参数(形参)。参数是在调用块和被调用块之间传递的数据,包括输入,输出和输入输出变量。变量声明表结构如图10-3。输入(IN):为调用逻辑块提供数据,输入给逻辑块.输出(OUT):从逻辑块中输出数据结果 输入/输出(IN/OUT):参数值可以输入,也可以输出。静态变量(STAT):存储于背景数据块中,块调用结束后,变量被保留 临时变量(TEMP):存储于堆栈中,块执行结
7、束后,变量消失。 为了保证功能或功能块对同一类设备的通用性,在编程中不能使用实际对应的存储区 地址参数,而是使用抽象参数,也就是形参。3、块的结构块是由变量声明表和程序组成。1)变量声明表图10-3功能FC和功能块FB的变量声明表第7页,共22页。一、S7-300程序结构2)FC和FB的变量声明表的差别:FC和FB参数赋值不同;FC没有自己的背景数据块;FB有自己的背景数据块;FC的参数必须指定实参;FB的参数可根据需要决定是否指定实参。第8页,共22页。二、S7-300的程序设计方法S7-300程序设计方法主要有三种:线性化编程、模块化编程、结构化编程。见图10-4。图10-4 程序设计三种
8、方法示意图第9页,共22页。二、S7-300的程序设计方法(1)线性化编程线性化编程是将整个用户程序放在循环控制组织块OB1中,在CPU循环扫描时执行OB1中的全部指令。特点是结构简单。但由于所有的指令都在一个块中,结构不清晰,扫描时间过长。线性化编程示意图见图10-5。 模块化编程是将程序根据功能分为不同的逻辑块,且每个逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能块。其特点是易于分工合作,调试方便。由于逻辑块是有条件调用,所以可以提高CPU的利用效率。模块化程序结构见图10-6。 图10-5线性化编程 线性程序的结构简单,分析起来一目了然。这种结构适用于编写一些规模较小,
9、运行过程比较简单的控制程序。 (2)模块化编程 图10-6 模块化编程分块程序有更大的灵活性,适用于比较复杂、规模较大的控制工程的程序设计。第10页,共22页。二、S7-300的程序设计方法3、结构化编程结构化编程是将控制要求中类似或相关的任务归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。特点是:编写通用模块,对不同的设备代入不同的地址和参数,使更多的设备或过程可以使用此通用模块,因此具有很高的编程和程序调试效率。程序结构层次清晰,标准化程度高。结构化编程结构见图10-7。 图10-7结构化程序结构结构化程序比分块程序有更大的
10、灵活性,继承性。适用于比较复杂、规模较大的控制工程的程序设计。 第11页,共22页。三、结构化编程 为了支持结构化编程,在操作系统中包含了用户程序和系统程序。其中用户程序中通常包括OB,FB,FC,DB。系统程序包括SFC,SFB,SDB。在块的调用中,调用者可以是各种的逻辑块,而被调用者是除OB块外的逻辑块。 块的调用即为子程序的调用,块可以嵌套调用,嵌套的层数与CPU的型号有关。 1、FC的调用功能是用户编写的无固定存储区的块,它是不带记忆的逻辑块,即没有背景数据块。当完成操作后,数据不能保存。调用功能时,需用实参来代替形参。例1 控制要求是自动线有三台电机A,B,C需要分别控制。A电机:
11、启动I0.0,停止I0.2,线圈Q0.0;B电机:启动I0.3,停止I0.4,线圈Q0.1;C电机:启动I0.5,停止I0.6,线圈Q0.2。采用FC调用的方法来实现控制要求。结构化编程步骤如下:这三台电机的运行方式是一样的,都是由一个按钮启动,一个按钮来停止。所以先设计一个电机运行的通用程序。第12页,共22页。三、结构化编程在组态窗口插入一个FC,见图10-8。图10-8 插入一个FC双击FC1,进入编程环境,在变量声明表里设置形参,见图10-9。图10-9 FC1变量声明表及通用程序第13页,共22页。三、结构化编程双击0B1,进入主程序编写环境。不同的电机用不同的实参来取代形参来调用F
12、C1。见图10-10。编写三台电机通用控制程序,保存下载,见图10-10。图10-10 FC调用主程序第14页,共22页。三、结构化编程 功能块是用户编写的有固定存储区的块,它是带记忆的逻辑块,有一个数据结构与功能块参数表完全相同的数据块(BD),称为背景数据块。当功能块被执行时,数据块被调用,功能块结束,调用随之结束,存放在背景数据块中的数据在块结束以后,仍能继续保持,具有记忆功能。 一个功能块可以有多个背景数据块,使功能块可以被不同的对象使用。 例2 控制要求是自动线上有两台电机,A,B。按下I0.0,A 电机启动(Q0.0得电),运行3秒后 停止。按下I0.1,B 电机启动(Q0.1得电
13、),运行5秒后 停止。任何时候按下急停按钮I0.2,两台电机全停。采用FB调用的方法来实现控制要求。 2、FB的调用结构化编程步骤如下:在组态窗口插入一个FB,见图10-11。图10-11 插入FB第15页,共22页。三、结构化编程双击FB1,进入编程环境,在变量声明表里设置形参。见图10-12。图10-12FB1变量声明表及通用程序设计编写两台电机通用控制程序,保存下载。见图10-12。双击0B1,进入主程序编写环境。不同的电机用不同的实参来取代形参来调用FB1。见图10-13。因为在调用FB1时,需要背景数据块,背景数据块会自动生成。在调试运行时,注意别忘了将背景数据块下载。见图10-14
14、。第16页,共22页。三、结构化编程图10-13 “FB调用”的主程序图10-14 下载背景数据块第17页,共22页。四、S7-300 PLC产生高频脉冲控制步进电机(1)硬件设置1)创建项目(取名为高频脉冲输出练习),选择CPU型号为CPU313C-2DP 采用S7-313C-2DP控制步进电机的运行和停止。在设计过程中,需调用SFB49脉宽调制功能块实现脉冲序列的输出控制,并通过Q0.3的输出控制步进电机的转动方向。 在CPU313C-2DP 模块的0通道通过软件门单独控制,产生周期为20ms,占空比为1:4最小脉宽为1ms的高频脉冲,延时时间为2秒钟。设置步骤如下:2)打开该项目中的硬件
15、组态工具并双击count进行属性-计数器话框。见图10-15。图10-15 脉宽调制属性窗口第18页,共22页。四、S7-300 PLC产生高频脉冲控制步进电机3)在属性-计数对话框中选择 channel :0;operating:pulse Width modulation,并在弹出的对话框中选择OK键进行确定。 4)选择最后一个标签pulse width modulation(脉宽调制标签)并进行operation parameter(操作参数)设置。 Output format(输出格式):选择per mile。输出格式为Per mill 或S7 analog,若输出格式选择Per mi
16、ll,则脉宽(Pulse duration)=Outp_val/1000*脉冲周期(Period duration)。若输出格式选择S7 analog,则脉宽(Pulse duration)=Outp_val/27648*脉冲周期(Period duration),该种形式适合S7模拟量转化成脉冲输出。Outp_val是SFB49中的一个变量,可以在程序中随时修改脉冲宽度。若Outp_val设置为500,则表示SFB49设置输出的高频脉冲为方波。time base(时基):选择0.1msOn-delay(接通延时):20000period(周期): 10Minimum pulse period
17、(最小脉宽):2输入参数选择时,不选硬件门。硬件门表示用模块所带输入点触发脉冲输出,相比软件门,硬件门用于更精确的要求。产生中断调用OB40(必须在basic parameters选择中断)。第19页,共22页。四、S7-300 PLC产生高频脉冲控制步进电机5)按OK键确认设置,并双击DI6/DO16将CPU313C-2DP自带的输入输出点的地址由系统默认的124字节开始,修改为从0字节开始。(2)编写程序调用系统功能块SFB491)打开组织块OB1,在library-standard library-system Function Blocks菜单下双击SFB49进行调用。2)指定SFB4
18、9背景数据块为DB1(如果数据块不存在,程序编辑器将自动产生数据块中的变量,使其与SFB49的参数保持一致,成为SFB49的背景数据块)。图10-16SFB49参数设置3)对SFB49参数进行设置,结果如图10-16。参数CHANNEL:通道号,表示从那个输出端子输出高频脉冲。对不同的CPU,可以选择的通道数量也是不一样的。CPU 312C:0 to 1;CPU 313C:0 to 2;CPU 314C:0 to 3。若设置为0,表示从Q0.0输出高频脉冲;设置为1,表示从Q0.1输出高频脉冲;若设置为2,表示从Q0.2输出高频脉冲;若设置为3,表示从Q0.3输出高频脉冲。参数SW-EN:软件门控位。当I1.4为1时,启动脉冲输出。参数OUTP_VAL:用来设置占空比的,若设置为500,则输出脉冲为方波。 第20页,共22页。四、S7-300 PLC产生高频脉冲控制步进电机4)在组织块OB1的Network 2中添加如下语句,完成步进电机的方向控制功能。见图10-17。 图10-17步进电机方向控制程序 对程序进行保存,下载组织块OB1和指定的数据块DB1到PLC。 注意由于数据块是用户据需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版餐饮股东合作协议范本:餐饮企业并购与权益保障2篇
- 2024年纺织筒仓建设标准化协议范本版B版
- 2025版互联网+农业领域股权转让合作协议2篇
- 2024年版柴油发电机交易协议范例版B版
- 建设运营移交合同范文
- 建井设备租赁合同范文
- 2024年纳米材料研发与产业化合同
- 包头钢铁职业技术学院《文学通论》2023-2024学年第一学期期末试卷
- 2025版电商平台限时抢购活动售后服务合同规范3篇
- 2024房屋买卖居间服务协议书
- 《Java程序设计应用开发》全套教学课件
- 必背知识点梳理-2024-2025学年人教版生物七年级上册
- 2024-2030年全球及中国数据科学平台行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2024-2030年中国非物质文化遗产行业市场深度分析及竞争格局与投资策略研究报告
- 2023-2024学年部编版道德与法治三年级上册期末检测题及答案(共3套)
- 2024年山东省青岛市中考语文试卷(含答案)
- 绩效考核管理办法(15篇)
- 格林巴利综合征的康复
- 中医烫熨疗法
- 2024年安徽省蚌埠二中高一自主招生考试英语
- 《比赛场次》(教学设计)-2023-2024学年北师大版数学六年级上册
评论
0/150
提交评论