
例如:当L0被分配给主程序TEMP变量时,调用子程序时,该变量的值已经被子程序中的TEMP变量替代,所以如果下侍悔谨次主程序读取该变量时,因为系统不负责释放,该地址的老基值就是子程序的,会造成逻辑上的混乱,所以,对于TEMP变量来说,只要遵守先赋值后使用,就不会有任何问题。
这个是由于子程序的调用指令没找到签名或签名参数一致的子程序的原因,打个比方说,当你从别的程序里复制了一部分程序(程序中含调用子程序的指令)到新建的程序中时,由于此时你只复制了子程序的调用指令而并没有复制子程序本身,这个锋耐春时候如果你在新建的程序中按照要调用的子程序的名称创建子程序时,由于程序块中调用子程序的指令是从别的程序里拷过来的,而子程序本身(即“指令”列表中“调用子程序”里的子程序)是在新建程序中创建的,尽管名称是一致的,但是却不是同一个子程序,程序块中子程序的调用指令指向的却不是“指令”列表中“调用亩隐子程序”里同名的子程序,编译时就会出现“未找到请求的签名或签名参数”的错误,意思就是调用银耐指令没找到签名或签名参数一致的子程序。不能,这是PLC的常规错误,比如你一个点要输出,一个点不要输出颂并,PLC不能保证其结果的正确性仿樱做,最终导致不可预知的错误,正确的做法备衡是需要多个条件输出时都用内存变量进行逻辑判断然后再输出。任何PLC都是这样的,初学者最容易犯这样的错误
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)