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