因为FC有个特性,即各个FC所使用的系统地址是共用的,你可以发现,FC中使用的系统地址为L区域的地址。西门子的PLC的操作系统在调用完FC后,并不负责将FC所分配的地址内容清零,所以,FC中使用数据需要遵循一个原则:先赋值后使用,否则,很有可能使用的是上一次FC调用完没有清理的垃圾数据。你的情况就属于上面我说的情况,也就是第一次正常,后面调用的可能正常,为啥说可能正常呢?那取决于后面调用的FC是否正好要用到这些没有清理的数据,如果这些数据正好匹配,那么就会显示正常。