iCG驱动

Navigation:  iCentroview系统的配置 > 配置客户端 > 服务端配置 > SCADA节点总览配置 > 驱动配置 >

iCG驱动

Previous pageReturn to chapter overviewNext page

iCG驱动用于从iCentroGate设备上采集数据的驱动。

ICG驱动已经支持底层设备的通道冗余。

 

主要包含以下步骤:

u添加iCGDriver驱动

u配置iCGDriver设备

u配置iCGDriver数据块

u配置iCGDriver变量

免配块方式下的变量配置

配块方式下的变量配置

u如何设置支持底层ICG设备的通道冗余

uICG如何获取与ICV的通讯状态

 

注意:使用iCG驱动必须保证有vc7runtime环境,若遇到启动问题,先检查是否因为缺少VC7运行环境造成。

下载


 

u添加iCGDriver驱动

1.首先,需要配置好相应的SCADA节点。

ICV_CONFIG_DRIVER_S7_5

 

2.双击SCADA节点下的驱动配置,进入驱动配置页面,在页面的左上方,可以看到“添加驱动”的按钮,点击添加驱动,弹出可用驱动的选择对话框,在可用驱动列表中,选择iCGDriver驱动所对应的“iCGDriver”,然后单击确定。

icv_config_driver_icg_0

 

3.签出该驱动,点击“配置驱动”按钮

icv_config_driver_icg_1

 

4.弹出iCGDriver配置的主界面

 

u配置iCGDriver设备

1.选择iCGDriver后点击确定按钮,签出iCGDriver,点击配置驱动按钮,系统弹出配置界面,在设备列表处点击鼠标右键,选择“创建设备”选项,如下图:

icv_config_driver_icg_2

 

2.系统弹出设备配置窗口,填入相关配置项,如下图:

icv_config_driver_icg_3

 

必填参数:

设备名称:不能为空,不能以数字开头

连接参数为:配置格式如下:

连接参数:主设备主链接/主设备备链接/备设备主链接/备设备备链接

每个链接格式为:ip,端口,用户名,密码,

其中密码可以为空,但是密码与用户名之间必须加个逗号,表示存在密码但是密码为空。

主设备主链接是必须的,其他可以不填,例如“link=168.2.239.5,9230,usr1,pwd1,”

如果设备支持多连接,可以配置成“link=168.2.237.5,9230,usr1,pwd1,;multiLink=1;”

multiLink=1表示设备支持多连接;

multiLink=0表示设备不支持多连接;

不配置的话默认单连接。

icg版本2.10以及以后的版本支持同一个用户名和密码多连接。

任务号:同一任务号下的设备消息放在同一个进程中。

 

3.点击确定按钮,完成设备配置。

 

u配置iCGDriver数据块

注意:iCGDriver驱动支持免配块方式,若该设备下没有配置任何块,相应的变量配置参见免配块方式下的变量配置 。

 

对于ICG驱动而言,配置块与免配块方式最大的区别在于配置块时可以设置别名,并用别名作为设备地址进行tag点的配置。

 

1.选中已经配置的设备,在“数据块列表”中点击右键,如下图:

icv_config_driver_icg_4

 

2.选择“创建数据项”,弹出数据块配置界面,如下图:

icv_config_driver_icg_5

 

地址:对应到ICG中的点地址串,如下图:

icv_config_driver_icg_6

 

红框标记的ICG中的点的地址为:ChnOPC.D.S.G.Simulation_Items_Random_Int4

别名:非必填项,自定义的icg点的别名。

长度:根据数据类型填写长度,int为4个字节、双精度double为8个字节、string是根据实际长度填写,不可超过255个字节,BLOB长度为255个字节。

描述:表示用户在数据块希望保存的变量记录数。

数据类型: 目前iCG支持int、double、string和BLOB类型,如果数据要做控制,该项为必填项。

其他配置项使用默认项。

 

3.配置完毕后,点击“确定”按钮,完成数据块配置。

4.配置完毕后,关闭配置界面,将iCGDriver签入则完成配置操作。

 

u配置iCGDriver变量

 

添加变量参见新增变量

注意:

配置完成后需要部署到scada节点,使得配置生效。

如果发现变量的值刷新慢,可以检查是否有错误的ICG点地址,如果存在错误的地址,则在读取这些变量时,会等待超时,从而影响其他变量的值的读取,使得整体的数据读取性能下降。

在配置变量的时候,icg同一个地址只能配置一种数据类型,如果之前这个点配置的数据类型是txt,则再配置blob类型的话会导致控制命令发送不下去,只能将之前的txt变量删除才可以。

 

免配块方式下的变量配置

在iCGDriver不配置块时,配置变量的设备地址填入实际ICG中的点地址,如下图:

icv_config_driver_icg_6

 

要读取红框标记的ICG中的点,则在变量中配置变量地址如下图:

icv_config_driver_icg_7

 

配块方式下的变量配置

在iCGDriver配置了块时:

若没有设置别名,则变量中的配置同免配块方式下的变量配置。

若设置了别名,则变量中的设备地址输入设置的别名。

注意:对于iCV变量类型的配置,不论是免块方式配置,还是配置数据块的方式配置,iCV中变量的类型仅支持int32、double、TXT、BLOB这几种类型。

 

u如何实现ICG底层通道冗余

我们最多支持4个设备冗余,下面以四个设备为例子,配置一个通道冗余:

配置ICG驱动,添加设备,如下图:

icv_config_driver_icg_3

 

“连接参数”中填写四个ICG设备的IP,第一个为主设备,其他以"/"为分隔;

格式:“link=168.2.239.5/168.2.239.6/168.2.239.7/168.2.239.8,9230,usr1,pwd1,”

ICG侧配置:

1.要保证通道上有Iostatus和Io_Work这两个点。

ICG特殊点配置说明:

不配Io_Work点:Iostatus代表网关和通道下设备的心跳和数据通信都正常;

配置Io_Work点:Iostatus仅代表心跳正常,Io_Work代表数据通信正常。

注意:IoStatus是icg内置点,整型,无需配置,Io_Work这个点需要添加并配置,可以是int或double。

2.四个ICG设备要配置相同的通道,相同的TAG点,以保证tag名相同;

 

ICV的ICG驱动监听Iostatus和Io_Work两个状态点的过程:

首先,读主设备主链接通道下设备的状态IoStatus。如果是0,再去读通道下设备的Io_Work,如果是0,才读取主设备主链接设备上数据,否则的话依次读取另外3个设备。如果四个icg对应通道下设备上IoStatus和Io_Work都不为0,则数据质量为bad。

至此,通道冗余配置完成。    

   

uICG获取与ICV的通讯状态

1.在ICG中创建可写点IO_heart;

2.ICV定时向ICG中IO_heart点写变化的数据;

3.通过ICG端看IO_heart点是否持续变化来判断和ICV的通讯是否连通。

当icg检测到icv不更新Io_Heart这个点时,icg不向底层设备采集数据。