搜档网
当前位置:搜档网 › intouch历史报警配置

intouch历史报警配置

intouch历史报警配置
intouch历史报警配置

(1)在标记名字典里为标记名添加报警

(2)单击"向导",弹出向导选择对话框

选择AlmDbviewCtrl控件(横排第二个),拖入窗口,双击打开AlmDBviewCtrl 属性对话框。

单击"数据库"选项,

在"服务器名(S)"中选择计算机名

在"数据库名(D)"中填写数据库名

在"用户ID(U)"中输入用户名

在"口令(P)"中输入口令

(3)在应用程序中选择alarm db logger manager双击

弹出

点"击设置"弹出

在"服务器名(S)"中选择计算机名在"数据库(D)"中填写数据库名在"用户名(U)"填写用户名在"口令(P)"中输入密码

"记录模式"选择"详细"

点击"下一步"

在"报警查询中"输入报警组点击"下一步"

如图填写

单击"完成"。

(4)在SPC中配置"数据库"

双击"数据库(B)"

在"数据库类型"中选择数据库类型,根据access和SQL server选择在"ODBC数据源"中选择新"<新>"

点击"添加(D)..."

选择驱动程序单击完成。

Intouch报警数据库配置

Intouch报警数据库配置 首先提醒:Alarm DB Logger 仅支持 SQL Server 身份验证,并且 SQL Server 身份验证必须设置为混合模式!如果不幸,在安装SQL Server时,将身份验证设成windows验证的话,可以通过以下步骤改变验证模式。(以SQL Server2005为例) 1.右击主机名弹出快捷菜单,选择“Properties”打开服务属性对话框; 2.选择“Security”,将"Server authentication"改为“SQL Server and W indows Authentication mode”; 3.确定后,重启计算机即可。 ********************************************************************* **************************** 一、配置数据库连接。 1.打开Alarm DB Logger Manager,单击设置,出现 Alarm DB Logger Manager - 配置向导; 2.配置数据库连接。执行以下操作: a 在服务器名框中,输入安装了报警数据库的计算机的节点名。 b 在数据库框中,输入 InTouch 报警数据库的名称。 c 在用户名框中,输入为报警数据库创建的用户帐户名。 d 在口令框中,输入与报警数据库用户帐户关联的口令。 3.在记录模式区域中,配置存储记录的方式。执行以下操作之一: ? 单击详细,以便为每个报警条件(处于报警状态、已确认、已返回正常)存储一条单独的记录。 ? 单击合并,以便将报警的所有状态(处于报警状态、已确认、已返回正常)存储在一条记录中,并包含每次转换的时间标签。 4.如果需要,单击创建以创建数据库。 5.单击测试连接以验证与报警数据库的连接。此时出现一条消息,指出已成功连接到数据库。 二、配置要记录的报警 1.在Alarm DB Logger Manager - 配置向导中单击下一步。此时出现 Alarm DB Logger Manager - 查询选择页面。

Intouch非常实用的总结

INTOUCH非常有用的使用总结 intouch授权: 授权文件wwsuite.lic放在C:\Program Files\Common Files\ArchestrA\License。 intouch时间日期设置: intouch系统变量中时间日期是模拟量,不能很好的显示时间和日期,只有两种方式显示 ⑴、单独的时+分+秒显示。 ⑵、调用向导,选择时钟中的组合控件。 DA/IO Server的区别? 两个驱动都可以。详细的以后补充。 其实是IO SERVER好用,IOSERVER的效率比DASERVER好,DASERVER只是为了方便集成到IAS平台,新作的一种IO开发方式。 以太网通讯还是用DAServer,配置很简单,比ioserver好用。 wwclint的作用? 用来测试SMC通讯配置是否正确。需要连接实际的硬件才能进行测试。 用户的配置? 特别-->安全性-->配置用户:依次输入要添加的用户名、口令、访问级别,再点击“添加”按钮就又“申请”了一个用户。 如果“配置用户”选项是灰色的不可用状态,那是因为你还没有以管理员身份登陆,登陆后就可以点击此选项了。将安全类型切换到“Intouch”。 管理员的默认用户名:Administrator 密码:wonderware 。该用户是无法删除的。 打开项目时出现:另一会话正在编辑此应用程序。无法编辑此应用程序。该怎样解决? 文件夹下,删除appedit.lok。 在安装I/O Server的时候,弹出“install of common components could not be started! Please contact wonderwave techsupport !" 想问一下是什么原因,该怎么解决才能完成安装程序? 先安装:F:\软件备份\io servers\FS2K71\IOServer\Common\Win32\setup.exe 如何使用Unity编程软件的仿真器来与Intouch通信?

intouch学习笔记

Intouch学习笔记(之一) 1、关闭右键菜单在intouch.ini文件中加入 oldrightmousebehavior = 1 2、SmartSymbol 不能包含位图,按钮,单元,报警和趋势 3、初始化标记名与创建ActiveX 控件之间会出现定时问题。由于此定时问题,很难保证标记名的初始值等于ActiveX 控件中相关属性的值。 为解决此问题,必须在“启动”事件与InTouch QuickScript 之间建立一种联系。在QuickScript 中,可采用适当的逻辑将标记名值设置为控件的属性。这可以通过使用赋值语句来实现。例如: #ThisControl.Property = MyTag; 事件发生之后,QuickScript 即开始执行,控件的属性与标记名的值将保持同步。因此,属性与标记名之间会出现正常的通知。 4、将“ActiveX 事件”脚本从一个InTouch应用程序移到另一个应用程序时,您必须 使用WindowMaker 文件菜单上的导入命令。 5、用于启用/ 禁用键过滤器的脚本函数是EnableDisableKeys。 6、UNC路径中使用Wonderware 的SuiteLink 协议时,NodeName 长度限制为15 个字符。 7、要在节点上配置多监视器设置 以下内容需要回复才能看到 1. 使用合适的文本编辑器,例“记事本”Windows目录中的WIN.INI 文件。 2. 找到[InTouch] 部分并添加下列参数: [InTouch] 参数描述 MultiScreen=1 打开多屏幕模式 MultiScreenWidth=640 单个屏幕的像素宽度 MultiScreenHeight=480 单个屏幕的像素高度 例如,如果您计算机的分辨率是2560x1024,分开显示在两个并排 的屏幕上,则可输入下列内容: [InTouch] MultiScreen=1 MultiScreenWidth=1280 MultiScreenHeight=1024 8、SuperTag 模板最多可容纳64 个成员标记名和2 个嵌套级别。这表示,SuperTag 父项可包含多达64 个内嵌的子成员,并且这每个子成员又可以包含多达64 个子成员标记名,因此总共可以有4095 个成员标记名。 9、SuperTag每层最多10个字符长度。 10、记录远程引用标记名 缺省条件下,远程引用的标记名会记入“历史记录”文件。要记录远程引用标记名,您必须启用“历史记录”功能,然后在应用程序目录中的INTOUCH.INI 文件中添加下面一行代码: RemoteTags LogEvents=1 如果不想记录I/O 型标记名,请在应用程序目录下的INTOUCH.INI 文件中添加下面一行代码:RemoteTagsNoIOEvents=1 11、如果在alarmbuf.ini 中添加一行"SuppressionLog=1",则"SuppressionLog=0" 会关闭抑制标准改变时写入Logger 的功能。缺省条件下,此值设置为关闭。 12、热备份对配置文件provacc.ini 13、

intouch alarm docment

Intouch使用PlaySound函数触发报警声音 系统发生报警时工控机发出报警声,点击操作画面上的报警灯进入报警画面可看到具体报警内容,且所有发生的报警均有48h历史记录。InTouch可为每个数据定义报警信息,模拟量还可定义高、低、高高、低低报警值,且可通过条件脚本或数据值改变脚本和用户编制的快速脚本处理各种报警信息,如弹出报警窗口或声音提示。例如,定义一个条件脚本,并在On True脚本框中写上:Show "motor1_high_alarm";(弹出报警窗口) 或PlaySound("d:\sound\阴床硅量过高报警.wav", 1);(声音报警) 具体实践应用: 设置条件为:$System.UnAck {此条件的意义在于报警为确认} 执行语句为:PlaySound("d:\ALARM.wav", 1); 图一

图2 在此说明下,$System.Unack为未确认的报警,在未确认的情况下执行下面的脚本,在此条件类型设置为真期间,每隔6000ms,也是每隔这段时间判断调试是否符合,符合了就发出声响,直到你将报警确认或警报消失。 在此注意的是双引号里面为.wav格式的声音文件,在实际操作过程中注意详细的路径。 PlaySound() 函数 播放波形文件的声音或Windows 缺省声音。 语法 Playsound (soundname, flag) 参数 soundname 声音或波形文件的名称。字符串值、消息标记名或字符串表达式。如果给声音定义名称,它必须在Win.ini 文件中的[Sounds] 部分进行定义,例如MC=”c:\test.wav” flag

Intouch报表

在InTouch中如何使用excel做报表 在InTouch中有很多做报表的方法,本文介绍在InTouch中如何使用excel 来做报表。 首先在Wonderware InTouch 中使用历史数据导出工具histdata , 将Wonderware InT ouch 生成的历史数据导出到文本文件excel中。然后您可以在excel中通过函数对这些数据进行处理生成您需要的数据,如流量、压力、液位等。再通过intouch提供的DDE协议将excel中的数据在intouch中您制作的那个表格里显示出来。 以下是用histdata将intouch历史数据导出到excel中的一些步骤: 1、在Wonderware InTouch 中配置访问名 2、使用INTOUCH向导,打开向导的“趋势”组。选择histdata向导,粘贴到窗口。

双击给其指定一个“历史趋势”型标记名。 3、使用histdata向导时,会自动创建histdata标记名。进入标记名字典可以 看到一些以HDW开头的io型标记名,如HDWDataDir。 Wonderware InTouch 自动生成需要的标记名,这些标记名说明如下:HDWDATADIR 消息型历史数据文件的目录的路径名 例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名

例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样 开始时间 HDWDURATION 消息型数据时间长度(报表时间总长度),可以用星期, 天时,分,秒,等来表示下面是有效的字符:w 星期, d 天,h 小时,m 分,s 秒。允许使用小数值例如.5s 表示500 毫秒,若只需一个样本请将DURATION 设 为0 零 HDWINTERVAL 消息型采样间隔的时间长度,可以用星期日小时分和秒来 表示例如1W 表示一星期允许使用小数值例如用.25d 来表示6小时,有效字符与HDDURATION 相同,注意 DURATION 和INTERVAL 允许的最大时间长度均为6 周,这适用于所有请求类型日、秒等,例如如果使用日 则最大值为42,7 天x 6 周= 42 HDWTAGS 消息型历史数据的标记名列表(报表中需要的标记名),以 TagA,TagB,……TagZ 格式输入,此外采样日期和或时间可 以通过使用内部系统标记名$Date 和$Time 来请求,例如 "$Date,TagA,TagB" 或"$Time,TagA,TagB" 或 "$Date,$Time,TagA,TagB" HDWTAGS1, TAGS2,.... 消息型HDWTAGS 字符串在WindowViewer

intouchmsgbox用户确认窗口脚本说明

In touch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的是”否”确认”取消”“0等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种 MessageBox窗口的脚本,给大家参考: 方案A: 采用In touch系统自带的OLE控件自行编写MsgBox。缺点是创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。 下面是一个例子: 1. 创建用户界面对话框 2. 在脚本中,使用以下命令产生用户界面对话框: 3. 3. dim DlgBody as message; 4. dim DlgTitle as message; 5. dim Style as in teger; 6. dim Result as in teger; 8. 7. OLE_CreateObject(%WS,""); 8. result = %(DlgBody,1,DlgTitle,Style); 11. 9. 本例创建以下用户界面对话框 10. Style标记名确定有哪些图标与按钮出现在对话框上。使用以下值: 复制代码 1. 图标样式值 2. (无图标)无图标0 3. 错误图标16 4. 问号图标32 5. 警告图标48 6. 信息图标64 7. 7. 要使用特定的按钮,请将以下值之一添加到Style值: 8. 值样式 9. 0仅确定按钮 10. 1确定与取消按钮 11. 2放弃、重试及忽略按钮 12. 3是、否及取消按钮 13. 4是与否按钮 14. 5重试与取消按钮 15. 6取消、重试及继续按钮 17. 16. Result标记名包含用户单击的按钮编号。这可用作In Touch脚本中的条件分支。 可能的结果码如下: 17. 结果值含义 18. 1按了确定按钮 19. 2按了取消按钮 20. 3按了放弃按钮

intouch与施耐德PLC连接以及报警查询

如何安装Intouch并与PLC连接 1.软件准备 所需软件都在”D:\安装软件”文件夹里,打开会看到如下图的4个文件夹和一个文本文件. 分别是intouch授权文件,intouch安装文件,PLC驱动程序和SQL2000数据库安装文件,最后文本文件是安装SQL2000所需的注册码,安装时候用到. 2.计算机名和IP地址配置 在计算机桌面的”网上邻居”图标上点击右键,选择属性打开网络连接窗口 然后在本地连接上点右键,选择属性,本地连接属性窗口 按图,选择最后一项,Internet 协议,双击打开

按图,在IP地址栏填入 192.168.0.121,子网掩码填255.255.2550.点击确定,如果提示IP 地址冲突,可以换一个IP,从192.168.0.2到192.168.0.254之间的任意一个,注意不能和别的冲突,另外PLC的IP地址是192.168.0.20也不能填. 然后回到桌面,在桌面上”我的电脑”图标上点击右键,选择属性,出现”系统属性”窗口,选择”计算机名”选项卡,如图

点击更改,出现 在计算机名处填入syws,点击确定,弹出提示说要重启电脑生效,一直点确定重启电脑即可. 3.Intouch软件安装

打开intouch文件夹,双击Setup.exe文件.出现如下图窗口. 点击确定,稍等一会,出现如下对话框 点击确定,然后安装好后就会出现intouch安装界面. 点击下一步,出现

选择”我接受该许可证协议”,然后点击下一步,出现 点击画红圈的位置,选择整个功能安装在本地硬盘驱动器上,如下图效果

点击下一步,出现 按图输入用户名: syws 密码:123456 然后点击下一步,再下一步就会安装intouch了,稍等一会出现.

Intouch非常实用的总结

INTOUCH非常有用的使用汇总报告 intouch授权: 授权文件wwsuite.lic放在C:\Program Files\Common Files\ArchestrA\License。 intouch时间日期设置: intouch系统变量中时间日期是模拟量,不能很好的显示时间和日期,只有两种方式显示 ⑴、单独的时+分+秒显示。 ⑵、调用向导,选择时钟中的组合控件。 DA/IO Server的区别? 两个驱动都可以。详细的以后补充。 其实是IO SERVER好用,IOSERVER的效率比DASERVER好,DASERVER只是为了方便集成到IAS平台,新作的一种IO开发方式。 以太网通讯还是用DAServer,配置很简单,比ioserver好用。 wwclint的作用? 用来测试SMC通讯配置是否正确。需要连接实际的硬件才能进行测试。 用户的配置? 特别-->安全性-->配置用户:依次输入要添加的用户名、口令、访问级别,再点击“添加”按钮就又“申请”了一个用户。 如果“配置用户”选项是灰色的不可用状态,那是因为你还没有以管理员身份登陆,登陆后就可以点击此选项了。将安全类型切换到“Intouch”。 管理员的默认用户名:Administrator 密码:wonderware 。该用户是无法删除的。 打开项目时出现:另一会话正在编辑此应用程序。无法编辑此应用程序。该怎样解决? 文件夹下,删除appedit.lok。 在安装I/O Server的时候,弹出“install of common components could not be started! Please contact wonderwave techsupport !" 想问一下是什么原因,该怎么解决才能完成安装程序? 先安装:F:\软件备份\io servers\FS2K71\IOServer\Common\Win32\setup.exe 如何使用Unity编程软件的仿真器来与Intouch通信? ⑴首先保证Unity编程软件在仿真状态(PLC→仿真模式。) ⑵将程序现在到仿真器,仿真器就会自动启动起来了。

巧用Intouch小函数制作画面

巧用Intouch小函数制作画面 我们用Intouch制作监控画面时,为了安全起见一般需要对技术参数设置保护,对重大事故报警需要播放声音报警和弹出警示窗口,同时为了避免岗位人员随意关闭监控画面和使用工控电脑玩小游戏的各种情况,我们可以利用Intouch 的各种小函数,对工控机电脑做各种限定和保护。下面介绍几个Intouch的小函数: 1.登陆函数PostLogonDialog()和Logoff() PostLogonDialog()和Logoff()是登陆Intouch配置用户的函数,使用时首先需 要配置Intouch用户,Intouch默认2个用户,Administrator 和None,其中Administrator(默认密码wonderware)的访问级别最高9999,None的访问级别为0,我们可以设置一个user用户,访问级别定义为6000,对于需要保护的技术输入参数,设置时效性 如将“删除故障记录”按钮加保护,不能随意删除故障记录,必须有权限的人才能删除故障记录,利用PostLogonDialog()函数登陆刚才配置的user用户名,

才能删除故障记录,同时利用Logoff()注销刚才的登陆,保护技术性参数。 2.PlaySound( SoundName, Flags ) PlaySound( SoundName, Flags )函数是播放音乐的函数,当我们制作画面,需要对重大报警做声音提示的时候可以使用它,通过Windows 声音设备(如已安装)播放波形声音,此声音由.wav 文件名指定,或由win.ini 文件的[sounds] 部分中的项目指定。函数使用格式:PlaySound( "E:\alarm.wav", 9 );其中Flags 根据值的不同播放的报警声音的次数不同 3.Show Window 当重大事故报警时,同时弹出故障连锁画面,及时发现事故原因,函数格式为:Show "故障显示"; 4.EnableDisableKeys(AltKey,EscKey,WinKey) EnableDisableKeys(AltKey,EscKey,WinKey)函数,可以锁定键盘,将键盘失效,当函数为EnableDisableKeys(1,1,1)时锁定键盘,使键盘不能操作,可以编写脚本在程序运行时设置,如:

历史报警时间段查询手册.

历史报警时间段查询手册 目的:在InTouch 的WindowViewer 运行时,自定义的选择一个时间段,并查询该时间段的历史报警记录。 思路:利用IDE 下自带的ArchestrA 报警控件、2个时间选择控件(选择开始时间和结束时间)、自定义按钮,组成历史报警时间段查询的基本图符。如下图: 注:ArchestrA 报警控件只有在Galaxy 为“Base Application Server”类型时才显示,但能够在普通InTouch 环境下正常使用。

在“查询指定的时间段”按钮内编写动作脚本,在脚本中调用报警控件的时间设置属性AlarmClient1.TimeSelector.SetStartAndEndTimes(StartTime,EndTime,0,将该属性中的StartTime 和EndTime 赋值为时间选择控件的值,如下: AlarmClient1.TimeSelector.SetStartAndEndTimes(DateTimePicker1.Value,DateTi mePicker2.Value,0; 设置时间完成后,需要让报警控件进行指定时间段的重新查询,需要再添加一条属性: AlarmClient1.Requery(; 同时,为了方便用户切换,还添加了按钮“更新到最近1小时报警”的功能按钮,具体设置请参照下列步骤: 1、具体设置步骤: (1)双击报警控件,出现如下配置界面:

选择客户端模式为“历史报警”,配置相应的数据库名、用户名、密码等,在“其他设置”中时间范围设置采用默认形式。以上填写完毕即是报警控件的配置结束。 (2)在“查询指定的时间段”按钮下,编写属性脚本。具体如下:

intouch学习总结

1.intouch和Modsim32一起仿真的设置 2. 注意:在仿真时如果有离散的又有模拟量必须用两个Modsim32来仿真,不然再切换modsim32显示界面的时候会出现通讯异常,一下就是两个仿真器 MODSIM32: connection-------->modbustcpserver启动 File--------------->new Device ID 1 (这个后面要用到) Intouch SMC: 安装DASMBTCP DAserver --------->new_tcpIP_port-----502端口-------->new modbus bridge-----modsim32所在电脑的IP----->new_modiconMicro--------->( PLC unit ID:1 DeVice Group:Topic_0 ) Modsim32在本机127.0.0.1

intouch中访问名的设置: 主题名和DEVICE grops的主题名一致 协议选用SuiteLink DA server 都是SuiteLink是用的OPC通讯DDE是IOserver与intouch的通讯协议 在ArchestraIDe中的设置如下图:

Seevernode:运行DAserver的电脑IP Server name: daserver驱动程序的名称 COmmnication protocol: suiteLink Topic:和SMC中配置的DEvice groupS中的保持一致 Attribute:变量名任取(注意要满足命名规则,方便自动链接IO)TteM reference:变量的地址

INTOUCH学习笔记

目录 1.新建数据词典,操作站和工程师站所需要安装的不同之处,创建窗口,打开图库,导入导出窗口 2.画面做了三个动画,并且连接变量组态实例,写脚本 3.程序不能够编译但是能运行的原因,报警控件,并且做一个确认报警的按钮,显示所有报警记录的,追究责任的操作记录,制作报警弹出窗口 4.把报警弄成一个excel表,并且可以查询出来,删除没有使用的变量方法, 找实时曲线和历史曲线怎么找 5.安全级别设置,哪些地方哪些人可以动,哪些不可以动,建立起始页,忘记登录密码的时候操作方法 6.intouch的常用函数,更改密码,注销,退出登录等 7.intouch的报表制作 8.视频截图学习为主 8-(1)intouch软件安装步骤 8-(2)建立四个画面进行页面布局设置,和建立一个main画面大小一样的模板新画面,一个组态好的点,替换里面的标签名直接就变成另外一个变量显示画面方法,打开画面组态 8-(3)图库和控件的位置和各种动画组态讲解,以及全程程序,事件程序,条件程序等脚本语言 8-(4)报警控件配置,确认报警按钮 8-(5)新建变量名,点的批量导入导出,脚本IF语句,条件,变化,事件,快捷键等语句执行例子 8-(6)安装图库里面没有的控件,TEXBOX控件语句例子,新疆工程的开始画面报警历库等的配置,新建Intouch模板 8-(7)历史曲线和实时曲线制作 8-(8)intouch程序打开错误的处理方法和安全的配置,密码修改,画面上做登录界面 8-(9)Intouch与OPCLINK通信等各种OPC通信,用到SMC转modbus协议和别的协议为opc协议,opc软件来读,intouch与excel通信 8-(10)Intouch的ACCESS历史数据库配置和历史数据查询 8-(11)程序备份和还原 1

Intouch非常实用的总结

I n t o u c h非常实用的总结标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DDQTY-KII

INTOUCH非常有用的使用总结 intouch授权: 授权文件放在C:\Program Files\Common Files\ArchestrA\License。 intouch时间日期设置: intouch系统变量中时间日期是模拟量,不能很好的显示时间和日期,只有两种方式显示 ⑴、单独的时+分+秒显示。 ⑵、调用向导,选择时钟中的组合控件。 DA/IO Server的区别 两个驱动都可以。详细的以后补充。 其实是IO SERVER好用,IOSERVER的效率比DASERVER好,DASERVER只是为了方便集成到IAS平台,新作的一种IO开发方式。 以太网通讯还是用DAServer,配置很简单,比ioserver好用。 wwclint的作用 用来测试SMC通讯配置是否正确。需要连接实际的硬件才能进行测试。 用户的配置 特别-->安全性-->配置用户:依次输入要添加的用户名、口令、访问级别,再点击“添加”按钮就又“申请”了一个用户。 如果“配置用户”选项是灰色的不可用状态,那是因为你还没有以管理员身份登陆,登陆后就可以点击此选项了。将安全类型切换到“Intouch”。 管理员的默认用户名:Administrator 密码:wonderware 。该用户是无法删除的。 打开项目时出现:另一会话正在编辑此应用程序。无法编辑此应用程序。该怎样解决 文件夹下,删除。 在安装I/O Server的时候,弹出“install of common components could not be started! Please contact wonderwave techsupport !" 想问一下是什么原因,该怎么解决才能完成安装程序 先安装:F:\软件备份\io servers\FS2K71\IOServer\Common\Win32\ 如何使用Unity编程软件的仿真器来与Intouch通信

Intouch MsgBox用户确认窗口 脚本说明

Intouch在做按钮动作和调试脚本时,经常需要用户确认窗口,根据用户点击的“是”“否”“确认”“取消”“OK”等取得返回值,从而根据用户二次确认以获得最终结果,下面给出两种MessageBox窗口的脚本,给大家参考: 方案A: 采用Intouch系统自带的OLE控件自行编写MsgBox。缺点是创建的用户界面对话框可能会被其他窗口覆盖,不易别察觉。 下面是一个例子: 1.创建用户界面对话框 2.在脚本中,使用以下命令产生用户界面对话框: 3. 4.dim DlgBody as message; 5.dim DlgTitle as message; 6.dim Style as integer; 7.dim Result as integer; 8. 9.OLE_CreateObject(%WS,"Wscript.Shell"); 10.result = %WS.Popup(DlgBody,1,DlgTitle,Style); 11. 12.本例创建以下用户界面对话框 13.Style 标记名确定有哪些图标与按钮出现在对话框上。使用以下值: 复制代码 1.图标样式值 2.(无图标)无图标 0 3.错误图标 16 4.问号图标 32 5.警告图标 48 6.信息图标 64 7. 8.要使用特定的按钮,请将以下值之一添加到 Style 值: 9.值样式 10.0 仅确定按钮 11.1 确定与取消按钮 12.2 放弃、重试及忽略按钮 13.3 是、否及取消按钮 14.4 是与否按钮 15.5 重试与取消按钮 16.6 取消、重试及继续按钮 17. 18.Result 标记名包含用户单击的按钮编号。这可用作 InTouch 脚本中的条件分支。 可能的结果码如下: 19.结果值含义 20.1 按了确定按钮 21.2 按了取消按钮 22.3 按了放弃按钮

intouch环境 实现声音 报警方法

Intouch环境中实现声音报警的方法 在系统监控程序中,有些重要的报警需要第一时间提示操作运行人员,所以,我们会将一些重要的报警点通过声音报警的方式单独的分列出来。 实现方法 1、打开intouch编辑界面WindowMaker如图1, 图1 在界面左面“脚本”窗口中,右键点击“条件”弹出就“新建”选项如图2

图2 此时,会弹出“条件脚本”界面,如图3,此时,我们以创建“ATE3_103SY”为例,这是一个“精处理装置解列”的报警点,我们需要它产生报警的时候,上位机能够以声音的方式发出警报, 参数设置如下: 条件:报警点在上位机的标签名,可通过双击空白处进入标记名字典而进行选择 注释:此报警点的中文所表达的含义,注释作用 条件类型:报警点触发声音报警的条件,为真期间需要设置触发间隔时间 空白栏处:触发此报警点的脚本

图3 如果要建立多个报警点的话,则按上述方法进行重复操作即可。附件: PlaySound() 函数 播放波形文件的声音或 Windows 缺省声音。 语法 Playsound (soundname,flag)

参数 soundname 声音或波形文件的名称。字符串值、消息标记名或字符串表达式。如 果给声音定义名称,它必须在 Win.ini 文件中的 [Sounds] 部分进行定义,例如MC=”c:test.wav”  flag 指定如何播放声音。文字整数值、整型标记名或整型表达式,含义如下: 0 - 同步播放声音一次(脚本等到声音播放完毕才继续执行)。 1 - 异步播放声音一次(脚本不必等待声音播放完毕再继续执行)。 9 - 连续播放声音(直到再次调用 PlaySound() 函数为止)。 示例 此脚本播放 c:\welcome.wav 文件的声音一次,并暂停脚本执行,直到声音播放完毕。 PlaySound("c:\welcome.wav",0); 此脚本连续播放声音警告。在 win.ini 文件 [Sounds] 部分,需要将声音名称 Alert 与声音文件关联起来,例如:

Intouch 使用介绍

下一代工业自动化软件的开发平台 Wonderware ArchestrA?

Wonderware 企业级应用和信息系统的新平台 -- ArchestrA
Wonderware 在过去的 5 年中投入了巨大的人力和资金为工业应用开发这样一个强大的平台(见图一) 。 Wonderware 很早就认识到在一个统一的平台之上创建和运行工业应用程序的重要性。这样的一个新的平 台框架使应用程序的开发者能专著于充分利用他们本行业的专业知识,而不用再底层技术细节上花费过多 的精力。 这个全新的技术叫做:ArchestrA? -- 她不是传统意义上的一个单独的产品,而是一个平台,一套底层服 务。这个新的技术给工业自动化应用的开发者:从系统集成商、OEM、增值销售商到最终用户带来巨大的 好处。
(图一) Wonderware 将工业自动化软件都需要的一些的共同的基本的功能和服务( Services )抽象出来,构成 ArchestrA? 平台。她旨在将用户从复杂的底层技术中解放出来,他们只需要“组合”的技能,而不是“编 程” 技术, 并专注于他们已经熟悉的本行业的专业知识。 这个平台构架在微软操作系统和相关软件 (例如.Net 框架)之上。 ArchestrA? 致力于提供一个可以在各种自动化行业实施的,包含通用底层结构的平台。ArchestrA? 提供如 下一些公共服务: ? 设计和开发环境 Design and development environment ? 部署机制 Deployment Services

? 脚本和计算服务 Powerful scripting and calculation services ? 报警和事件子系统 Alarm and Event subsystem, for management, delivery, printing, and historization services for alarm and events ? 强大的内置的历史纪录和数据传输服务 Powerful built in historization and guaranteed delivery services ? 规模可伸缩性 Built in distributed architecture services for scaleability ? 集成硬件驱动 Integration with and data acquisition from all types of field devices ? 对象间通讯和命名服务 Inter-object communications and name service management services ? 版本管理服务 Version management services ? 安全机制服务 Security Model services ? 集中授权和部署服务 Centralized license management and deployment services ? 集中故障诊断服务 Centralized system diagnostics and system administration services ? 对象和应用服务的国际化 Internationalization of objects and application services ? 界面编辑服务 Graphical/UI editing services, with multiple runtime rendering services ? 报表和查询服务 Reporting and Query services ? 支持 OPC 和 SQL 等工业标准 Common support for industry standards such as OPC and SQL 这个仍然可以扩展的特点列表,预示着在不久的将来工程师们开发工业自动化应用的方式将会发生巨大的 变化!工程师们将用一种全新的,以工厂为中心(Plant-centric ) ,组件化对象化的方式进行系统设计。在 微软 Windows 和 Wonderware 的 ArchestrA? 所构筑的新平台之上, 工程师可以复用在不同的工程中产生的 对象。 Wonderware 的 FactorySuite 已经有多年的历史,此套件已经经历了两代的增强集成,集管理控制、制造执 行、 批管理以及其它功能于一身, 但是 ArchestrA 将把集成度带到一个新的水平。 由 FactorySuite 向 ArchestrA 转变将分两个阶段进行: ? The FactorySuite Scalable Application ? FactorySuite Next Generation (NG) 在第一个阶段中,系统采用一种 “ 混合 ” 策略,引入的新的组件“ Application Server ”就是一个架构在 ArchestrA? 之上的后台服务器,最新的 FactorySuite 的其他组件可以和 Application Server 配合使用,现有 的 FactorySuite 用户不会被抛弃。 在第二个阶段 FactorySuite NG 中,新的 FactorySuite 应用将全部组件化,给用户提供了空前的可扩展性和 灵活性。

intouch for 语句用法

Intouch脚本函数之For循环语句使用说明 For循环可以反复执行一段代码。InTouch HMI 仅支持 FOR 循环。FOR 循环按所监视的每次循环迭代产生的递增或递减的数值循环变量值来进行。循环一直执行到循环变量值达到设定值。 For 语法如下: FOR LoopTag = StartExpression TO EndExpression [STEP ChangeExpression] ... 语句或另一个 FOR 循环 ... NEXT; ? StartExpression, EndExpression 与ChangeExpression 共同定义迭代次数。 ? StartExpression 设置循环范围的开始值。EndExpression 设置循环范围的结束值。 ? STEP ChangeExpression 可选择设置每次循环迭代过程中循环标记所递增或递减的值;如果不指定此值,则使用缺省值 1,即每次循环对LoopTag加1。 例子e.g: FOR i=1 TO 100 STEP 2 ...........语句 NEXT; //表示每次循环i加2,总计循环50次 执行 FOR 循环时, InTouch HMI: 1 将 LoopTag 设置为 StartExpression 的值。 2 测试 LoopTag 是否大于 EndExpression。如果是,InTouch HMI 退出循环。(如果ChangeExpression 为负数,则 InTouch HMI 测试LoopTag 是否小于EndExpression)。 3 执行循环内的语句。 4 按 ChangeExpression 的值(除非另外指定,否则设为 1)递增 LoopTag。 5 重复步骤 2 到 4直到LoopTag达到 EndExpression的值。 使用 FOR 循环时请记住以下规则: ? FOR 循环可以嵌套。最大嵌套级数取决于可用的内存与系统资源。 ? 对于每个 FOR 语句,必有一个 NEXT 结束语句。与If...else语句相同,在同一嵌套级别中, NEXT 语句总是应用于前面最接近的FOR 语句。 ? LoopTag 必须是数值标记(或局部变量),比如整形标记。 ? StartExpression、EndExpression 以及ChangeExpression 必须是赋值为数值结果的有效表达式,比如整形标记。 ? 如果 ChangeExpression 为正, EndExpression 必须大于 StartExpression ;反之如果 ChangeExpression 为负,StartExpression 必须大于EndExpression。否则循环不会开始。 强制结束循环 您可以通过调用语句 EXIT FOR; 在任何时间退出循环。此语句使脚本继续执行紧接着循环 NEXT 语句后的其他语句。 示例 下面的代码段使用循环将大量的虚拟记录插入数据库表。如果插入记录时发生错误,则放弃循环以防止产生更多错误。 FOR Counter = 1 TO 1000 ResultCode = SQLInsert(ConnectionID, "BatchDetails","BindList1"); IF ResultCode <> 0 THEN LogMessage("Error creating records!Aborting..."); EXIT FOR; ENDIF; NEXT; 循环对其它运行时进程的影响 执行 FOR 循环时, WindowViewer 中的所有其它运行时进程都暂停。包括以下进程: ? 屏幕更新(动画链接、值显示、趋势等)。到循环完成之前不会发生任何移动,因此不能给动画对象使用 FOR循环。 ? I/O 通讯。例如,如果修改 FOR 循环中 I/O 标记的值,则只有最终的迭代后面的值才会写入 I/O 设备。 ? 其它脚本,包括异步 QuickFunction。 您可以通过将 FOR 循环放入异步 QuickFunction 来避免暂停其它运行时进程。 循环执行的时间限制 为避免无限循环,程序设置了一个时间限制, FOR 循环必须在这个时间限制内完成执行否则WindowViewer 会自动终止循环它,并将一条关于终止的消息写入 Log Viewer中。 默认缺省的循环时间限制为 5 秒。可以通过向应用程序目录中的 intouch.ini文件添加下面这行以对它进行自定义循环时间:LoopTimeout=x

INTOUCH建立报警组

Intouch报警组的添加 1.在HMI 上先建组,然后用数据库导入。 2.新建变量为内存消息,完成脚本 3. 4.

5. 6.

7. 8.脚本1 almQuery( "ALMOBJ_1", "\intouch!"+almgrp, 1, 999, "ALL", "Hist" ); 9.脚本2 IF almgrp_sel=="OMS公用报警组" THEN almgrp = "COM_A"; ENDIF; IF almgrp_sel=="OMS1系统报警组" THEN almgrp = "OMS1_S"; ENDIF; IF almgrp_sel=="OMS1旁路报警组" THEN almgrp = "OMS1_BP"; ENDIF; IF almgrp_sel=="OMS1报警组" THEN almgrp = "OMS1_A"; ENDIF; IF almgrp_sel=="OMS2系统报警组" THEN almgrp = "OMS2_S"; ENDIF; IF almgrp_sel=="OMS2旁路报警组" THEN almgrp = "OMS2_BP"; ENDIF; IF almgrp_sel=="OMS2报警组" THEN almgrp = "OMS2_A"; ENDIF; IF almgrp_sel=="OMS3系统报警组" THEN almgrp = "OMS3_S"; ENDIF; IF almgrp_sel=="OMS3旁路报警组" THEN

almgrp = "OMS3_BP"; ENDIF; IF almgrp_sel=="OMS3报警组" THEN almgrp = "OMS3_A"; ENDIF; IF almgrp_sel=="ALL报警组" THEN almgrp = "$System"; ENDIF;

相关主题