close

2019.01.17 update

今天分享一下FX3U通訊的部分,但只針對Serial Port 的部分,Ethernet的部分不在研究範圍內,

一般找的到的資料分為[通訊篇]與[Modbus通訊篇],

但這兩種需要擴充模組,而Modbus的擴充模組要選擇 -MB 字尾的型號,用這張卡還得裝在另一張卡,FX3U-CNV-DB上,

被削兩次皮...

至於本身的8-pin圓孔,其實是走另外一種通訊協定,而且是非公開的,可能是給自家軟體通訊用(EX:GX Work2)

我只能說某人機廠商真的很厲害,總是用一些非公開的技術,

到底是用買的還是用破解的?

要破的話可能要花點時間,

到底是要省那兩張卡的錢呢?

還是要省破解的時間?

還是先有東西再來省那些錢吧。

 

Send(HEX) : [05] 

Receive(HEX) : [06] 

或許是 Enquiry 與 Acknowledge

 

Send(HEX) : [02 45 30 30 38 42 43 30 30 32 03 46 37]

Receive(HEX) : [02 30 30 39 31  03 43 44]

送碼時:

[02] 或許是 Start of Text,STX

 

 

[03] 或許是 End of Text,ETX

 

 

接在[03]前面2 Byte 為這次讀取的長度,[30 32] 數值轉ASCII為"02",也就是資料長度2,

 

 

接在[03]後面2 Byte 的是Sum 校驗,45 + 30 + 30 + 38 + 42 + 43 + 30 + 30 + 32 + 03 = 1F7,取2 Byte = "F7",ASCII轉數值為[46 37]

回碼時:

[02] 或許是 Start of Text,

[03] 或許是 End of Text,

接在[03]後面2 Byte 的是Sum 校驗,30 + 30 + 39 + 31 + 03 = CD,取2 Byte = "CD",ASCII轉數值為[43 44]

中間的[30 30 39 31]是這次詢問的兩組資料

目前先研究到這邊,錯碼率其實滿高的,表示雜訊很高...只不過是在我的工作桌測試而已說...還沒其它設備干擾...

要解暫存器位址可能要花很多時間,以後真的要降成本再待續...

2019.01.18 Update

這幾天找到一份資料,跟這個通訊協定很像,可以參考:SMC 的驅動器(LECSB)通訊協定

 

2018.05.03 Update

借了一張FX3U-232ADP-MB 來測試,

FX3U-232ADP-MB + FX3U-CNV-BD + FX3U,使用Modbus,

    

再接一條RS232轉USB,就能接電腦了

首先我用了GX Work2 ,開啟新的專案

在Connection1雙擊滑鼠左鍵, 設定連線方式

看手邊有甚麼...有USB擴充模組? 還是Ethernet擴充模組?還是直接用本身的8pin 圓孔?

目前三種方式我都試過,都能寫程式,就按照手冊說明寫了這段 (這輩子沒想過要寫PLC程式...摸了一下怎麼寫...)

後來想想...應該寫前面三行就好了,我是用Modbus/從站/ASCII 模式,對我而言比較簡單,

寫完後按F4編譯,就能寫入PLC或者存檔

勾選MAIN寫入PLC

寫完就能開始測試了,我參考了下面的指令

送碼 [3A 30 31 30 32 30 30 30 30 30 30 30 31 46 43 0D 0A]
回碼 [3A 30 31 30 32 30 31 30 30 46 43 0D 0A]

完美,測試完畢,小菜一疊

 

2018.07.02 Update

FX3U-485ADP-MB

市面上常見的RS485轉USB的

有端子台的、RJ45的

PLC程式部份,與FX3U-232ADP-MB 都是一樣的設定方式,

但這張卡比較特殊,它可以走RS485與RS422的方式,

於是我就接了RS422走四線式的方式,

一樣,測試完畢,小菜一疊

 

2018.07.02 Update

RTU模式測試

D8401 H111 → H11

改完後PLC要斷電重開

改完後PLC要斷電重開

改完後PLC要斷電重開

很重要要說三次,我請人幫我改參數,然後請他重開

結果怎麼測都不行,還問他有沒有重開

他說有阿~

於是我問他怎麼重開的... 他說就切到Stop 再切回Run 阿~~

...  恩 ... 離題了 ... 我們繼續講

基本上就像買魚一樣,叫老闆幫你去頭(:)、去尾(\r\n)、刮魚鱗(ASCII→RTU、LRC→CRC)

送碼 [3A 30 31 30 32 30 30 30 30 30 30 30 31 46 43 0D 0A] → [01 02 00 00 01 D9 B8]
回碼 [3A 30 31 30 32 30 31 30 30 46 43 0D 0A] → [01 02 01 00 A1 88]

打完收工

 

我的問卷調查

相關文章:

參考資料:

arrow
arrow
    文章標籤
    RS232
    全站熱搜

    史克威爾凱特 發表在 痞客邦 留言(5) 人氣()