接好了線,就可以開始測試通訊了。剛開始的時候,在gx works2進行「通訊測試」無論如何都無法通訊,如下:
注意:如圖中下方文字註明的,b12-b10應指定為011,b15-b13應為000。我測試使用的格式是:0000 1100 1000 0110=hc86,即:7位資料位,偶檢驗,1個停止位,9600波特率,無起始符,無結束符。
設定好通訊格式後,在plc程式中通過mov指令將十六進製制的設定值移動到d8120中。
寫入之後,執行rs指令和傳送、接收資料的過程。基本格式如下:
rs指令中d200為傳送暫存器的首位址,要傳送資料要存放在這裡;d0表示連續存放傳送資料的暫存器的個數,如d0=k3,即要將d200、d201、d202三個暫存器中資料傳送出去;d500表示接受暫存器的首位址,plc接收到的資料將存放在這裡;d1表示連續存放資料的暫存器的個數。當不需要傳送資料時,可以將d0設為0;當不需要接收資料時,可以將d1設為0。
執行完rs指令後,即可傳送或接收資料了。要傳送資料,需先將資料寫入到傳送暫存器中,然後將傳送標誌位m8122置為1。m8122可以認為是傳送的使能位,只要程式發現其為1,則進行資料的傳送。傳送完畢之後,m8122自動復位為0,無需人工復位,準備下一次的資料傳送。
同樣,執行rs指令後,程式就等待著接收資料了。當接收完計算機發來的資料之後(如何判斷接收完畢?可能是根據接收區資料填滿或m8129超時判定,未確認),自動將接收完成狀態標誌位m8123置1,告知程式資料已接收完成,程式可以把接收到的資料轉出到其它位置,然後復位m8123,以準備下一次的資料接收。
注意:以上基本格式是針對485全雙工通訊而言的,即傳送資料的同時也可以接收資料。但由於我們實際採用的是半雙工通訊,如果按此格式進行,會發現發出的資料總會自動存放在接收暫存器中。這是因為前面我們把485-bd通訊板的傳送埠和接收埠短接了,自然發出的資料也會傳到接收區中。為了避免這種資料的混亂,我們可以將資料的傳送和接收分開,周期性地輪流執行,同時設定傳送和接收標誌位,標示當前是資料傳送狀態還是接收狀態,以方便計算機向plc傳送資料。
具體方式為:設定乙個定時器,定時2.5秒。在0-1秒之間,進行資料的傳送工作,同時傳送資料標誌位m0置為1;在1.5-2.5秒之間,進行資料的接收工作,同時接收標誌位m1置為1。1-1.5秒之間用於分隔兩個工作,以免相互影響。測試**如下:
mov(m8002 , hc86 ,d8120); (*設定通訊格式為0000 1100 1000 0110,即:7位資料位,偶檢驗,1個停止位,9600波特率,無起始符,無結束符*)
out_t(not ts0, tc0, k25); (*設定定時器,定時2.5秒*)
m0 := (tn0 k15); (*定時器的值大於1.5秒時,接收狀態標誌位m1為1*)
rs(m0,d0 , k1 , k0, d10); (*傳送的rs指令,用m0使能。注意這裡用於接收的暫存器個數設為0,即不接收資料*)
mov(m0, k3, d0);(*將要傳送的資料3存入到傳送暫存器d0中*)
set(m0, m8122); (*置位傳送標誌位,plc即開始向計算機傳送資料*)
rs(m1,d0 , k0 , k1, d10); (*接收的rs指令,用m1使能。注意這裡用於傳送的暫存器個數設為0,即不傳送資料*)
mov(m1 and m8123, d10 , d20);(*在m1使能並且資料接收完成後,將接收暫存器區d10的資料轉移到d20中*)
rst(m1 and m8123,m8123);(*復位接收完成狀態標誌位,用於下一次資料接收*)
串列埠除錯助手實測結果如下:
三菱PLC用485 BD進行計算機鏈結協議通訊
前面一篇文章介紹了用485 bd進行rs無協議通訊的案例。計算機鏈結協議與rs無協議相比,操作比較相似,也是先在d8120中寫入通訊引數,然後在d8121中寫入站號,接下來就可以按通訊指令格式進行通訊操作,因此本篇不再詳細介紹。與rs無協議通訊相比 計算機鏈結協議可以用一台計算機同時操作最多16臺p...
三菱FX系列PLC的通訊協議
一 fx系列與計算機通訊所用到的命令碼 命令命令碼 目標裝置 元件讀取 cmd 0 x,y,m,s,t,c,d 元件寫入 cmd 1 x,y,m,s,t,c,d 強迫 on cmd 7 x,y,m,s,t,c 強迫 off cmd 8 x,y,m,s,t,c 所用字元 enq05h 來自計算機的請求...
三菱FX系列PLC程式設計口通訊協議舉例
本文介紹的 pc 與三菱 fx 系列 plc 通訊,是通過 plc 的程式設計口與 pc 機的串列埠進行的,採用 sc 09 程式設計電纜作為計算機與 plc 通訊的連線。電纜的 9 芯 d 形插頭連線在計算機串列埠上,另一端連線 plc 的 rs 422 程式設計口。編寫 pc 的通訊程式可採用組...