分享

s7中的变量

 南极圈同盟777 2021-12-25

所谓“变量”,是在程序的运行过程中,其值可以根据某些条件而发生变化的量。与“变量”相对的是“常量(Constant)”,顾名思义,常量的值在整个程序的运行中保持不变。頭條萊垍

变量的名字称为“变量名”,变量名通常是一个助记符,用来表示一个物理地址。在这个地址上存放着变量的值。萊垍頭條

变量有两个特性:作用域和生命周期。萊垍頭條

变量的作用域是指变量的作用范围,也就是在哪些范围内该变量是有效的。根据作用域的不同,变量可以分为全局变量(Global Variable)和局部变量(Local Variable)。萊垍頭條

全局变量在整个程序范围内都有效。萊垍頭條

在西门子S7系列PLC的编程中,那些存放在公共存储区的变量都属于全局变量。公共存储区包括输入缓存区(I)、输出缓存区(Q)、位存储区(M)、全局数据块(Global DB)、定时器(T)、计数器(C)等等。比如,位存储区的M0.0,你可以在主程序(OB)或子程序(FB、FC)中访问它,它是全局的。條萊垍頭

局部变量(Local Variable)是只能在某个子程序(FB或FC)中访问的变量。萊垍頭條

也就是说,局部变量是私有的,子程序(FB或FC)只能访问其自身内部定义的变量,而不能访问其它子程序内部定义的变量。萊垍頭條

从生命周期来看,全局变量的生命周期是整个程序的运行周期。也就是说,只要PLC还运行用户程序,全局变量就一直有效。萊垍頭條

而局部变量的生命周期则取决于其存放的位置。條萊垍頭

对于S7系列PLC而言,局部变量有两个存放的位置:临时变量存储区(堆栈)和背景数据块(Instance DB)。萊垍頭條

临时变量存储区(堆栈),也称为局部变量存储区(Local Memory),用来存放FB或FC在运行过程中的临时变量。萊垍頭條

在S7系列PLC中,FB、FC或者OB都被称为“程序组织单元(POU,program organizational unit)”。PLC为每个POU分配一定数量的临时变量存储区,在S7-300/400 PLC中,这个区域的大小为256字节;在S7-200 Smart PLC中,这个区域的大小为64字节。萊垍頭條

临时变量存储区中的变量称为“临时变量”,它们只在当前POU运行时有效。当POU运行结束后,该变量将被释放(无法保存)。萊垍頭條

静态变量从作用域上分属于局部变量;从生命周期上来看,它与用户程序的生命周期相同。临时变量也属于局部变量,不过其生命周期短,仅在POU运行的过程中有效。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多