wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
MX Component 使用控件通訊 就可以直接PLC內(nèi)部地址的名字,不要在整個(gè)標(biāo)簽。 標(biāo)簽?zāi)芰撕芫?還是不行。 **** 控件有很多 感覺三菱每個(gè)可以通訊的硬件 都有一個(gè)對(duì)應(yīng)的 控制可以使用 |
---|---|
本帖最近評(píng)分記錄: |
wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
驗(yàn)證通過AxActUtlTypeLib.AxActUtlType訪問Q04UDV的CPU,硬件接口為以太網(wǎng) *** 新建一個(gè)VB.net ,窗口程序,在工具欄里面添加 控件 如下圖: |
---|---|
|
wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
添加OPEN 和CLOSE函數(shù) #Region "打開鏈接" Private Sub btn_Open_Click(sender As Object, e As EventArgs) Handles btn_Open.Click Dim iReturnCode As Integer 'Return code Dim iLogicalStationNumber As Integer 'LogicalStationNumber for ActUtlType ClearDisplay() Try If GetIntValue(txt_LogicalStationNumber, iLogicalStationNumber) = False Then 'If failed, this process is end. Exit Sub End If AxActUtlType1.ActLogicalStationNumber = iLogicalStationNumber iReturnCode = AxActUtlType1.Open() If iReturnCode = 0 Then 'When the Open method is succeeded, disable the TextBox of 'LogocalStationNumber'. txt_LogicalStationNumber.Enabled = False End If Catch exception As Exception MessageBox.Show(exception.Message, Name, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode) End Sub #End Region ************** #Region "關(guān)閉鏈接" Private Sub btn_Close_Click(sender As Object, e As EventArgs) Handles btn_Close.Click Dim iReturnCode As Integer 'Return code ClearDisplay() Try iReturnCode = AxActUtlType1.Close() If iReturnCode = 0 Then txt_LogicalStationNumber.Enabled = True End If Catch exception As Exception MessageBox.Show(exception.Message, Name, MessageBoxButtons.OK, MessageBoxIcon.Error) End Try txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode) End Sub #End Region **** 測(cè)試可以通過 |
---|---|
|
wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
隨機(jī)讀取 #Region "隨機(jī)寫入 PLC里面的地址" Private Sub btn_ReadDeviceRandom2_Click(sender As Object, e As EventArgs) Handles btn_ReadDeviceRandom2.Click 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' Dim szarrData() As String 'Array for 'Data' Dim iNumber As Integer 'Loop counter 'Displayed output data is cleared. ClearDisplay() 'Get the list of 'DeviceName'. ' Join each line(StringType array) of 'DeviceName' by the separator '\n', ' and create a joined string data. szDeviceName = String.Join(vbLf, txt_DeviceNameRandom.Lines) If GetIntValue(txt_DeviceSizeRandom, iNumberOfDeviceName) = False Then 'If failed, this process is end. Exit Sub End If ReDim sharrDeviceValue(iNumberOfDeviceName - 1) Try iReturnCode = AxActUtlType1.ReadDeviceRandom2(szDeviceName, iNumberOfDeviceName, sharrDeviceValue(0)) Catch exException As Exception MessageBox.Show(exException.Message, Name, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode) If iReturnCode = 0 Then 'Assign the array for the read data. ReDim szarrData(iNumberOfDeviceName - 1) 'Copy the read data to the 'lpszarrData'. For iNumber = 0 To iNumberOfDeviceName - 1 szarrData(iNumber) = sharrDeviceValue(iNumber).ToString() Next iNumber 'Set the read data to the 'Data', and display it. txt_Data.Lines = szarrData End If End Sub #End Region |
---|---|
|
wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
測(cè)試隨機(jī)寫入 #Region "隨機(jī)寫入 PLC里面的地址" Private Sub btn_WriteDeviceRandom2_Click(sender As Object, e As EventArgs) Handles btn_WriteDeviceRandom2.Click 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' 'Displayed output data is cleared. ClearDisplay() 'Get the list of 'DeviceName'. 'Join each line(StringType array) of 'DeviceName' by the separator '\n', 'and create a joined string data. szDeviceName = String.Join(vbLf, txt_DeviceNameRandom.Lines) 'Check the 'DeviceSize'.(If succeeded, the value is gotten.) If GetIntValue(txt_DeviceSizeRandom, iNumberOfDeviceName) = False Then 'If failed, this process is end. Exit Sub End If 'Check the 'DeviceValue'.(If succeeded, the value is gotten.) ReDim sharrDeviceValue(iNumberOfDeviceName - 1) If GetShortArray(txt_DeviceDataRandom, sharrDeviceValue) = False Then 'If failed, this process is end. Exit Sub End If Try iReturnCode = AxActUtlType1.WriteDeviceRandom2(szDeviceName, iNumberOfDeviceName, sharrDeviceValue(0)) Catch exception As Exception MessageBox.Show(exception.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode) End Sub #End Region |
---|---|
|
wenluderen
人人為我我為人人
級(jí)別: 略有小成
|
測(cè)試成塊的數(shù)據(jù)讀取 #Region "測(cè)試成塊的數(shù)據(jù)讀取" Private Sub btn_ReadDeviceBlock2_Click(sender As Object, e As EventArgs) Handles btn_ReadDeviceBlock2.Click 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' Dim szarrData() As String 'Array for 'Data' Dim iNumber As Integer 'Loop counter 'Displayed output data is cleared. ClearDisplay() 'Get the list of 'DeviceName'. ' Join each line(StringType array) of 'DeviceName' by the separator '\n', ' and create a joined string data. szDeviceName = String.Join(vbLf, txt_DeviceNameBlock.Lines) 'Check the 'DeviceSize'.(If succeeded, the value is gotten.) If GetIntValue(txt_DeviceSizeBlock, iNumberOfDeviceName) = False Then 'If failed, this process is end. Exit Sub End If 'Assign the array for 'DeviceValue'. ReDim sharrDeviceValue(iNumberOfDeviceName - 1) Try iReturnCode = AxActUtlType1.ReadDeviceBlock2(szDeviceName, iNumberOfDeviceName, sharrDeviceValue(0)) Catch exException As Exception MessageBox.Show(exException.Message, Name, MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try txt_ReturnCode.Text = String.Format("0x{0:x8} [HEX]", iReturnCode) If iReturnCode = 0 Then 'Assign array for the read data. ReDim szarrData(iNumberOfDeviceName - 1) 'Copy the read data to the 'lpszarrData'. For iNumber = 0 To iNumberOfDeviceName - 1 szarrData(iNumber) = sharrDeviceValue(iNumber).ToString() Next iNumber 'Set the read data to the 'Data', and display it. txt_Data.Lines = szarrData End If End Sub #End Region |
---|---|
|