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

下载本文档

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

文档简介

1、PLC编程与使用 基于Portal工具以CPU313C-2DP为例 V1.0 Liu Jianke TBU 2016_1_4 2016_5_1 Internal usage only 主要内容 2 1 搭建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 only Chan

2、ge log 3 变更编号变更编号日期日期版本号版本号修改记录修改记录变更内容变更内容 12016/01/041.0LJK创建 22016/05/061.1LJK1. 增加GSD删除和更新的办法说 明(2.2节) 2. 增加长拨模式开关到MRES的 效果说明(2.1节) Internal usage only 主要内容 4 1 搭建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 程

3、序的基本结构 4 举例 4.1 通断电测试(方波信号发生器) 4.2 配料控制 Internal usage only 1 搭建PLC硬件环境 5 1.1总体连接 仪表 PLC:CPU313C-2DP USB/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 不执行用户程序,

4、暖启动 n MRES 复位存储器, 冷启动. Internal usage only 1 搭建PLC硬件环境 6 1.2 输入输出接线 插入IO槽后,一定要把中间的固定螺丝拧 紧,否则所有IO无效 Internal usage only 1 搭建PLC硬件环境 1.2 输入输出接线 1. 连接24V电源: 1L+(1脚), 2L+(21脚), 3L+(31脚) 2. 公共端接地: 1M(20脚), 2M(30脚), 3M(40脚) 4. 连接输入点: 输入点开关的一端连接29脚, 1219脚 输入点开关的另一端连接到24V电源 7 3. 连接输出点: 输出点继电器线圈A1+连接2229脚, 3

5、239脚 输出点继电器线圈A2-连接到公共端 Internal usage only 主要内容 8 1 搭建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 only 2 创建PLC工程 9 2.1 创建新项目 Internal usage only 2 创建PLC工程 1

6、0 1. 添加CPU设备 2.1 创建新项目 Internal usage only 2 创建PLC工程 11 1. 根据PLC型号 选择控制器 2.1 创建新项目 Internal usage only 12 2 创建PLC工程 存储区 装载存储器 FEPROM,MMC 工作存储器 RAM 系统存储器 RAM 下载程序时,用户程序(逻辑块OB,数据块DB)下载到装 载存储器(符号表和注释留在编程软件中). PLC 上电时,CPU把装载存储器中的用户程序(逻辑块 OB,数据块DB)复制到工作存储器. CPU 313C-2DP 为 128KB 过程映像输入输出表(I Q) 位存储器(M), 定时

7、器(T), 计数器(C) 局部数据堆栈,块堆栈,中断堆栈,中断缓冲区等 S7-300 CPU 没有集成的装载存储器, 必须插入MMC存储卡, 否则不能下载程 序和数据.(S7-400 CPU有集成的装载 存储器, 带后备电池RAM) 2.1 创建新项目 S7-300 CPU 的 系统存储器大小 参数见帮助.(查 MB) -PLC存储区 小技巧: s7-300中中MRES到底能到底能 不能清除用户编写的程序不能清除用户编写的程序? 答:能的,不过,西门子的人都说了,不 是没次都可以成功的,要多试,按下约 3秒,看到灯闪,再按下约3秒,看到灯 闪,来回几次看看. Internal usage on

8、ly 13 2 创建PLC工程 1. 双击进入设备与 网络界面 2. 点击安装 设备描述文件 3.可以右键更改CPU类型 2.2 安装GSD文件 项目工程目录下的GSD文件源路径: AdditionalFilesGSD. 里面有图片 r3500f59.bmp和r3500f59.gsd文件 Internal usage only 14 2 创建PLC工程 2.2 安装GSD文件 安装结束后 Internal usage only 15 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 安装完GSD文件后, 如果需要更新GSD文件(比 如发布了新版本的GSD文件), 这时则

9、先需要关 闭项目工程, 进行手工删除流程. 2. 进入隐藏文件夹C:ProgramDataSiemens文件 夹下搜索r3500f59, 可以看到已经生成如下文件 Internal usage only 16 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 打开文件夹所在位置 Internal usage only 17 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 手工删除上述搜索到的文件,并删除 项目工程目录下的gsd文件: C:myprojectssiemensACT350_DP testACT350_313DPAdditionalF

10、iles GSD 下的r3500f59.gsd和 r3500f59.bmp 2. 当然也可以执行批处理文件进行删除 注意:不能只删除后缀名为.gsd的文件!其它与r3500f59相关的文件的删除方法与 r3500f59.GSD 删除操作步骤类似。 Gsdml:PN cd C:ProgramDataSiemensAutomationPortal V13dataxddGSD del GSDML-V2.3-MT-ACT350-20150128 cd C:ProgramDataSiemensAutomationPortal V13dataxddintgsd del GSDML-V2.3-MT-ACT3

11、50-20150128 cd C:ProgramDataSiemensAutomationPortal V13metaProductVersion del *GSDML-V2.3-MT-ACT350-20150128*.* cd C:ProgramDataSiemensAutomationPortal V13datahwcnLanguagesen del *GSDML-V2.3-MT-ACT350-20150128*.* cd C:ProgramDataSiemensAutomationPortal V13datahwcnLanguagesde del *GSDML-V2.3-MT-ACT35

12、0-20150128*.* cd C:ProgramDataSiemensAutomationPortal V13metaPackageContainer del *GSDML-V2.3-MT-ACT350-20150128*.* cd C:ProgramDataSiemensAutomationPortal V13datahwcnConfigObjectTypes del *GSDML-V2.3-MT-ACT350-20150128*.* cd C:ProgramDataSiemensAutomationPortal V13datahwcnCatalog del *GSDML-V2.3-MT

13、-ACT350-20150128*.* cd C:Userswang-219DocumentsAutomationACT350_SAI_PN_TestAdditionalFilesGSD del *.* GSD : DP cd C:ProgramDataSiemensAutomationPortal V13dataxddintgsd del r3500f59.gsd cd C:ProgramDataSiemensAutomationPortal V13dataxddGSD del r3500f59.gsd cd C:ProgramDataSiemensAutomationPortal V13d

14、ataxddint del *r3500f59*.* C:ProgramDataSiemensAutomationPortal V13datahwcnCatalog del *r3500f59*.* C:ProgramDataSiemensAutomationPortal V13datahwcnConfigObjectTypes del *r3500f59*.* C:ProgramDataSiemensAutomationPortal V13datahwcnLanguagesen del *r3500f59*.* C:ProgramDataSiemensAutomationPortal V13

15、metaPackageContainer del *r3500f59*.* C:ProgramDataSiemensAutomationPortal V13metaProductVersion del *r3500f59*.* C:Userswang-219DocumentsAutomationACT350 DPAdditionalFilesGSD del *R3500F59*.* Internal usage only 18 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 再次打开Portal软件的项目工 程,会报缺少GSD文件的提示: 取消即可. 2. 硬件目录中

16、METTLER TOLEDO目录下已经没有 ACT350了 3. 网络视图显示: 未分配 Internal usage only 19 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 关闭工程.手工复制新的GSD文件到 项目工程目录下的GSD文件夹下: C:myprojectssiemensACT350_DP testACT350_313DPAdditionalFiles GSD 下的r3500f59.gsd和 r3500f59.bmp 2. 重新打开工程 4. 硬件目录中METTLER TOLEDO目录下又出现 ACT350了 3. 网络视图显示: 正常 Inter

17、nal usage only 20 2 创建PLC工程 2.2 安装GSD文件 -GSD文件删除和更新 1. 关闭项目工程. 2. 进入隐藏文件夹C:ProgramDataSiemens文件 夹下搜索r3500f59, 可以看到已经重新重新生成如下 文件 3. 此时删除项目工程目录下的GSD文件夹下: C:myprojectssiemensACT350_DPtestACT35 0_313DPAdditionalFilesGSD 下的 r3500f59.gsd和r3500f59.bmp也没有关系了 Internal usage only 21 2. 如果计算机上已经导入新的GSD文件,打开用老的

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

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

20、西门子公司控制产品之间的通信,例 如安装在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编程电缆 PC MPI 接口 (通过转换芯片CP5511,

21、 CP5611和CP5613) PLC MPI接口 PC COM或USB PLC MPI接口 PC/MPI Adapter PC COM或USB PLC PPI接口 PC/PPI Adapter Internal usage only 24 2 创建PLC工程 2.3 组态- CPU属性 在CPU PLC_1 上点击右键-属性,可以查看 CPU模块的参数设置 地址: 编程设备(PC),人机界面(HMI) 和PLC 的CPU的默认地址分别为0, 1, 2. MPI网络最多可以连接125个站. -MPI接口 Internal usage only 25 2 创建PLC工程 2.3 组态- CPU属

22、性 循环周期监视时间: 类似于类似于NXP CPU上的上的WatchDog,如果实际的扫描时 间超过设定的值, CPU将进入STOP模式. 由通信引起的周期负载: 用来限制通信处理占扫描周期的百分比,默认20% 过程映像输入/输出区域的大小: 用来设置过程映像输入/输出的字节数(从0号字节开 始) -周期设置 Internal usage only 26 2 创建PLC工程 2.3 组态- CPU属性 每个中断都占用一定的资源: OB组织块 类似于类似于NXP CPU上的定时器设置上的定时器设置. 设置循环中 断的周期和相位偏移, S7-300不能修改中断的 优先级. -中断设置 Intern

23、al usage only 27 2 创建PLC工程 2.4 编辑变量表 编辑默认变量表,也可以导入 老工程导出的默认变量表 Internal usage only 28 2 创建PLC工程 2.4 编辑变量表 Slave_1: ACT350 PLC_1: CPU 313C-2DP 过程映像输入(I) (I) 位存储区(M) (Q) 数据类型: -BOOL -BYTE -WORD DWORD -INT DINT -REAL -. 过程映像输出(Q) Internal usage only 29 2 创建PLC工程 2.5 编辑监控表 1. 也可以从老的工程的监控表直接 拷贝过来 地址大小前缀:

24、 -无单个位 -B字节 -W字 -D双字 -. 地址位置前缀: -I过程映像输入 -Q过程映像输出 -M位存储区 Internal usage only 30 2 创建PLC工程 2.5 编译和下载 1. 点击 下载到设备. 若工作正常, PLC上的RUN灯保持绿色常亮. Internal usage only 31 2 创建PLC工程 2.5 编译和下载 1. 下载完毕后在监控表页面 点击 全部监视,组态软件进入正常监 控状态 Internal usage only 主要内容 32 1 搭建PLC硬件环境 1.1 总体连接 1.2 输入输出接线 2 创建PLC工程 2.1 创建新项目2.4

25、编辑变量表 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 only 33 3 编写PLC代码 3.1 Main 添加程序块(OB,DB) 1. 因为默认的Main使用 LAD梯形图语言, 故删 除默认的MainOB1, 然 后点击添加新块 上述的组态不需要编写任何PLC代码, 只能完成一些基本的测试功能, 能够确认仪表的总线功能基本正常. 如果需要做一些应用需求的功能,则需要编写P

26、LC代码. SCL语言是符 合IEC 61131-3 标准的结构文本ST的文本语言,比较接近与我们的C 语言,且能打断点和单步调试打断点和单步调试.下面以SCL语言为例,编程实现按一定频按一定频 率执行率执行(10Hz)的的DP 非循环数据非循环数据读读/写写. 2. 添加一个组织块: MainOB1,选择SCL 语言, 3. 再添加三个共享数据块 Data_block_1DB1, 用于定义Main 代码中需要用到的全局变量. Data_RDREC_RECORDDB2, 用于 定义非循环读的目的数据缓冲区 Data_WRREC_RECORDDB3, 用 于定义非循环写的源数据缓冲区 每个OB/

27、FB/FC/DB都 有唯一的编号,程序中 添加过后, 就会从添加 新块的选择表中消失. Internal usage only 34 3 编写PLC代码 3.1 Main 编辑DB 1. 写一些注释有助于理 解代码 在共享数据块DB1中定义Main程序中需要用到的Static变量: 比如读/写状态机变量等. Internal usage only 35 3 编写PLC代码 3.1 Main 编辑DB DB属性: 优化的块访问(用于连接HMI) 1. 通过优化块访问,系统将对存储空间进行 处理。 数据元素在声明中仅分配了一个符号 名称,对块中的变量可以按照符号名称进行 寻址。 这样可提高 CPU

28、 的性能。 例如,从 HMI 中进行数据访问时不再出错。 Internal usage only 36 3 编写PLC代码 3.1 Main 编辑DB 在数据块DB2中定义非循环读的目的数据缓冲区 Data_WRREC_RECORDDB2 在数据块DB3中定义非循环写的源数据缓冲区 Data_WRREC_RECORDDB3 Internal usage only 37 3 编写PLC代码 3.1 Main 添加SFB(系统功能块) 1. 将扩展指令-分布式I/O- WRREC功能块和RDREC 功能块分别拖入Main页面 2. 系统自动各生成一个实例 WRREC_DB和RDREC_DB 3.

29、将基本指令-定时器操作- IEC定时器 TON拖入Main 页, 用于控制读/写频率 4. 系统生成一个实例 IEC_Timer_0_DB 5. 系统块中会自动生成IDB(实 例数据块): WRREC_DBDB4 RDREC_DBDB5 IEC_Timer_0_DBDB6 Internal usage only 38 3 编写PLC代码 3.1 Main 完善代码 这个TON功能块是符合IEC-61131-3标准 的,生成这样的脉冲波形: P#:表示参数类型为Pointer(指针) Internal usage only 39 3 编写PLC代码 3.1 Main 监控 编译并下载组态到PLC

30、,下载完毕后在监控表页面 点击 全部监视,组态软件进入正常监控状态 1. 根据SAI协议文档,设置非循环 读取毛重命令入参: Index = 0 x14(Profibus索引索引) Mlen = 4(字节数字节数) 2. 点击立即一次性修 改所有选定值 3. 观察读取的毛重 值 Internal usage only 40 3 编写PLC代码 3.2 中断 循环中断 2. 在CPU属性-常规选项卡- 中断-循环中断-中设置中断 周期 1. 添加循环中断, 操作系 统将会调用分配给该事 件的组织块OB32(类类 似于似于NXP CPU上的中上的中 断服务程序入口断服务程序入口) 3. 编写中断服

31、务程序 Internal usage only 41 3 编写PLC代码 3.2 中断 硬件中断 1. 将OB40 硬件中断硬件中断 加入程序块中 (类似类似 于于NXP CPU IO引脚引脚 上上的中断服务程序的中断服务程序 入口入口) 2. 设置这个输入口上 是上升沿/下降沿触 发硬件中断OB40 Internal usage only 42 3 编写PLC代码 3.2 中断 异步错误中断 DP通信断开又恢复,如何能够让通信状态自动恢复? 将OB80 OB82 OB85 OB86 OB87异步错误中断异步错误中断加入程序块 中,不需要写任何代码. 因为有中断事件发生时,如果没 有下载对应的

32、组织块, CPU将会 进入STOP模式. 即使生成和下 载一个空的组织块,出现对应的 中断事件时, CPU也不会进入 STOP模式. 通常组织块的编号越大,优先级 越高. S7-300组织块的优先级是 固定的 Internal usage only 43 3 编写PLC代码 3.3 程序的基本结构 用户程序的结构 PLC程序 操作系统 用户程序 用于实现与特定的控制任务无关的功能: -处理PLC的启动 -过程映像输入输出表(I Q) -调用用户程序 -处理中断和错误,管理存储区,处理通信 用于实现与特定的控制任务: -块结构: 用户编写的程序和程序所需的数据放在块中,使单个 的程序部件标准化.

33、通过块与块之间类似于子程序的调用,使用 户程序结构化. -块分类 8 逻辑块: 包含程序的块 -OB (组织块) -FB (功能块) -FC (功能) -SFB (系统功能块) -SFC (系统功能) 8 数据块: 包含数据的块 -DB (共享数据块) -IDB (实例数据块,自动生成) Internal usage only OB87 IDB2IDB3 IDB1 44 3 编写PLC代码 3.3 程序的基本结构 块的调用 操作系统 Main OB1 FB1FC1 FB2FB3SFC1 FC2 DB1 OB32 Internal usage only 45 3 编写PLC代码 3.3 程序的基本结构 组织块OB 组织块OB没有实例数 据块, 变量声明表中只 有临时变量 组织块的变量声明表, 共20Byte -时间级别与标识符 -. -OB被启动的日期和时间 Internal usage only 46 3 编写PLC代码 3.3 程序的基本结构 指令SFB SFC Internal usage only 47 3 编写PLC代码 3.3 程序的基本

温馨提示

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

评论

0/150

提交评论