自版本 V15.1 起,TIA Portal 增加了用于客户端接口的编辑器。
将要从 OPC UA 服务器读取或写入的所有 PLC 变量分组到客户端接口中。
此外,客户端接口包含 OPC UA 服务器提供的以及要通过用户程序(作为 OPC UA 客户端)调用的所有方法。
如果创建客户端接口,STEP 7 还会创建数据块,用于对与 OPC UA 服务器进行数据读写操作要使用的连接进行参数分配。
较多可以创建 40 个客户端接口。
要创建客户端接口,请按以下步骤操作:
在 TIA Portal 中选择项目视图。
在“设备”(Devices) 区域,选择要作为 OPC UA 客户端使用的 CPU。
单击“OPC UA 通信 > 客户端接口”(OPC UA communication > Client interfaces)。
双击“添加新客户端接口”(Add new client interface)。
STEP 7 会创建新客户端接口并在编辑器中显示。
STEP 7 将新接口命名为“Client interface_1”。如果“Client interface_1”已存在,新接口会接收名称“Client interface_2”,以此类推。
此外,STEP 7 还会创建下列数据块:
- Client_Interface_1_Configuration
数据块已包含 OPC UA 客户端指令需要的所有系统数据类型。
组态与 OPC UA 服务器的连接时,会填充该数据块。
在客户端接口的特性中组态连接,参见“OPC UA 示例组态”。
- Client_Interface_1_Data
要从 OPC UA 服务器读取或写入的 PLC 变量以及要在 OPC UA 服务器中调用的方法对应的数据块。
在用户程序中使用该数据块。
该数据块当前仍为空。
为新客户端接口选择一个描述性名称。
在本示例中,选择“Productionline”。
此操作还会将关联数据块的名称改为:
- Productionline_Data
- Productionline_Configuration
要导入 OPC UA 服务器接口,请单击编辑器右上方的“导入接口”(Import interface) 按钮。
这样便可导入描述 OPC UA 服务器接口的 XML 文件。
或者:要在线确定已连接 OPC UA 服务器的服务器接口,请参见“在线确定服务器接口”。
STEP 7 会显示一个对话框,可通过该对话框选择 XML 文件。
该 XML 文件描述 OPC UA 服务器的地址空间。
OPC UA 服务器的地址空间包含由 OPC UA 服务器发布的所有 PLC 变量和服务器方法。
OPC UA 客户端可访问该地址空空间:
- 读取 PLC 变量
- 写入 PLC 变量
- 调用服务器方法
OPC UA 服务器的地址空间可分为一个或多个服务器接口。
要创建服务器接口,请参见:为配套规范创建服务器接口。
在该客户端接口创建一个读取列表。
为此,请执行以下操作步骤:
- 单击编辑器左侧部分的“添加新读取列表”(Add new read list)。
STEP 7 将添加一个名为“ReadList_1”的新列表。
本示例中,将该名称更改为“ReadListProduct”。
- 现在将要从该 OPC UA 服务器读取的 PLC 变量添加到新读取列表中。
在本示例中,将“NewProduct”和“ProductNumber”变量添加到“ReadListProduct”读取列表中。
在编辑器右侧区域选择“NewProduct”变量(“OPC UA 服务器接口”)。将“NewProduct”变量拖动到编辑器中间部分的“ReadProduct”读取列表中。对“ProductNumber”变量采用相同的操作步骤。
下图显示了编辑器的右侧部分。
或者:
选择新读取列表时,还可将编辑器的右侧部分(“OPC UA 服务器接口”)拖动到类型为 Object 或 Folder 的节点处,然后再将其拖动到编辑器左侧部分的“添加新读取列表”(Add new read list) 中。新读取列表随即包含已移动节点的所有 PLC 变量。
在本示例中,选择包含“NewProduct”和“ProductNumber”变量的对象“Data_for_OPC_UA_Clients”。STEP 7 生成新的读取列表“Data_for_OPC_UA_Clients”。此外,对象还包含“Temperature”变量。将“Temperature”变量从读取列表中删除。因此本例中不应读取这些变量。
在“ReadListProduct”中更改读取列表的名称。
下图显示了读取列表的内容:
提示 读取和写入列表并不支持所有节点类型。S7-1500 CPU 的 OPC UA 客户端不支持可通过 OPC UA 服务器接口实现的所有 OPC UA 数据类型(节点类型)。举例来说,如果将不受支持的节点类型放在读取列表或写入列表中,则会出现相应的错误信号。在这种情况下,不能将相应节点包含在读取或写入列表中。 有关支持的类型,请参见“数据类型映射” |
如果要将新值分配给 PLC 变量,则在该客户端接口创建一个写入列表。
为此,请执行以下操作步骤:
- 单击编辑器左侧部分中的“添加新写入列表”(Add new write list)。
STEP 7 将添加一个名为“ReadList_1”的新列表。
在本示例中,将该名称更改为“WriteListStatus”。
- 现在添加新写入列表,其中包含要为其分配新值的所有 OPC UA 服务器变量。
在本示例中,将“WriteListStatus”变量添加到写入列表“ProductionEnabled”中。
选择编辑器右侧区域(“OPC UA 服务器接口”)的变量。将变量拖动到编辑器中间部分的写入列表中。
或者:
创建新写入列表时,还可在编辑器的右侧部分(“OPC UA 服务器接口”)选择类型为 Object 或 Folder 的节点,然后再将其拖动到编辑器左侧部分的“添加新写入列表”(Add new write list) 中。
新写入列表随即包含相关节点的所有变量。
在本示例中,选择包含“ProductionEnabled”变量的对象“Data_from_OPC_UA_Clients”。STEP 7 会生成新的写入列表“Data_from_OPC_UA_Clients”。在“WriteListStatus”中更改名称。
下图显示了写入列表的内容:
如果要调用该 OPC UA 服务器的方法,应生成新方法列表。
为此,请执行以下操作步骤:
- 在编辑器左侧部分中,单击“添加新方法列表”(Add new method list)。
STEP 7 将添加一个名为“Method List_1”的新列表。
在本示例中,将该名称更改为“MethodListOpenDoor”。
- 现在将 OPC UA 服务器的方法添加到新方法列表中。
在本示例中,将方法“OpenDoor”添加到方法列表“MethodListOpenDoor”中。
选择编辑器右侧区域(“OPC UA 服务器接口”)的方法。将方法拖动到编辑器中间部分的方法列表中。
或者:
生成新方法列表时,还可在编辑器的右侧部分(OPC UA 服务器接口)选择方法(类型为 Object 的节点),然后再将其拖动到编辑器左侧部分的“添加新方法列表”(Add new method list) 中。新方法列表随即包含相关节点的方法。
下图显示了方法列表的内容:
如果要调用 OPC UA 服务器的另一方法,必须创建新方法列表。每个方法列表仅包含一种方法。
另请参见“关于服务器方法的有用信息”。
编译项目。
为此,请选择项目并单击工具栏中的以下按钮:
STEP 7 会编译项目并更新属于“Productionline”客户端接口的数据块。
提示 编译过程中,STEP 7 会覆盖属于客户端接口的数据块中的所有数据。因此,不应手动向这些数据块添加内容,也不能进行更正。 |
提示 重命名节点 (DisplayNames)在读取列表、写入列表和方法列表中,可**捷菜单重命名节点。该名称为 OPC UA 语言用例中的“DisplayName”。 如果重命名方法列表节点,且该节点已用于方法调用“OPC_UA_MethodCall”的已编程块中,项目编译会出现一致性错误:编译过程中,会生成方法的 UDT 以及已更改的名称。对程序中所用方法的引用随后不再正确。 要更正一致性错误,可在客户端接口中撤消对方法名称的更改,也可以浏览至方法调用并再次在“特性 > 块参数”(Properties > Block parameters)(“组态”(Configuration) 选项卡)下分配相关参数。 |
以下数据块属于“Productionline”客户端接口:
Productionline_Configuration
用于组态的数据块。
在本示例中,该数据块名为“Productionline_Configuration”。
数据块已包含 OPC UA 客户端指令需要的所有系统数据类型。
此外,数据块还包含与 OPC UA 服务器的连接的参数分配常规默认值。
如果要进行连接参数分配,该将该数据块填入数值。
ProductionLine_Data
在客户端接口编辑器中输入的用于 PLC 变量的数据块。
在本示例中,该数据块名为“Productionline_Data”。
下图显示了数据块。
在用户程序中使用“Productionline_Data”数据块并访问“NewProduct”和“ProductNumber”PLC 变量的读取值。下一章节将通过示例对此进行说明。
示例:读取“ProductNumber”值
例如,在 SCL 程序中写入:
举例来说,可使用该语句将生产线中刚生产出的坯件编号分配给局部变量“#MyLocalVariable”。
要求:
存在与控制着生产线的 CPU 的 OPC UA 服务器的连接。
OPC UA 客户端已读取当前值。
为此,应检查读取值是否有效:
检查 "Productionline_Data".ReadListProduct.NodeStatusList[1] 中的值是否等于 0。
可选:检查从 OPC UA 服务器发送该值的时间。该值在“Productionline_Data”.Product.TimeStamps[1] 中。如果未请求时间戳,通信负荷会降低。
示例:写入“ProductEnabled”值
使用数据块将 PLC 变量(本示例中为“ProductionEnabled”)的新值传送到 OPC UA 服务器。
进行下列分配后,可启用示例工厂中的生产线:
但只有满足以下要求时才能成功:
存在与控制着生产线的 CPU 的 OPC UA 服务器的连接。
当前值将通过 OPC UA 客户端写入
最后,检查读取/写入列表或方法列表的一致性。
选择要检查的列表。
单击“OPC UA 客户端接口”(OPC UA client interface) 区域上方的“一致性检查”(Consistency check) 按钮。
绿色复选标记指示将变量或方法分配给服务器接口的相应元素时不存在错误。
可假定客户端与服务器间的数据交换以及方法调用在运行时未出错。
一旦出错,将在巡视窗口中显示一个列表。通过该列表,可跳转到相应的错误处。
一致性检查期间,STEP 7 会检查:
在相应列表中使用的所有元素是否同样存在于服务器中。
所用的数据类型是否匹配?
对于方法:方法变量的数量、名称、顺序和数据类型是否匹配?
词条
词条说明
常问问题1 S7-200PC Access SMART可以与S7-300,S7-400使用吗?答:不能。2 S7-200PC Access SMART较多可以连接几个S7-200 SMART PLC?答:8个PLC。3为什么数据条目设置成“写”,客户测试端的测试结果为“差”?答:当条目的属性为“写”的时候,就取消了该条目的读取功能,所以客户端尝试读取的时候失败,质量显示“差”。在上位机软件上可以对
地址组态 (IPv6)创建或更改受监视的 IP 地址在此页面上,可以创建、修改或删除要监视的 IPv4 地址。一个虚拟路由器较多可监视 10 个 IPv4 地址。提示此功能只适用于* 3 层。显示框说明Interface / VRID选择虚拟路由器的 ID。Associated IP Address输入虚拟路由器将监视的 IPv6 地址。较多支持 10 个 IPv6 地址。该表格包括以下列:Ass
将用户页面定义为起始页面将用户页面定义为起始页面除了默认的简介页面之外, 还可将用户页面的起始页面定义为 Web 服务器的起始页面。要求在 STEP 7 中,已组态一个用户且权限至少为“...打开用户定义 Web 页面”(... open user-defined web pages)。CPU 处于 RUN 模式。操作步骤要在 STEP 7 中将用户页面定义为 Web 服务器的
S7-1200 PID Compact V2 组态步骤使用 PID 功能,必须先添加循环中断,需要在循环中断中添加 PID_Compact 指令。在循环中断的属性中,可以修改其循环时间。图1.添加循环中断后在属性界面修改其循环时间因为程序执行的扫描周期不相同,一定要在循环中断里调用 PID 指令。注意:为保证以恒定的采样时间间隔执行 PID 指令,必须在循环 OB 中调用。在“指令 > 工艺
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
电 话: 021-37660026
手 机: 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
手 机: 13681875601
电 话: 021-37660026
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com