首页 技术 正文
技术 2022年11月11日
0 收藏 423 点赞 2,762 浏览 1884 个字

KepServerEx是一款在工业控制中比较常见的数据采集服务软件之一,提供了多种类型的驱动,具有比较广泛的适用性。很多厂商和个人都会选择用它来做OPCServer。在项目的实施或测试过程中,我们有时会遇到身边没有传感器、PLC之类设备的情况,就无法通过实时数据来测试工作成果的有效性。幸运的是KepServerEx提供了数据模拟功能,可以提供多种类型、格式的模拟数据。下面就是具体的配置过程。


创建Channel

Channel即通道,可以将它理解为OPC中的Server。

名字随便取。

这一步是关键,设备驱动选择“Simulator”,即模拟器驱动。然后一直点击下一步完成。。

剩余两项设置也可以调整,如果需要可以自行调整

创建Device

Device即设备,可以理解为OPC中的Group。

随便起个名。

设备类型可以根据需要选择16位或8位。

设备ID,可以自行修改。

下一步,完成。

创建Tag

Tag即标签,可理解为OPC中的Item。现在才来到整篇文章的重点。

添加标签的界面包含两部分,一部分是对标签的定义(Identification),包括名称(Name)、地址(Address)、描述(Description),另一部分是数据的属性(Data Properties),包括数据类型(DataType )、读写类型(Client)、扫描频率(Scan Rate)。

对我们而言,用处最大的就是Address,我们可以编写不同的函数放在Address中用来模拟不同类型的数据。官方文档提供了多种模拟函数供我们使用(可在帮助文档中找到)。


线形变化型

RAMP(Rate, Low
Limit, High Limit, Increment)

Rate:变化率,单位毫秒

Low Limit:下限值

High Limit:上限值

Increment:变化量

举例:

RAMP(120, 35, 100, 4)

从35 增长到100,每120毫秒增长4。

RAMP(300, 150.75, 200.50, -0.25)

从200.50降低到150.75,每300毫秒减少0.25。


随机变化型

RANDOM(Rate, Low
Limit, High Limit)

Rate:变化率,单位毫秒

Low Limit:下限值

High Limit:上限值

举例:

RANDOM(30, -20, 75)

在-20和75之间随机变化,每30毫秒变化一次。


三角函数型

SINE(Rate, Low
Limit, High Limit, Frequency, Phase)

Rate:变化率/变化周期,单位毫秒

Low Limit:下限值

High Limit:上限值

Frequency:三角函数频率

Phase:三角函数偏移量

注意:频率(Frequency)的最大有效值是5Hz,有效范围是从0.001到5赫兹。偏移量(Phase)取值范围在0.0至360.0之间。为了得到一个更好的正弦输出,变化率(Rate)应该至少比期望频率快一倍。比如频率(Frequency)为5赫兹的正弦曲线,其周期是200毫秒,那么变化周期(Rate)的值最大只能设为100毫秒。在这类函数中,变化周期的取值范围是10-1000毫秒。

举例:

SINE(10, -40, 40, 2, 0)

以2赫兹的频率在-40和40 之间进行正弦变化,偏移量为0

用户自定义型

USER(Rate, User
Value1, User Value2, User Value3,
…User ValueN)

Rate:变化率,单位毫秒

User Value1….ValueN:用户自定义的值,可以有多个

举例:

USER(250, Hello, World, This, Is, A,
Test)

以250毫秒的频率循环显示Hello、World、This、Is、A、Test中的一个单词。

USER(50, 1,1,0,1,0,1,0,0,1,1,1,0,0,0)

以50毫秒的频率循环显示后面的1、0。

需要注意的是上面几种函数创建的Tag都是只读(ReadOnly)类型的,是不能写入的。


创建自己需要的标签

有了上面的函数我们可以根据自己的需要创建不同类型的标签。

RANDOM(200, 10.0, 40.0)模拟室内温度

RANDOM(200, 30.0, 90.0)模拟室内湿度

USER(1000, 1,1,0,1,0,1,0,0)模拟开关比变化量

RAMP(5000, 0, 1000, 1)模拟人员进入数量

将标签添加完之后保存,用OPCClient连接就可以看到数据在愉快的跳动了。

详细图文教程见下连接

https://blog.csdn.net/lordwish/article/details/79464090

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291