ANSL line

<< 点击显示目录 >>

主页  PVI通信 > PVI帮助信息 > PVI base system > PVI lines >

ANSL line

ANSL线路用于与使用ANSL(自动化 网络服务 链接)协议B&R SG4控制器通信。

本节涵盖了以下主题。

与INA2000的兼容性

ANSL过程对象

ANSL访问类型

ANSL线路访问类型

ANSL事件类型

ANSL线路事件类型

ANSL通信

与INA2000的兼容性

ANSL线路也支持INA2000线路的所有服务和对象。唯一的区别是在线路、设备和CPU对象的连接描述方面。

与INA2000相比,ANSL只支持以太网TCP/IP通信。使用节点号(INA2000的/DA和/SA参数)建立连接在ANSL上是不可能的。

像所有的PVI线路一样,ANSL线路也提供一个错误范围(错误代码11000到11999)。

从INA切换到ANSL的检查表。

PLC Automation Runtime的版本必须在4.08或更高。

在PLC上必须有足够的内存可用。ANSL的内存要求在 功能 部分有规定  。

线路对象的连接描述必须从 "LnIna2 "改为 "LnAnsl"。

"/IF=TcpIp "必须在 设备对象的连接描述中指定 。

CPU对象的连接描述中必须指定INA2000的/DAIP参数 ,或者必须(另外)指定ANSL /IP参数。必须不指定/REPO参数,如果指定,则改为"/REPO=11169"。或者,也可以(另外)使用/PT参数。

INA2000和ANSL的CPU有效连接描述示例:"/DAIP=10.43.50.244 /REPO=11159 /IP=10.43.50.244 /PT=11169"

ANSL行中最重要的扩展。

结构变量也可以作为PLC事件变量使用。

在写入和读取大于4字节的变量数据时,可以选择数据一致性。

在冗余PLC的冗余事件中 "热 "读变量数据。

XML格式的信息服务。

ANSL线中的这些扩展不被INA2000线所支持。

ANSL过程对象

一个行对象、一个设备对象和一个CPU对象都需要与PLC建立通信连接。

ANSL线路中的过程对象

Name

Type

Connection

使用方法

Line object

Line

"LNANSL"

ANSL线

Device object

Device

设备参数

代表正在使用的通信设备

Station object

Station

 

可以指定,但不是必须的。

CPU object

CPU

ANSL通信参数

代表网络中的一个PLC

Module object

Modules

PLC模块名称和可选的应用模块名称

代表PLC上的一个模块

Task object

Task

PLC任务名称和可选的应用模块名称

代表PLC上的一个任务

Variable object

Pvar

PLC变量名称和可选的应用模块名称

代表PLC上的一个变量

Allowed object structure for ANSL process objects:

pvilnanslobjectstruktur

对进程对象的数量没有限制。理论上,任何数量的设备对象都可以被分配给一个行对象,任何数量的CPU对象都可以被分配给一个设备对象,等等。

ANSL访问类型

下表显示了  通过线路调节的所有 访问类型概况  。这里没有列出的所有访问类型以及对PVI基本对象的访问类型都是由PVI管理器执行的,因此与正在使用的行无关。相应的过程对象类型列在 "类型 "栏中。

Access types

Type

Special features

POBJ_ACC_VERSION

Line

CPU

Module

Task

Line object: line DLL的版本。

CPU object: 读取PLC操作系统 ("Vxxx").

模块和任务对象。模块版本被读取("x.xx")。

POBJ_ACC_LIST_EXTERN

Line

所有已安装的(PVI设置)ANSL服务的列表

POBJ_ACC_DATA

Pvar

 

POBJ_ACC_STATUS

Cpu

Module

Task

Pvar

 

POBJ_ACC_TYPE_EXTERN

Pvar

 

POBJ_ACC_UPLOAD

Modules

支持POBJ_EVENT_PROCEEDING 。可以选择的是,函数 "Translate BR modules" 可以进行。

POBJ_ACC_DOWNLOAD

CPU

支持POBJ_EVENT_PROCEEDING 。可以选择的是,函数 "Translate BR modules" 可以进行。

POBJ_ACC_DATE_TIME

Cpu

Module

 

POBJ_ACC_MEM_DELETE

CPU

 

POBJ_ACC_MEM_INFO

CPU

 

POBJ_ACC_MOD_TYPE

Modules

 

POBJ_ACC_UPLOAD_STM

Modules

支持POBJ_EVENT_PROCEEDING 。可以选择的是,函数 "Translate BR modules" 可以进行。

POBJ_ACC_DOWNLOAD_STM

CPU

支持POBJ_EVENT_PROCEEDING 。可以选择的是,函数 "Translate BR modules" 可以进行。

POBJ_ACC_MOD_DATA

Modules

从B&R日志数据模块读取和写入有效载荷数据

POBJ_ACC_MOD_DELETE

CPU

 

POBJ_ACC_LIST_STATION

 

不支持

POBJ_ACC_LIST_CPU

 

不支持

POBJ_ACC_LIST_MODULE

CPU

一个PLC的模块对象列表

模块对象列表的语法。

[<ApplicationModuleName1>::]<ModuleName1> \t [<ApplicationModuleName2>::]<ModuleName2> ...

所有对象条目都用字符\t(制表符)分开。

<ApplicationModuleName>: Name of the application module

<ModuleName>:  Name of the module object

如果模块对象在一个应用模块的范围内,那么应用模块的名称也被指定。 对于默认范围内的模块对象,不指定应用模块名称。应用模块范围内的对象的可见性必须在 CPU对象的连接描述中  使用/AM参数启用  。

 

在调用(PviReadArgumentRequest 或PviXReadArgumentRequest函数)时可以指定一个可选的过滤器 ,可以应用到列表中。

<Name>::

...

列表中只包含名为 <Name>应用模块范围内的模块对象

::

...

列表中只包含默认范围内的模块对象

*::

...

禁用过滤器(与调用 PviReadRequest 或PviXReadRequest函数相同  )

 

 

POBJ_ACC_LIST_TASK

CPU

一个PLC的任务对象列表

任务列表的语法。

[<ApplicationModuleName1>::]<TaskName1> \t [<ApplicationModuleName2>::]<TaskName2> ...

所有对象条目都用字符\t(制表符)分开。

<ApplicationModuleName>: Name of the application module

<TaskName>:  Name of the task object

如果任务对象在一个应用模块的范围内,那么应用模块的名称也被指定。 对于默认范围内的任务对象,不指定应用模块名称。应用模块范围内的对象的可见性必须在 CPU对象的连接描述中  使用/AM参数启用  。

 

在调用(PviReadArgumentRequest 或PviXReadArgumentRequest函数)时可以指定一个可选的过滤器 ,可以应用到列表中。

<Name>::

...

列表中只包含名为 <Name>应用模块范围内的任务对象

::

...

列表中只包含默认范围内的任务对象

*::

...

禁用过滤器(与调用 PviReadRequest 或PviXReadRequest函数相同  )

 

 

POBJ_ACC_LIST_PVAR

CPU

task

任务中的变量列表或全局PLC变量列表

变量对象列表的语法。

[<ApplicationModuleName1>::]<VariableName1> [<Info>] \t [<ApplicationModuleName2>::]<VariableName2> [<Info>] ...

所有的对象条目都由\t字符(tab)分开。

<ApplicationModuleName>: 应用模块的名称

<VariableName>:  任务对象的连接名称。

<Info>: 描述字符串,用于补充信息

变量列表包含额外的信息,如范围(全局或局部变量)和变量类型。

如果对一个任务对象执行该访问类型,那么该列表将包含该任务中的所有局部和全局变量对象。应用模块名称不包括在这个列表中,因为是任务处理对应用模块的分配。

如果对CPU对象执行了这种访问类型,那么该列表将包含PLC上的所有全局变量对象。如果一个全局变量对象在一个应用模块的范围内,那么应用模块的名称也被指定。 对于默认范围内的变量对象,不指定应用模块名称。应用模块范围内的对象的可见性必须在 CPU对象的连接描述中  使用/AM参数启用  。

 

在调用(PviReadArgumentRequest 或PviXReadArgumentRequest函数)时,可以通过CPU对象指定一个可选的过滤器 ,可以应用于列表。

<Name>::

...

列表中只包含名为 <Name>应用模块范围内的全局变量对象

::

...

列表中只包含默认范围内的全局变量对象

*::

...

禁用过滤器(与调用 PviReadRequest 或PviXReadRequest函数相同)

 

 

POBJ_ACC_CPU_INFO

CPU

 

Access type > 255

CPU

批准用于PVI客户应用的线路接入类型列在 ANSL线路接入类型 部分。

ANSL line access types

下表列出了所有被批准在PVI客户应用中使用的ANSL线路事件类型。相应的过程对象类型被列在 "类型 "栏中。

Access types

Type

Special features

POBJ_ACC_LN_COMM_DST

CPU

读取ANSL通信参数

POBJ_ACC_LN_LKN_LIST

CPU

 

POBJ_ACC_LN_XML_LIC_STATUS

CPU

 

POBJ_ACC_LN_XML_CPU_INFO

CPU

 

POBJ_ACC_LN_XML_MOD_INFO

Module

Task

 

POBJ_ACC_LN_XML_TASK_INFO

Task

除了任务信息外,该访问类型还包含 POBJ_ACC_LN_XML_MOD_INFO 访问类型的所有模块信息

POBJ_ACC_LN_XML_MOD_LIST

CPU

只有在 CPU对象的连接描述中指定了模块列表参数"/MODLIST=1 "的情况下

POBJ_ACC_LN_XML_MEM_INFO

CPU

 

POBJ_ACC_LN_XML_HW_INFO

CPU

 

POBJ_ACC_LN_XML_RED_INFO

CPU

 

POBJ_ACC_LN_XML_TC_INFO

CPU

 

ANSL event types

下表显示了  可从线路上生成所有 事件类型概况  。所有未列出的事件类型都是由PVI管理器生成的,因此与正在使用的线路无关。

Event types

Special features

POBJ_EVENT_STATUS

只支持 链接节点变量 (Pvar过程对象类型)和BR日志数据模块(Module过程对象类型)

POBJ_EVENT_PROCEEDING

支持访问类型 OBJ_ACC_UPLOADPOBJ_ACC_UPLOAD_STMPOBJ_ACC_DOWNLOADPOBJ_ACC_DOWNLOAD_STM进度事件

Event type > 255

为PVI客户应用批准的线路事件类型列在 ANSL线路事件类型 部分。

ANSL line event types

下表列出了允许在PVI客户应用中使用的所有ANSL线路事件类型。相应的过程对象类型被列在 "类型 "栏中。

Event types

Type

Special features

POBJ_EVENT_LN_XML_MOD_LIST

CPU

只有当模块列表参数"/MODLIST=1 "在CPU对象的连接描述中被指定的时候

POBJ_EVENT_LN_XML_RED_CTRL

CPU

只有当冗余参数"/RED=1 "在CPU对象的连接描述中被指定的时候