工控随笔_07_西门子_WinCC利用命令行实现操作log日志

  在WinCC中可以通过报警纪录来实现操作员纪录,这个需要WinCC的消息系统进行组态和配置。

利用消息系统进行实现上诉功能不但复杂而且时间久啦也不方便查询。那么有没有一种简单的方法来

实现操作员纪录呢?

  我们知道在Windows系统中可以通过批处理来实现很多功能,而且操作也比较简单,学习起来也

没有多大的难度。那么我们是否可以Windows的批处理功能来实现日志功能呢?

  

一、WinCC执行外部程序。

  在WinCC中通过

ProgramExecute("notepad.exe");

 函数可以执行外部程序。  其中函数的参数是外部程序的路径和可执行文件名。

二、cmd解释器的路径和直接启动cmd解释器传递参数

1、查看路径

我们可以通过命令行查看 cmd 解释器的路径。 默认cmd解释程序的路径为:%windir%\system32\cmd.exe

  图 利用命令行查看cmd解释的路径和可执行文件名

2、给cmd解释器传递参数

  在运行对话框中输入命令:

cmd /c start notepad.exe

  这个命令直接就可以启动记事本程序。

  图 利用cmd的方式启动记事本程序。

  这个命令需要解释一下:

cmd 是命令解释器可执行程序,后面的   /c start notepad.exe 是传递给cmd的参数, /c 表示后面的

字符串是一个命令行,是一条命令;  start 表示是要启动一个程序,  notepad.exe 是要启动的程序。

三、利用cmd解释器直接生成log文件

  在运行对话框输入:

cmd /c  echo "我是log测试行">>C:\Users\volcanol\Desktop\log.txt

  如下图所示:

  点击确定执行。在桌面生成一个文件 log.txt, 并且我们的内容也输入到了文件中,如下图所示:

  图 利用cmd解释器生成的log.txt 文件

三、WinCC脚本执行

  结合上面说的cmd解释器的执行和在WinCC中执行外部程序,我们就可以做成一个简易的操作记录

日志了。

ProgramExecute("cmd.exe /c echo ---------------------->> E:\\我是cmd命令行log.txt");
ProgramExecute("cmd.exe /c echo %date%>>E:\\我是cmd命令行log.txt");
ProgramExecute("cmd.exe /c echo %time% >>E:\\我是cmd命令行log.txt");    //Return-Type: unsigned long int
ProgramExecute("cmd.exe /c echo 我按下了按钮 >>E:\\我是cmd命令行log.txt");
ProgramExecute("cmd.exe /c echo. >>E:\\我是cmd命令行log.txt");
ProgramExecute("cmd.exe /c echo --------------------->> E:\\我是cmd命令行log.txt");

  我通过上面的代码,就在E盘符下面生成了一个日志文件。如下图所示:

  图 WinCC中利用cmd命令生成日志文件

四、结语

  上面的命令执行的时候有很多的命令行窗口,其实我们可以将这些写成一个命令行脚本,同时还可以在

WinCC中设置一个项目函数,传递参数的方式执行,这样就不会有很多命令行窗口一闪而过,项目函数执行

的方式待续。

--------------------------------------------------------------分割线---------------------------------------------------------------

1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

4、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线--------------------------------------------------------------

原文地址:https://www.cnblogs.com/volcanol/p/9973081.html

时间: 2024-10-15 00:35:54

工控随笔_07_西门子_WinCC利用命令行实现操作log日志的相关文章

工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定程度后才出现的,因为不但操作系统的程序规模越来越大,而且应用 程序的规模也是日益增长. 代码重用在OOP出现后又是进一步提升. 什么是对象呢?  按照以前Unix的套路:一切皆文件.  在这里也可以说一切皆对象.计算机本身 也可以看做一个对象. 对象具有特征和功能,特征表现为属性,功能表现为方法.

工控随笔_03_西门子_Step7项目打开后CPU显示问号解决方法

我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.

利用命令行引用外部jar包以使程序正常运行的4种方法

声明:本博客为原创博客,未经允许,不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/30976069 平时写一些小的Java Demo时我比较喜欢用UltraEdit或记事本写完后,直接利用命令行进行编译和运行.这样的好处就是方便快捷.相信有这个习惯的人应该还大有人在.但是如果要引用外部jar包,应该如何操作呢?在写JDBC的一些Demo时,由于要利用jar包来加载相应的数据库,每个Demo都用到了外部jar包,所以特地总结了一下

利用命令行删除Android系统自带应用的方法

一般来说,手机厂家都会在手机中内置许多应用,而这些应用是使用一般的应用程序管理无法删除的.当然,现在有一些APP,如360和豌豆荚,在获取了系统的root权限之后是可以删除自带应用的.但是如果我不想让一个app来获取我的root权限呢?有没有方便.快捷的方法呢? 当然有,那就是利用shell命令.当然,首先要安装当前手机的驱动程序,否则无法进行调试. 在如何删除Android系统中的内置应用一文中作者也介绍了利用命令行删除系统应用的方法,但是个人感觉太麻烦了,其实有更简单的方法,只要三步即可:a

Android中利用命令行进行截屏并导出到电脑上

声明:本博客为原创博客,未经允许,不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/27819525 大多数人最常用的截屏方法可能就是利用手机的快捷按键了,但是那样如果要导入到电脑中效率会比较低.实际上有更好的截屏方式,最简单的当然就是利用Eclipse中的DDMS进行截屏了,点击"Screen Capture"按钮后等待10多秒,然后就可直接利用Save按钮保存到电脑中. 显然,由于要进行图片显示的原因,在DDMS中会

利用命令行引用外部jar包以使程序正常执行的4种方法

声明:本博客为原创博客.未经同意.不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/30976069 平时写一些小的Java Demo时我比較喜欢用UltraEdit或记事本写完后,直接利用命令行进行编译和执行.这种优点就是方便快捷.相信有这个习惯的人应该还大有人在. 可是假设要引用外部jar包.应该怎样操作呢?在写JDBC的一些Demo时.因为要利用jar包来载入对应的数据库.每一个Demo都用到了外部jar包,所以特地总结了一

(三)、利用命令行参数输入多个参数,判断该数组是否为回文数组

1 /* 2 利用命令行参数输入多个参数,并赋值给一数组,同时判断该数组是否为回文数组 3 –PS:例如数组{“123”,”222”,”333”,”222”,”123”}就是回文数组,即元素倒置过后与原元素一样 4 */ 5 package com.gen; 6 public class ArgumentHuiwen { 7 public static void main(String args[]) 8 { 9 int num[]=new int[100]; 10 int len=args.l

CentOS 6.5 下利用命令行截图及设置快捷键截图

CentOS 6.5 下利用命令行截图及设置快捷键截图 1.利用命令模式 捕获整个屏幕 : $ gnome-screenshot 截完屏之后我们可以设置自定义图片存储位置,如图: 捕获当前终端Terminal : $ gnome-screenshot -w 捕获自定义区域 :$ gnome-screenshot -a 利用-B参数可以去除终端窗口的名称状态条:$ gnome-screenshot -w -B 使用-d参数来延迟截图的时间(仅限于截全屏时使用) :$ gnome-screensho

(四)、利用命令行参数输入一个整数,打印空心菱形

1 /*利用命令行参数输入一个整数,并判断该数字是否为奇数,如果是奇数,则用其作行数打印空心菱形 2 –PS:将字符串转换为数字的方法 3 •int num=Integer.parseInt(String number);*/ 4 5 package com.gen; 6 public class ArgumentKongLing { 7 public static void main(String args[]) 8 { 9 for (int m= 0; m < args.length;m++