aquze123
級別: 正式會員
|
各位大佬好~ 有個問題請教一下,有不正確的地方希望指出。 FX3U-485ADP-MB我這么接應該是CH2對吧,FX3U外接了一個FX3U-422-BD板和FX3U-485ADP-MB。 現在的接法是通過一個232轉485轉接器接到電腦上,RDA短接接SDA接轉接器的485+,RDB短接SDB接轉接器的485-,然后在PLC的Main程序里加了這段,把PLC作為從站。 但是呢,這樣子,串口調試工具,波特率19200,數據位8,無校驗,停止位1,連接串口沒反應。 [upload=2] 我自己分析,有幾個可能的原因。 (1)附加到PLC的程序錯誤,我按說明書從站的例程寫的,把寄存器從CH1的改為CH2的,應該沒啥問題吧? (2)接線問題,看到有大佬接線的時候,把SG接到232轉485的地上,我們這邊也很多232和485設備,不接地不好,但一般也能用吧。 (3)串口調試參數有問題,或者發的指令有問題。 因為自己是剛入門,也是看著資料一步步過來,整個上位機,其他感覺也不難,但現在就卡在串口通訊這一塊了,好久了~ 希望大佬們指點一下~ |
---|---|
|
aquze123
級別: 正式會員
|
另外,我現在用FX3U-422-BD板通訊已經正常了,但因為不支持modbus,只支持無協議通訊。 當時是不知道真實地址是怎么樣的,也不太熟悉無協議通訊,現在這個FX3U-485ADP-MB模塊也沒搞明白。 找了論壇有個老哥,無協議通訊的地址轉換關系好像是這樣的。 1、對于D區: ADDR0小于8000:ADDR=1000H+ADDR0×2(ADDR0為實際地址值) ADDR0大于8000:ADDR=0E00H+(ADDR0-8000)×2 2、對于C區: 字與雙字: ADDR0小于200:ADDR=0A00H+ADDR0×2 ADDR0大于等于200為雙字逆計數器,則: ADDR=0C00H+(ADDR0-200)×4 3、對于T區: 字:ADDR=0800H+ADDR0×2 位:ADDR=00C0H+ADDR0×2 4、對于M區: ADDR0<8000:ADDR=0100H+ADDR0/8 ADDR0>=8000:ADDR=01E0H+(ADDR0-8000)/8 5、對于Y區 ADDR=00A0H+ADDR0/8 6、對于X區 ADDR=0080H+ADDR0/8 7、對于S區 ADDR=ADDR0/8 比如我D200,是一個16-bit Signed 的數據,他的真實地址就是1000H+200*2=1400H嗎? |
---|---|
|
aquze123
級別: 正式會員
|
做著,都不太想做這個上位機了,都是坑啊~ 沒有解除過工控上位機,唉,要是我當時沒讓供應商選三菱的PLC,選個國產的海為,西門子都好呀· 三菱的太麻煩了 |
---|---|
|
twingo49
級別: 網絡英雄
|
弄個FX3U-232ADP-MB會不會簡單些?不用轉來轉去 樓主留言:您好哈,轉接應該是沒問題,平時我們有些外設也是這樣子的。 |
---|---|
|
twingo49
級別: 網絡英雄
|
圖片:
看看我的從站設定,剛剛試過沒問題,PLC為FX3G-24MR+FX3G-CNV-ADP+FX3U-485ADP-MB,以永宏FBs-24MA為主站。 樓主留言:您好,您使用串口調試工具調試的嗎~ [ 此帖被twingo49在2019-04-24 11:20重新編輯 ] |
---|---|
|
六六的風
級別: 探索解密
|
M8411是通訊參數設置特殊繼電器,需要放到你程序的開頭才會有效吧,記得好像是這樣的,你試一下吧 |
---|---|
本帖最近評分記錄: |
aquze123
級別: 正式會員
|
您好,我現在把程序寫在Main的開頭,監控查看D8420的數值為4225,轉為二進制1000010000001000,對應的應該是8位,無校驗,停止位1,波特率19200,RS-485c。 這樣子應該是成功的吧,但是串口調試工具好像還是沒反應,我的CH1是422-BD板,應該也支持擴展485ADP-MB的吧~ |
---|---|
|
twingo49
級別: 網絡英雄
|
4225 轉二進制應該是 0001 0000 1000 0001所以你的波特率應該是9600,還有你的設定是從站,站號為4。 樓主留言:您好,已經通訊成功啦~ |
---|---|
本帖最近評分記錄: |
aquze123
級別: 正式會員
|
非常感謝各位的幫助,后來經過測試,存在兩個問題。 (1)少寫了一行寫入MOV K10 D8431,并且D8420寄存器,應該是MOV H1081 D8420, (2)另外因為這個程序順序執行是是從SD-RUN開始,程序沒有在開頭。 總之調試成功很開心,非常感謝壇友的幫助,后續有進展再回來回復。 |
---|---|
|