wangk0
人都有點過去~
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 82 個
工控威望: 2155 點
下載積分: 3866 分
在線時間: 64(小時)
注冊時間: 2012-05-17
最后登錄: 2024-04-11
查看wangk0的 主題 / 回貼
樓主  發(fā)表于: 2012-08-20 15:47
網上很多講485的,搜出來一看,都一個模子復制出來的。不過硬件部分就那么接,這次詳解PLC程序。

首先準備兩本書,F(xiàn)X1S1N2N2NC編程手冊(基本指令,步進梯形指令,應用指令說明書).pdf 和 FR-A500.pdf 。這兩本可以去三菱電機官網下載最新的。前一本書重點看273頁往后,后一本書看4.2.41節(jié)?床幌氯模梢匀タ
http://melville4.com/read-gktid-144031.html 這個貼子里的三菱通訊基礎的視頻,快進著看還是很不錯的。

PLC編程用到通訊部分的指令如下圖:


重點為RS, ASCI, HEX, CCD

能過查變頻器手冊,定義通訊的格式:我定義的為數據長度7位,偶校驗,停止位1位,無起始符結束符,9600BPS速率。
PLC通訊格式的設定跟據變頻器的設置,再寫入到標志位里去,如下圖:


然后通過PLC說明書知道,使用BD板,D8120的11,10,9這三位必須為110。這下一來,我上面的參數對應到D8120里去為H0C86。

到這一步,就相當于快遞公司有了,地址寫了,就差包裹了。

下面就是做包裹

通過RS定義包裹的大小

然后從變頻器的手冊上,找到包裹的具體形式:




然后填寫相關部分的數據:
這個地方的數據形式還得看變頻器,畢竟PLC上就是定義一長串的數據,把這串數據寫滿就行了。
上面一張圖里面其實就是具體的數據形式了,不過,三菱規(guī)定通訊時使用的是ASCII碼,那像ENQ的ASCII碼是多少就得查表了。


指令代碼也要查表


截圖了部分,都在上面我給的那一節(jié)書中。

下面以讓變頻器正反轉為例編段程序:
首先寫入通訊格式,將下面跟隨的程序置為8位處理模式。8位處理模式是因為三菱廠商制定的通訊方式是8位的ASCII碼。ASCII碼是用8位的二進制來表示一位十六進制的數,如 H30表示十六進制的0,H46表示十六進制的F。我個人理解ASCI轉換其實就是把四位的形式轉成8位的形式,兩個同樣表示F,十六進制里是1111; ASCII碼為01000110。


上面是初始化程序,M8161為8位/16位的切換開關,ON時為8位。ZRST是清除數據區(qū)

下面開始定義緩沖區(qū)


D200開始的十個寄存器的發(fā)送緩沖區(qū),D600開始的十個寄存器的接收緩沖區(qū)。這個就像快遞的中轉站,要發(fā)的包裹得統(tǒng)一到一個地方,等通知發(fā)貨的時候,一起發(fā)掉。接收同理。
填寫數據形式,做包裹
其中用到的指令代碼截過來


我用X0正轉,X2停止,X4  反轉。


M100M102M104可以不用,我連著觸摸屏做實驗的,單獨用PLC時不用。


D206,D207里面寫入的數據根據指令說明里的說明來寫,00為停,02為正轉,04為反轉。對就的按鈕寫對應的數據。因為D206在這三個指令里都是寫0,所以放到公共賦值里去,偷點懶。


CCD校驗完D220放的ASCI碼的和,D221里放的是列偶校驗,這里只需要一個D220的值。
再把D220里的值進行ASCI轉換。


M8122變1后,D200到D209的數據就開始發(fā)送,發(fā)送完了后自動復位。
一個簡單的通訊程序也就寫完了。    


  
[ 此帖被wangk0在2012-09-04 16:53重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+1(王天明) 好貼好貼!
  • 下載積分:+1(jhzong) 真誠感謝!
  • 下載積分:+5(王志勇愛媳婦) 辛苦了!
  • 下載積分:+2(a7950288) 熱心助人!
  • 下載積分:+3(七十年代) 好貼!
  • 下載積分:+5(550374389) 好貼!
    gaozhansheng
    級別: 略有小成
    精華主題: 0
    發(fā)帖數量: 70 個
    工控威望: 223 點
    下載積分: 530 分
    在線時間: 29(小時)
    注冊時間: 2009-03-07
    最后登錄: 2024-11-20
    查看gaozhansheng的 主題 / 回貼
    1樓  發(fā)表于: 2013-04-29 10:32
    謝謝樓主無私奉獻