|
wenluderen
人人為我我為人人
級別: 略有小成
|
隨著工控行業(yè)的發(fā)展 ,對于數(shù)據(jù)的處理越來越多,而PLC僅僅擅長離散量邏輯運(yùn)算。所以就需要PC平臺(tái)。 PC 和PLC如何建立數(shù)據(jù)連接? 串口顯然是不夠快的,所以此時(shí)引入以太網(wǎng)。 ******** 那么問題來了,如果基于以太網(wǎng)實(shí)現(xiàn)PC 和PLC的通訊呢? 這個(gè)時(shí)候三菱給出的解決方案是 MX Component *** 目前最新版 2018 04 30 日更新 4.16S 官方下載地址是:https://pan.baidu.com/s/1nVdr1gGRfeq3_WA8pjGwdw 密碼kbuw ![]() 2020年3月更新為4.19: https://mitsubishielectric.yangben.cn/assets/detail/5b7ce314b2dcac27e0b97d0c |
|---|---|
|
本帖最近評分記錄: |
|
wenluderen
人人為我我為人人
級別: 略有小成
|
關(guān)于 對系統(tǒng)的要求,部分網(wǎng)友說 不支持64位系統(tǒng),我以前試過也是不支持的,但是現(xiàn)在這個(gè)4.16S的版本 有可能是支持的。 關(guān)于序列號:序列號:117-570766844(測試可用) https://blog.csdn.net/han_better/article/details/80534913 可以按照上面的鏈接按照 和配置。 但是需要特別說明的是 1)必須關(guān)閉VSvisual studio 2)必須關(guān)閉三菱的軟件 3)啟動(dòng)MX Component 必須是管理員權(quán)限 ***************** 下圖是我在WIN7 64位系統(tǒng) 下測試的結(jié)果 ![]() [ 此帖被wenluderen在2018-07-07 14:42重新編輯 ] |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
必須要提四個(gè)文件。 按照MX component之后 在VS里面是無法直接使用的。 我查看了范例發(fā)現(xiàn)以下路徑下四個(gè)動(dòng)態(tài)庫很關(guān)鍵 C:\MELSEC\Act\Samples\Vb.NET\ModemSample2010\ModemSample2010\obj\Debug\AxInterop.ActSupportMsgLib.dll C:\MELSEC\Act\Samples\Vb.NET\ModemSample2010\ModemSample2010\obj\Debug\AxInterop.ActUtlTypeLib.dll C:\MELSEC\Act\Samples\Vb.NET\ModemSample2010\ModemSample2010\obj\Debug\Interop.ActSupportMsgLib.dll C:\MELSEC\Act\Samples\Vb.NET\ModemSample2010\ModemSample2010\obj\Debug\Interop.ActUtlTypeLib.dll 咱們照壺畫瓢 **** 引用-瀏覽 。將這個(gè)四個(gè)動(dòng)態(tài)庫添加 ![]() [ 此帖被wenluderen在2018-07-07 16:21重新編輯 ] |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
折騰了好久,終于用VB.net 實(shí)現(xiàn)代碼復(fù)寫 ![]() 需要特別說明是: 1)那個(gè)動(dòng)態(tài)庫 必須也在Debug文件里有,不然練創(chuàng)建Form都無法實(shí)現(xiàn) 2)TCP MODUBUS 也是下面測試的方式 |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
OPC的速度似乎非常慢,而且收費(fèi)。以前用Labview自帶的OPC訪問歐姆龍的CP1H 就是很慢。大致200MS 甚至是1000MS 至于OPC UA 不清楚,沒有用過 后續(xù)我研究下 |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
使用三菱官方給出的解決方案 ,這樣可以讓最后的結(jié)果是最好的。 另外一個(gè)網(wǎng)口(CPU內(nèi)置的那個(gè))可以同時(shí)做MODUBS 和 CC-LINK IE 這兩種模式通訊嗎? |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
關(guān)于函數(shù): lReturnValue = AxActUtlType1.Connect() lReturnValue = AxActUtlType1.Open() **** 這里是具體的對CPU內(nèi)部的內(nèi)存地址操作,讀寫之類的 **** AxActUtlType1.Close() AxActUtlType1.Disconnect() *************** 關(guān)于三菱給出的范例 ![]() [ 此帖被wenluderen在2018-07-12 14:10重新編輯 ] |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
復(fù)寫的代碼 TestPLC.zip (162 K) 下载次数:213 |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
Dim iReturnCode As Integer 'Return code Dim szDeviceName As String = "" 'List data for 'DeviceName' Dim iNumberOfDeviceName As Integer = 0 'Data for 'DeviceSize' Dim sharrDeviceValue() As Short 'Data for 'DeviceValue' '軟元件名 szDeviceName = String.Join(vbLf, txt_DeviceNameRandom.Lines) '寫入點(diǎn)數(shù) If GetIntValue(txt_DeviceSizeRandom, iNumberOfDeviceName) = False Then 'If failed, this process is end. Exit Sub End If '寫入的軟元件值 ReDim sharrDeviceValue(iNumberOfDeviceName - 1) If GetShortArray(txt_DeviceDataRandom, sharrDeviceValue) = False Then 'If failed, this process is end. Exit Sub End If '軟元件的隨機(jī)寫入 iReturnCode = AxActUtlType1.WriteDeviceRandom2(szDeviceName, iNumberOfDeviceName, sharrDeviceValue(0)) ![]() ![]() |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
關(guān)于開發(fā)語言的要求: 關(guān)于安裝 ![]() |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
所謂的實(shí)用程序設(shè)置類型 和 程序設(shè)置類型 ××× ××× |
|---|---|
|
|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
雖然說MX component可以運(yùn)行仔位系統(tǒng)下,但是他的程序還是32位的。 你可以通過任務(wù)管理器看到, 程序名字后面有個(gè)*32 所以你是無法在64位的編譯環(huán)境下,調(diào)用32位的DLL。 ××× |
|---|---|
|
|