GE Historian Simulation

时间:2018-01-03 16:50:43

标签: vbscript opc historian

我一直试图在Historian中模拟价值而没有取得很大的成功。我对环境和VBscript本身都很陌生。

我正在尝试模拟简单的1和0。我的目标是让它运行1-2分钟,返回1分钟。然后下降15-30秒;返回0。两者都是随机的正常运行时间和停机时间。

如果我正确理解程序,它将每秒触发脚本。意思是,我不能有一种记忆的全球价值,难以编程...我已经尝试过使用代词,比如:

dim r
r = (int(rnd*100)+1)*10

IF r >= 35 THEN
 Result = 1
ELSE
 Result = 0
END IF

但这只考虑了正常运行时间。注册停机时间后,仅注册1秒......:/

有没有人对如何实现简单的模拟代码有任何经验或想法? 谢谢!

修改 我一直在测试内置函数,尝试使用计数器解决问题,我可以使用它在每次命中数字时重置。但我无法让它完全发挥作用:

    pre = PreviousValue("TAG1","Now - 1Second")


    IF PreviousQuality("TAG1","Now - 1Second") OR pre = -1 THEN
     result = 0
    END IF

    IF pre >= 10 THEN
     result = 0
    ELSEIF pre < 10 THEN
     result = AddData("TAG1",pre+1,"Now",100)
    ELSE
     result = -1
    END IF

我无法让它工作......一直主演自己的盲目......:/

编辑2: 现在看起来像是一本日报...:P但是我设法通过对它的调整来制作一个计数器。以为我只需要制作另一个标签,然后在一段时间内返回值1和0。显然,在阅读另一个标签时,历史学家无法跟上并吐出价值观......

1 个答案:

答案 0 :(得分:1)

  

我一直在尝试模拟Historian中的值

我过去曾成功使用文件收集器来测试/模拟我们监控的设备的停机时间和丢失情况,doco在这里:GE File Collector

基本上,您只需在其中一个formats

中创建XML或CSV文件

示例XML:

<Import>
    <DataList Version="1.0.71">
        <Tag Name="TIGER.IMPORT_TAG1.F_CV">
            <Data>
                <TimeStamp>01-Mat-2018 11:00:15.000</TimeStamp>
                <Value>0</Value>
                <DataQuality>Good</DataQuality>
            </Data>
            <Data>
                <TimeStamp>20-Jul-2001 11:00:36.000</TimeStamp>
                <Value>0</Value>
                <DataQuality>Good</DataQuality>
            </Data>
            <Data>
                <TimeStamp>01-Mat-2018 11:00:30.000</TimeStamp>
                <Value>1</Value>
                <DataQuality>Bad</DataQuality>
            </Data>
            <Data>
                <TimeStamp>01-Mat-2018 11:00:45.000</TimeStamp>
                <Value>0</Value>
                <DataQuality>Good</DataQuality>
            </Data>
        </Tag>
    </DataList>
</Import>

一旦您启动并运行了收集器,您就可以将XML或CSV文件放入由文件收集器监视的“Incoming”文件夹中。

传入文件夹的示例位置:C:\ Proficy Historian Data \ ImportFiles \ Incoming

使用文件配置模拟数据的另一个好处是,加上一个简单的测试计划,您现在可以拥有一组定义的可重复测试用例。