ifix

Intouch/ifix语音报警系统制作(2)

本秂侑毒 提交于 2020-03-28 13:46:16
在我的先前一篇关于语音报警系统制作的文章中,阐述了如何通过标签组来获得@name@的详细内容,以通过这种方式来进行详细的设备故障播报。经过一段时间的试运行,发现使用标签组的方式会产生较大的耦合,(即当标签组内容或者脚本内容发生错误时,脚本会弹出错误,妨碍了其他脚本的执行) 于是,在现场将所有的绑定标签组的报警脚本修改为直接传参到全局变量,实现解耦。 1.后台调度修改: Private Sub FixEvent2_WhileTrue() ’将全局变量PicNumBer赋值为所需要报警的设备名称 Dim workspace As Object Set workspace = GetObject("", "Workspace.Application") Dim tagvar As Object Set tagvar = workspace.Documents("User").Page.FindObject("PicNumBer") tagvar.Description = "二期粗格栅2号污水泵" Dim TOP As Integer Dim LEFT As Integer TOP = Int((50 * Rnd) + 1) LEFT = Int((50 * Rnd) + 1) Dim conODBC As ADODB.Connection Dim StrD As String Dim

ifix工程开发流程

蓝咒 提交于 2020-03-28 13:44:45
一.准备 无论做什么项目,第一步都是调研需求,无疑这是最重要的一步。项目完成后实现什么样的功能,实现这些功能需要什么样的软件和硬件的支持。例如: 我们假设要实现这样的一个简单系统:使用ifix监控三菱Q系列的plc,包括数据读写,数据历史存储,数据和报警动态监控等。于是很自然在开发系统之前我们需要预备的东西就包括:1.Q系列plc的监控点表 2.ifix软件 3.Q的通信驱动等。这一切准备好了,才能开始上位ifix工程开发。 二.ifix工程开发 准备工作完成之后,就可以进行开发了。 1.软件的安装 (1)office (2)vb (3)ifix (4)安装驱动 (5)配置ODBC 2.系统配置(SCU) 所谓系统配置,就是为系统配置一些参数,以后开发系统过程中可以直接使用。这些配置信息保存成一个scu文件,ifix启动的时候可以选择装载哪个文件。 系统配置包括有: 系统路径配置:这个简单,默认就可以。意思无非就是哪部分的数据/配置数据储存在哪个位置。值得说的是如果打算开发多个项目,那么可以为每个项目设置不同的“工程项目”路径。( 参考视频教程之"多工程" ) 报警配置:报警的配置包括报警打印、报警信息摘要、报警文件、报警历史、报警odbc、网络报警、报警队列等。每一项服务的意思都比较容易理解,根据项目需要启动相关服务就可以了。 网络配置:这个视需要设定

IFIX组态----语音报警实例

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-10 12:08:26
在实际工程中需要对开关量的变位进行报警,为了提醒值班人员除在画面上以颜色,图标等提示外,一个非常好的报警方法是语音报警,将录制好的语音通过声卡播放出来。 播放语音文件(.WAV)可以通过API函数来进行,不需要单独的编写。播放WAV文件的函数有两个,对应于同步和异步。所谓同步是指一次只能播放一个语音文件,不可以连续播放;而异步则可以同时打开多个语音文件,一个个连续的播放,在多个报警同时到来时非常有用。 同步函数为:mciSendString  使用时首先要声明: Declare Function mciSendString Lib “winmm.dll” Alias “mciSendStringA” (ByVal lpstrCommand As String, ByVallpstrReturnString As String, ByVal uReturnLength As Long, ByValhwndCallback As Long) As Long 用法:  Dim filename as String  Dim cmd As String filename = “test.wav” cmd = “open " & filename & " type WAVEAudio alias MyWav”  Call mciSendString(cmd, 0, 0, 0) Call

Use iFix SQL Blocks with RDBs(SQL SERVER 2008) - 详细、完整篇

故事扮演 提交于 2019-12-27 05:25:46
Use iFix SQL Blocks with RDBs ( SQL SERVER 2008 ) 概述: iFIX 提供关系型数据库与 iFIX 数据库的通讯接口。 练习 1 : 1、在 SQL SERVER 中创建新数据库及数据库表 1.1、首 来源: CSDN 作者: LLanson 链接: https://blog.csdn.net/liang82109/article/details/103714283

Swap items in doubly-linked list by their indices in the backing array

匿名 (未验证) 提交于 2019-12-03 02:03:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have an array of objects of the following type: struct Node { Node *_pPrev, *_pNext; double *_pData; }; Some of the nodes participate in a doubly-linked list, with _pData!=nullptr for such nodes. There is also a dummy head node with _pNext pointing to the beginning of the list, and _pPrev pointing to the end. The list starts with containing only this head node, and it should be never removed from the list. The doubly-linked list is backed by an array, with initial size equal to the maximum number of nodes in the list. struct Example { Node