dujiang100
我是一只小小鳥
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 440 個
工控威望: 642 點
下載積分: 1895 分
在線時間: 243(小時)
注冊時間: 2011-03-11
最后登錄: 2024-05-22
查看dujiang100的 主題 / 回貼
樓主  發(fā)表于: 2016-03-23 17:29
   最近在研究VB跟歐姆龍CP1H的通信.了解到可以用串口進行HOSTLINK通信,還可以用以太網(wǎng)進行FANS通信.CP1H沒有網(wǎng)口所以不可以用FANS通信嗎?串口通信情況下,PLC處于運行時寫入不了數(shù)據(jù),只有當(dāng)PLC是監(jiān)控狀態(tài)時才能寫入.這怎么能達到隨時寫入的目的呢?
本帖最近評分記錄:
  • 下載積分:+1(56071988)
    xyzenter
    活在當(dāng)下,順其自然
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 135 個
    工控威望: 266 點
    下載積分: 2080 分
    在線時間: 108(小時)
    注冊時間: 2014-04-09
    最后登錄: 2021-04-13
    查看xyzenter的 主題 / 回貼
    1樓  發(fā)表于: 2016-03-28 15:19
          FINS通訊命令,0401可以讓PLC進入運行/監(jiān)控模式,0402可以讓PLC進入停止模式。
          實測用0402讓PLC停止后還可以用0101和0102對DM區(qū)進行讀寫。
          另:串口的hostlink模式FINS命令只能上位機控制PLC,PLC無法主動發(fā)數(shù)據(jù)給上位機。通過看w227文件,發(fā)現(xiàn)FINS幀格式自由度比較高,理論上來講可以通過修改幀里面的命令符進行PLC通過串口對上位機發(fā)送數(shù)據(jù),就好像用以太網(wǎng)發(fā)送一樣。但是歐姆龍PLC說明書里面并沒這方面的介紹。目前來說,PLC通過串口主動發(fā)數(shù)據(jù)給上位機發(fā)送數(shù)據(jù)要用無協(xié)議通訊。但是無協(xié)議通訊的話上位機無法控制PLC的開關(guān)狀態(tài)。小弟剛學(xué)歐姆龍通訊,好多東西還不懂,望論壇各位前輩不吝賜教。
    xyzenter
    活在當(dāng)下,順其自然
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 135 個
    工控威望: 266 點
    下載積分: 2080 分
    在線時間: 108(小時)
    注冊時間: 2014-04-09
    最后登錄: 2021-04-13
    查看xyzenter的 主題 / 回貼
    2樓  發(fā)表于: 2016-04-14 11:32
          如果用HostLink通訊,F(xiàn)INS指令,上位機要等待PLC某些步驟準(zhǔn)備好,就要上位機監(jiān)控PLC某位是否是設(shè)定值,那就需要不斷循環(huán)地發(fā)讀指令,這時候串口一直在工作,上位機程序一直調(diào)用串口函數(shù),這樣會顯得很繁忙,整個程序的資源都被串口收發(fā)給占用了,程序經(jīng)常處在假死狀態(tài)。這樣的程序顯然是有很大缺陷的。
          最好的解決辦法當(dāng)然是用中斷來代替循環(huán)等待。然而,F(xiàn)INS指令無法讓PLC主動發(fā)送就緒信號,無法提供這個中斷。哪位高手有辦法解決這個問題?