技术论坛

不明白西门子的编程方式

作者 主题
游士

经验值: 244
发帖数: 20
精华帖: 0
主题:【求助】不明白西门子的编程方式


只看楼主 楼主 2021-06-04 23:10:47

各位前辈,晚辈现在学习使用1500PLC,自学了好长时间还是对于西门子PLC的编程方式不是很理解,万般无奈想到来论坛发帖求救,希望有前辈可以指点一下迷津。

如下图所示,为什么调用的FB块有些引脚没有实参啊?如果没有实参的话如何实现控制呢?程序是怎么编写可以不知道,但是如果你都不给它实参的话那运行的结果有什么意义呢?

我不知道我这样说完前辈们是否明白我的疑惑?也希望前辈们可以指点迷津





 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1699152&b_id=66&s_id=0&num=13

游士

经验值: 244
发帖数: 20
精华帖: 0
回复:不明白西门子的编程方式
推荐帖


只看楼主 楼主 1楼 2021-06-04 23:11:57

各位前辈,晚辈初学西门子PLC,有很多基础的东西都不是很理解,所以各位老师不要笑话,更希望各位老师不吝赐教!


 
以下网友喜欢您的帖子:

  
版主

经验值: 69061
发帖数: 12270
精华帖: 59
回复:不明白西门子的编程方式
推荐帖


只看楼主 2楼 2021-06-04 23:50:42

FB有背景数据块的,你也可以直接操作背景数据块的地址给他赋值

如果这里没有实参的话,可能写这个背景数据块功能写的比较多,当前控制工艺用不到,或者使用默认的参数即可

也可能有在别的地方通过背景数据块的地址给赋值的


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
奇侠

经验值: 6785
发帖数: 1108
精华帖: 1
回复:不明白西门子的编程方式
推荐帖


只看楼主 3楼 2021-06-05 04:40:58

当时初学简单理解比如有个函数如y=x+3,x,y需要赋值具体的PLC的变量,这里的x,y就是形参,赋值具体的PLC的变量就是实参。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 127378
发帖数: 22003
精华帖: 824
回复:不明白西门子的编程方式
推荐帖


只看楼主 4楼 2021-06-05 09:52:44

2楼说的是。

FB并不见得都需要对输入赋值,可以使用启动默认值。

但通常不推荐这样使用。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
奇侠

经验值: 8877
发帖数: 2002
精华帖: 12
回复:不明白西门子的编程方式


只看楼主 5楼 2021-06-05 11:00:32

FB有背景数据块,你的所有接口在背景数据块里都有对应的数据地址,如果不赋值程序就按照背景数据块里的地址数据计算,如果赋值了就按照赋值计算。当然有一个特殊情况就是如果在InOut接口用数组参数是必须赋值的。这里的赋值不是给具体数据,是指定一个数据地址。你可以比较一下,FC是没有背景数据的,使用时必须给所有接口赋值。


污水处理自控工程师,简称污师。
以下网友喜欢您的帖子:

  
游士

经验值: 244
发帖数: 20
精华帖: 0
回复:不明白西门子的编程方式


只看楼主 楼主 6楼 2021-06-05 21:56:46

 嗯,但是我现在公司的程序块基本都是这样子,而且还是一位资历很老的前辈编写的,没有问题。客户生产线上用他编写的程序之后设备都能正常运转,这也说明了他编写的这种程序很正确的。但是我就是不理解他的这种“没有实参给FB块”的编写形式。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 127378
发帖数: 22003
精华帖: 824
回复:不明白西门子的编程方式
推荐帖


只看楼主 7楼 2021-06-05 22:17:37
以下是引用阳光下的心动在2021-06-05 21:56:46的发言 >6楼

 嗯,但是我现在公司的程序块基本都是这样子,而且还是一位资历很老的前辈编写的,没有问题。客户生产线上用他编写的程序之后设备都能正常运转,这也说明了他编写的这种程序很正确的。但是我就是不理解他的这种“没有实参给FB块”的编写形式。

嘿嘿,我也觉得老的“坏”。

写一些不想让新手能看懂的。就像我年轻时,师傅每每修理、拆卸关键部位,就让你去“找扳手”。

后来,我们就趁着师傅不在,自己把发动机拆了。


学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
奇侠

经验值: 6269
发帖数: 696
精华帖: 19
回复:不明白西门子的编程方式
推荐帖


只看楼主 8楼 2021-06-06 14:45:32

    Y版还是这事啊。都一样,当年我在国企实习电工时,也是这样。关键时让你去找东西,等回来就修好了。我倒不认为你那前辈FB故弄玄虚,具体不明白。我就说下我的思路。我写的每一个FB,不是针对具体的事情,而是整个的事情。打个比方说,来个简单的,控制个电磁阀。那个来了,首先,输入按钮可以是一个按钮,可以是两个按钮。输出电磁阀,也可能是单控,也可能是双控。还有些特殊要求,比如有些急停要释放,又有些客户不需要释放,要保持的。。。等等。不可能每种情况都写个FB吧。那么就一个FB,要把所有的需求都写上。调用时用哪种就调用哪个。肯定有不需要调用的管脚。这些管脚不就空了??

    所以,还要纠结FB为什么空着。你要琢磨FB为什么这么写?用意是什么?多动手写,做实验。光看是学不会的。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6269
发帖数: 696
精华帖: 19
回复:不明白西门子的编程方式


只看楼主 9楼 2021-06-06 14:48:27

顺带提下,你那块的命名估计有些问题。都是些S1 R1之类的。难道S 就是SET ,R是reset?写程序命名很重要,习惯要好。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6269
发帖数: 696
精华帖: 19
回复:不明白西门子的编程方式


只看楼主 10楼 2021-06-07 08:26:49

再啰嗦一句,如果用ST来写程序,不用的管脚会隐藏。这点,其它的编程方式不行。楼主用的是STL吧。LAD也一样不行。这也是我不太喜欢用LAD的原因之一。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4857
发帖数: 1014
精华帖: 4
回复:不明白西门子的编程方式


只看楼主 11楼 2021-06-07 08:34:29

他这个程序可能针对类似的功能用,写的比较全,当你控制需要比较简单,只需要其中一项功能时,可能只需要连接对应的几个参数即可,其他的数据用的是默认值,


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7136
发帖数: 1022
精华帖: 2
回复:不明白西门子的编程方式


只看楼主 12楼 2021-06-08 09:32:16

既然是初学,我倒是觉得你可以自己动手写一些能实现目前你手头项目应用的程序!然后再结合前辈的程序去理解!如果一味的拿别人的程序去学习!其实容易让自己摸不着头脑!当然如果有个好师傅有耐心给你讲的话,那又另当别论!


心有多远路就有多远
以下网友喜欢您的帖子:

  
侠圣

经验值: 2508
发帖数: 296
精华帖: 1
回复:不明白西门子的编程方式


只看楼主 13楼 2021-06-09 08:51:41

其实这个事怪有意思的,我一开始学PLC,学的是罗克韦尔的Micro 850系列,后来又学西门子Smart和1200.1500,再后来换公司,那边用的欧姆龙,基恩士,LS,我用起来感觉还行,两年之后从那公司离职,又回到了1200和1500,原来公司的同事有一些是毕业就进去,在那干了好几年,学的一直是日系,但是出来搞西门子,感觉好费劲,就是哪哪都感觉不对的,这个现象也挺有意思


千万不要和杠精抬杠,因为他会把你拉低到他的水平,然后再恶心你
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
不明白西门子的编程方式
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。