GE Historian 模拟

GE Historian Simulation

我一直在尝试在 Historian 中模拟值,但没有成功。我对环境和 VBscript 本身都很陌生。

我正在尝试模拟简单的 1 和 0。我的目标是 运行 1-2 分钟,returning 1。然后下降15-30秒; returns 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 但我设法通过对上面的代码进行了一些调整来制作一个计数器。以为我只需要制作另一个标签,然后 return 值 1s 和 0s 一段时间。显然,Historian 在读取另一个标签时无法跟上并吐出值...

I have been trying to simulate values in Historian

我过去曾成功地使用过文件收集器 test/simulate 我们监控的设备的停机和丢失情况,请在此处说明: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

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