WinCC使用中的C脚本、VBS脚本以及VBA应用
写在面前
大家好,我是小智,智能制造之家号主~
相信很多使用过WinCC 、Intouch等组态软件的人都使用过脚本编程去实现一些功能,今天我们就谈谈WinCC中的脚本编程~
注意:本次说的是WinCC Classic,不是TIA Portal WinCC,也不是WinCC OA,毕竟不同的组态软件有着自己的特色和限制,不过即使组态软件再不同,不管使用C语言,VB,始终还是语法,并无太大差异。
本次内容主要有:
01 WinCC系列文章和阅读前提
02 脚本的优势与组成
03 C脚本、VBS和VBA
04 WinCC中访问数据库的三种方法举例
05 一个很直白的现实
照旧先把前面WinCC 相关文章梳理一遍,同时说下阅读前提
01 WinCC系列文章和阅读前提
想先分清TIA Portal WinCC ,WinCC Classic和WinCC OA的,请先看:
一文带你了解西门子Wincc
想了解TIA Portal WinCC ,WinCC Classic和WinCC OA的典型架构和选型,基本介绍的,可以查看:
WinCC V7.5典型架构及选型指南
WinCC系统的基本功能介绍——自动化工程师必备~
初识西门子Wincc OA——超大型/分布式SCADA
TIA Portal WinCC的项目架构及版本差异
如果你想了解WinCC如何与MES,PLC通讯,WinCC的工业数据桥,如何连接数据库,WinCC的虚拟化技术的,请查看:
WinCC (TIA Portal) 和WinCC flexible 访问 SQL SERVER数据库
WinCC是如何承接上层MES和下层PLC的通信的?
WinCC的虚拟化架构与技术
WinCC与第三方系统数据交互—IndustrialDataBridge
阅读前提:
有一定WinCC或者其它组态软件基础,使用过或了解C语言,VBS或者VBA其中一种,或者都没有使用过但是想了解WinCC脚本的
02 脚本的优势与组成
为什么需要使用脚本?
官方的定义是这样的:使用 WinCC 脚本的优势在于,虽然 WinCC 通过组态也可以实现部分图形和过程的动态化,但是使用脚本更加灵活、功能更加丰富和强大。
说得直白和通俗一些,就是当你使用WinCC组态觉得力不从心,诸如连接SQL SERVER、Mysql,诸如将数据写入Excel等office软件等等,例子很多~
?WinCC 脚本系统由哪些部分组成?
主要由以下三部分组成:C 脚本、VBS 脚本和 VBA 。(也许很多人会说就是C和VB,也没问题)
03 C脚本、VBS和VBA
C脚本:通过函数和动作来实现图形和过程动态化
?函数是一段代码,可在多处使用,但只能在一个地方定义。WinCC 包括许多函数。函数一般由特定的动作来调用。此外,用户还可以编写自己的函数和动作。
?动作用于独立于画面的后台任务,例如打印日常报表、监控变量或执行计算等。动作由触发器启动。
我们先来看看函数和动作的架构
来源:西门子
大家知道,C脚本有项目函数,标准函数和内部函数,那它们之间有什么区别呢?
来源:西门子
VBS:使用微软标准的工具编辑和调试,使用 VBS 能够访问ActiveX控件和其它Windows应用的属性和方法,VBS 脚本有过程(Procedures)、模块(Modules)和动作(Atcion)
过程是一段代码,类似于 C 语言中的函数。模块是一个文件,存放着一个或多个过程。相互关联的过程应该存放在同一模块中。在运行状态下,如果通过动作调用某个过程时,包含此过程的模块也会被加载。
来源:西门子
VBA应用功能:
来源:西门子
04 WinCC中访问数据库的三种方法举例
来源:西门子
05 一个很直白的现实
大家觉得靠看公众号文章真的能学到很多牛逼的技术吗?在我看来,答案是否定的,公众号零散的学习方式不一定适合所有人,很直白,也很现实:
1.想靠看看公众号杂乱无章的文章就去能学好WinCC或者别的诸如NX MCD,Camstar的,兄弟醒一醒,除非你本身就有不错的相关基础,或者你有不错的解决问题的能力,举个例子,面对对所有人都开放的相同的互联网,有的童鞋可以看到一篇文章之后,可以通过这篇文章搜寻到他想要的所有相关的东西,从而进行有针对性的系统性学习,而有的童鞋却只能等待下一次看到类似文章,因为他获取互联网海量信息的方式过于简单~
2.公众号的文章,在我看来跟多的目的是开拓我们的思维,给我们以一瞬间的启发,更多的是分享思想和方法,就像前面的两次分享:
自动化早已不是原来的自动化,为何你却还是原来的你
记自己16天备考的PMP,谈人到中年的迷茫,转型与思考
其中我们都提到了思考的重要性,技术型分享的目的不是教会大家如何去按部就班的操作,而是把原理讲清楚,激发自我思考和自我解决问题的能力,再带着自己的问题去追寻自己的答案。
往期推荐(以下链接仅在公众号有效)
品牌篇
西家软件知多少-盘点有多少你不知道的西门子软件
罗克韦尔的软件全家桶
达索的数字化全家桶
侃侃PTC的数字化制造
标准篇
OPC UA-面向未来的工业通讯规范
基于IIoT的通信标准—TSN(时间敏感网络)
汽车动力总成生产线的Sicar-TRANSLINE 2000 HMI PRO
Sicar-从基于TIA Potal的汽车行业自动化标准看数字化制造
SIMOVE——基于TIA Portal 的AGV行业自动化标准
PLC通信篇
大话与PLC通讯的N种方式第一期-以西门子300为例
大话与PLC通讯的N种方式第二期-S1200通讯案例说明
MES与PLC握手的几种方式——大话与PLC通讯的N种方式第三期
西门子S7-1200的Modbus RTU通讯-大话与PLC通讯的N种方式第四期
大话PLC的N种通讯第五期-基于C#的TCP通讯与S7通讯
简析西门子开放式用户通信OUC和通信小结——大话与PLC通讯的N种方式第六期
罗克韦尔PLC生产者和消费者——大话与PLC通讯的N种方式第七期
工业以太网与PROFINET---S7-1500 OUC 通信示例 | 大话与PLC通讯的N种方式第八讲
[附软件下载]施耐德SoMachine平台下的OPC UA通讯——大话与PLC通讯的N种方式第九讲
PROFINET下的 I-Device(智能设备)通信——大话与PLC通讯的N种方式第十讲