西门子S7-1200的变量如何使用?什么是局部变量和全局变量?临时变量和静态变量有什么区别?

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 今天给大家讲一下什么是局部变量、全局变量、临时变量、静态变量,这些变量都有什么区别,以及在西门子S7-1200中这些变量如何来使用。

今天给大家讲一下什么是局部变量、全局变量、临时变量、静态变量,这些变量都有什么区别,以及在西门子S7-1200中这些变量如何来使用。


在编写带参数子程序时需要使用局部变量。在PLC变量表和DB块中定义的变量称为全局变量,在全部程序中都有效。在某个块的变量声明表中定义的变量称为局部变量,只在创建它的块中有效。


640.jpg


为了增强通用性,方便移植到别的项目,子程序FC和FB中一般只有局部变量。在局部变量表中,名称列用来定义局部变量的符号名,数据类型列用来定义局部变量的数据类型。




在FC和FB的变量声明表中,形式变量也就是形式参数,用来在子程序块和调用它的程序块之间传递数据。形式参数INPUT是指输入到子程序块的参数,在子程序块中只能读取输入值。OUTPUT是指从子程序块返回的参数,在子程序块中只能写入返回值。INOUT是输入并从子程序块返回的参数,在子程序块中既可以读也可以写,输入值和返回值使用同一个地址。FC中的RETURN返回值只有一个,主要用于FC和调用该FC的其它程序交换数据,反应该FC的执行情况。在TEMP行下定义的变量称为临时变量,用来在该程序块执行时暂时存储数据,当退出该程序块时,这些程序将丢失。请注意,临时变量不能赋予初始值。如果有一些变量在调用结束后仍需要保持原值,则必须将这些变量定义为静态变量,即在STATIC行下定义的变量,静态变量只能用在FB中。


赋值给FB的背景数据块用作静态变量的存储区。因为FB带有存储区,即背景数据块,所以形式变量和静态变量可以赋予初始值。在FB中定义的静态变量不在生成的指令块中显示。


640.jpg


在程序中用符号名访问变量时,全局变量的符号名加引号、局部变量的符号名前带#号以示区分。


640.jpg


调用FC时必须用实际参数代替形式参数。调用FB时必须指定背景数据块,实际参数的值被存储在该FB的背景数据块中。如果在块调用时没有实际参数分配给形式参数,则在程序执行时将采用上一次存储在背景数据块中的参数值。


640.jpg


以上就是今天给大家讲解的内容,我们简单介绍了局部变量、全局变量、临时变量、静态变量,这些变量都有什么区别,以及在西门子S7-1200中这些变量如何来使用。

 

如果大家想要学习更多西门子PLC编程方面的知识,可以持续关注本号,我会在以后的文章中继续为大家分享。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
初始化局部变量和全局变量
【10月更文挑战第3天】初始化局部变量和全局变量。
33 5
|
存储 C语言 C++
函数的内部处理及全局变量和局部变量
函数的内部处理及全局变量和局部变量
123 0
函数的内部处理及全局变量和局部变量
|
存储 程序员 编译器
容易混淆的基本概念 成员变量 局部变量 全局变量
在实际开发与学习中,特别容易混淆几个基本概念:成员变量、局部变量、全局变量。了解这些概念的属性,存储在实际编码中非常有用。
140 0
容易混淆的基本概念 成员变量 局部变量 全局变量
|
人工智能 Java
变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)
变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)
176 0
变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)
|
C语言
【C 语言】变量本质 ( 变量修改 | 直接修改变量 | 通过内存地址间接修改变量 | 通过指针间接修改变量 )
【C 语言】变量本质 ( 变量修改 | 直接修改变量 | 通过内存地址间接修改变量 | 通过指针间接修改变量 )
243 0
【C 语言】变量本质 ( 变量修改 | 直接修改变量 | 通过内存地址间接修改变量 | 通过指针间接修改变量 )
|
存储 编译器 C语言
【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )
【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )
276 0
|
存储
动态变量和静态变量的区别
动态变量和静态变量的区别: 1、存储位置 动态变量:存储在内存出栈数据区 静态变量:存储在全局数据区(静态数据区) 2、生命期 动态变量:根据你定义的位置确定,比如你在一个函数中定义的,那么超出该函数范围变量将失效 静态变量:程序结束时才释放 3、作用域 动态变...
1944 0