PLC编程与使用_第1页
PLC编程与使用_第2页
PLC编程与使用_第3页
PLC编程与使用_第4页
PLC编程与使用_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

PLC编程与使用基于Portal工具以CPU313C-2DP为例,V1.0LiuJiankeTBU2016_1_42016_5_1,2,主要内容,3,Changelog,4,主要内容,5,1搭建PLC硬件环境,1.1总体连接,仪表,PLC:CPU313C-2DP,USB/MPI适配器(编程电缆),输出点:继电器,输入点:开关,状态与故障显示LED:SF系统软硬件错误时亮BF总线错误时亮MAINT存在维护请求时亮DC5VCPU5V电源正常时亮FRCE至少有一个IO点被强制时亮RUNCPU正执行用户程序时亮STOP模式,模式选择开关RUNCPU执行用户程序STOP不执行用户程序,暖启动MRES复位存储器,冷启动.,6,1搭建PLC硬件环境,1.2输入输出接线,插入IO槽后,一定要把中间的固定螺丝拧紧,否则所有IO无效,7,1搭建PLC硬件环境,1.2输入输出接线,连接24V电源:1L+(1脚),2L+(21脚),3L+(31脚),公共端接地:1M(20脚),2M(30脚),3M(40脚),连接输入点:输入点开关的一端连接29脚,1219脚输入点开关的另一端连接到24V电源,连接输出点:输出点继电器线圈A1+连接2229脚,3239脚输出点继电器线圈A2-连接到公共端,8,主要内容,9,2创建PLC工程,2.1创建新项目,10,2创建PLC工程,添加CPU设备,2.1创建新项目,11,2创建PLC工程,1.根据PLC型号选择控制器,2.1创建新项目,12,2创建PLC工程,下载程序时,用户程序(逻辑块OB,数据块DB)下载到装载存储器(符号表和注释留在编程软件中).,PLC上电时,CPU把装载存储器中的用户程序(逻辑块OB,数据块DB)复制到工作存储器.CPU313C-2DP为128KB,过程映像输入输出表(IQ)位存储器(M),定时器(T),计数器(C)局部数据堆栈,块堆栈,中断堆栈,中断缓冲区等,S7-300CPU没有集成的装载存储器,必须插入MMC存储卡,否则不能下载程序和数据.(S7-400CPU有集成的装载存储器,带后备电池RAM),2.1创建新项目,S7-300CPU的系统存储器大小参数见帮助.(查MB),PLC存储区,小技巧:s7-300中MRES到底能不能清除用户编写的程序?答:能的,不过,西门子的人都说了,不是没次都可以成功的,要多试,按下约3秒,看到灯闪,再按下约3秒,看到灯闪,来回几次看看.,13,2创建PLC工程,1.双击进入设备与网络界面,点击安装设备描述文件,可以右键更改CPU类型,2.2安装GSD文件,项目工程目录下的GSD文件源路径:AdditionalFilesGSD.里面有图片r3500f59.bmp和r3500f59.gsd文件,14,2创建PLC工程,2.2安装GSD文件,安装结束后,15,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,安装完GSD文件后,如果需要更新GSD文件(比如发布了新版本的GSD文件),这时则先需要关闭项目工程,进行手工删除流程.进入隐藏文件夹C:ProgramDataSiemens文件夹下搜索r3500f59,可以看到已经生成如下文件,16,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,打开文件夹所在位置,17,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,手工删除上述搜索到的文件,并删除项目工程目录下的gsd文件:C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD下的r3500f59.gsd和r3500f59.bmp当然也可以执行批处理文件进行删除,注意:不能只删除后缀名为.gsd的文件!其它与r3500f59相关的文件的删除方法与r3500f59.GSD删除操作步骤类似。,Gsdml:PNcdC:ProgramDataSiemensAutomationPortalV13dataxddGSDdelGSDML-V2.3-MT-ACT350-20150128cdC:ProgramDataSiemensAutomationPortalV13dataxddintgsddelGSDML-V2.3-MT-ACT350-20150128cdC:ProgramDataSiemensAutomationPortalV13metaProductVersiondel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:ProgramDataSiemensAutomationPortalV13datahwcnLanguagesendel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:ProgramDataSiemensAutomationPortalV13datahwcnLanguagesdedel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:ProgramDataSiemensAutomationPortalV13metaPackageContainerdel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:ProgramDataSiemensAutomationPortalV13datahwcnConfigObjectTypesdel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:ProgramDataSiemensAutomationPortalV13datahwcnCatalogdel*GSDML-V2.3-MT-ACT350-20150128*.*cdC:Userswang-219DocumentsAutomationACT350_SAI_PN_TestAdditionalFilesGSDdel*.*,GSD:DPcdC:ProgramDataSiemensAutomationPortalV13dataxddintgsddelr3500f59.gsdcdC:ProgramDataSiemensAutomationPortalV13dataxddGSDdelr3500f59.gsdcdC:ProgramDataSiemensAutomationPortalV13dataxddintdel*r3500f59*.*C:ProgramDataSiemensAutomationPortalV13datahwcnCatalogdel*r3500f59*.*C:ProgramDataSiemensAutomationPortalV13datahwcnConfigObjectTypesdel*r3500f59*.*C:ProgramDataSiemensAutomationPortalV13datahwcnLanguagesendel*r3500f59*.*C:ProgramDataSiemensAutomationPortalV13metaPackageContainerdel*r3500f59*.*C:ProgramDataSiemensAutomationPortalV13metaProductVersiondel*r3500f59*.*C:Userswang-219DocumentsAutomationACT350DPAdditionalFilesGSDdel*R3500F59*.*,18,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,再次打开Portal软件的项目工程,会报缺少GSD文件的提示:取消即可.,硬件目录中METTLERTOLEDO目录下已经没有ACT350了,网络视图显示:未分配,19,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,关闭工程.手工复制新的GSD文件到项目工程目录下的GSD文件夹下:C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD下的r3500f59.gsd和r3500f59.bmp重新打开工程,硬件目录中METTLERTOLEDO目录下又出现ACT350了,网络视图显示:正常,20,2创建PLC工程,2.2安装GSD文件,GSD文件删除和更新,关闭项目工程.进入隐藏文件夹C:ProgramDataSiemens文件夹下搜索r3500f59,可以看到已经重新生成如下文件此时删除项目工程目录下的GSD文件夹下:C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD下的r3500f59.gsd和r3500f59.bmp也没有关系了,21,如果计算机上已经导入新的GSD文件,打开用老的GSD的工程,需要重新拖入更新的GSD并组态。否则下载组态后会通信不上。,确认GSD文件版本:从常规安装日期上可以核对是否是更新过的GSD.注意:这里显示的是安装日期(比如今天的日期),gsd文件的属性上的修改日期会更早些,2创建PLC工程,2.3组态-设备和网络,拖入,22,2创建PLC工程,点击未分配,选择DP主站PLC_1.DP接口_1,表示通过DP总线连上PLC_1主站,设置网络传输率,PLC主站设置ProfibusDP地址为2,从站设置rofibusDP地址为1,与仪表设置的DP地址一致,2.3组态,选中DP总线,将2Block拖入设备视图,将I地址与Q地址都改为从16开始的8个字节.ACT350支持2个Block-FPB与SCB,双击Slave_1,进入设备视图,23,2创建PLC工程,2.3组态-可访问的设备,在工具栏上点击可访问的设备,弹出可访问设备对话框,PG/PC(编程器/计算机)接口的类型:设置PG/PC接口的类型为MPI.定义:MPI是多点接口(MultiPointInterface)的缩写,物理层是RS485,做大传输速率为12Mbit/s.MPI通信协议用于西门子公司控制产品之间的通信,例如安装在PC上的编程软件Portal与PLC之间的通信,但是协议未公开,是SIMATIC产品使用的内部通信协议.PPI:是点对点接口,用在S7-200PLC上PG/PC接口:如果使用USB/MPI适配器,则选择PCAdapter.,通过下列硬件,可以在PLC与PC之间建立数据链接用于PC的MPI通信处理器,例如CP5511,CP5611和CP5613,通信率最高12Mbit/sPC/MPI适配器或USB/MPI适配器(我们现在的方式)PC/PPI编程电缆,24,2创建PLC工程,2.3组态-CPU属性,在CPUPLC_1上点击右键-属性,可以查看CPU模块的参数设置,地址:编程设备(PC),人机界面(HMI)和PLC的CPU的默认地址分别为0,1,2.MPI网络最多可以连接125个站.,MPI接口,25,2创建PLC工程,2.3组态-CPU属性,循环周期监视时间:类似于NXPCPU上的WatchDog,如果实际的扫描时间超过设定的值,CPU将进入STOP模式.由通信引起的周期负载:用来限制通信处理占扫描周期的百分比,默认20%过程映像输入/输出区域的大小:用来设置过程映像输入/输出的字节数(从0号字节开始),周期设置,26,2创建PLC工程,2.3组态-CPU属性,每个中断都占用一定的资源:OB组织块,类似于NXPCPU上的定时器设置.设置循环中断的周期和相位偏移,S7-300不能修改中断的优先级.,中断设置,27,2创建PLC工程,2.4编辑变量表,编辑默认变量表,也可以导入老工程导出的默认变量表,28,2创建PLC工程,2.4编辑变量表,Slave_1:ACT350,PLC_1:CPU313C-2DP,过程映像输入(I),(I),位存储区(M),(Q),数据类型:BOOLBYTEWORDDWORDINTDINTREAL.,过程映像输出(Q),29,2创建PLC工程,2.5编辑监控表,也可以从老的工程的监控表直接拷贝过来,地址大小前缀:无单个位B字节W字D双字.,地址位置前缀:I过程映像输入Q过程映像输出M位存储区,30,2创建PLC工程,2.5编译和下载,点击下载到设备.若工作正常,PLC上的RUN灯保持绿色常亮.,31,2创建PLC工程,2.5编译和下载,下载完毕后在监控表页面点击全部监视,组态软件进入正常监控状态,32,主要内容,33,3编写PLC代码,3.1Main添加程序块(OB,DB),因为默认的Main使用LAD梯形图语言,故删除默认的MainOB1,然后点击添加新块,上述的组态不需要编写任何PLC代码,只能完成一些基本的测试功能,能够确认仪表的总线功能基本正常.如果需要做一些应用需求的功能,则需要编写PLC代码.SCL语言是符合IEC61131-3标准的结构文本ST的文本语言,比较接近与我们的C语言,且能打断点和单步调试.下面以SCL语言为例,编程实现按一定频率执行(10Hz)的DP非循环数据读/写.,添加一个组织块:MainOB1,选择SCL语言,3.再添加三个共享数据块Data_block_1DB1,用于定义Main代码中需要用到的全局变量.Data_RDREC_RECORDDB2,用于定义非循环读的目的数据缓冲区Data_WRREC_RECORDDB3,用于定义非循环写的源数据缓冲区,每个OB/FB/FC/DB都有唯一的编号,程序中添加过后,就会从添加新块的选择表中消失.,34,3编写PLC代码,3.1Main编辑DB,1.写一些注释有助于理解代码,在共享数据块DB1中定义Main程序中需要用到的Static变量:比如读/写状态机变量等.,35,3编写PLC代码,3.1Main编辑DB,DB属性:优化的块访问(用于连接HMI),1.通过优化块访问,系统将对存储空间进行处理。数据元素在声明中仅分配了一个符号名称,对块中的变量可以按照符号名称进行寻址。这样可提高CPU的性能。例如,从HMI中进行数据访问时不再出错。,36,3编写PLC代码,3.1Main编辑DB,在数据块DB2中定义非循环读的目的数据缓冲区Data_WRREC_RECORDDB2在数据块DB3中定义非循环写的源数据缓冲区Data_WRREC_RECORDDB3,37,3编写PLC代码,3.1Main添加SFB(系统功能块),将扩展指令-分布式I/O-WRREC功能块和RDREC功能块分别拖入Main页面系统自动各生成一个实例WRREC_DB和RDREC_DB,将基本指令-定时器操作-IEC定时器TON拖入Main页,用于控制读/写频率系统生成一个实例IEC_Timer_0_DB,系统块中会自动生成IDB(实例数据块):WRREC_DBDB4RDREC_DBDB5IEC_Timer_0_DBDB6,38,3编写PLC代码,3.1Main完善代码,这个TON功能块是符合IEC-61131-3标准的,生成这样的脉冲波形:,P#:表示参数类型为Pointer(指针),39,3编写PLC代码,3.1Main监控,编译并下载组态到PLC,下载完毕后在监控表页面点击全部监视,组态软件进入正常监控状态,根据SAI协议文档,设置非循环读取毛重命令入参:Index=0 x14(Profibus索引)Mlen=4(字节数),点击立即一次性修改所有选定值,观察读取的毛重值,40,3编写PLC代码,3.2中断循环中断,在CPU属性-常规选项卡-中断-循环中断-中设置中断周期,添加循环中断,操作系统将会调用分配给该事件的组织块OB32(类似于NXPCPU上的中断服务程序入口),编写中断服务程序,41,3编写PLC代码,3.2中断硬件中断,将OB40硬件中断加入程序块中(类似于NXPCPUIO引脚上的中断服务程序入口),设置这个输入口上是上升沿/下降沿触发硬件中断OB40,42,3编写PLC代码,3.2中断异步错误中断,DP通信断开又恢复,如何能够让通信状态自动恢复?,将OB80OB82OB85OB86OB87异步错误中断加入程序块中,不需要写任何代码.因为有中断事件发生时,如果没有下载对应的组织块,CPU将会进入STOP模式.即使生成和下载一个空的组织块,出现对应的中断事件时,CPU也不会进入STOP模式.通常组织块的编号越大,优先级越高.S7-300组织块的优先级是固定的,43,3编写PLC代码,3.3程序的基本结构,用户程序的结构,用于实现与特定的控制任务无关的功能:处理PLC的启动过程映像输入输出表(IQ)调用用户程序处理中断和错误,管理存储区,处理通信,用于实现与特定的控制任务:块结构:用户编写的程序和程序所需的数据放在块中,使单个的程序部件标准化.通过块与块之

温馨提示

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

评论

0/150

提交评论