西门子840DSL二次开发简介

在这里插入图片描述

写在前面
前段时间有朋友问到840DSL的二次开发,小编抽时间总结了下,感兴趣的小伙伴可以听小编介绍下这个受众人群相对比较少的西门子840DSL数控系统的二次开发。这篇是介绍原理性质的文章,先从原理讲起~

虽然说可能受众人群相对较少,但是不代表对于不是学习840dsl的人就没有参考意义,每一门技术都需要基础技能的支撑,这些很多都是想通的 ,学习840dsl的二次开发需要有以下几个前提:

1.了解840dsl的基本知识(如关于TCU,PCU,CP,NCK,PLC,Sinumerik Operate等),熟悉数控系统;

2.了解QT,了解C++(或者C#);

3.具有些许网络知识,对Window和Linux等有一定认识更好。

关于840dsl的 二次开发分两种:1、TCU的二次开发 2、PCU的二次开发;前者是基于linux开发,后者是基于windows开发。对于大多数最终用户而言,选用TCU的比较多,因此本文介绍的主要也是基于TCU的界面二次开发。

   先上张图片:

西门子840DSL二次开发简介_第1张图片

   看到上图,大家的第一关注点是在哪里呢?

   小编对通讯比较感兴趣,那首先看通讯啦。HMI与NCK、PLC和驱动器之间的通讯是通过软总线实现的,该总线的功能相当于PLC的K总线。软总线使用的是S7通讯协议。外部接入的HMI通过通讯处理器 (CP) 来访问系统内的NCK、PLC和驱动器。同理,系统内部的 HMI也可以通过CP来访问其他NCU内的 NCK、PLC 和驱动器。

架构:NCK软件和由Linux操作系统控制的部件在同一个架构为x86的处理器中执行。而PLC 软件和驱动器软件则分别在单独的处理器中执行。所以可以理解为是两个独立的部分。小编在调数控系统的时候,发现HMI崩溃,但是不影响PLC和驱动的运行,其中的原理就在这副图中。同理,如果PLC没启动,驱动是运行不了的,但是不影响HMI的操作。

下面开始进入二次开发的正题了:

SINUMERIK Operate具有一种以组件为导向的架构。组件可以分为两大类:GUI组件和HMI服务。其中,GUI组件是图形化的用户界面。典型的GUI组件有:各个HMI话框与各大操作区域(加工、操作、程序、程序管理、诊断和调试)。HMI 服务则用于实现基本功能以及将系统集成到自动化过程中,基本功能包括了所有GUI组件都需要使用的功能。典型的HMI服务有:读写控制变量的服务;报警和零件程序信息的报警服务和事件服务等。

   上面一段话可能会较为抽象:简单说,就是分为界面和功能。只有界面或者只有功能都是没用的;要给每个控件赋予相应的功能,就实现了840DSL的二次开发。

   下图用图形说明GUI组件和HMI服务的关系:

西门子840DSL二次开发简介_第2张图片

GUI组件和HMI服务可以灵活组合,构建需要的HMI系统。GUI组件及其需要使用的HMI 服务要根据所需的HMI功能进行配置。只有经过配置后,GUI组件以及HMI服务才会在程序运行时加载到存储器中,然后被执行。此外,GUI组件以及HMI服务既可以在同一个进程中执行,也可以在分布在多个进程中执行。HMI组件在各个进程中的分布情况对于组件而言是完全一目了然的,一个GUI组件看不到自己使用的HMI服务是在同一个进程中执行还是在另一个进程中执行。不管哪种配置,对HMI服务的访问都是通过一个接口实现的,而是始终是同一个接口。

   平台通用性和开发工具:

   如下图所示,这就是PCU的二次开发和TCU的二次开发

西门子840DSL二次开发简介_第3张图片

   开发工具用的就是visual studio啦,再安装库环境就可以啦。840DSL的二次开发可扩展性非常强,是基于QT的,QT的几乎所有库都可以使用。所以小编对这个还是很感兴趣的。下面上一张小编开发的:

西门子840DSL二次开发简介_第4张图片

今天的东西相对比较小众,不像前面讲解的关于PLC通讯,关于Wincc那样普遍,即使是使用840DSL的人,也大部分在于调试,应用,网上相关的二次开发就更少了,下一讲小编会着重讲开发案例,带感兴趣的小伙伴们一起入门。后续感兴趣的小伙伴也可以会随着案例的讲解放送关于二次开发用到的文档和软件,但是小编很反感很多人只知道无脑下载,甚至不知道下载的东西有什么用,即使下载了,也不过多了一堆占硬盘的垃圾而已,喜欢的朋友请关注下本刊,谢谢支持!

也许很多小伙伴注意到了,现在讲解很多东西的时候,小编都会强调需要提前具备的一些知识和技能,其中关于网络,关于高级语言编程出现的概率很高,随着IT和OT的逐步融合,也希望大家不要故步自封,小编见过工作多年所谓的Camstar资深顾问在介绍数据库时候,说IBM的数据库是DB4的,见过工作多年的PLC工程师连子网掩码是啥都搞不明白的,也见过所谓的调试伺服的工程师连Kv与跟随误差关系都没明白就开始瞎搞的,更不要说优化,甚至见过号称搞了多年虚拟调试,却连虚拟调试时常用的OPCUA用起来都还是一头雾水的,因此小编在此建议做技术的小伙伴们,一定要把相关的基础补齐,明天本刊会有关于Python的入门推荐,对于想转行或者入门Python的小伙伴可以关注哦~

如果不熟悉或者想入门的朋友,可以先看看本刊关于SInumerik数控系列的介绍(下面有链接).

西门子840DSL二次开发简介_第5张图片

你可能感兴趣的:(TIA)