怎么在wincc运行界面里面输入中英文文字,并且能连接到报警记录里面显示。关机后下次开机的时候还能保

请问高手:
怎么在wincc运行界面里面输入中英文文字,并且能连接到报警记录里面显示。关机后下次开机的时候还能保存显示输入的文字。
这个比较棘手。
谢谢!

最佳答案

我以前的做法是安装[RICHTX32.OCX]控件,注册后在WinCC画面里面调用[RICHTX32.OCX]控件进行备忘文字输入且当输入换行时保存。

1 建立两个内存字符串变量用来保存文本文档的路径(ProjectPath)和文件名(FileName);

2 在当前项目下建立文本文件DiaryBook.txt,用来保存用户输入的文字内容;

3 WinCC启动初始画面时(不是文字输入画面),执行C脚本获取当前项目的路径到ProjectPath变量,然后FileName就等于ProjectPath+DiaryBook.txt;
用到的C脚本:
 char szProjectFile[_MAX_PATH+1]; 
 DM_DIRECTORY_INFO dmDirInfo; 
 CMN_ERROR Error; 
 char * psz=NULL; 
 char dir[255]; 
 if(DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&Error)==FALSE) 
 { 
 return; 
 } 
 if(DMGetProjectDirectory("",szProjectFile,&dmDirInfo,&Error)==FALSE) 
 { 
 return; 
 } 
 SetTagChar("ProjectPath",dmDirInfo.szProjectDir  );
 strcat(dmDirInfo.szProjectDir,"DiaryBook.txt"); 
 SetTagChar("FileName",dmDirInfo.szProjectDir  );

4 打开文本输入画面,拖入加载的[Microsoft Rich Textbox Contorl 6.0(SP6)]控件重命名为[RichtextCtrl1],[RichtextCtrl1]就是用来进行文字备忘输入的文本框了;

5 修改拖入的[RichtextCtrl11]控件的FileName属性,连接到上面建立的FileName变量。这样当运行当前画面时,[RichtextCtrl1]控件就会自动打开DiaryBook.txt文件读取内容显示出来了;

6 接着在[RichtextCtrl1]控件的KeyDown事件下输入vb脚本,实现当按下[回车键]时保存当前输入的文本到文件;
  用到的VB脚本:
 If KeyCode=13 Then
  Dim objTag
  Dim FileName
  Set objTag = HMIRuntime.Tags ("ProjectPath")
  FileName = objTag.Read 
  ''SaveFile
  item.saveFile FileName
 End If

7 如果为了放止没换行时导致数据未保存,只能在画面上添加一个闪烁的按钮来提示用户手动保存。
  手动保存按钮背景闪烁默认为[否]状态,可以在RichtextCtrl控件的Change事件里面开启按钮闪烁。
  用到的VB脚本:
 ScreenItems("SaveButton1").FlashBackColor = True
  如果闲这样还不够,那就直接用秒触发执行ScreenItems("RichtextCtrl1").saveFile FileName指令,每秒钟保存一次文件了。

<完>

提问者对于答案的评价:
虽然很详细,很复杂,但是我也没学会。
还是要谢谢高手。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc264880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午3:19
下一篇 2019年6月11日 上午3:19

相关推荐

  • win7 xp mode下安装WINCCflex 2008 sp2的问题

    把winccflex2008sp2安装在win7的xp mode模拟器中安装过程提示不能安装Microsoft SQL server 200…

    SIMATIC WinCC 2019年6月11日
  • wincc变量类型

    请问,wincc内各种变量类型有什么区别?O(∩_∩)O谢谢! 问题补充:我指的是无符号8位与有符号8位的区别,无符号32位与32位浮点数的区别等。 最佳答案 1.有符号8位整数,…

    SIMATIC WinCC 2019年6月11日
  • Wincc按钮脚本如何理解?

    按钮脚本如下:SetTagBitWait(TAG_1,(SHORT)!GetTagBit(TAG_1));具体作用是什么的,应该是Tag=1时,按钮执行动作赋值给0,如果TAG=0…

    SIMATIC WinCC 2021年7月5日
  • wincc 变量高低位赋值

    请问:如何在wincc中,将两个int型变量的值写入到一个dint变量的高低位中?, 问题补充:请问VBS可以实现吗 最佳答案 dim mytag(2)mytag(0)=…

    SIMATIC WinCC 2020年11月1日
  • wincc 用户归档数据库路径

    WINCC系统里通过用户归档存储了一些人工录入的数据,想把这些数据进行备份,数据文件在哪里? 问题补充:没人回答。。自问自答吧,研究了下用sql management&n…

    SIMATIC WinCC 2020年11月1日
  • wincc7.3的全局动作里,如何添加.h头文件

    我全局动作c脚本在程序里加入头文件,头文件放在Library文件夹里了,程序编译没有问题,但是我点保存后,再次打开那个全局动作脚本,之前放上去的头文件自动就没了 最佳答案 可以将这…

    SIMATIC WinCC 2021年7月5日
  • TP270-10触屏备份出来的文件能改写吗?

    我现在有Wincc2008B版的 但是只读hmi格式  触屏传出来的文件是psd格式  从触屏传出来的psd格式文件怎么改写然后在…

    SIMATIC WinCC 2017年12月1日
  • wincc7.4SP1智能对象

    wincc7.4SP1智能对象里面为什么没有对象了? 问题补充:图形对象 最佳答案 查看对应的智能对象的文件是否是已选择的状态,如果没有尝试重装,或者找到存在这些文件的电脑,将文件…

    2021年7月5日
  • 定义字符串

    在vbs中怎样定义字符串? 问题补充:strSQL="UPDATE WinCC_DATA SET CH="&DH&"&n…

    SIMATIC WinCC 2019年6月11日
  • Wincc7.3自带sql2008安装问题

    我自己计算机本身已经独立安装的sql2012了,安装wincc7.3的时候是否可以不用选择安装sql2008组件,如果不安装,wincc是否可以正常和sql2012进行数据交互。 …

    SIMATIC WinCC 2021年7月5日