CX9020使用FB_NovRamReadWriteEx写入NOVRAM导致CPU负载间歇性过大的优化办法.docxVIP

CX9020使用FB_NovRamReadWriteEx写入NOVRAM导致CPU负载间歇性过大的优化办法.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第PAGE1页

C

CX9020使用FB_NovRamReadWriteEx写入NOVRAM导致CPU负载间歇性过大的优化办法

摘要:

倍福的数据掉电保持设置,通常比较复杂。目前,主要能实现数据掉电保持的办法有:1、写Retain型数据实现保持;2、写Persistent实现数据保持;3、写xml文件实现数据保持;4、写TXT文件实现数据保持等。

附件:

序号

文件名

备注

1

同时使用NovRam功能块和输出link完成掉电保持功能.doc

倍福虚拟学院参考文档

2

NOVRAM分批写入.pro

PLC源代码程序

3

NOVRAM分批写入.tsm

TCatSysManager配置文件

历史版本:

免责声明:

我们已对本文档描述的内容做测试。但是差错在所难免,无法保证绝对正确并完全满足您的使用需求。本文档的内容可能随时更新,如有改动,恕不事先通知,也欢迎您提出改进建议。

参考信息:

目录

TOC\o1-3\h\z\u1. 软硬件版本 3

1.1. 倍福Beckhoff 3

1.1.1. 控制器硬件 3

1.1.2. 控制软件 3

2. 问题描述 3

3. 程序优化 4

软硬件版本

倍福Beckhoff

控制器硬件

CX9020-0112

控制软件

笔记本和控制器都是基于TwinCAT2V2.11.2307Build2200版本。

问题描述

笔者在做一个项目时使用的是CX9020-0112控制器,由于有些数据需要实时更改并且需要做到掉电保持。前后试过采用外置UPS,通过IO检测市电是否断开的方式写入过PersistentData,或者定时写入也不完全可靠(定时写入影响SD卡寿命),由于防止硬件损坏导致数据丢失或者写入失败导致文件异常的原因。将方案改成了写入NOVRAM的方式。

但是通过变量声明成Output,手动链接到NOVRAM的变量。PLC在执行Stop或者Resetall的操作时,NOVRAM的数据会被清空掉,所以也放弃了方案。从虚拟学院有哪些信誉好的足球投注网站到有一个FB_NovRamReadWriteEx的功能块,通过功能块写入到NOVRAM的内存内,经测试断电、stop、resetall都不会影响数据。

但是目前写入的数据量有55,512Bytes,即使是一次性写入30,000Bytes,写入量过大也会导致CPU负载会间歇性飙升。这个曲线不太友好,所以在FB_NovRamReadWriteEx功能块原有的基础上进行了更改,通过指针偏移的方式对目标数据分批次写入,从而降低单个PLC周期的降低写入量,使得CPU的负载趋近于稳定。(注:此方式仅在项目前期测试阶段,设备还还未实际运行测试稳定性。)具体细节如下图所示,CPUTask周期时间为10ms,CPU最高值85%。

即使将PLCTask周期时间改到200ms,CPU的负载依旧会有间歇性波动。

程序优化

程序中,通过指针偏移的方式,每次写入到NOVRAM的数据大小改为1,000Bytes,CPU负载率得到大幅度降低4-8%,但是由于数据总量有55,512Bytes,所以耗时有点长。PLCTask周期设置为10ms,分批次读写一次需要1.67s,只写耗时1.12s。

下面,我们将单次写入量修改为2,000Bytes,数据总量为55,512Bytes。PLCTask周期设置为10ms,分批次读写一次需要0.83s,只写耗时0.56s。可以根据具体需求修改写入长度,读取可以在PLC初始化程序中进行一次读写即可。

上海(中国区总部)

中国上海市静安区汶水路299弄9号(市北智汇园)

电话:021

北京分公司

北京市西城区新街口北大街3号新街高和大厦407室

电话:010 邮箱:beijing@

广州分公司

广州市天河区珠江新城珠江东路32号利通广场1303室

电话:0201/2 邮箱:guangzhou@

成都分公司

成都市锦江区东御街18号百扬大厦2305室

电话:028 邮箱:chengdu@

请用微信扫描二维码

通过公众号与技术支持交流

倍福官方网站:

在线帮助系统:

/index_en.htm

倍福虚拟学院:

/

招贤纳士:job@

技术支持:support@

产品维修:service@

方案咨询:sales@

文档评论(0)

汉化手册大全 + 关注
实名认证
文档贡献者

教师资格证持证人

汉化手册

领域认证该用户于2023年12月02日上传了教师资格证

1亿VIP精品文档

相关文档