SCL 置复位问题

最近在学习S7-1200,无意中看到找答案的一个问题,http://www.ad.siemens.com.cn/Service/answer/solution.aspx?Q_ID=123134&cid=1072&F=
看了半天没看明白,感觉楼主的程序没什么问题啊,为什么输出结果不同呢?
“我心飞翔”大师解释说:
FC块中必须对任何情况下的OUT赋值,所以建议使用INOUT代替OUT。这句话没理解。
为什么改为INOUT的类型就可以用,在本量中,作为OUT与INOUT区别在哪。
谢谢!

最佳答案

这其实是使用临时变量的问题,其实是第二个块的输出与第一个块的输出在被调用时分配的临时变量的地址是一样的,所以导致了第二个块也有输出了。
使用INOUT代替OUT,因为INOUT会先检测其输入状态,然后在根据块程序输出逻辑或运算结果。对于第二块来讲,先检测M0.5状态为0,程序执行后也是为0。所以输出正常。

提问者对于答案的评价:
谢谢各位大师的回复!
是不是这样理解:在FC中,OUT变量是临时变量。第一次调用时和第二次调用时所分配的地址是一样的,所以出现这种情况,而如果改用IN_OUT,分配的地址就是单独。
那如果把这程序写在FB中,还是定义OUT变量的话,输出结果是不是就具有保持功能,可以正常执行了?

最佳答案作者回复:
恭喜,看来是明白了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc163651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月9日
下一篇 2017年6月9日

相关推荐

  • “我在找指令执行时间小的PLC

    s7-200与s7-1200 两个比较!那个运算时间短一点!!时间2MS中断程序中运算!!难!! 问题补充:我是用来浮点运算!pld没能力输出!!!S7-1200运算指令…

    SIMATIC S7-1200 2017年11月13日
  • 1200与编程设备之间的TCP通信

    我做的课题是基于1200的以太网运动设计,没有用任何通信模块,直接与上位机采用TCP协议实现,上位机自己用的C++编写的通信协议,作为服务端的1200需要做哪些工作呢?我现在只在O…

    SIMATIC S7-1200 2017年11月12日
  • 请教S7-1200 MODBUS TCP通信问题

    请教各位老师:1、用MB_CLIENT读3个服务器。需要像串口通信那样做轮巡吗?2、西门子的MODBUS TCP和MODBUS通信有哪些异同?能提供些技术资料吗。谢谢 最…

    SIMATIC S7-1200 2017年11月1日
  • Modbous通讯编程

    我这个选择怎么选择错的,应该如何选择 问题补充:这个是Load块,应该加载作为主站进行读写的数据块 图片说明:       最佳答案 这个要…

    2017年5月28日
  • S7-1200 高级培训(8)——编程基础C

    S7-1200 高级培训(8)——编程基础C 课程编号:V1526 本系列高级培训课程包含了S7-1200概…. 点击这里,打开新窗口观看完整视频 该视频下的所有用户提问列表 …

    2017年6月19日
  • 博途V13仿真软件问题

    安装了博途V13仿真软件,一开始使用正常,现在一打开就出错,具体见图片。怎么解决。重新安装也不行。 图片说明:       最佳答案 S7-…

    2017年6月10日
  • 博图v13找不到设备

    博图如过不知道原来plc的ip地址就找不到plc,选择显示所有兼容设备也找不到。该怎么解决?谢谢 问题补充:可不可以直接输plc的mac地址连接设备? 最佳答案 搜索S7-1200…

    SIMATIC S7-1200 2017年6月9日
  • s71200 profinet从站 IO地址不够用怎么办

    现在S71200上面要挂4个Proinet IO设备 每一个站的输入输出都要256个字节挂到第4个的时候 提示说IO地址最大是到1000 第…

    SIMATIC S7-1200 2017年6月3日
  • 1200和一个第三方设备通过网口使用UDP协议,请问程序该怎么编

    1200和一个第三方设备通过网口使用UDP协议网络IP地址:192.168.1.122(程序内部设定)端口号:18002(程序内部设定)起始地址是0x200,偏移地址是0-9,我想…

    SIMATIC S7-1200 2017年6月12日
  • v13帮助F1

    打开protal经常会出现按了帮助F1之后会显示 连接不到internet。但是有时候又正常连接的上。比如说我点击IN_RANGE这个指令块,按F1会出现连接不到INTE…

    2017年7月25日