一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

cyh1986
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 373 個
工控威望: 749 點
下載積分: 749 分
在線時間: 303(小時)
注冊時間: 2009-04-28
最后登錄: 2025-01-18
查看cyh1986的 主題 / 回貼
樓主  發(fā)表于: 2010-05-11 17:47
我用S7-200編寫了一個單鍵啟動的程序,有幾個輸出,前面的輸出鎖后面的輸出。
但是我調(diào)試了一下,只要第一個按一下,后面的立即都有輸出。
對西門子子程序這塊還不是很明白,請大家?guī)兔纯?br />謝謝
描述:西門子子程序調(diào)用
附件: 科行.rar (10 K) 下載次數(shù):579
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
beiye1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 255 個
工控威望: 282 點
下載積分: 914 分
在線時間: 250(小時)
注冊時間: 2010-02-05
最后登錄: 2017-07-31
查看beiye1234的 主題 / 回貼
1樓  發(fā)表于: 2010-05-12 08:25
圖片:
子程序的變量,怪怪的!
[ 此帖被beiye1234在2010-05-12 08:37重新編輯 ]
wwcwwc
級別: VIP會員

精華主題: 0
發(fā)帖數(shù)量: 3393 個
工控威望: 3191 點
下載積分: 70452 分
在線時間: 1604(小時)
注冊時間: 2008-04-20
最后登錄: 2024-12-17
查看wwcwwc的 主題 / 回貼
2樓  發(fā)表于: 2010-05-12 14:06
你的子程序network1和network2的線圈#中繼A和#中繼B為什么要這樣寫?我感覺邏輯上存在問題。主程序(OB1)是應(yīng)該可以這樣寫的。
zsb
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zsb的 主題 / 回貼
3樓  發(fā)表于: 2010-05-12 18:13
我簡單的看了下,你的子程序局部變量表里面沒有OUT變量,我想問題也許出在這里
zz680217
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 251 個
工控威望: 343 點
下載積分: 1822 分
在線時間: 531(小時)
注冊時間: 2008-12-03
最后登錄: 2025-01-22
查看zz680217的 主題 / 回貼
4樓  發(fā)表于: 2010-05-12 19:08
一樓的朋友,我把你的程序改了一下并下載到PLC中已成功,你在調(diào)用子程序的變量參數(shù)上存在一定的問題,特別是用BOOL時,盡量用IN/OUT而不要用OUT,同時在設(shè)計子程序時盡量做到精短,少用中繼線圈。因為200在參數(shù)返回容易出錯,出現(xiàn)你所發(fā)現(xiàn)的情況。最后向你說明的沒有按照你原有程序全部更改,如有需要你自己完成吧。
附件: 科行.rar (10 K) 下載次數(shù):349
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+1(wuhenke0000)
    cyh1986
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 373 個
    工控威望: 749 點
    下載積分: 749 分
    在線時間: 303(小時)
    注冊時間: 2009-04-28
    最后登錄: 2025-01-18
    查看cyh1986的 主題 / 回貼
    5樓  發(fā)表于: 2010-05-13 08:35
    zz680217這位朋友,謝謝你的熱心支持
    我也試了一下,把子程序給修改了一下,還是出現(xiàn)以前這樣的情況。
    原因很有可能就是你說的原因。
    我開始縱一位是我子程序調(diào)用的問題
    cyh1986
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 373 個
    工控威望: 749 點
    下載積分: 749 分
    在線時間: 303(小時)
    注冊時間: 2009-04-28
    最后登錄: 2025-01-18
    查看cyh1986的 主題 / 回貼
    6樓  發(fā)表于: 2010-05-13 10:11
    奇怪了,為什么你修改后的子程序移植到我現(xiàn)在的項目里面就不行了呢???
    wwcwwc
    級別: VIP會員

    精華主題: 0
    發(fā)帖數(shù)量: 3393 個
    工控威望: 3191 點
    下載積分: 70452 分
    在線時間: 1604(小時)
    注冊時間: 2008-04-20
    最后登錄: 2024-12-17
    查看wwcwwc的 主題 / 回貼
    7樓  發(fā)表于: 2010-05-15 08:00
    看了你的程序我說說個人觀點,盡供參考。
    因為我這里現(xiàn)在沒有實體進行測試,可能程序還存在一些問題,望見諒!
    1)    子程序結(jié)構(gòu)不夠嚴(yán)緊,同樣的功能占用字節(jié)稍稍偏大(可能是編程習(xí)慣問題)。相同的功能用這樣調(diào)用子程序做法是可行的。程序盡量采用指令方式編寫。直接能夠使用輸出條件的網(wǎng)絡(luò)段程序盡量少用(寄存)跳轉(zhuǎn)等方法,這樣對于程序的閱讀有幫助。手/自動轉(zhuǎn)換條件功能最好不要寫到子程序的調(diào)用中。
    2)    主程序(OB1)中功能的啟動條件既然用上升沿脈沖控制位,則子程序中應(yīng)該用相應(yīng)的置/復(fù)位指令。我是沿用你的主程序編法進行。特別是一些手動操作時正反轉(zhuǎn)頻繁的場所,需要解決置位后的復(fù)位問題。同時可能會造成調(diào)用自動操作時,相關(guān)的輸出位不能有效復(fù)位。補救措施見第4項內(nèi)容。啟動信號條件最好用變址方式,把必要的程序邏輯關(guān)系做在一起,緊湊程序。
    3)    急停按鈕必須使用B接點(常閉接點,這樣可以在平時建立一個檢測急停回路正常與否的功能)。
    4)    按我個人觀點在調(diào)用自動操作功能時,必須先復(fù)位手動操作時的有關(guān)輸出點(按工藝要求選擇)。然后再作相關(guān)的自動功能操作。反之也然。如在調(diào)用自動時首先實現(xiàn):
    LD    SM0.0
    A      I3.3                 //手/自動的選擇
    CALL  SBR_1              //自動子程序調(diào)用
    R      Q0.0,7             //意思是復(fù)位Q0.0 ~ Q0.7功能。當(dāng)然也可以根據(jù)實際情況選擇復(fù)位位數(shù)內(nèi)容。
    5)    對于報警信息(故障內(nèi)容)比較多的最好在專門的子程序或者在主程序(OB1)中進行編寫。統(tǒng)一在一起編寫報警信息,提高效率,減少遺漏。
    科行改進程序.zip (10 K) 下载次数:343
    cyh1986
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 373 個
    工控威望: 749 點
    下載積分: 749 分
    在線時間: 303(小時)
    注冊時間: 2009-04-28
    最后登錄: 2025-01-18
    查看cyh1986的 主題 / 回貼
    8樓  發(fā)表于: 2010-05-17 08:34
    引用
    引用第7樓wwcwwc于2010-05-15 08:00發(fā)表的  :
    看了你的程序我說說個人觀點,盡供參考。
    因為我這里現(xiàn)在沒有實體進行測試,可能程序還存在一些問題,望見諒!
    1)    子程序結(jié)構(gòu)不夠嚴(yán)緊,同樣的功能占用字節(jié)稍稍偏大(可能是編程習(xí)慣問題)。相同的功能用這樣調(diào)用子程序做法是可行的。程序盡量采用指令方式編寫。直接能夠使用輸出條件的網(wǎng)絡(luò)段程序盡量少用(寄存)跳轉(zhuǎn)等方法,這樣對于程序的閱讀有幫助。手/自動轉(zhuǎn)換條件功能最好不要寫到子程序的調(diào)用中。
    2)    主程序(OB1)中功能的啟動條件既然用上升沿脈沖控制位,則子程序中應(yīng)該用相應(yīng)的置/復(fù)位指令。我是沿用你的主程序編法進行。特別是一些手動操作時正反轉(zhuǎn)頻繁的場所,需要解決置位后的復(fù)位問題。同時可能會造成調(diào)用自動操作時,相關(guān)的輸出位不能有效復(fù)位。補救措施見第4項內(nèi)容。啟動信號條件最好用變址方式,把必要的程序邏輯關(guān)系做在一起,緊湊程序。
    3)    急停按鈕必須使用B接點(常閉接點,這樣可以在平時建立一個檢測急停回路正常與否的功能)。
    .......

    謝謝wwcwwc的回復(fù)
    我設(shè)計這個子程序的初衷就是為了方便一鍵啟停的操作,像C語言似的,只要把一些相關(guān)的輸入輸出信號都列出來,因為這些設(shè)備基本類似,所以不要再多考慮,直接調(diào)用子程序。
    但現(xiàn)在遇到這樣一個問題,(原來我發(fā)的那個是有連鎖條件的),只要第一個啟停按鈕一按下,后滿所有的設(shè)備就立即啟動了,按照我的理解,應(yīng)該不會出現(xiàn)這樣的情況,我的子程序調(diào)用的條件里面有個啟停的上升沿的,沒有按那個上升沿后面的設(shè)備應(yīng)該是啟動不了的,后來我推斷應(yīng)該是子程序的問題,我猜想因為每個都調(diào)用的一個子程序,第一個調(diào)用只有,輸出局部變量變化了,第二調(diào)用的時候,直接把這個輸出局部變量給輸出呢?按照S7-200的說法,對這個局部變量還不是很吃得透。
    我的急停按鈕在電路上是,常閉接的二次回路,常開接的PLC,選用的是1NO1NC的按鈕。
    還請WWCWWC網(wǎng)友幫忙考慮考慮我以上描述的問題!


    前面有一位網(wǎng)友修改的程序我也實際測試了一下,確實符合我的要求,但是我移植到我的項目中就不行了。也不明白是什么原因。
    wwcwwc
    級別: VIP會員

    精華主題: 0
    發(fā)帖數(shù)量: 3393 個
    工控威望: 3191 點
    下載積分: 70452 分
    在線時間: 1604(小時)
    注冊時間: 2008-04-20
    最后登錄: 2024-12-17
    查看wwcwwc的 主題 / 回貼
    9樓  發(fā)表于: 2010-05-18 09:50
    為什么說不行?原因?如果直接移植過來。恐怕有重復(fù)調(diào)用地址的可能。請按思路重新編寫子程序試試。

    主站蜘蛛池模板: 色综合久久夜色精品国产| 亚偷熟乱区视频在线观看| 2012中文字幕中字视频| 欧美精品v日韩精品v国产精品| 99精品视频免费观看| 果冻传媒在线观看的| 5g影院天天爽爽| 欧美性受xxxx88喷潮| 亚洲国产网址| 精品久久久久香蕉网| 好男人资源大全免费观看| 青青精品| 免费视频亚洲| αv在线视频| 天天做天天爱天天操| 亚洲欧美在线观看一区二区| 国产 国语对白 露脸正在播放| 国产欧美一区二区三区久久| 我和么公的秘密小说免费| 亚欧洲乱码专区视频| 韩国三级2020| 啊好大好粗| 久草草在线视视频| 日韩欧美国产在线| 欧美老骚| 午夜福到在线2019| 操碰97| 亚洲天堂精品在线观看| 欧美成狂野欧美在线观看| 污到湿的爽文免费阅读| 边摸边操| 国产亚洲精aa在线观看不卡| 美女被吸乳老师羞羞漫画| 乌克兰粉嫩摘花第一次| 视频在线观看大片| 国产在线观看a| 精品国产成人a区在线观看| 狠狠色婷婷丁香六月| 精品久久看| 国产成人精品午夜免费| 亚洲欧美激情日韩在线|