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

主题:请教老师:<西门子s7-300plc应用教程>一书中一例题不明白

点击:2082 回复:6

最近 我在<西门子s7-300plc应用教程>一书中看到一
例题:
fc1 : 二分频程序
Network  1 :  二分频程序
                  A     #S_IN
                 FP     #F_P
                  NOT
                 JCN      LP1
Network  2 :  上升沿检测标志
                 AN     #S_OUT
                 =      #S_OUT
Network  3 :  Title :
      LP1:     A      #S_OUT
                 =      #LED
我对第二段不明白,请哪位老师指导一下.    书上说:如果输入信号S_IN出现上升沿,则对S_OUT取反,然后将S_OUT信号状态送LED显示;否则,程序直接跳转到LP1,将S_OUT的信号状态送LED显示.
最后修改:2008-3-31 8:55:21
08-03-29 15:16
AN     #S_OUT
=      #S_OUT
这就是一个取反呀
当“ #S_OUT” 为真    经过上述指令   #S_OUT 就为假
反之亦然
08-03-29 19:33
我还是不明白S_IN与S_OUT是怎么联系的.请指导.谢谢!
08-03-29 22:08
如果输入信号S_IN出现上升沿,则对S_OUT取反,然后将S_OUT信号状态送LED显示;否则,程序直接跳转到LP1,将S_OUT的信号状态送LED显示.
说的很清楚呀?
08-03-31 00:46
4楼你好,我主要对S_IN到S_OUT间的信号流程不明白,程序的第一段和第二段好象没什么联系怎么就取反了呢?
08-04-03 17:03
學習西門子S7-300,那么就要對RLO(邏輯結果)有著清晰的認知,同時,要對PLC的工作原理做清晰的認識。
NetWork只是西門子區分網絡,而執行程序并不區分Network只是從上向下,從左向右執行。
因此,當A     #S_IN  實際上是當#S_IN 為1時(也就是出現上升沿),此時RLO為1,經過NOT,將RLO取反后為0了,因此JCN檢測RLO值,為0跳轉,從而執行標號為LP1的程序段。
而當#S_IN 沒有出現上升沿,此時的RLO值不變,而指令A的作用實際上是檢驗#S_IN 的地址值,并將檢測結果送入RLO,因沒有出現上升沿,所以#S_IN 的地址值為0,進而RLO值為0,通過Not指令后,將RLO值取反,因此RLO值為1,而JCN指令只有在RLO值為0時跳轉,因此此時JCN不進行跳轉,從而程序繼續向下執行,從而執行接下來的Network2中的程序,并一直到程序執行完畢。
以上!
Good Luck!
08-04-03 17:21
6楼好,谢谢回帖.我的问题是根据书上的时序图当S_IN出现第一个上升沿时S_OUT随之为1,出现下降沿时S_OUT不变,当S_IN第二次出现上升沿时S_OUT随之为0.
   我是这样想的:S_IN第一次为1时由于AN   #S_OUT为0则=   #S_OUT为1,当S_IN为0时(出现下降沿时)AN   #S_OUT应为1,(因=  #S_OUT已经为1,)则 =   #S_OUT应为0.特别是当输入信号的周期很大于PLC的扫描周期时.
     以上错在哪里?请指正.
08-04-05 12:18

工控新闻

更多新闻资讯