登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:西门子PLC形式参数求解

点击:1434 回复:4

在带功能参数子程序里,有IN\OUT\IN_OUT\TEMP这4类变量理解起来有点拗,哪位老师能不能用通俗的语句或例子分别说下使用方法,表示非常感谢
最后修改:2016/12/7 14:50:56
16-12-07 14:37
IN:输入参数,所有的变量都应该通过IN来输入,包括全局变量,在子程序内部,IN变量是只读变量。
OUT:输出参数,子程序通过OUT变量将需要返回的数据返回给调用子程序的程序。在子程序内部,OUT变量为只写变量。
IN_OUT:输入输出变量,通过这个变量传送的是变量的内存地址而不是副本,所以任何在子程序中改动,都会反映到实际的变量上,因为是通过指针来实现地址的传递,所以比较消耗系统资源,所以在可以用OUT替代的情况下,IN_OUT变量应尽量少用。
TEMP:临时变量,在子程序内部使用,随着子程序的调用结束,这些变量占用的地址被系统收回,但是地址中存放的内容系统不进行初始化,因此,使用TEMP变量应遵循先赋值,后使用的原则。
Good Luck~
16-12-07 15:38

引用 cvlsam 在 2016/12/7 15:38:18 发言【内容省略】

那在一个子程序中,具体在什么情况下使用OUT,什么情况使用IN_OUT,这才是让我想不明白的地方,网上看了点资料,说IN_OUT既可以做输出点,又可以做输入点,并举了启保停电路为例,您说这个例子举得合理吗
我把这个变量理解成一个中转站,这样可以吗
最后修改:2016/12/7 16:47:19
16-12-07 16:42
形参:指明参数类型
实参:调用时实际数据、根如果是输入参数可以是数据也可以是变量;如果是输出或者   输入输出参数必须是变量
输入:调用时将数据传递给子程序
输出:程序执行结束时将数据返回
输入输出:调用时将数据传递给子程序、程序执行结束时将数据返回
临时变量:在子程序内部使用
子程序里面的输入、输出、输入输出变量都是形式参数;而调用子程序时填写的数据或变量就时实际参数
16-12-07 17:23

引用 302512119 在 2016/12/7 16:42:51 发言【内容省略】

起保亭的程序不需要使用到IN_OUT变量,IN_OUT变量用于例如需要取得边沿检测的程序,例如单按钮启停。
而实际中,IN_OUT变量其实用的不多的,一般用于传递数组。不用IN_OUT仍然可以完成任务。
16-12-08 09:43

工控新闻

更多新闻资讯