導語:雖然有2路或是3路脈沖輸出,但每個PLC在同一時刻只能用一個定位指令,即在同一時刻不能在兩個(或3個)輸出點進行定位控制。可以先后輸出或是用脈沖指令。
【問題1】在圖1所示的臺達PLC控制系統中,如何實現PLC/HMI與下位機的通訊編程?
【解答】
圖1臺達PLC的通訊系統
下面以寫數據為例來說明編程思路:
如圖2所示,在PLC啟動正向RUN的瞬間,寫入初始化數值(圖中左列所示);由人機界面輸入16進制數地址(如4700H),通過ASCI指令將其每一位轉化為ASCII碼存放到D60(D80)開始的4個數據寄存器中,然后通過BMOV指令送到D105…D108(D109…D112)中。數據傳入以后,從地址ADR1/0開始,兩個一組依次相加計算校驗碼(見程序說明)。
圖2臺達PLC編程舉例
在一個PLC掃描周期,需要將數據寫入指定的地址當中去,以免產生錯誤,但是在人機界面上,在同一時間只能寫入一個數據,為解決這個矛盾,可以采用先把數據寫入PLC的數據寄存器中,待地址和數據都寫好以后,人為地給一個觸發信號,將數據同時寫入(圖3)。
圖3數據寫入編程
程序中的“二補碼”的計算為:一個8位十六進制數(如**H)的二補碼的計算方法是:FFH-**H+01H=100H-**H補碼計算子程序如圖4所示。
圖4補碼計算子程序
【問題2】FX3GPLC與FR變頻器通訊時如何接線?如何設置變頻器參數?
【解答】
PLC與變頻器之間的通訊用FX3G-485-BD通訊線纜,三個變頻器是串聯的關系,具體連接如下,FX3G-485-BD的RDA、RDB、SDA、SDB、SG分別與第一臺變頻器的SDA1、SDB1、RDA1、RDB1、SG相接,將第一臺變頻器的RDA2、RDB2、SDA2、SDB2、SG與第二臺變頻器的RDA1、RDB1、SDA1、SDB1、SG相連接,將第二臺變頻器的RDA2、RDB2、SDA2、SDB2、SG與第三臺變頻器的RDA1、RDB1、SDA1、SDB1、RDA1、RDB1、SG相連接,這些線纜必須是屏蔽線纜。最后要注意在FX3G-485-BD上的RDA和RDB、SDA和SDB以及第三臺變頻器的RDA1和RDB1、SDA1和SDB1之間連接終端電阻。
設置三臺變頻器的參數,第一臺變頻器參數設置如下:
Pr79=0(運行模式選擇)外部/PU切換模式中;
Pr331=1(RS-485通訊站號)站號為1;
Pr331=192(RS-485通訊速率)通訊速率為19200;
Pr333=10(RS-485通訊停止位長)停止位長1位、數據長7位;
Pr334=2(RS-485通訊奇偶校驗選擇)偶校驗;
Pr335=9999(RS-485通訊再試次數)即使通訊錯誤發生,變頻器也不報警停止;
Pr336=9999(RS-485通訊校驗時間間隔)不進行通訊檢測(短線檢測);
Pr337=9999(RS-485通訊等待時間設定)用通訊數據設定;
Pr338=1(通訊運行指令權)運行指令權外部(如果設置為0,則啟動權在通訊,此時可通過PLC來啟動);
Pr339=0(通訊速度指令權)速度指令權外部;
Pr340=10(通訊啟動模式選擇)網絡運行模式開始,可通過面板切換PU和網絡運行模式;
Pr341=1(RS-485通訊CR/LF選擇)有CR;
Pr342=0(通訊EEPROM寫入選擇)通過通訊寫入參數時,寫入EEPROM,RAM;
Pr343=0(通訊錯誤計數)顯示Modbus通訊時的通訊次數,僅讀取。
第二臺和第三臺變頻器參數設置中只是Pr331(RS-485通訊站號)分別設置為2、3,其他的參數設置跟第一臺變頻器一樣。變頻器在設置完參數后要斷電重新啟動,參數才能生效。此時變頻器的啟動權在外部,只能通過外部來啟動。
【問題3】FX系列三菱PLC控制伺服要注意什么?
【解答】
FX系列PLC目前主要包括FX1S、FX1N、FX2N、FX3U幾種,也有FX1NC、FX2NC、FX3UC但使用非常少,這幾款在做控制伺服或是步進時應注意以下幾點:
1、PLC要選擇晶體管型號的,即MT的,這是最基本的要求。
2、注意各種PLC的脈沖輸出頻率及數目,FX1S、FX1N的為2路100KHz脈沖,FX2N的為2路20KHz,FX3U為3路100KHz。
3、指令方面,FX2N只能用脈沖指令,FX1S、FX1N、FX3U即可以用脈沖指令也可以用定位指令。
4、雖然有2路或是3路脈沖輸出,但每個PLC在同一時刻只能用一個定位指令,即在同一時刻不能在兩個(或3個)輸出點進行定位控制。可以先后輸出或是用脈沖指令。
用表格表示總結如下:
型號 |
FX1S |
FX1N |
FX2N |
FX3U |
|
控制軸數 |
2 |
2 |
2 |
3 |
|
脈沖頻率 |
100KHz |
100KHz |
20KHz |
100KHz |
|
指令 |
PLSY |
有 |
有 |
有 |
有 |
PLSR |
有 |
有 |
有 |
有 |
|
ABS |
有 |
有 |
無 |
有 |
|
ZRN |
有 |
有 |
無 |
有 |
|
PLSV |
有 |
有 |
無 |
有 |
|
DRVI |
有 |
有 |
無 |
有 |
|
DRVA |
有 |
有 |
無 |
有 |
|
DSZR |
無 |
無 |
無 |
有 |
|
DVIT |
無 |
無 |
無 |
有 |
|
TBL |
無 |
無 |
無 |
有 |
【問題4】如何用VB編程來實現PC對臺達PLC的通訊控制?
【解答】
預設臺達PLC站號地址為“01”,以下若沒有特殊說明PLC站號地址均為“01”,“CR”表示回車。
1、對輔助繼電器M0操作
1)置位M0
Stx |
Address |
Function |
Data1 |
Data2 |
Data3 |
Data4 |
LRC |
End |
: |
01 |
05 |
08 |
00 |
FF |
00 |
F3 |
CR |
、Data2表示輔助繼電器的地址,Data1放入地址的高8位,Data2放入地址的低8位,“FF00”表示置位放入Data3、Data4,LRC為校驗碼
PC向PLC發送字符命令串=“:01050800FF00F3CR”
PLC向PC返回字符串=“:01050800FF00F3CR”
2)復位M0
Stx |
Address |
Function |
Data1 |
Data2 |
Data3 |
Data4 |
LRC |
End |
: |
01 |
05 |
08 |
00 |
00 |
00 |
F2 |
CR |
“0000”表示復位放入Data3、Data4,其余同上不再解釋。
PC向PLC發送字符命令串=“:010508000000F3CR”
PLC向PC返回字符串=“:010508000000F2CR”
若第三個數據位變為8,則通訊出現錯誤。
2、對文件寄存器D512操作
1)向D512寫入一個十進制數,如把D512設定為32,先將十進制數值轉換為四位的十六進制數,32轉換為0020,高低8位分別放入Data3,Data4
“1200”表示D512的地址高低位分別放入Data1、Data2
Stx |
Address |
Function |
Data1 |
Data2 |
Data3 |
Data4 |
LRC |
End |
: |
01 |
06 |
12 |
00 |
00 |
20 |
E6 |
CR |
PC向PLC發送字符命令串=“:010612000020C7CR”
PLC向PC返回字符串=“:010612000020C7CR”
2)讀取PLC的D512值
Stx |
Address |
Function |
Data1 |
Data2 |
Data3 |
Data4 |
LRC |
End |
: |
01 |
03 |
12 |
00 |
00 |
01 |
E9 |
CR |
Data3、Data4中數據內容表示讀取以Data1、Data2地址起始的寄存器個數,此值最大值為7(由通訊格式中數據位決定),若該數據內容為0002,則表示讀取連續兩個寄存器的值,依次類推。1200表示D512的地址。
PC向PLC發送字符命令串=“:010312000001E9CR”
PLC向PC返回字符串“:01030204B046CR”
02表示返回值字節總數為2(一個寄存器的字節數為2),04B0表示目標寄存器D512的數據內容(十六進制)即十進制數1200,46表示校驗碼。
若第三個數據位變為8,則通訊出現錯誤。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜