任何人都可以帮助我了解有关在线更改期间指针、引用和接口引用的行为方式的更多信息吗?
我有什么要注意的?我从其他答案中了解到,如果在每个周期中不编写指针可能会很危险,但我将主要使用接口和引用。
任何人都可以帮助我了解有关在线更改期间指针、引用和接口引用的行为方式的更多信息吗?
我有什么要注意的?我从其他答案中了解到,如果在每个周期中不编写指针可能会很危险,但我将主要使用接口和引用。
当进行在线更改时,变量、功能块和其他程序部分可能会移动到不同的内存位置。因此,如果指针地址是旧信息,它可能指的是包含其他内容的内存地址。
因此,如果使用指针,则应使用 ADR 命令定期更新它们,就像您说的那样。
使用引用和接口时,我没有看到在线更改有任何问题,因为系统应该会自动处理它们。在 TwinCAT 3 中,系统将自动重新寻址变量(来源:https ://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/9007199390694027.html&id= )并且因为它是基于 Codesys,我认为其他系统也是如此。
使用引用时,最好检查引用是否有效。在 TwinCAT 3 中有一个功能__ISVALIDREF
,它也应该在其他基于 Codesys 的系统中。