西门子200PLC中主程序中的(TEMP)临时变量和子程序的TEMP能不能定义一样,如果定义一样(符号名一样)

西门子200PLC中主程序中的(TEMP)临时变量和子程序的TEMP能不能定义一样,如果定义一样(符号名一样),第1张

L作为临时区,由系统分配与管理,因此,同名的TEMP变量不会引发问题,前提是程序员遵守先赋值后调用的原则,TEMP变量,系统并不负责释放。

例如:当L0被分配给主程序TEMP变量时,调用子程序时,该变量的值已经被子程序中的TEMP变量替代,所以如果下次主程序读取该变量时,因为系统不负责释放,该地址的值就是子程序的,会造成逻辑上的混乱,所以,对于TEMP变量来说,只要遵守先赋值后使用,就不会有任何问题。

他们的影响在于:系统不会自动清除局部(临时)区域的内容,因此,当你在于主程序或者子程序中调用局部数据时,如果不遵守以下原则,可能会读到非正确的数据。

这个原则就是:对于临时区数据,遵循先赋值,后使用的原则。

子程序库,其实就是自己定义的子程序,可以当做西门子的指令一样使用。当然在库文件中使用的都是符号地址,不能出现实际的V地址。举个例子来说:西门子中有没有求模的指令?

我曾经做了一个单字数据求模的指令,现写在这里大家共享下,子程序名定义为MOD_I,具体STL程序如下(注意都是符号地址,数据类型为WORD):

LD SM00

MOVW #IN_WORD1:LW0, #DATA_TEMP1:LW6

/I #IN_WORD2:LW2, #DATA_TEMP1:LW6

MOVW #IN_WORD2:LW2, #DATA_TEMP2:LW8

I #DATA_TEMP1:LW6, #DATA_TEMP2:LW8

MOVW #IN_WORD1:LW0, #MOD_OUT:LW4

-I #DATA_TEMP2:LW8, #MOD_OUT:LW4

你可以转换成LAD程序,看下就明白了。

子程序 很容易解密的

子程序加密的 一般是PID 脉冲等 用西门子的库程序就有加密的子程序 一般不需要看的

如果确实要看 很容易就打开了 打开后 用梯形图看 有很多无效网络 用语句表能看到程序

以上就是关于西门子200PLC中主程序中的(TEMP)临时变量和子程序的TEMP能不能定义一样,如果定义一样(符号名一样)全部的内容,包括:西门子200PLC中主程序中的(TEMP)临时变量和子程序的TEMP能不能定义一样,如果定义一样(符号名一样)、西门子plc s7-200 主程序和子程序局部变量占用相同地址有什么影响、该如何学习西门子的PLC子程序库 如何利用西门子的子程序库来搭建自己的主程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9851869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存