技术论坛

S71200&S7300,FC使用置位指令问题

作者 主题
游士

经验值: 267
发帖数: 18
精华帖: 0
主题:【求助】S71200&S7300,FC使用置位指令问题


只看楼主 楼主 2021-09-10 23:17:38

在FC中 Start 0→1→0    S7 1200  & S7 300  OutPut得到结果不同 1200FC使用区别在哪里请教!


























 
以下网友喜欢您的帖子:

  
重要声明:

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

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

至圣

经验值: 11071
发帖数: 1222
精华帖: 35
回复:S71200&S7300,FC使用置位指令问题


只看楼主 1楼 2021-09-11 07:41:21
你把300plc的程序,输出换成db地址,发现就会与1300一样了。
这是因为300的输出如果是M、I、Q,是指向实际地址的,db地址是复制后给实际地址的。
1200的机制应该是复制后给实际地址的。
而FC中使用set指令,由于临时变量不存储结果,导致下一周期数据被改写。
可以把out改为inout或者建立一个inout,把set等需要保存起来的地址,通过inout接口保存到外部地址
Keep calm and carry on!!!
以下网友喜欢您的帖子:

  
游士

经验值: 267
发帖数: 18
精华帖: 0
回复:S71200&S7300,FC使用置位指令问题


只看楼主 楼主 2楼 2021-09-11 10:08:59

使用DB地址  OUT仍为1




 
以下网友喜欢您的帖子:

  
游士

经验值: 267
发帖数: 18
精华帖: 0
回复:S71200&S7300,FC使用置位指令问题


只看楼主 楼主 3楼 2021-09-11 22:58:13

是FC 在1200不能这样使用还是我这样的写法有问题,各位请指点一二,万分感谢。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2625
发帖数: 734
精华帖: 3
回复:S71200&S7300,FC使用置位指令问题


只看楼主 4楼 2021-09-13 09:12:45

S7-1500和1200的临时数据区是强制清零的,S7-300的不然。你可以在S7-300里面连续调用两次这个FC测试下。你的测试结果只能是说钻了系统的漏洞。

不仅仅是PLC,不管是哪种编程平台哪种编程语言,这样使用临时数据区都是错误的。即便你偶尔得到了你想要的结果,这种用法也是不可取的。


 
以下网友喜欢您的帖子:

  
游士

经验值: 267
发帖数: 18
精华帖: 0
回复:S71200&S7300,FC使用置位指令问题


只看楼主 楼主 5楼 2021-09-13 15:57:03


调用两出现问题。


 
以下网友喜欢您的帖子:

  
版主

经验值: 76250
发帖数: 19148
精华帖: 378
回复:S71200&S7300,FC使用置位指令问题


只看楼主 6楼 2021-09-13 22:53:22

呵呵,这个现象说明了几个方面的问题

1)指令的条件执行,S/R指令是条件执行指令

2)FC调用时S7-1200/1500对内部临时变量的强制清零

3)参数的传递


谁可以再把这个问题解释清楚了?


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
S71200&S7300,FC使用置位指令问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。