CIP驱动

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

CIP驱动

Previous pageReturn to chapter overviewNext page

CIP驱动是罗克韦尔自动化公司的PLC设备的驱动,用户对象是设备管理和维护人员,需要进行读取和写入设备的操作。

设备组可以将设备进行分类,单个设备组中的设备是按照顺序以单线程的方式运行,如单个设备组中有部分设备运行故障,那么就会降低此设备组中正常设备的运行速度,所以用户在配置时,请确认各设备是否运行正常。而多个设备组之间是以多线程的并行的方式运行,设备组与设备组之间不会相互影响。用户可以根据现场情况进行分类,如运行快的设备放在一起、运行慢的设备放一起或者运行慢的和运行快的放在一起平衡速度。

 

注意:本驱动只支持AB-PLC中基本类型的数组(如INT,DINT,SINT,REAL,BOOL)和单个结构体中各属性的采集(如STRING类型中的string.LEN和string.DATA[0]),并对单个STRING类型的读取做过字符串处理。

 

但本驱动不支持结构体(包括自定义类型)数组(如string[2]中的string[1].LEN等)的采集。

因此若需要对结构体数组和复杂的结构体进行采集的场景,可使用CIPx驱动

 

主要包含以下步骤:

u添加CIP驱动

uCIP驱动设备组配置

uCIP设备配置

uCIP数据块配置

uCIP变量配置

CIP驱动配块方式变量配置

CIP驱动免配块方式变量配置

uCIP通讯返回错误码


 

u添加CIP驱动

首先,需要配置好相应的SCADA节点。要保证当前系统的所有scada节点中有一个scada节点是作为中央服务器存在的。我们新增一个scada节点,并选做中央权限服务器。双击scada节点下的驱动配置,如下图:

SystemConfig_systemconfig_driveCIP1

 

进入驱动配置页面,在页面的左上方,可以看到“添加驱动”的按钮,点击添加驱动,弹出可用驱动的选择对话框,如下图:

icv_config_driver_CIP_1

 

在可用驱动列表中,选择CIP驱动所对应的“CIPDriver”,然后点击确认。

选择签出CIPDriver,点击配置驱动,可以对驱动进行配置,如下图:

SystemConfig_systemconfig_driveCIP3

 

uCIP驱动设备组配置

1.签出CIP驱动(CIPDriver),点击“驱动配置”按钮,进入CIP驱动配置界面,如下图:

SystemConfig_systemconfig_driveCIP4

 

2.在驱动配置界面上,右击CIPDriver,选择“添加设备组”,如下图:

SystemConfig_systemconfig_driveCIP5

 

3.在树控件列表的右侧显示选中的设备组的配置界面,可配置设备组名称和设备组描述。如下图

SystemConfig_systemconfig_driveCIP6

 

uCIP设备配置

在驱动配置界面上,右键点击树控件列表中的设备组节点,选择“添加设备”菜单,在树控件列表的右侧显示新添加设备的配置界面,设备的名称自动生成,其他属性为默认值。

SystemConfig_systemconfig_driveCIP7

 

如果现场设备存在冗余,需要选中“备设备”复选框,然后填入备机的ip地址和端口号;除此之外,还需要配置各项参数,驱动配置工具中所列的默认配置参数为推荐的配置值,并非所有的设备均合适,如果通讯出现问题,需要调整配置参数,请咨询设备厂商。

 

参数配置的意义如下:

设备地址:设备的IP地址。

端口号:设备连接的端口号。

槽号:设备插入机架中的槽号。

响应超时:驱动向设备发送需要反馈的命令所等待的超时时间。

重试次数:发送超时后重送的次数。

 

CIP协议支持免配块方式,如选择此方式,配到“设备”即可,可跳过配置“数据块”的过程,直接进入“变量配置”步骤,详见:CIP变量配置

 

uCIP数据块配置

1.在驱动配置界面上,右键点击树控件列表中的设备节点或数据块节点,弹出右键菜单,选择“添加数据块”菜单。

icv_config_driver_CIP_2

 

2.在CIP驱动的数据块配置中需要配置“是否连接数据块”、“设备地址”和“刷新周期”信息,当勾选“是否连续数据块”即数据块为连续块时,如下图:

SystemConfig_systemconfig_driveCIP8

 

数据块名称:必须是CIP上实际的数据块名;

连续数据块:数据块为连续块是指CIP中的一个块数组,如data[100],整块完整传递;

长度:元素的长度,如:数据块长度配置了4,那么包含DataBlock:0、DataBlock:1、DataBlock:2、DataBlock:3四个数据地址;

寄存器字节:元素的大小。

 

3.当不勾选“是否连续数据块”即数据块为离散块时,如下图:

SystemConfig_systemconfig_driveCIP9

此时,需要对数据块进行配置,可以增加离散的数据块并对其进行修改和删除,这里的离散数据块名称请参考实际设备。

 

数据块为离散块指数据块地址是不连续的,如1001、2012。

扫描周期:驱动读取设备的时间。

为了避免丢点现象,如果用户知道设备的数据变化周期,建议将驱动的刷新周期配置为设备的数据变化周期的一半,点的扫描周期配置为数据变化周期的4分之一,如果使用到转储功能,建议将转储数据属性中的扫描周期配置为数据变化周期的8分之一,如设备的数据变化周期为4000毫秒,那么驱动刷新周期为2000毫秒,点的扫描周期为1000毫秒,转储数据的扫描周期为500毫秒。

 

uCIP变量配置

与驱动有关的变量配置项目主要有以下四项:

所属驱动:选择添加的变量来自何种驱动;

设备名称:选择添加的变量来自何设备,该设备名称应已配置完成;

设备地址:信号地址,地址格式在选择“配块”与“免配块”不同选择时,有不同的表达格式,具体请详见下面帮助内容;

数据类型:AI、AO类型数据有此选项,请根据PLC端传送的数据类型选择。具体详见:AI变量配置章节;

字节顺序:AI、AO类型数据有此选项,有些PLC关于模拟量数据有高低位翻转的通讯要求,可根据需要勾选并实现高低位换位。具体详见:AI变量配置章节;

添加变量详细说明参见新增变量

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

CIP驱动支持免配块方式,用户可以自行选择是否配置数据块的方式,两种方式只可二选一。通常建议采用免配块方式,此种方式工作量较小。

 

CIP驱动 配块方式 变量配置说明

块内只有一个变量的设备地址格式:块名称, 例如:DataBlock0 ;

包含多个变量的数据块的设备地址格式:块名+“:”+块内下标,即“块名:n”,例如:DataBlock:2。若还有位偏移量时,即"块名:n:bitoffset" ,例如: DataBlock:2:3 ;

 

CIP驱动 免配块方式 变量配置说明

免块模式下,数据块的类型由变量类型决定,如下所示:

PLC内AI类型变量可配置为AI块

PLC内AO类型变量可配置为AO块

PLC内DI类型变量可配置为DI块

PLC内DO类型变量可配置为DO块

PLC内TXT类型变量可配置为AI块

PLC内BLOB类型变量可配置为AI块

PLC内其余Tag点类型暂不涉及

 

CIP驱动块内元素长度最大到64位(如64位的双精度浮点型)。

CIP驱动免配块方式不支持字符串的数组,该类型需要换配块方式。(由于一个设备只支持配块或免配块方式2选1,此种情况,其他点也需要按配块方式操作。或者考虑单独为字符串的数组通讯另建一个设备连接。)

由于CIP数据块名称必须是PLC上实际存在的,自组块时同一个TAG点的设备地址不可以同时配置到AO和AI变量,或者同时配置到DI和DO变量中,只能建其一。

 

当前AB PLC大多选用符号地址方式编程,因而CIP协议免配块方式的设备地址格式为:

模拟量符号地址变量的设备地址格式:

组名.变量名        

数字量符号地址变量的设备地址格式:

组名.变量名.位号        

(组名若PLC侧没定义,可省略。)

 

根据CIP协议,变量设备地址也支持绝对地址的格式。其配置方式如下,其中{}为可选部分:

YY@XX[N]{.bitnumr},其中YY表示AI变量的字节数,XX[N]表示取数组XX的第N个元素,bitnumber表示位偏移,取该元素的第几位。

例如:

变量名:1@cipint[0].2 含义:该变量cipint[0]是个8位数,且偏移2位;

变量名:2@cipint[1].4 含义:该变量cipint[1]是个16位数,且偏移4位;

变量名:4@cipint[2].3 含义:该变量cipint[2]是个32位数,且偏移3位;

如果前面不加YY@,即变量名格式为XX[N]{.bitnumr}时,默认YY=4,即是个32位数;

 

XX.DATA#ByteLen,特指字符串,详细规则如下:  

字符串通过字符取值后合并(长度和DATA分别获取),获取字符串内容用"XX.DATA#len",len为读取长度,如不配,len默认长度为1;获取字符串长度用"XX.LEN"

写字符串时需要每个字节分别写,即将字符串每个要写的字符置成一个AI或AO的变量

 

XX{.bitnumr} ,如有 bitnumr,则视为是点XX的bitnumr位。

多元素的连续数组内部的元素类型和长度都必须一致。

 

uCIP通讯返回错误码

将驱动程序日志文件等级修改为“DEBUG”,可以查看通讯过程及详细错误信息。日志操作方法详见:调试及小工具>日志

CIP驱动 Invalid Status错误码:

SystemConfig_systemconfig_driveCIP10

SystemConfig_systemconfig_driveCIP11