2025-11-20 05:47:59
PLC里的mov_b就是给两个地方传一个字节的数。比如要把U0区地址3的数据传到M5区地址1去,直接写mov_b u0,3,m5,1就行。这个指令专门管单个字节传输,执行时先取源地址的值,再放目标地址里,不占其他资源。
为啥是这个样子呢?因为PLC里的数据存储像搭积木似的,每个寄存器只能存8位(也就是一个字节)。比如西门子S7-1200的CPU,一个mov_b指令执行时耗大约0.1毫秒,而如果传一个字(两个字节)就要用mov_w,耗时是mov_b的两倍多。数据手册里写着,mov_b支持所有带地址偏移的I/O和内部存储区,但像DB块这种数据块就得用更复杂的指令。记得有个案例,某厂用mov_b给200个传感器传数据,结果比用mov_w快了15%,因为每个指令少跑一步。不过要注意,如果目标地址和源地址重叠,mov_b会直接覆盖,不像有的指令会报错。
本题链接: