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

下载本文档

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

文档简介

1、PLC编程与使用基于Portal工具以CPU313C-2DP为例V1.0Liu JiankeTBU2016_1_4 2016_5_1Internal usage only主要内容21 搭建PLC硬件环境1.1 总体连接1.2 输入输出接线2 创建PLC工程2.1 创建新项目2.4 编辑变量表2.2 安装GSD文件2.5 编辑监控表2.3 组态2.6 编译和下载3 编写PLC代码3.1 Main3.4 程序设计3.2 中断3.3 程序的基本结构4 举例4.1 通断电测试(方波信号发生器)4.2 配料控制Internal usage onlyChange log3变更编号变更编号日期日期版本号版本

2、号修改记录修改记录变更内容变更内容12016/01/041.0LJK创建22016/05/061.1LJK1. 增加GSD删除和更新的办法说明(2.2节)2. 增加长拨模式开关到MRES的效果说明(2.1节)Internal usage only主要内容41 搭建PLC硬件环境1.1 总体连接1.2 输入输出接线2 创建PLC工程2.1 创建新项目2.4 编辑变量表2.2 安装GSD文件2.5 编辑监控表2.3 组态2.6 编译和下载3 编写PLC代码3.1 Main3.4 程序设计3.2 中断3.3 程序的基本结构4 举例4.1 通断电测试(方波信号发生器)4.2 配料控制Internal

3、usage only1 搭建PLC硬件环境51.1总体连接仪表PLC:CPU313C-2DPUSB/MPI适配器 (编程电缆)输出点:继电器输入点:开关 状态与故障显示LED:n SF 系统软硬件错误时亮n BF 总线错误时亮n MAINT 存在维护请求时亮n DC5V CPU 5V电源正常时亮n FRCE 至少有一个IO点被强制时亮n RUN CPU正执行用户程序时亮n STOP 模式模式选择开关n RUN CPU执行用户程序n STOP 不执行用户程序, 暖启动n MRES 复位存储器, 冷启动. Internal usage only1 搭建PLC硬件环境61.2 输入输出接线插入IO槽

4、后,一定要把中间的固定螺丝拧紧,否则所有IO无效Internal usage only1 搭建PLC硬件环境1.2 输入输出接线1. 连接24V电源:1L+(1脚), 2L+(21脚), 3L+(31脚)2. 公共端接地:1M(20脚), 2M(30脚), 3M(40脚)4. 连接输入点:输入点开关的一端连接29脚, 1219脚输入点开关的另一端连接到24V电源73. 连接输出点:输出点继电器线圈A1+连接2229脚, 3239脚输出点继电器线圈A2-连接到公共端Internal usage only主要内容81 搭建PLC硬件环境1.1 总体连接1.2 输入输出接线2 创建PLC工程2.1

5、创建新项目2.4 编辑变量表2.2 安装GSD文件2.5 编辑监控表2.3 组态2.6 编译和下载3 编写PLC代码3.1 Main3.4 程序设计3.2 中断3.3 程序的基本结构4 举例4.1 通断电测试(方波信号发生器)4.2 配料控制Internal usage only2 创建PLC工程92.1 创建新项目Internal usage only2 创建PLC工程101. 添加CPU设备2.1 创建新项目Internal usage only2 创建PLC工程111. 根据PLC型号选择控制器2.1 创建新项目Internal usage only122 创建PLC工程存储区装载存储器

6、FEPROM,MMC工作存储器RAM系统存储器RAM下载程序时,用户程序(逻辑块OB,数据块DB)下载到装载存储器(符号表和注释留在编程软件中). PLC 上电时,CPU把装载存储器中的用户程序(逻辑块OB,数据块DB)复制到工作存储器. CPU 313C-2DP 为128KB过程映像输入输出表(I Q)位存储器(M), 定时器(T), 计数器(C)局部数据堆栈,块堆栈,中断堆栈,中断缓冲区等S7-300 CPU 没有集成的装载存储器,必须插入MMC存储卡, 否则不能下载程序和数据.(S7-400 CPU有集成的装载存储器, 带后备电池RAM)2.1 创建新项目S7-300 CPU 的系统存储

7、器大小参数见帮助.(查MB)-PLC存储区小技巧: s7-300中中MRES到底能到底能不能清除用户编写的程序不能清除用户编写的程序?答:能的,不过,西门子的人都说了,不是没次都可以成功的,要多试,按下约3秒,看到灯闪,再按下约3秒,看到灯闪,来回几次看看.Internal usage only132 创建PLC工程1. 双击进入设备与网络界面2. 点击安装设备描述文件3.可以右键更改CPU类型2.2 安装GSD文件项目工程目录下的GSD文件源路径:AdditionalFilesGSD. 里面有图片r3500f59.bmp和r3500f59.gsd文件Internal usage only14

8、2 创建PLC工程2.2 安装GSD文件安装结束后Internal usage only152 创建PLC工程2.2 安装GSD文件-GSD文件删除和更新1. 安装完GSD文件后, 如果需要更新GSD文件(比如发布了新版本的GSD文件), 这时则先需要关闭项目工程, 进行手工删除流程.2. 进入隐藏文件夹C:ProgramDataSiemens文件夹下搜索r3500f59, 可以看到已经生成如下文件Internal usage only162 创建PLC工程2.2 安装GSD文件-GSD文件删除和更新1. 打开文件夹所在位置Internal usage only172 创建PLC工程2.2 安

9、装GSD文件-GSD文件删除和更新1. 手工删除上述搜索到的文件,并删除项目工程目录下的gsd文件: C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD 下的r3500f59.gsd和r3500f59.bmp2. 当然也可以执行批处理文件进行删除注意:不能只删除后缀名为.gsd的文件!其它与r3500f59相关的文件的删除方法与 r3500f59.GSD 删除操作步骤类似。Gsdml:PNcd C:ProgramDataSiemensAutomationPortal V13dataxddGSDdel GSDML-V2.3

10、-MT-ACT350-20150128cd C:ProgramDataSiemensAutomationPortal V13dataxddintgsddel GSDML-V2.3-MT-ACT350-20150128cd C:ProgramDataSiemensAutomationPortal V13metaProductVersiondel *GSDML-V2.3-MT-ACT350-20150128*.*cd C:ProgramDataSiemensAutomationPortal V13datahwcnLanguagesendel *GSDML-V2.3-MT-ACT350-201501

11、28*.*cd C:ProgramDataSiemensAutomationPortal V13datahwcnLanguagesdedel *GSDML-V2.3-MT-ACT350-20150128*.*cd C:ProgramDataSiemensAutomationPortal V13metaPackageContainerdel *GSDML-V2.3-MT-ACT350-20150128*.*cd C:ProgramDataSiemensAutomationPortal V13datahwcnConfigObjectTypesdel *GSDML-V2.3-MT-ACT350-20

12、150128*.*cd C:ProgramDataSiemensAutomationPortal V13datahwcnCatalogdel *GSDML-V2.3-MT-ACT350-20150128*.*cd C:Userswang-219DocumentsAutomationACT350_SAI_PN_TestAdditionalFilesGSDdel *.*GSD : DPcd C:ProgramDataSiemensAutomationPortal V13dataxddintgsddel r3500f59.gsdcd C:ProgramDataSiemensAutomationPor

13、tal V13dataxddGSDdel r3500f59.gsdcd C:ProgramDataSiemensAutomationPortal V13dataxddintdel *r3500f59*.*C:ProgramDataSiemensAutomationPortal V13datahwcnCatalogdel *r3500f59*.*C:ProgramDataSiemensAutomationPortal V13datahwcnConfigObjectTypesdel *r3500f59*.*C:ProgramDataSiemensAutomationPortal V13datahw

14、cnLanguagesendel *r3500f59*.*C:ProgramDataSiemensAutomationPortal V13metaPackageContainerdel *r3500f59*.*C:ProgramDataSiemensAutomationPortal V13metaProductVersiondel *r3500f59*.*C:Userswang-219DocumentsAutomationACT350 DPAdditionalFilesGSDdel *R3500F59*.*Internal usage only182 创建PLC工程2.2 安装GSD文件-GS

15、D文件删除和更新1. 再次打开Portal软件的项目工程,会报缺少GSD文件的提示: 取消即可.2. 硬件目录中METTLER TOLEDO目录下已经没有ACT350了3. 网络视图显示: 未分配Internal usage only192 创建PLC工程2.2 安装GSD文件-GSD文件删除和更新1. 关闭工程.手工复制新的GSD文件到项目工程目录下的GSD文件夹下: C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD 下的r3500f59.gsd和r3500f59.bmp2. 重新打开工程4. 硬件目录中METTLE

16、R TOLEDO目录下又出现ACT350了3. 网络视图显示: 正常Internal usage only202 创建PLC工程2.2 安装GSD文件-GSD文件删除和更新1. 关闭项目工程.2. 进入隐藏文件夹C:ProgramDataSiemens文件夹下搜索r3500f59, 可以看到已经重新重新生成如下文件3. 此时删除项目工程目录下的GSD文件夹下: C:myprojectssiemensACT350_DPtestACT350_313DPAdditionalFilesGSD 下的r3500f59.gsd和r3500f59.bmp也没有关系了Internal usage only212

17、. 如果计算机上已经导入新的GSD文件,打开用老的GSD的工程, 需要重新拖入更新的GSD并组态。否则下载组态后会通信不上。1. 确认GSD文件版本: 从常规安装日期上可以核对是否是更新过的GSD.注意:这里显示的是安装日期(比如今天的日期), gsd文件的属性上的修改日期会更早些2 创建PLC工程2.3 组态-设备和网络 拖入Internal usage only222 创建PLC工程1. 点击 未分配,选择DP主站PLC_1.DP 接口_1,表示通过DP总线连上PLC_1 主站4. 设置网络传输率2. PLC主站设置ProfibusDP地址为23. 从站设置rofibusDP地址为1,与仪

18、表设置的DP地址一致2.3 组态选中 DP总线6. 将2 Block拖入设备视图,将I地址与Q地址都改为从16开始的8个字节.ACT350支持2个Block- FPB与SCB5. 双击 Slave_1,进入设备视图Internal usage only232 创建PLC工程2.3 组态- 可访问的设备在工具栏上点击可访问的设备, 弹出可访问设备对话框n PG/PC(编程器/计算机)接口的类型: 设置PG/PC接口的类型为MPI.定义:MPI是多点接口(Multi Point Interface)的缩写,物理层是RS485,做大传输速率为12Mbit/s. MPI通信协议用于西门子公司控制产品之

19、间的通信,例如安装在PC上的编程软件Portal与PLC之间的通信,但是协议未公开, 是SIMATIC 产品使用的内部通信协议.PPI:是点对点接口, 用在S7-200 PLC上n PG/PC接口: 如果使用USB/MPI适配器,则选择 PC Adapter.通过下列硬件,可以在PLC与PC之间建立数据链接-用于PC的MPI通信处理器,例如CP5511, CP5611和CP5613,通信率最高12Mbit/s-PC/MPI适配器或USB/MPI适配器(我们现在的方式我们现在的方式)-PC/PPI编程电缆PCMPI 接口(通过转换芯片CP5511, CP5611和CP5613)PLC MPI接口

20、PCCOM或USBPLC MPI接口PC/MPI AdapterPCCOM或USBPLC PPI接口PC/PPI AdapterInternal usage only242 创建PLC工程2.3 组态- CPU属性在CPU PLC_1 上点击右键-属性,可以查看CPU模块的参数设置地址: 编程设备(PC),人机界面(HMI) 和PLC的CPU的默认地址分别为0, 1, 2. MPI网络最多可以连接125个站.-MPI接口Internal usage only252 创建PLC工程2.3 组态- CPU属性 循环周期监视时间:类似于类似于NXP CPU上的上的WatchDog,如果实际的扫描时间

21、超过设定的值, CPU将进入STOP模式. 由通信引起的周期负载:用来限制通信处理占扫描周期的百分比,默认20% 过程映像输入/输出区域的大小:用来设置过程映像输入/输出的字节数(从0号字节开始)-周期设置Internal usage only262 创建PLC工程2.3 组态- CPU属性每个中断都占用一定的资源: OB组织块类似于类似于NXP CPU上的定时器设置上的定时器设置. 设置循环中断的周期和相位偏移, S7-300不能修改中断的优先级.-中断设置Internal usage only272 创建PLC工程2.4 编辑变量表编辑默认变量表,也可以导入老工程导出的默认变量表Inter

22、nal usage only282 创建PLC工程2.4 编辑变量表Slave_1: ACT350PLC_1: CPU 313C-2DP过程映像输入(I)(I)位存储区(M)(Q)数据类型:-BOOL-BYTE-WORD DWORD-INT DINT-REAL-. 过程映像输出(Q)Internal usage only292 创建PLC工程2.5 编辑监控表1. 也可以从老的工程的监控表直接拷贝过来地址大小前缀:-无单个位-B字节-W字-D双字-. 地址位置前缀:-I过程映像输入-Q过程映像输出-M位存储区Internal usage only302 创建PLC工程2.5 编译和下载1. 点

23、击 下载到设备. 若工作正常, PLC上的RUN灯保持绿色常亮.Internal usage only312 创建PLC工程2.5 编译和下载1. 下载完毕后在监控表页面 点击 全部监视,组态软件进入正常监控状态Internal usage only主要内容321 搭建PLC硬件环境1.1 总体连接1.2 输入输出接线2 创建PLC工程2.1 创建新项目2.4 编辑变量表2.2 安装GSD文件2.5 编辑监控表2.3 组态2.6 编译和下载3 编写PLC代码3.1 Main3.4 程序设计3.2 中断3.3 程序的基本结构4 举例4.1 通断电测试(方波信号发生器)4.2 配料控制Intern

24、al usage only333 编写PLC代码3.1 Main 添加程序块(OB,DB)1. 因为默认的Main使用LAD梯形图语言, 故删除默认的MainOB1, 然后点击添加新块上述的组态不需要编写任何PLC代码, 只能完成一些基本的测试功能, 能够确认仪表的总线功能基本正常.如果需要做一些应用需求的功能,则需要编写PLC代码. SCL语言是符合IEC 61131-3 标准的结构文本ST的文本语言,比较接近与我们的C语言,且能打断点和单步调试打断点和单步调试.下面以SCL语言为例,编程实现按一定频按一定频率执行率执行(10Hz)的的DP 非循环数据非循环数据读读/写写.2. 添加一个组织

25、块:MainOB1,选择SCL语言,3. 再添加三个共享数据块 Data_block_1DB1, 用于定义Main代码中需要用到的全局变量. Data_RDREC_RECORDDB2, 用于定义非循环读的目的数据缓冲区 Data_WRREC_RECORDDB3, 用于定义非循环写的源数据缓冲区每个OB/FB/FC/DB都有唯一的编号,程序中添加过后, 就会从添加新块的选择表中消失.Internal usage only343 编写PLC代码3.1 Main 编辑DB1. 写一些注释有助于理解代码在共享数据块DB1中定义Main程序中需要用到的Static变量: 比如读/写状态机变量等.Inte

26、rnal usage only353 编写PLC代码3.1 Main 编辑DBDB属性: 优化的块访问(用于连接HMI)1. 通过优化块访问,系统将对存储空间进行处理。 数据元素在声明中仅分配了一个符号名称,对块中的变量可以按照符号名称进行寻址。 这样可提高 CPU 的性能。 例如,从 HMI 中进行数据访问时不再出错。Internal usage only363 编写PLC代码3.1 Main 编辑DB在数据块DB2中定义非循环读的目的数据缓冲区 Data_WRREC_RECORDDB2在数据块DB3中定义非循环写的源数据缓冲区 Data_WRREC_RECORDDB3Internal us

27、age only373 编写PLC代码3.1 Main 添加SFB(系统功能块)1. 将扩展指令-分布式I/O-WRREC功能块和RDREC功能块分别拖入Main页面2. 系统自动各生成一个实例WRREC_DB和RDREC_DB3. 将基本指令-定时器操作-IEC定时器 TON拖入Main页, 用于控制读/写频率4. 系统生成一个实例IEC_Timer_0_DB5. 系统块中会自动生成IDB(实例数据块): WRREC_DBDB4 RDREC_DBDB5 IEC_Timer_0_DBDB6Internal usage only383 编写PLC代码3.1 Main 完善代码这个TON功能块是符

28、合IEC-61131-3标准的,生成这样的脉冲波形:P#:表示参数类型为Pointer(指针)Internal usage only393 编写PLC代码3.1 Main 监控编译并下载组态到PLC,下载完毕后在监控表页面 点击 全部监视,组态软件进入正常监控状态1. 根据SAI协议文档,设置非循环读取毛重命令入参: Index = 0 x14(Profibus索引索引) Mlen = 4(字节数字节数)2. 点击立即一次性修改所有选定值3. 观察读取的毛重值Internal usage only403 编写PLC代码3.2 中断 循环中断2. 在CPU属性-常规选项卡-中断-循环中断-中设置

29、中断周期1. 添加循环中断, 操作系统将会调用分配给该事件的组织块OB32(类类似于似于NXP CPU上的中上的中断服务程序入口断服务程序入口)3. 编写中断服务程序Internal usage only413 编写PLC代码3.2 中断 硬件中断1. 将OB40 硬件中断硬件中断加入程序块中 (类似类似于于NXP CPU IO引脚引脚上上的中断服务程序的中断服务程序入口入口)2. 设置这个输入口上是上升沿/下降沿触发硬件中断OB40Internal usage only423 编写PLC代码3.2 中断 异步错误中断DP通信断开又恢复,如何能够让通信状态自动恢复?将OB80 OB82 OB8

30、5 OB86 OB87异步错误中断异步错误中断加入程序块中,不需要写任何代码. 因为有中断事件发生时,如果没有下载对应的组织块, CPU将会进入STOP模式. 即使生成和下载一个空的组织块,出现对应的中断事件时, CPU也不会进入STOP模式. 通常组织块的编号越大,优先级越高. S7-300组织块的优先级是固定的Internal usage only433 编写PLC代码3.3 程序的基本结构用户程序的结构PLC程序操作系统用户程序用于实现与特定的控制任务无关的功能:-处理PLC的启动-过程映像输入输出表(I Q)-调用用户程序-处理中断和错误,管理存储区,处理通信用于实现与特定的控制任务:

31、-块结构: 用户编写的程序和程序所需的数据放在块中,使单个的程序部件标准化.通过块与块之间类似于子程序的调用,使用户程序结构化. -块分类8 逻辑块: 包含程序的块-OB (组织块)-FB (功能块)-FC (功能)-SFB (系统功能块)-SFC (系统功能)8 数据块: 包含数据的块-DB (共享数据块)-IDB (实例数据块,自动生成)Internal usage onlyOB87IDB2IDB3IDB1443 编写PLC代码3.3 程序的基本结构块的调用 操作系统MainOB1FB1FC1FB2FB3SFC1FC2DB1OB32Internal usage only453 编写PLC代码3.3 程序的基本结构组织块OB组织块OB没有实例数据块, 变量声明表中只有临时变量组织块的变量声明表, 共20Byte-时间级别与标识符-.-OB被启动的日期和时间Internal usage only463 编写PLC代码3.3 程序的基本结构指令SFB

温馨提示

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

评论

0/150

提交评论