• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
夏日雪梦
为了梦,梦一生
级别: VIP会员
精华主题: 0
发帖数量: 528 个
工控威望: 4295 点
下载积分: 4305 分
在线时间: 458(小时)
注册时间: 2009-04-03
最后登录: 2024-05-27
查看夏日雪梦的 主题 / 回贴
楼主  发表于: 2009-11-14 14:09
此方案针对七十七楼出现的问题[attachment=33684] 此方案针对三十五楼出现的问题[attachment=31751] 此方案针对二十四楼出现的问题[attachment=31696]
对三十八楼提出的意见回复:
1 、狗是会动的,驱动Y22、Y23狗会前进后退,到开门X40开门检测位置,x40会接通;
2、扇叶转动可以看下面图示了,相应输出参考使用帮助;
3、电梯也要驱动电梯上升或下降,才会出现对应的上、下箭头,鼠标箭头指向电梯的各个位置会有对应的输入、输出显示。
[attachment=31376]    如图示,即文件下载:

为大家更好的学习好PLC,大家使用中有什么不合适的方面,有什么想要模拟的设备,提出来了,我把它改进,加进来。以利大家学习使用。




[attachment=31369]    
[attachment=31376]
[ 此帖被夏日雪梦在2016-10-25 20:38重新编辑 ]
本帖最近评分记录:
  • 下载积分:+5(金秋来)
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    1楼  发表于: 2009-11-15 16:45
    呵呵,又有新東西啊。真認真。進步很多哦。

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

    大陸出差回台後,就很少來了。
    最近在學寫AUTOCAD的程式,AUTOLISP。
    方便自己設計電路圖,減少花費的時間。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    2楼  发表于: 2009-11-17 23:23
    引用
    引用第6楼夏日雪梦于2009-11-16 15:30发表的 Re:Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :
    只要M301~M349其中有一點動作,M300就ON,这个感觉容易做到;
    直接M300從去找異常點的程式在那,这个有些不太明白,M300如何与故障点的程序连接,能否再详细点说明了。


    把異常集中在一點,是方便你對PLC程式除錯。
    vb程式可以對你設定的異常點區域作搜尋比對,只要其中一個點=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值狀態
      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 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    3楼  发表于: 2009-11-17 23:41
    異常測試畫面參考

    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    4楼  发表于: 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 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    5楼  发表于: 2009-11-18 22:41
    有空你再自己簡化那二段程式。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    6楼  发表于: 2009-11-22 09:17
    引用
    引用第23楼女工控人于2009-11-21 11:43发表的 Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :
    litung你好,你能把这个发上来吗?谢谢了。 [attachment=31682]


    抱歉耶,這個是設備程式,不方便全部分享。
    有問題妳可以提出討論。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    7楼  发表于: 2009-12-02 21:43
    引用
    引用第52楼yamasoxi于2009-12-02 13:05发表的 Re:Re:Re:Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :
    算法有待提高.
    感觉写的好累赘..!


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

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

    同時監控多筆資料,跟PLC的寫法有關。
    若真的要監控的話,要先規劃好你的資料區(D值);要集中在連續的區域,這樣就可以一次讀取多筆資料。
    若資料分散的話,在傳輸讀取上效率會差很多的。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    8楼  发表于: 2009-12-04 23:20
    3U好像可以設到115.2KBPS。

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

    '/**************************************************************/
    '/*功能:連續讀取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 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    9楼  发表于: 2009-12-05 11:01
    引用
    引用第60楼夏日雪梦于2009-12-05 10:10发表的 Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :
    litung 你好,和PLC连接要怎么设置呢,我做的连接失败。

    與什麼PLC連接?
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    10楼  发表于: 2009-12-06 20:09
    引用
    引用第64楼小数点于2009-12-06 18:34发表的 Re:Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :

    这个是不是仿真学习系统呀?是的话,麻烦楼主也放在论坛上让我们这些新手有更多的学习机会学习,谢谢


    那個比較不方便公佈。那是實際設備測試模擬用的。去年寫的。
    因設備在大陸製作、試機;小弟人在台灣,無法試機,寫來,試機用的。
    簡單的心,是真正有福
    單純的心,是真正的快樂    
    T480 i5-8250U,32GB,SSD:2TB+256G
    litung
    臺灣-李同在
    级别: VIP会员
    精华主题: 2 篇
    发帖数量: 578 个
    工控威望: 3224 点
    下载积分: 14494 分
    在线时间: 401(小时)
    注册时间: 2009-06-06
    最后登录: 2024-06-02
    查看litung的 主题 / 回贴
    11楼  发表于: 2009-12-08 20:26
    图片:
    引用
    引用第60楼夏日雪梦于2009-12-05 10:10发表的 Re:新手PLC仿真学习系统 (感谢 litung xiaoqizi 帮助、指导) :
    litung 你好,和PLC连接要怎么设置呢,我做的连接失败。


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