
程序通过任意时序更改mov指令源地址就可以变更要
modbus对象的站号 地址 数据数。原理上,一直在通讯不断进行读或者写。
主要是反映M0.2的作用。可以使得通讯无间隙地执行。并可防止通讯过程中修改站号 读写 地址 数据数的人为变更造成通讯失败。但是程序并没有限制写动作时间接寻址的真实地址的更改,通讯当中更改这部分数据仍然可以造成通讯返回错误代码。可以效仿程序里面的mov指令进行改写保护。获得安全的修改过程。
当程序用于控制一个变频器的频率的时候,这个间接寻址的真实地址有可能发生与通讯过程无关的修改逻辑。使用的时候必须用上述的mov指令的驱动逻辑(原理上)来变更通讯内容。
另一方面当你不使用上述mov逻辑而直接修改间接地址的话,可能会在修改动作的这个(或下一个)扫描周期里产生错误代码。此时通讯任然认为正常。但是当前修改不能写进驱动器。紧跟着,下一次通讯周期到来时,将会覆盖这个错误。通讯可以完全正常传递信息。表面上你将不能发现,当中已经发生过通讯错误。
如果这些错误发生在控制伺服某些动作的时候,这一次的错误将会丢失一段的数据。这个影响就不一般了。
温馨提示:
我当前试验的结果,是客观的,但是我理解这个结果是主观的。不排除我会判断错误。但是我未发现自己错误的时候将会一直使用这种逻辑进行控制。