wenluderen
人人為我我為人人
級別: 略有小成
|
MX Component 使用控件通訊 就可以直接PLC內部地址的名字,不要在整個標簽。 標簽能了很久 還是不行。 **** 控件有很多 感覺三菱每個可以通訊的硬件 都有一個對應的 控制可以使用 |
---|---|
本帖最近評分記錄: |
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客
|
嗯 |
|
---|---|---|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
驗證通過AxActUtlTypeLib.AxActUtlType訪問Q04UDV的CPU,硬件接口為以太網 *** 新建一個VB.net ,窗口程序,在工具欄里面添加 控件 如下圖: |
---|---|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
添加OPEN 和CLOSE函數 #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 "關閉鏈接" 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 **** 測試可以通過 |
---|---|
|
wenluderen
人人為我我為人人
級別: 略有小成
|
隨機讀取 #Region "隨機寫入 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
人人為我我為人人
級別: 略有小成
|
測試隨機寫入 #Region "隨機寫入 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
人人為我我為人人
級別: 略有小成
|
測試成塊的數據讀取 #Region "測試成塊的數據讀取" 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 |
---|---|
|
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客
|
|
|
---|---|---|
|