为什么OPC UA客户端不能按照STEP 7 (TIA Portal)中定义的顺序接收数据?

描述
如果更改了PLC数据类型中的数据元素,STEP7(TIAPortal)程序中组态好的PLC数据类型顺序将会与SIMATICOPC UA (OPC Unified Architecture)类型目录中的数据元素顺序不匹配。 这样SIMATICOPC UA 服务器和客户端之间按照不同于STEP7 (TIA Portal)显示的顺序线性的传输PLC数据类型中的元素。

CPU使用一个优化的DB存储信息以实现信息的最优访问。大多数情况下,存储结构与DB块的结构或者组态不匹配。

如果在STEP7 (TIA Portal)中更改了DB,可以在STEP7 (TIA Portal)中看到DB视图。另一方面,DB和DB中的更改会在CPU("CPUview of the data")中按照不同的顺序存储。

关于优化块的详细信息可参考 "Programming Guidelines for S7-1200/1500"。打开 PDF文档 (在"View"下) ,导航到 "2 S7-1200/S7-1500Iovations > 2.6 Optimized Blocks"。

在下面的例子中,在STEP7 (TIA Portal)程序中包含了一个按照图1组态数据元素的PLC数据类型"udtCounters"。

为什么OPC UA客户端不能按照STEP 7 (TIA Portal)中定义的顺序接收数据?
图. 1

这个PLC数据类型用在全局DB中。 PLC数据类型中的数据元素结构和 SIMATIC S7-1500OPC UA 服务器中一致。

为什么OPC UA客户端不能按照STEP 7 (TIA Portal)中定义的顺序接收数据?
图. 2

假如,将数据元素"intC" 的数据类型从"Int"改为 "DInt", 这个更改后的数据元素在SIMATICS7-1500 OPC UA 中会自动下调或者附加为最后一个变量。

为什么OPC UA客户端不能按照STEP 7 (TIA Portal)中定义的顺序接收数据?
图. 3

所有的数据都会正确的传输, 但是当从CPU中读取数据时,数据的顺序可能会与STEP7(TIA Portal)中不同。

补救措施
动态的组态SIMATIC OPC UA 客户端,客户端运行时会正确的调整结构和元素的顺序。关于此方面的更多信息请参考 "OPC UA .NET Client for the SIMATIC S7-1500 OPC UA Server"。

注意
上面提到的行为不会在非优化的数据块中出现。但是仍然建议使用优化的数据块,因为这些块的文件归档是优化进行的并且不受声明规则约束。总是能够最快的实现数据访问。

创建环境
关于此FAQ的屏幕截图创建于STEP 7 (TIA Portal) V14。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc342091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论