尹夢超
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 98 個
工控威望: 255 點(diǎn)
下載積分: 6600 分
在線時間: 74(小時)
注冊時間: 2012-05-24
最后登錄: 2024-09-21
查看尹夢超的 主題 / 回貼
樓主  發(fā)表于: 2014-11-02 22:48
最近我在改造一臺機(jī)器,原來的PLC是FX2N的,上面用了一個232的BD板,因為現(xiàn)在客戶要求要通過和上位機(jī)進(jìn)行數(shù)據(jù)的監(jiān)控處理,所以我們決定先把FX2N的PLC換成FX3U的PLC,然后再加上一個串口模塊來進(jìn)行和上位機(jī)電腦的數(shù)據(jù)通訊。值得慶幸的是,PLC程序轉(zhuǎn)換過來以后,基本上都是通用的,包括232BD板上面的通信程序,也就是說,程序直接轉(zhuǎn)換過來一模一樣,不需要改任何程序。
然后,就是開始動串口通訊的那個問題了,我們選用了一個FX3U-232-ADP的模塊,這個從型號上就可以看出來,采用的是232通訊,然后我也按照三菱編程手冊,三菱FX通訊手冊來進(jìn)行編程,其中因為源程序已經(jīng)用到了RS指令,所以,要再加一個通訊模塊的話,不能再次使用同一個指令,必須要用RS2指令,因為我也是第一次用這個指令,我一點(diǎn)頭緒都沒有,但是現(xiàn)在發(fā)現(xiàn)其實(shí)這個指令和RS指令是區(qū)別不大的,我指的是不是很復(fù)雜使用的話。這個指令的使用要注意的是,一個是通訊格式,會根據(jù)選擇通道的不同來寫入到不同的特殊寄存器,比如通道1就寫入D8400,通道2就寫入D8420,當(dāng)然,發(fā)送和接收的特殊標(biāo)記位也會相應(yīng)改變,手冊上都有。還有一個就是數(shù)據(jù)位數(shù),我們知道RS指令是可以通過SET M8161來選擇使用16位還是8位的,但是RS2指令只能使用16位數(shù)據(jù),如果要用8位數(shù)據(jù),要另作處理,怎么處理,肯定是有辦法的。其實(shí)這些都不是標(biāo)題所要表達(dá)的。
最有意思的就是下面這個,如果你還有耐心的話,有意思的就是在D8420里面,我前面說過,是通訊格式,會根據(jù)選擇通道的不同來寫入到不同的特殊寄存器,我這里選擇的是通道2,然后就按照FX通訊手冊上的D8420設(shè)置方法,選擇232鏈接,波特率,數(shù)據(jù)位,停止位,這些都設(shè)置好,本以為下載到PLC以后就會看懂232ADP模塊上的SD指示燈一閃一閃的,但是事實(shí)沒有,我試過了很多方法,以為程序步數(shù)錯了,需要用到主程序的最開頭,但是沒用。最后我發(fā)現(xiàn)的原因直接讓我吐血,就是一開始的232鏈接要改成485的方式,就是說在D8420里面的232改成485,就能成功了,可是我是根據(jù)FX通訊手冊來的啊,難道手冊還有盜版的?真是分分鐘吐血。。。
最后的問題就是在這里,大家有機(jī)會用到這個模塊的時候可以注意一下,請大家不吝批評指正。
本帖最近評分記錄:
  • 工控威望:+10(ymmfa) 感謝分享!
  • 下載積分:+5(guochunyi) 感謝分享!
    尹夢超
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 98 個
    工控威望: 255 點(diǎn)
    下載積分: 6600 分
    在線時間: 74(小時)
    注冊時間: 2012-05-24
    最后登錄: 2024-09-21
    查看尹夢超的 主題 / 回貼
    1樓  發(fā)表于: 2014-11-03 21:09
    CH1 CH2只是在軟件設(shè)置里面設(shè)置通訊格式而已,實(shí)際效果適合D8120 和D8420是一樣的,不過我個人比較喜歡給特殊寄存器賦值