Intouch 程序范例 IOSetItem
- 格式:pdf
- 大小:168.05 KB
- 文档页数:1
一套View程序在不同计算机中实现不同功能实现功能:将一套VIEW程序,在不同监控电脑中实现不同的功能或访问名的变更。
关键字:访问名、IoSetAccessName、GetNodeName绪 论在分布式监控系统中,以GMS系统为例,通常情况下一套SCADA程序要分别运行在不同地点的不同计算机中,在IOServer 通迅中,有时只有一套或两套IO通迅软件,为了使每台SCADA程序访问不同的IOServer服务器,就要分别配置程序的访问名,这样的话会产生同样功能的多套View程序,从而增加开发人员的工作量。
其次,一套程序在不同地点不同计算机中所要实现功能不同或监控及报警范围设置不同时,开发人员有时也会在一套程序的基础上开发多套View程序,给开发及后期维护带来不便,增加工作量。
现将用 IoSetAccessName 及GetNodeName实现上述问题。
所需使用函数:IoSetAccessName 、GetNodeName语法 (IOSetAccessName)IOSetAccessName("AccessName", "NodeName", "AppName", "TopicName");参数AccessName要将新的“应用程序名”与“主题名”值指定给它的现有“访问名”。
实际的字符串或消息标记。
NodeName要指定的新“节点名”。
实际的字符串或消息标记。
AppName要指定的新“应用程序名”。
实际的字符串或消息标记。
TopicName要指定的新“主题名”。
实际的字符串或消息标记。
语法 (GetNodeName)GetNodeName (messagetag, nodenum);参数messagetag将包含节点名的消息标记名。
nodenum要从节点名检索的字符数。
0 到 131 范围内的整数值、整型标记名或整型表达式。
InTouch中实现间歇式读取数据的一种方法困惑:曾经有个客户,通过GPRS读取远程的数据,如需要间隔时间较长(远远超出I/O 的扫描时间,如2小时才读一次),根据I/O Server 的工作特性,它是周期性的读取数据,这样就有可困难。
有人说,可以在InTouch中选择只激活当前项目,但这样方法有缺陷,就是不能将该数据设置成数据纪录。
另外还有,就是在不打开数据所在的页面。
今天看到一个函数,可以实现这个功能IOSetItem() 函数通过在脚本中使用 IOSetItem() 函数,可以实现“动态引用寻址”。
IOSetItem() 包含一些参数,可以在运行时更改指定给 I/O 标记的 .Reference 点域的值。
类别其它语法IoSetItem ("Tag", "AccessName", "Item");参数Tag使用英文双引号括起来的任何 InTouch I/O 标记。
AccessName指定给 I/O 标记的“访问名”。
Item指定给 I/O 标记的“项目”。
Tag、AccessName 以及 Item 参数可以指定为字符串,它们也可以是其它InTouch 标记或函数提供的字符串值。
示例在下例中,PumpInP1 标记的 .Reference 点域更改为指向Excel“访问名”与R1C1 项目。
IOSetItem("PumpInP1", "excel", "R1C1");或者Number = 1;TagNameString = "PumpInP" + Text(Number,"#");IOSetItem(TagNameString, "excel", "R1C1");如果将“访问名”与“项目”的值都指定为空字符串(“”),则可以使标记不再活动。
Intouch非常实用的使用总结1、intouch授权:授权文件wwsuite.lic放在C:\Program Files\Common Files\ArchestrA\License。
2、intouch时间日期设置:intouch系统变量中时间日期是模拟量,不能很好的显示时间和日期,只有两种方式显示⑴、单独的时+分+秒显示。
⑵、调用向导,选择时钟中的组合控件。
3、DA/IO Server的区别?两个驱动都可以,详细的以后补充。
其实是IO SERVER好用,IOSERVER的效率比DASERVER好,DASERVER只是为了方便集成到IAS平台,新作的一种IO开发方式。
以太网通讯还是用DAServer,配置很简单,比ioserver好用。
4、wwclint的作用?用来测试SMC通讯配置是否正确。
需要连接实际的硬件才能进行测试。
5、用户的配置?特别-->安全性-->配置用户:依次输入要添加的用户名、口令、访问级别,再点击“添加”按钮就又“申请”了一个用户。
如果“配置用户”选项是灰色的不可用状态,那是因为你还没有以管理员身份登陆,登陆后就可以点击此选项了。
将安全类型切换到“Intouch”。
管理员的默认用户名:Administrator 密码:wonderware 。
该用户是无法删除的。
6、打开项目时出现:另一会话正在编辑此应用程序。
无法编辑此应用程序。
该怎样解决?文件夹下,删除appedit.lok。
7、在安装I/O Server的时候,弹出“install of common components could not be started! Pleasecontact wonderwave techsupport !'想问一下是什么原因,该怎么解决才能完成安装程序?先安装:F:\软件备份\ioservers\FS2K71\IOServer\Common\Win32\setup.exe7、如何使用Unity编程软件的仿真器来与Intouch通信?⑴首先保证Unity编程软件在仿真状态(PLC→仿真模式。
Wonderware Intouch 程序范例
上海吉威电子系统工程有限公司‐系统整合事业部 demonliu@
动态寻址,按条件改变一个点的访问名或项目名称
实现功能:可将一个点分不同时间段去访问不同设备或分不同条件访问同一设备的不同的项目名称,实现一点多用,从而满足系统的需求,并可确保趋势曲线的完整性。
关键字:访问名、IOSetItem
语法 (IOSetItem )
IoSetItem ("Tag", "AccessName", "Item");
参数
Tag
使用英文双引号括起来的任何 InTouch I/O 标记。
AccessName
指定给 I/O 标记的“访问名”。
Item
指定给 I/O 标记的“项目”。
Tag 、AccessName 以及 Item 参数可以指定为字符串,它们也可以是其它 InTouch 标记或函数提供的字符串值。
应用:
如果在一套系统中,假设有一组设备,共4台同样型号的分析仪,但同时只会有一台设备工作,每6小时便切换到下一台设备,在SCADA 显示中,为了保证趋势曲线的完整性,将4台设备的同一项目名称用同一个点显示,这样24小时的趋势曲线则是连贯的,如果分别显示的话,则需要同时显示4条曲线,给操作带来不便,如果数据存入InSQL 数据中的话也会造成数据的不够准确及后期应用的不便。
条件脚本:
条件 :TimeString==”00:00:00”
条件类型:为真时
IoSetItem ("Tag", "IOServer1", "Item") //根据不同需求改变访问名称或项目名称
或在应用程序脚本中‐‐‐运行时,通过IF 语句来判断完成其功能
设备1 00:00工作
设备2 06:00工作 设备3 12:00工作 设备4 18:00工作 IOServer1 IOServer2IOServer3IOServer4Intouch Tag。