恭喜,你发布的帖子
发布于 2023-12-06 08:51:33
7楼
KT1(LW4)是当前降压启动时间的计数值,调用执行子程序时必须先将上周期的数据读入子程序的LW4中,执行结束后,必须再传送出子程序,以保存结果。即:保存历史数据。
您用的变量类型是TEMP,子程序执行结束后,该类型数据不能被保存。这里说的【不能被保存】指的是:极有可能被其它程序修改其保存的数据。重复调用时,或其它子程序使用了(含地址重叠)该地址(LW4)后,其保存的数据会被修改,不可控。即:不能正确保存历史数据。使用已被修改的错误历史数据,怎能获得正确的累加结果。
因此,KT1(LW4)的变量类型必须使用IN_OUT,不能用TEMP。
KT1(LW4)使用IN_OUT变量时:该子程序被调用执行时,先将上次调用执行后保存的数据,写入子程序中(LW4中),子程序执行结束后,再将新数据值传出子程序保存,以备下次调用时使用。
L区的使用,必须遵循 先写(先赋值)、后读(后使用)的原则。
请填写推广理由:
分享
只看
楼主