西门子840Dsl数控系统数据传输软件设计及实现
作者:***
来源:《电脑知识与技术》2022年第10期
摘要:该设计以现场应用为导向,通过比较西门子840Dsl数控系统数据传输软件的开发方式,基于SCP协议,设计了一种数据传输方法,通过西门子840Dsl免费公开的少量接口,以软件的方式解决了控制端与840Dsl数控系统的人机交互问题,并且在Visual Studio 2013环境下实现了840Dsl数据传输软件,达到了设计目标。
关键词:SCP协议;840Dsl;人机交互
中图分类号:TP301 文献标识码:A
文章编号:1009-3044(2022)10-0107-03
vs编程软件 1 概述
在智能制造中,实现PC与数控系统正常运行所需要的各种系统参数和加工程序间的通讯,即通过程序的自动化方式将数控加工程序与工艺参数传送至数控机床是非常重要的一个环节,这也是对数控机床进行数据采集的基础。鉴于上飞公司零件加工中心装备了大量基于西门子840Dsl数控系统的各类机床,因此研究PC与西门子840Dsl数控系统的通讯交互是件非常有意义的工作。在目前PC与数控系统的通讯方式上,主要为CMI通讯方式(如图
1所示) ,即由于西门子数控系统的封闭性,要实现PC端与其数据传输,每台数控设备需要花费一笔不小的许可证费用(3000元人民币) 向西门子公司购买与设备进行通讯的软件许可接口。在实现与西门子数控系统数据传输的环节上,基本上都要基于该接口来完成相关应用的开发,花费较大。针对PC与西门子840Dsl数控系统数据传输实现上产生较高经济成本的问题,在不违反西门子数控系统许可证条例的前提下,本文设计了一种基于WinSCP的数据传输方法,只需通过西门子840Dsl免费公开的少量接口[1],以軟件开发的方式解决了PC端与840Dsl数控系统的数据传输交互问题,且不需要任何许可证费用,显著降低了智能制造成本。本文从CMI通讯方式和自行设计的基于WinSCP方式等两种方案对西门子840Dsl数控系统数据传输软件进行设计并予以实现。
2 CMI通讯方式
CMI通讯方式的全称为Create MyInterface,为西门子嵌入式控制器同时具有PLC的健壮性及PC的高速和开放性,可将控制功能、显示功能、工艺功能等集成于一个控制器中。西门子嵌入式控制器与PLC一样使用STEP 7组态软件进行组态和编程,支持所有的PLC编程语言。同时西门子嵌入式控制器提供了开放式开发包WinAC ODK以支持用户使用Micros
ft Visual Studio集成开发环境和C/C++/VB/C#等进行二次开发。由于普通PC机不能适应工业环境(温度范围宽、震动大、电磁环境复杂) ,所以西门子根据工业环境要求对PC硬件进行重新设计,推出了西门子嵌入式控制器。西门子嵌入式控制器分两个系列,一个是按照S7-300规格设计的S7-mEC(S7模块化嵌入式控制器),目前的型号有EC31;另一个是嵌入式工控机平台,目前有IPC427C套件和IPC477C套件。简单归纳,西门子嵌入式控制器在功能上相当于一台传统PLC加上一台PC机,在出厂时已预装好操作系统和WinAC RTX软件,这样在功能上相当于两个操作系统,一个是通用操作系统(Windows),一个是实时操作系统(WinAC RTX)。在Windows下开发程序需要Windows SDK(RTX SDK) 和集成开发环境(Visual Studio) 等相互配合。
WinAC RTX软件提供的基础开发包是RTX SDK(WinAC RTX即是使用RTX SDK开发的),结合Visual Studio集成开发环境可开发在RTX下运行的实时应用程序[1]。WinAC ODK则是提供了一些应用程序接口来使得用户开发的在Windows或RTX下运行的程序可以与WinAC RTX通信。如果要开发在Windows下运行且与WinAC RTX通信的应用程序,则需要Visual Studio集成开发环境和WinAC ODK。如果要开发在RTX下运行且与WinAC RTX通信的应用程序,则需要RTX SDK、Visual Studio集成开发环境和WinAC ODK。如果
要开发在RTX下运行但不与WinAC RTX通信的应用程序,则只需要RTX SDK、Visual Studio集成开发环境。在RTX下运行的用户程序需要RTX Runtime的支持,RTX Runtime在WinAC RTX安装时已被安装,所以在西门子嵌入式控制器上运行用户开发的在RTX下运行的程序前不需要安装RTX Runtime。使用WinAC ODK时需要购买WinAC ODK开发授权,用WinAC ODK开发生成的应用程序的运行无需授权。WinAC ODK包含三种接口形式:CCX、SMX和CMI。使用CCX,可开发生成Windows下运行的dll文件和RTX下运行的rtdll文件。可以在WinAC RTX的PLC程序中先使用SFB65001创建CCX对象(dll文件或rtdll文件) 的实例,然后使用SFB65002(同步调用) 或SFB65003(异步调用) 来调用CCX对象,以扩展WinAC RTX的功能。使用SMX,可开发生成Windows下运行的.exe可执行文件和RTX下运行的.rtss可执行文件。这些可执行程序与WinAC RTX通过一个4KB大小输入和一个4KB大小输出的共享内存区来通信。使用CMI,可将WinAC RTX控制面板的功能(显示和切换WinAC RTX模式,读取诊断信息等) 集成到在Windows下运行的用户自定义组态画面中,如图2所示CMI授权许可接口,其中的实现,正是基于西门子数控系统数据传输方案之一的CMI通讯方式。
在开发基于CMI通讯方式的840Dsl数据传输软件之前,首先需要在840Dsl的PCU50及
PC上安装西门子Create MyInterface软件,只有在这两个终端上均成功安装经过授权的CMI,其后才能在PC上开发基于CMI的数据传输软件,其软件安装环境架构如图3所示。这样在启动机床端PCU的SINUMERIK Operate时,Create MyInterface也会同时启动[1]。
在对PC端的CMI进行相应配置后,即可进行840Dsl数据传输软件的开发。PC和SINUMERIK控制器之间的通信是利用远程过程调用(RPC) 的概念来传输较小量的数据。在通过RPC进行通信过程中,PC端必须知道从中处理RPC的通信对象,这些机器(PCU) 的名称必须存储在PC中,这些都是通过函数中的参数给出,参数是作为RPC组件传输的数据。在开发时,机床端PCU也可以使用此RPC调用来请求PC端状态数据,其函数为T_MACHINE_H(Host,Machine,OrderNum)。例如,当有工件被装夹进机床后,西门子SINUMERIK控制器就会将机器状态数据发送到PC,由PLC启动。根据数据,PC端识别哪个工件夹具已在机床内装夹完毕,并传送该工件夹具的程序发送给机床PCU。在每种情况下PC端都会传输和选择下一个NC程序。然后,PLC可以启动NC程序(在有人或无人主计算机模式下) ,PCU通过机器状态数据报告PC端数控系统启动和数控系统结束等[2],该交互流程如图4所示。
在上述PC端与PCU端交互流程的基础上,该数据传输软件的设计也就已经完成,在这总结设计流程如下:在双方RPC/CMI启动后,当前PCU状态将自动发送到PC,并使用RPC调用R_MACHINE_H。如果RPC / CMI能够将RPC调用发送到PC端,则RPC会在内部将主机的状态记录为“在线”。如果RPC/CMI无法将RPC调用发送到主机,则内部状态将保持“脱机”状态。同时,应当注意的是,在双方建立RPC连接之后,在每次发送到PC端的RPC调用之后PCU会重新建立当前机器状态,并不断轮询PC端当前状态[2],其工作流程如图5所示。至此,基于CMI通讯方式的数据传输软件设计完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论