倍福PLC在Login时要求下载程序及PLC停机问题处理

设备在运行,在线调试时Login提示The program has changed!要求下载程序,如果下载设备就会停止,如果不下载又无法继续调试。本次测试的目的就是找出该问题出现的原因,以及如何避免出现这个问题。

测试目的:

设备在运行,在线调试时Login提示The program has changed!要求下载程序,如果下载设备就会停止,如果不下载又无法继续调试。本次测试的目的就是找出该问题出现的原因,以及如何避免出现这个问题。

测试条件:

CX1020-0112,TwinCAT, WinCE

PLC代码:写NOVRAM数据,让CPU利用率超过75%。因为CPU利用率高时,Login时间较长。进行各种操作,包括:修改个别数字、增加几行代码、增加变量、增加数组甚至功能块等等,在线修改次数也达到了19次之多也没有出现Online Change不可用或者要求程序重新Load的情况。

测试结果:

没有找到Online Change的次数或者代码改动量触发The program has changed!问题的临界点,但找到了中间文件.ri和.ci与该问题的关联,并小结出“TwinCAT 2的.ci和.ri文件的作用”,以及“如何缩短Online Change后再Login的时间”。

        Online Change的次数或者代码改动量的影响

本次测试没有找到Online Change的次数限制或者代码改动量的限制,比如做了哪些修改,程序就会要求重新下载。

        能克服Online Change的操作

在CPU利用率75%以上的情况下,这些Online Change操作仍然无法触发The program has changed!问题。包括:修改个别数字、增加几行代码、增加变量、增加数组甚至功能块等等。

        不能克服Online Change的操作

由于各种测试都不能重现问题,因此在原Pro的基础上导入另一个PLC的源代码。

编译后Login,提示要Load程序,而没有Online Change的选项了。报警代码1302,提示信息:New externally referenced functions inserted. Online Change is therefore no longer possible!

在TC2帮助文件中显示,报警1302的原因是:引用了上次没有在控制器里面引用过的库,所以要下载完整的项目。

  1. 如何缩短Online Change时编译和下载的时间

通常代码只是很小的改动量,但是程序稍微大一点,下载前就要花时间去编译以及Preparing Symbols和Download Symbols,修改Project Option中的TwinCAT选项可以改善这个问题,

为了不影响与PLC通讯的其它设备,第一次下载以及最后调试完毕时,可以再还原默认设置。

  1. 如何避免重新编译及重新下载
    1. TwinCAT 2的.ci和.ri文件的作用

中间文件.ri和.ci与程序重新下载问题的关联,以及“TwinCAT 2的.ci和.ri文件的作用”:

PLC Control操作

产生和更新的

文件后辍

文件的作用

Build及Rebuild时,

.SDB;.SYM;.tpy;

变量名,任务,端口,地址分配等信息

Save时

.pro和.ci文件

. ci文件保留历史编译信息,但是即使.pro文件中有无法编译通过的错误,Save时也会产生.ci文件。它总是与.pro文件同时产生和更新。如果没有.ci文件,Login就会触发重新编译。

Login后Download Program时

.ri文件

.ri文件保留的是Download信息。如果没有Save或者Create Boot Project操作,.ri文件就是唯一可靠的对应当前控制器内存运行程序的文件。如果没有.ri文件,Login时就会触发Program has changed,Download the program的要求。

Create Boot Project

TCPLC_P_x.wbp

控制器上电后的PLC引导程序

所以避免出现程序下载报警的原则是保持.pro、.ci、.ri和TCPLC_P_x.wbp的互相匹配。

    1. 如何避免程序重新下载导致停机

通常控制器里的代码和路径都不会变,只有编程电脑侧的文件会变。为了备份,重命名、另存为、换台电脑调试都有可能。再次登陆时都有可能出现警告“The program has changed!Download the program?”。这时如果选择下载,PLC程序肯定会停止,如果选择不下载,就没法Login继续调试。

为了避免这种问题出现,推荐操作如下:

  1. 现场调试做备份时,不要用另存为,而是复制当前文件,把备份按日期重命名。

这是为了使所有中间文件继续可用。

  1. 换电脑或者换人调试时,要整个文件夹复制,尤其是.pro、.ci和.ri文件要配套。
  2. 项目归档时,.pro、.ci、.ri和TCPLC_P_x.wbp文件,要一致保留最新版本。

推荐做法是收工前依次执行:Login——Create Boot Project——Save

然后编程PC上整个项目文件夹备份;控制器的\TwinCAT\Boot也整个文件夹备份。

  1. Online Change引起停机的可能性

此前有客户反馈,现场调试时Online Change更改一点点代码PLC就会停机,同时CPU配置较低而CPU利用率偏高。为了深入分析导致这个问题的原因,请反馈此类问题时先根据前面的描述,先确认以下3点:

  1. 确认编程电脑上的PLC程序没有更换名字或者路径,ri和ci文件也没有移动或者删除
  2. 确认TwinCAT PLC Control的Project | Option中的TwinCAT已经设置为Static Symbol并取消所有Global、Local的勾选
  3. 换台电脑重试操作,以排除编程电脑本身的问题

  1. 扩展阅读:TwinCAT 3中关于FB的Online Change内存指定

在TC3的帮助文件中找到了Online Change的相关内容,但TC2中并无类似的设置。

Twincat 3提供了为功能块的Online Change配置内存预留的选项。这意味着,如果内存储备足够大,在随后的Online Change期间对功能块的声明进行更改后,不必将功能块的实例复制到新的内存位置。这主要是指在线变更,其中一个或多个新变量被添加到一个功能块中。如果由于内存保留而不必将功能块实例复制到新的存储位置,则Online Change更快,出现的问题也更少。当内存储备耗尽时,在执行Online Change之前会显示一条消息。

建议:为功能块配置Online配置的预留内存,理想情况下,是在当前项目下载到控制器之前配置菜单和设置界面:PLC|Windows|Online Change Memory Reserve Settings.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值