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