• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
夏日雪夢
為了夢,夢一生
級別: VIP會員
精華主題: 0
發(fā)帖數(shù)量: 528 個
工控威望: 4295 點
下載積分: 4306 分
在線時間: 463(小時)
注冊時間: 2009-04-03
最后登錄: 2024-12-21
查看夏日雪夢的 主題 / 回貼
樓主  發(fā)表于: 2009-11-14 14:09
此方案針對七十七樓出現(xiàn)的問題[attachment=33684] 此方案針對三十五樓出現(xiàn)的問題[attachment=31751] 此方案針對二十四樓出現(xiàn)的問題[attachment=31696]
對三十八樓提出的意見回復:
1 、狗是會動的,驅(qū)動Y22、Y23狗會前進后退,到開門X40開門檢測位置,x40會接通;
2、扇葉轉(zhuǎn)動可以看下面圖示了,相應輸出參考使用幫助;
3、電梯也要驅(qū)動電梯上升或下降,才會出現(xiàn)對應的上、下箭頭,鼠標箭頭指向電梯的各個位置會有對應的輸入、輸出顯示。
[attachment=31376]    如圖示,即文件下載:

為大家更好的學習好PLC,大家使用中有什么不合適的方面,有什么想要模擬的設備,提出來了,我把它改進,加進來。以利大家學習使用。




[attachment=31369]    
[attachment=31376]
[ 此帖被夏日雪夢在2016-10-25 20:38重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+5(金秋來)
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    1樓  發(fā)表于: 2009-11-15 16:45
    呵呵,又有新東西啊。真認真。進步很多哦。

    再給你一個測試程式的方法。
    規(guī)劃一區(qū)M點(比如M300~M350),利用M點,將M300當成總異常,只要M301~M349其中有一點動作,M300就ON。
    就是有異常發(fā)生。直接從M300去找異常點的程式在那。
    這樣在作測試模擬時,就可以在模擬畫面上顯示異常訊息了。
    有興趣的話,可以參考看看。

    大陸出差回臺後,就很少來了。
    最近在學寫AUTOCAD的程式,AUTOLISP。
    方便自己設計電路圖,減少花費的時間。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    2樓  發(fā)表于: 2009-11-17 23:23
    引用
    引用第6樓夏日雪夢于2009-11-16 15:30發(fā)表的 Re:Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :
    只要M301~M349其中有一點動作,M300就ON,這個感覺容易做到;
    直接M300從去找異常點的程式在那,這個有些不太明白,M300如何與故障點的程序連接,能否再詳細點說明了。


    把異常集中在一點,是方便你對PLC程式除錯。
    vb程式可以對你設定的異常點區(qū)域作搜尋比對,只要其中一個點=on,就是有異常。
    底下部份程式給你參考看看。設一個time去掃程式。

    Private Sub tmrAlarm_Timer()
      Dim I As Integer
      Dim J As Integer
      Dim sDATA(100) As String
      Dim mData(100) As Integer

      '讀取M值狀態(tài)
      sDATA(0) = ReadM(300)
      gf = PLC.ReadDeviceRandom2(sDATA(0), CLng(10), mData(0))
      sDATA(1) = ReadM(310)
      gf = PLC.ReadDeviceRandom2(sDATA(1), CLng(10), mData(10))
      sDATA(2) = ReadM(320)
      gf = PLC.ReadDeviceRandom2(sDATA(2), CLng(10), mData(20))
      sDATA(3) = ReadM(330)
      gf = PLC.ReadDeviceRandom2(sDATA(3), CLng(10), mData(30))
      sDATA(4) = ReadM(340)
      gf = PLC.ReadDeviceRandom2(sDATA(4), CLng(10), mData(40))
      sDATA(5) = ReadM(350)
      gf = PLC.ReadDeviceRandom2(sDATA(5), CLng(10), mData(50))
      sDATA(6) = ReadM(360)
      gf = PLC.ReadDeviceRandom2(sDATA(6), CLng(10), mData(60))
      sDATA(6) = ReadM(370)
      gf = PLC.ReadDeviceRandom2(sDATA(7), CLng(10), mData(70))
      sDATA(8) = ReadM(380)
      gf = PLC.ReadDeviceRandom2(sDATA(8), CLng(10), mData(80))

      For N = 0 To 9
          M(300 + N) = mData(N)
          M(310 + N) = mData(N + 10)
          M(320 + N) = mData(N + 20)
          M(330 + N) = mData(N + 30)
          M(340 + N) = mData(N + 40)
          M(350 + N) = mData(N + 50)
          M(360 + N) = mData(N + 60)
          M(370 + N) = mData(N + 70)
          M(380 + N) = mData(N + 80)
      Next N
      
      lblAlarm = ""
      If M(301) Then lblAlarm = lblAlarm & "M301:送料口異常"
      If M(302) Then lblAlarm = lblAlarm & "M302:無料警告"
      If M(303) Then lblAlarm = lblAlarm & "M303:載臺異常"
      If M(304) Then lblAlarm = lblAlarm & "M304:推料異常"
      If M(305) Then lblAlarm = lblAlarm & "M305:夾料異常"
      If M(306) Then lblAlarm = lblAlarm & "M306:出料口異常"
      If M(307) Then lblAlarm = lblAlarm & "M307:定位異常"
      If M(308) Then lblAlarm = lblAlarm & "M308:底座異常"
      If M(309) Then lblAlarm = lblAlarm & "M309:車刀座異常"
      If M(320) Then lblAlarm = lblAlarm & "M320:無料警告"
      If M(321) Then lblAlarm = lblAlarm & "M321:載臺前進異常"
      If M(322) Then lblAlarm = lblAlarm & "M322:載臺後進異常"
      If M(323) Then lblAlarm = lblAlarm & "M323:推料定位異常"
      If M(324) Then lblAlarm = lblAlarm & "M324:推料前進異常"
      If M(325) Then lblAlarm = lblAlarm & "M325:推料後退異常"
      If M(326) Then lblAlarm = lblAlarm & "M326:夾料前進異常"
      If M(327) Then lblAlarm = lblAlarm & "M327:夾料後退異常"
      If M(328) Then lblAlarm = lblAlarm & "M328:定位前進異常"
      If M(329) Then lblAlarm = lblAlarm & "M329:定位後退異常"
      If M(330) Then lblAlarm = lblAlarm & "M330:底座前進異常"
      If M(331) Then lblAlarm = lblAlarm & "M331:底座後退異常"
      If M(332) Then lblAlarm = lblAlarm & "M332:車刀座前進異常"
      If M(333) Then lblAlarm = lblAlarm & "M333:車刀座後退異常"
    End Sub
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    3樓  發(fā)表于: 2009-11-17 23:41
    異常測試畫面參考

    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    4樓  發(fā)表于: 2009-11-18 22:40
    READ()程式我沒放上來。
    只是給部份程式讓你參考而己。

    程式如下:
    Public Function ReadM(NO As String)
      Dim sDATA As String
      Select Case NO
        Case 300:
          sDATA = "M300" & Chr(10) & "M301" & Chr(10) & "M302" & Chr(10) & "M303" & Chr(10) & "M304" & Chr(10) & "M305" & Chr(10) & "M306" & Chr(10) & "M307" & Chr(10) & "M308" & Chr(10) & "M309" & Chr(10)
        Case 310:
          sDATA = "M310" & Chr(10) & "M311" & Chr(10) & "M312" & Chr(10) & "M313" & Chr(10) & "M314" & Chr(10) & "M315" & Chr(10) & "M316" & Chr(10) & "M317" & Chr(10) & "M318" & Chr(10) & "M319" & Chr(10)
        Case 320:
          sDATA = "M320" & Chr(10) & "M321" & Chr(10) & "M322" & Chr(10) & "M323" & Chr(10) & "M324" & Chr(10) & "M325" & Chr(10) & "M326" & Chr(10) & "M327" & Chr(10) & "M328" & Chr(10) & "M329" & Chr(10)
        Case 330:
          sDATA = "M330" & Chr(10) & "M331" & Chr(10) & "M332" & Chr(10) & "M333" & Chr(10) & "M334" & Chr(10) & "M335" & Chr(10) & "M336" & Chr(10) & "M337" & Chr(10) & "M338" & Chr(10) & "M339" & Chr(10)
        Case 340:
          sDATA = "M340" & Chr(10) & "M341" & Chr(10) & "M342" & Chr(10) & "M343" & Chr(10) & "M344" & Chr(10) & "M345" & Chr(10) & "M346" & Chr(10) & "M347" & Chr(10) & "M348" & Chr(10) & "M349" & Chr(10)
        Case 350:
          sDATA = "M350" & Chr(10) & "M351" & Chr(10) & "M352" & Chr(10) & "M353" & Chr(10) & "M354" & Chr(10) & "M355" & Chr(10) & "M356" & Chr(10) & "M357" & Chr(10) & "M358" & Chr(10) & "M359" & Chr(10)
        Case 360:
          sDATA = "M360" & Chr(10) & "M361" & Chr(10) & "M362" & Chr(10) & "M363" & Chr(10) & "M364" & Chr(10) & "M365" & Chr(10) & "M366" & Chr(10) & "M367" & Chr(10) & "M368" & Chr(10) & "M369" & Chr(10)
        Case 370:
          sDATA = "M370" & Chr(10) & "M371" & Chr(10) & "M372" & Chr(10) & "M373" & Chr(10) & "M374" & Chr(10) & "M375" & Chr(10) & "M376" & Chr(10) & "M377" & Chr(10) & "M378" & Chr(10) & "M379" & Chr(10)
        Case 380:
          sDATA = "M380" & Chr(10) & "M381" & Chr(10) & "M382" & Chr(10) & "M383" & Chr(10) & "M384" & Chr(10) & "M385" & Chr(10) & "M386" & Chr(10) & "M387" & Chr(10) & "M388" & Chr(10) & "M389" & Chr(10)
      End Select
      ReadM = sDATA
    End Function
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    5樓  發(fā)表于: 2009-11-18 22:41
    有空你再自己簡化那二段程式。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    6樓  發(fā)表于: 2009-11-22 09:17
    引用
    引用第23樓女工控人于2009-11-21 11:43發(fā)表的 Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :
    litung你好,你能把這個發(fā)上來嗎?謝謝了。 [attachment=31682]


    抱歉耶,這個是設備程式,不方便全部分享。
    有問題妳可以提出討論。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    7樓  發(fā)表于: 2009-12-02 21:43
    引用
    引用第52樓yamasoxi于2009-12-02 13:05發(fā)表的 Re:Re:Re:Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :
    算法有待提高.
    感覺寫的好累贅..!


    呵,本來就寫的很不好了,沒什麼算法可言的 ^_^
    小弟只是提供方法,想法。
    想要漂亮的程式碼,請自行修改成你要的樣子。
    可以寫成模組化,也可以把訊息記錄丟到access資料庫,用sql去查詢比對,顯示訊息。

    至於效能的話,vb就夠用了。
    PLC本身傳輸速度就不快,大部份都是9600,19200,38400 BPS的傳輸速率而己。
    快一點的話,就用網(wǎng)路模組。

    同時監(jiān)控多筆資料,跟PLC的寫法有關(guān)。
    若真的要監(jiān)控的話,要先規(guī)劃好你的資料區(qū)(D值);要集中在連續(xù)的區(qū)域,這樣就可以一次讀取多筆資料。
    若資料分散的話,在傳輸讀取上效率會差很多的。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    8樓  發(fā)表于: 2009-12-04 23:20
    3U好像可以設到115.2KBPS。

    14組數(shù)據(jù)?一組數(shù)據(jù)多大?太大的話最好切割,分次讀取。
    印象中一次最多好像可以讀64個還是128個16BIT的D值。
    32BIT的D值,就沒去測試了。32BIT印象中無法連續(xù)讀。
    要用其他方式,如下:

    '/**************************************************************/
    '/*功能:連續(xù)讀取32BIT PLC D值的資料                           */
    '/*用法:Call Read32Bit("D0", "D2", "D4", "D6", "D8")          */
    '/**************************************************************/
    Public Function Read32Bit(ParamArray PLC_Data()) As String()
    ....程式忽略
    End Function
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    9樓  發(fā)表于: 2009-12-05 11:01
    引用
    引用第60樓夏日雪夢于2009-12-05 10:10發(fā)表的 Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :
    litung 你好,和PLC連接要怎么設置呢,我做的連接失敗。

    與什麼PLC連接?
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    10樓  發(fā)表于: 2009-12-06 20:09
    引用
    引用第64樓小數(shù)點于2009-12-06 18:34發(fā)表的 Re:Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :

    這個是不是仿真學習系統(tǒng)呀?是的話,麻煩樓主也放在論壇上讓我們這些新手有更多的學習機會學習,謝謝


    那個比較不方便公佈。那是實際設備測試模擬用的。去年寫的。
    因設備在大陸製作、試機;小弟人在臺灣,無法試機,寫來,試機用的。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    級別: VIP會員
    精華主題: 2 篇
    發(fā)帖數(shù)量: 577 個
    工控威望: 3224 點
    下載積分: 14494 分
    在線時間: 405(小時)
    注冊時間: 2009-06-06
    最后登錄: 2024-11-16
    查看litung的 主題 / 回貼
    11樓  發(fā)表于: 2009-12-08 20:26
    圖片:
    引用
    引用第60樓夏日雪夢于2009-12-05 10:10發(fā)表的 Re:新手PLC仿真學習系統(tǒng) (感謝 litung xiaoqizi 幫助、指導) :
    litung 你好,和PLC連接要怎么設置呢,我做的連接失敗。


    解決了嗎?
    圖片給你參考看看,元件的選用。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go