基于Profibus-DP的HNC与PLC数据通信实现.pdf

返回 相似 举报
基于Profibus-DP的HNC与PLC数据通信实现.pdf_第1页
第1页 / 共5页
基于Profibus-DP的HNC与PLC数据通信实现.pdf_第2页
第2页 / 共5页
基于Profibus-DP的HNC与PLC数据通信实现.pdf_第3页
第3页 / 共5页
基于Profibus-DP的HNC与PLC数据通信实现.pdf_第4页
第4页 / 共5页
基于Profibus-DP的HNC与PLC数据通信实现.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述:
2016 年 2 月 第 44 卷 第 4 期 机床与液压 MACHINE TOOL & HYDRAULICS Feb􀆱 2016 Vol􀆱 44 No􀆱 4 DOI10.3969/ j􀆱 issn􀆱 1001-3881􀆱 2016􀆱 04􀆱 032 收稿日期 2015-01-03 作者简介 李仲杰, 男, 硕士研究生, 研究方向为机电控制系统。 E-mail 498984594@ qq􀆱 com。 通信作者 吴亦锋, E-mail yifengwu@ 126􀆱 com。 基于 Profibus⁃DP 的 HNC 与 PLC 数据通信实现 李仲杰, 吴亦锋, 沈在平 (福州大学机械工程及自动化学院, 福建福州 350108) 摘要 针对工业生产上多控制器控制系统的控制器间数据通信问题, 以压铸机中 HNC 液压控制器与 PLC 控制器的数 据传输为例, 提出了基于 Profibus⁃DP 的数据通信方案。 以西门子 S7⁃300 为主站, 液压控制器 HNC100 为从站, 通过 Profi⁃ bus⁃DP 现场总线实现了两个控制器之间数据的实时传输, 其实时性和精度均满足生产工艺要求。 此方案在实际生产中容易 实现和推广, 具有较好的参考价值。 关键词 HNC 液压控制器; Profibus⁃DP 通信; PLC 中图分类号 TP274 文献标志码 B 文章编号 1001-3881 (2016) 4-101-5 Data Communication Between HNC and PLC Based on Profibus⁃DP LI Zhongjie, WU Yifeng, SHEN Zaiping (School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou Fujian 350108, China) Abstract Based on the example about the data communication of HNC and PLC, a communication scheme between HNC and PLC was proposed based on Profibus⁃DP. The system was made of upper level industrial control computer PLC S7⁃300 and hydraulic controller HNC100. In this technique, SIEMENS S7⁃300 PLC was a master station and communicated with slave station HNC100 by Profibus⁃DP, so the real⁃time data communication of the local data was realized. Keywords HNC controller; Profibus⁃DP communication; PLC 目前以 PLC 为主的自动控制系统在工业上得到 广泛的应用, 但针对某些行业的应用特点, 以单一 PLC 为核心的控制系统难以满足工业高标准生产要 求, 因此在工业应用上出现针对行业特点的专用控制 器, 进而通过在以 PLC 为主的控制系统中结合满足 高生产需求的专业控制器的方式, 提高生产的控制水 平。 以压铸机为例, 现代压铸机在机械结构上已经相 对完善合理了, 因此要想提高压铸件的质量主要从液 压元件灵敏度、 压铸工艺参数实时控制等方面着手。 目前, 国内大部分压铸机, 特别冷室压铸机基本上都 还是采用单一控制器如 PLC 对压铸过程进行控制, 压铸速度和压力主要根据生产经验改变阀开度反复调 试完成, 这样的控制方式无法保证压铸件质量。 国外 高端压铸机基本采用多控制器实现压铸伺服控制, 在 高速压射过程中快速调控, 根据压铸件质量要求, 实 现不同阶段的充型压射速度控制、 生产参数动态测 量, 进而显著提高了压铸件质量[1-2]。 在多控制器的控制系统中, 不同控制器间的数据 可靠通信就成为控制系统稳定运行的关键。 力士乐 (Bosch Rexroth) 公司生产的 HNC100 液压控制器, 因其能独立编制 NC 程序对液压缸实施灵活控制, 在 电液控制上应用较多, 但其与主控制器之间目前仍仅 限于开关量联络, 未能将生产运行数据传输给主控制 器, 影响了主控制器对生产过程数据的实时掌控, 给 监控带来了不便。 为此, 针对 HNC100 液压控制器与 西门子 S7⁃300 PLC 控制器之间的数据传输问题, 研 究如何实现 HNC 与 PLC 之间的数据通信, 以满足压 铸机生产过程数据的实时可靠传输。 1 现场总线的选取 现场总线是一种应用于生产现场, 在设备之间实 行双向、 串行、 多节点通信的技术。 目前国际上有几 十种现场总线标准, 应用比较广泛的主要有 Modbus、 DeviceNet、 Profibus、 ProfiNet、 ControlNet 等现场总线。 现场总线在各领域得到了广泛应用, 经过多年工 业生产的检验, 其稳定可靠性得到业界的认可。 不同 的现场总线标准应用于不同场合, 如 Modbus 主要应 用于传动点较少、 响应时间要求低的场合; Profibus⁃ DP 主要应用多点传动、 快速响应时间、 具有分布式 I/ O 的工业场合; DeviceNet 总线主要用于开关、 传感 器等工业设备[3]。 文中采用 Profibus⁃DP 现场总线在多 控制器之间进行数据通信的方案, 以满足压铸生产所 需的快速响应要求, 因为 Profibus⁃DP 仅采用了 ISO/ OSI 通信标准模型中的物理层、 数据链路层和用户接 口层, 这种精简的结构保证了数据的高速传输[4]。 2 基于 Profibus⁃DP 的监控网络结构 文中的核心控制器是力士乐公司的 HNC100⁃2 液 压控制器和西门子公司 S7⁃300PLC, 主要实现 PLC 通 过 Profibus⁃DP 与 HNC100 之间的数据交互。 HNC (Hydraulic Numerical Controller) 是力士乐 公司推出的一种数字闭环液压控制器, 主要应用于液 压缸的各种闭环控制, 包括液压缸的闭环位置控制、 闭环压力、 闭环速度控制, 提高液压控制系统的响应 速度和控制精度; 根据不同的工艺流程还可实现速 度、 位置、 压力交替控制; 能够在恶劣工业环境中正 常使用, 有较强抗干扰、 抗机械振动以及气候耐受能 力, 在要求高精度控制的液压系统中得到广泛应用。 西门子 S7⁃300 PLC 是模块化中型 PLC, 具有高速的 指令运算速度、 方便的人机界面服务, 各种单独的模 块可以广泛组合构成不同要求的控制系统, 在工业上 应用广泛[5-6]。 图 1 基于 Profibus⁃DP 的 HNC 与 PLC 通信网络结构示意图 HNC 与 S7⁃300 作为控制系统的核心控制器, 为 了更好地完成工艺上的控制, HNC 在对液压元件进 行控制时应保证与 S7⁃300 的通信, 因此文中构建了 HNC 与 S7⁃300 的 Profibus⁃DP 通信网络示意图, 如图 1 所示, 监控 PLC 的上位机采用组态软件, 实现对 PLC 的数据监控。 3 基于 Profibus⁃DP 的 HNC 与 PLC 通信系统配置 Profibus 通信的前提是在双方设备建立网络组态 信息。 为此, 需要先用 STEP7 新建一个项目, 并进 入 HWConfig 硬件组态界面, 根据 PLC 实际使用模块 对其一一配置; 由于 HNC 不是西门子产品, 要实现 对 HNC 的组态, 必须先导入 GSD 文件, 该 GSD 文件 起到一个识别设备身份、 分配其功能的作用, 可以通 过 Options>>Install GSD File, 将 HNC 的 GSD 文件导 入, 并从选件表中将 HNC100 挂至 Profibus 网络中。 西门子 STEP7 使用硬件组态表来进行 Profibus 硬 件组态搭建时, 双击 CPU 的 DP 接口, 就可以新建 Profibus⁃DP 网络, 同时需配置相应的 DP 地址、 通信 长度地址等, 并将 S7⁃300 作为 DP 主站、 HNC100 作 为 DP 从站, IO 地址选择自动分配。 HNC 采用 8B 的 通信长度, 因此在 IO 分配中需各分配 8 字节的发送 和接送区域, 并且在 HNC 中也设置相应字长的收发 格式。 对于 Profibus 通信, 为保证通信准备, 需对各 个设备分配 DP 地址以及相同的通信波特率, S7⁃300 可以通过软件配置 DP 地址, HNC 则需要保证软件配 置和硬件地址相一致, HNC 硬件地址主要由 S1、 S2 拨码开关和偏移量组成, S1、 S2 相对应的地址如图 2 所示。 图 2 Profibus⁃DP 网络组态示意图 201机床与液压第 44 卷 4 HNC 通信报文格式与程序设计 S7⁃300 作为 DP1 类主站, 在每个固定循环向 HNC 从站发送数据请求, 当请求满足时, HNC 响应 请求并发送相应数据。 HNC 作为智能从站, 对其 Profibus⁃DP 的传输字长及各字节都有定义, 主要采 用 8B 的数据块进行通信。 根据图 3 所示的传输数据 格式进行 PLC 数据背景 DB 块设计。 图 3 HNC 通信格式及 PLC 的 DB 块 第 1 字节是 IDbyte 功能识别, 主要实现通信功能 区分, 可以通过 Profibus⁃DP 实现 HNC 的 R 参数读 写、 设备参数读写, C 参数、 B 参数读写, 过程参数 读取, 标示读写及曲线点读取功能, 需注意第 1 字节 的后 3 位数据在不同功能定义中代表不一样的数据含 义, 在此示例中主要采用过程参数读取功能。 第 2 字 节是 CIDbyte, 主要是校验和同步功能, 当采用 Profi⁃ bus⁃DP 周期性数据传输时, 识别位的异同表示新数 据的传输, 因此识别位需进行周期性的变化, 这一点 在编程中应特别注意。 第 3 字节则是具体的通信指 向, 如 R 参数通信中针对的是第几个 R 参数读写, 剩余字节定义可以查看图 3 中的通信格式。 针对通信 格式, PLC 通信采用数据背景 DB 块, 根据格式建立 8B 的数据块, 文中针对过程位置值的通信, 因此设 立 A00103 抬头的 8B 数据块, 如图 3 所示。 8B 长度的数据区域是连续而不可分割的, 因此 针对这种 “一致性” 数据区域通信, 采用系统功能 块 SFC14 和 SFC15 进行多字节的连续数据读写。 SFC14 DPRD_DAT 读取 DP 从站的某个一致性输入数 据区, SFC15 则将 S7CPU 的某个一致性输出数据区 域发送给 DP 从站。 表 1 详细描述了 SFC14 和 SFC15 的输入输出参数[7]。 SFC 的参数 LADDR 是一个指向 301第 4 期李仲杰 等 基于 Profibus⁃DP 的 HNC 与 PLC 数据通信实现 将要读取或者写入的数据区域指针, 这个参数所指定 的 DP 从站输入或输出模块必须和早先在 HWConfig 中组态的相应地址保持一致, 采用十六进制格式。 参 数 RECORD 在不同的 SFC 中分别用于定义 CPU 数据 的源区域或目标区域[8]。 表 1 SFC14/ SFC 15 参数描述 参数声明数据类型存储区域描述 LADDR输入WORDI, Q, M, D, L 常量 用于指定在 HWConfig 中所组态的 DP 从站 输入 (SFC14) / 输出 (SFC15) 模块的起始地址 RET_VAL输出INTI, Q, M, D, LSFC 的返回值 RECORD输出ANYI, Q, M, D, L 存放所读数据的目标区域 (SFC14) 写入用户数据所在源区域 (SFC15) 注意 在周期循环通信中, 为使 HNC 能对 PLC 数据请求进行响应, 需在每个循环周期中使识别位改 变, 识别位的改变让 HNC 识别这是一个新的数据请 求, 因此可采用取反指令, 将 DB20 中的识别位进行 取反。 根据通信报文格式, PLC 程序流程示意图如图 4 所示。 图 4 PLC 通信程序流程图 为方便对通信数据进行比较, 文中采用两种循环 方式, 一种是主程序循环, 另一种是中断程序循环, 即编写中断程序块 OB35, 并设置循环中断时间为 1 ms。 HNC 液压控制器通过参数设置, 可以简单快捷 实现速度位移等开闭环控制, 无需在主程序上进行复 杂设计, 因此 HNC 主程序设计相对便捷, 主要采用 NC 指令中的 G01 指令编写。 G01 指令格式 G01 X <命令位置> I<加速> J < 减速> F<横移速度> <剩余速度> G01 命令可以实现轴以给定的速度和加速度从命 令位置移到指定位置, 当它到达指定位置时, 以剩余 速度通过。 作者结合某油缸的运动要求编写了 HNC 主程序, 如图 5 所示。 图 5 HNC 主程序设计 HNC100 独立运行时位移传感器反馈的位移曲线 如图 6 所示。 图 6 HNC 独立运行时的位移曲线 5 监控界面设计 在工控机上采用组态王软件对 PLC 进行数据监 控, 读取 PLC 指定内存数据并进行比较。 首先, 在组态王中新建项目, 并通过新建设备> >西门子>>S7300 (MPI) >>MPI (USB), 进入下一 步选用 COM 口, 设置地址为 2􀆱 2, 表示第二个模块, MPI 地址为 2, 即可建立 S7⁃300 设备。 建立对应数据 变量如图 7 所示, 数据位 16 位, 选用数据类型长整 形, 根据数据长度设置上限为 4 294 967 296, 并标记 401机床与液压第 44 卷 为每次变化时记录, 即可实现将数据变化存储为历史 曲线, 寄存器则指向相对应的存储 DB 块。 图 7 变量定义对话框 为了实现实时监视位移数据, 在组态王中建立相 应的曲线监控画面, 使用曲线坐标系插件, 对位置值 进行曲线绘制和保存历史数据。 完成后的组态监控设 计画面如图 8 所示。 图 8 组态王监视画面 6 运行结果及分析 如图 9 所示将来自 HNC 和 PLC 的位移数据进行 比对。 图 9 是一个液压缸顶杆的位置曲线, 数据分别 来自上位机的组态王采集的 S7⁃300 主程序和中断程 序位移数据, 以及来自 HNC 的位移数据。 由图 9 可 见, 油缸顶杆从位移 0 至位移 140 mm 之间进行了往 返运动, 最终停在 111􀆱 7 mm。 3 条曲线基本重叠, 放大局部可以看出中断和主程序位移数据曲线重叠, HNC 位移数据则相对细密并上下波动。 运行结果表 明 PLC 主程序数据采集、 中断程序数据采集和 HNC 位移数据之间的误差为 0􀆱 3 mm, 静止精度误差 为 0􀆱 01 mm。 该误差是油缸在运动时所采集到的数据 间的误差, 主要因为油缸运动时位移传感器变化速度 较快, 数据跳动幅度较大。 组态王数据在固定时间长 度内采集的数据点数相对 HNC 数据点数来说偏少, 这与采用串口 MPI 监控方式有关, 可以通过采用通 信卡提高通信速率和精度。 图 9 运行数据对比 7 结束语 在多控制器的控制系统中, 不同控制器间数据的 可靠通信是监控系统的需要。 以压铸机中 HNC100 液 压控制器与 PLC 控制器通信为例, 提出基于 Profibus⁃ DP 的数据通信方式, 并针对 HNC 通信报文格式进行 程序设计。 对运行结果的通信数据进行对比, 表明在 基于 Profibus⁃DP 现场总线的监控系统中, 可以有效 实现 HNC 与 PLC 之间的数据交互和参数读写, 并实 时在工控机上显示, 数据精度高, 可以满足工业生产 的监控要求。 该通信方案简单实用且稳定可靠, 在工 业多控制器控制系统中容易实现。 同时, 文中的方法 对其他专用控制器的通信也具有参考价值。 参考文献 [1] 陈兰芳,孔彦虎,柴山.基于 PROFIBUS⁃DP 网络的 AB⁃ Controllogix5000 与 SIMATICS7⁃300 的通信[J].甘肃冶 金,2014(4)111-115. [2] 于俊,易孟林,罗晓玉,等.压铸机实时控制压射系统的 研究[J].机床与液压,2004(12)132-133. [3] 孟彦京,陈卓.几种现场总线协议在造纸机电气传动中 的应用[J].化工自动化及仪表,2010(2)70-72. [4] 阙刚,卞树檀.现场总线技术现状及前景综述[C] / / 全 国测控、计量、仪器仪表学术年会,2006. [5] WEIGMANN J,魏格曼,KILIAN G,等.西门子 PROFIBUS 工业通信指南[M].北京人民邮电出版社,2007. [6] 苏振华,段丽华,邱立朋,等.基于 HNC 的液压同步控制 实验台构建[J].重型机械,2014(1)37-40. [7] 李慧,卫兵,王浩君,等.基于 PROFIBUS⁃DP 的 ABB 机 器人与安川 MP2310 的数据通讯[J].制造业自动化, 2014(13)23-24. [8] 黄婷婷.基于 ProfiBus 的过程控制系统的软硬件组态 [J].现代电子技术,2014(1)160-162. 501第 4 期李仲杰 等 基于 Profibus⁃DP 的 HNC 与 PLC 数据通信实现
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420