存储PLCNext社区LinkedIn上的PLCNEXT.Instagram上的PLCNEXT.  youtube上的plcnext. github plcnext社区存储PLCNext社区

  1. Manel.redondo.
  2. PLCNEXT技术和PLCNEXT控件
  3. 2020年8月20日星期四

你好,

我害怕当我在线时,驾驶舱利用区中%内存使用情况的含义。天天的日子,这个值增加了100%(见附加的“mem_utilization.png”图片),但我不知道它是否是关键与否。
基本上,我的程序使用Dataloggerrt(4个Sesions)来存储PLC上的值,并将此值发布此值将OPC服务器UA投掷到由我们开发的“Ad Hoc”客户端。

当%足够高,约80%,有些下载使数据更改下载后的Dataloggerrt服务(参见附加“错误。

这记忆的意思是什么?它由PLC管理或发布?

注意:我正在使用带有2020.6.1固件的AXC F 1152

 

Attachments (2)
Accepted Answer
manelredondo 接受答案 等待审核
0
Votes
撤消

你好,

问题是通过打开和关闭持续的OPC客户端会议给PLC来生产。我们最大限度地减少OPC“临时”客户端的OPC会话利用率,只能永久保持2。内存利用率的百分比现在是稳定的。

谢谢

Martin PLCnext Team 接受答案 等待审核
0
Votes
撤消

嗨Manel,

这很可能是由于数据记录器配置,但有可能在某处有内存泄漏。

你能告诉我们:

  • 数据记录器配置的所有参数设置?
  • 您是否在PLC上安装了任何其他应用程序,除了PLCNext Engineer项目之外吗?
  • 您的PLCNext工程师项目使用哪些库(如果有的话)?

谢谢你。

〜马丁。

 

Phoenix联系电子总部 - PLCNext运行时产品管理和支持
manelredondo 接受答案 等待审核
0
Votes
撤消

嗨马丁,感谢您再次快速回复。

  • 这是我的4个数据记录会话的配置:
    数据记录仪

它们之间的唯一区别是常规名称和数据库名称(DST)。

 

  • 除了建立的OpenVPN连接之外,PLC没有安装任何其他程序。

 

  • 这是我将仔细检查课程的好点。我正在使用我的C#开发的库,特别是我使用2个功能块,其中大UDT作为输入参数。所使用的其他功能块更简单,包括一周中的已知日子。另一方面,我正在使用modbus_tcp_6作为额外的库。

问候,

Manel.

 

更新:独立于内存使用率%,在唯一的更改下载之后,这些都是输出。记录的LOG行:


24.08.20 09:23:27.480 Arp.Services.ProfiCloud.Internal.ProficloudTSDAdapter INFO - Stopped Proficloud TSD service
24.08.20 09:23:27.480 Arp.Services.ProfiCloud.Internal.ProficloudAppAdapter INFO - Stopped Proficloud AppStore service
24.08.20 09:23:27.480 Arp.Services.Ehmi.EhmiComponent INFO - 2679198400 EhmiComponent: OnPlcChanging
24.08.20 09:23:29.020 Arp.Plc.Esm.Internal.TaskController INFO - Configuring Sleep class with a sync point interval of 100000us, an watchdog interval of 10000us and an axio interval of 10000us
24.08.20 09:23:29.155 Arp.Io.Axioline.Internal.AxiolineDomain INFO - Axioline: No bus configuration found. No links.xml file.
24.08.20 09:23:29.160 Arp.Io.EthernetIP.EthernetIPComponent INFO - LoadPlc, isChanging=true
24.08.20 09:23:29.181 Arp.Io.EthernetIP.EthernetIPComponent INFO - SetupPlc, isChanging=true, startKind=Warm
24.08.20 09:23:30.432 Arp.Services.OpcUAServer.Internal.Security.IO.IOAuthorizationServiceImpl INFO - Default PLCnext file security is active.
24.08.20 09:23:30.441 Arp.Services.OpcUAServer.Internal.Security.UserAuthenticationCallback INFO - Successful authentication for name='nor_opcua': client.address=172.18.0.13:50992, securityToken=BB826219, initialTimeoutMillis=1200000
24.08.20 09:23:30.861 Arp.Services.OpcUAServer.Internal.Security.SecurityContext INFO - Closing user session with: client.address=172.18.0.13:50992, securityToken=BB826219
24.08.20 09:23:30.884 Arp.Plc.Gds.Internal.GdsDomain INFO - GDS configuration successfully loaded.
24.08.20 09:23:30.980 Arp.Plc.Gds.Internal.GdsDomain INFO - GDS data connections successfully created.
24.08.20 09:23:31.296 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 13 subscribed.
24.08.20 09:23:31.298 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 13 unsubscribed
24.08.20 09:23:31.418 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not stop sampling! Error: CurrentlyUnavailable
24.08.20 09:23:31.430 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not stop sampling! Error: CurrentlyUnavailable
24.08.20 09:23:31.444 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not stop sampling! Error: CurrentlyUnavailable
24.08.20 09:23:31.562 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not stop sampling! Error: CurrentlyUnavailable
24.08.20 09:23:31.572 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not stop sampling! Error: CurrentlyUnavailable
24.08.20 09:23:31.604 Arp.Plc.Gds.Internal.Subscription.SubscriptionManager WARN - The subscription kind ClosedRealTime doesn't allow a capacity of 1. The capacity will automatically increased to 2.If the capacity of 1 is needed, use the kind HighPerformance instead
24.08.20 09:23:31.642 Arp.Plc.Gds.Internal.Subscription.SubscriptionManager WARN - The subscription kind ClosedRealTime doesn't allow a capacity of 1. The capacity will automatically increased to 2.If the capacity of 1 is needed, use the kind HighPerformance instead
24.08.20 09:23:31.697 Arp.Plc.Gds.Internal.Subscription.SubscriptionManager WARN - The subscription kind ClosedRealTime doesn't allow a capacity of 1. The capacity will automatically increased to 2.If the capacity of 1 is needed, use the kind HighPerformance instead
24.08.20 09:23:31.728 Arp.Plc.Gds.Internal.Subscription.SubscriptionManager WARN - The subscription kind ClosedRealTime doesn't allow a capacity of 1. The capacity will automatically increased to 2.If the capacity of 1 is needed, use the kind HighPerformance instead
24.08.20 09:23:31.785 Arp.Plc.Gds.Internal.Subscription.SubscriptionManager WARN - The subscription kind ClosedRealTime doesn't allow a capacity of 1. The capacity will automatically increased to 2.If the capacity of 1 is needed, use the kind HighPerformance instead
24.08.20 09:23:31.869 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 5 unsubscribed
24.08.20 09:23:31.876 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 2 unsubscribed
24.08.20 09:23:31.883 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 6 unsubscribed
24.08.20 09:23:31.982 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 4 unsubscribed
24.08.20 09:23:31.995 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 3 unsubscribed
24.08.20 09:23:32.021 Arp.Plc.Gds.Internal.Subscription.SubscriptionImpl INFO - Subscription 1 unsubscribed
24.08.20 09:23:32.082 Arp.Io.EthernetIP.EthernetIPComponent INFO - ResetPlc, isChanging=true
24.08.20 09:23:32.089 Arp.Io.EthernetIP.EthernetIPComponent INFO - UnloadPlc, isChanging=true
24.08.20 09:23:32.101 Arp.Services.Ehmi.EhmiComponent INFO - 2679198400 EhmiComponent: OnPlcChanged, success=true, dcgFullReload=false
24.08.20 09:23:35.555 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not start sampling! Error: CurrentlyUnavailable.
24.08.20 09:23:35.555 root ERROR - Session 'ts_agg_2m': Session could not be started.
24.08.20 09:23:35.558 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not start sampling! Error: CurrentlyUnavailable.
24.08.20 09:23:35.559 root ERROR - Session 'ts_alm': Session could not be started.
24.08.20 09:23:35.560 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not start sampling! Error: CurrentlyUnavailable.
24.08.20 09:23:35.561 root ERROR - Session 'ts_agg_5m': Session could not be started.
24.08.20 09:23:35.563 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not start sampling! Error: CurrentlyUnavailable.
24.08.20 09:23:35.563 root ERROR - Session 'ts_agg_1_h': Session could not be started.
24.08.20 09:23:35.565 Arp.Services.DataLogger.Internal.Subscription ERROR - Could not start sampling! Error: CurrentlyUnavailable.
24.08.20 09:23:35.567 root ERROR - Session 'ts_agg_15m': Session could not be started.
24.08.20 09:23:36.462 Arp.Services.OpcUAServer.Internal.InformationModel.Alarms.AlarmNodeManager WARN - Alarm with same id 'FV_ALM_INV_1' already defined (type='Alarma')
24.08.20 09:23:36.463 Arp.Services.OpcUAServer.Internal.InformationModel.Alarms.AlarmNodeManager WARN - Alarm with same id 'FV_ALM_INV_1_RESET' already defined (type='Alarma reset') 
manelredondo 接受答案 等待审核
0
Votes
撤消

更新2:

我将固件降级到2020.3.1:

  • Datalog会话在下载后不会停止。
  • 内存用法的百分比仍然增加,但不断增加
Martin PLCnext Team 接受答案 等待审核
0
Votes
撤消

嗨Manel,

我们将使用项目的简化版本使用 只要 数据记录器会话,检查这是否会导致内存增加,如您所看到的内存。

同时,您是否可以禁用项目中的数据记录器会话,并检查内存增加是否仍然发生?这将有助于确定您所看到的行为的来源。

〜马丁。

Phoenix联系电子总部 - PLCNext运行时产品管理和支持
Martin PLCnext Team 接受答案 等待审核
0
Votes
撤消

嗨Manel,

关于内存使用情况,我们已经观察到内存使用情况确实在数据记录器正在运行时向上和向下波动,这是有意义的,因为在被写入磁盘之前在RAM中累积数据。我们还没有看到内存使用永远增加的情况,所以它在数据记录器中看起来不像内存泄漏。

您可以减少“WriteInterval”数据记录器参数,从而在写入周期之间累积较少的数据,这应该有助于减少峰值%存储器图。同时,我们将继续调查,看看是否有任何改进我们可以对数据记录器内存管理进行调整。请注意,在FW 2020.3和2020.6之间管理数据记录器内存的方式没有显着变化。

关于下载更改问题,这是一个不同的问题,我们将单独调查。

〜马丁。

Phoenix联系电子总部 - PLCNext运行时产品管理和支持
manelredondo 接受答案 等待审核
0
Votes
撤消

嗨马丁,

抱歉延迟回答你。

我正在考虑制作3个测试,以确定内存泄漏的位置:

1)停止数据记录会话。已经完成:内存仍然增加缓慢。
2)停止OPC客户端。这将是下一次测试。事实上,我们的客户同时就像3个客户一样。第一个,打开并关闭一次每30秒关闭一个会话以获得一些实时数据。另一个客户端打开并关闭另一个会话每5分钟才能传达OPCUA历史数据。最后一个客户端打开并关闭另一个会话,以传达与事件相关的更多OPCUA历史数据。
3)我们使用的评论函数块或我们使用的特殊情况。

我会尽力让你了解这一点,

问候,

Manel.

  • 页 :
  • 1


这篇文章没有答复。
但是,您不允许回复此帖。