Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

VS2005.NET Modbus TCP driver class
http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=6826
Страница 1 от 1

Автор:  Ivo4o [ Пон Май 18, 2009 12:58 pm ]
Заглавие:  VS2005.NET Modbus TCP driver class

Здравейте.От скоро се занимавам с VS.NET.Изтеглих си от http://www.codeproject.com/KB/IP/Modbus_TCP_class.aspx. Искам да си напиша приложение с което да чета устройства на Modbus. Пренаписвам си примерната програма от C# на VB.NET понеже него ползвам макар че с NET платформата няма значение на какво ще пишеш. Проблема ми е че не знам как да заменя cледното от C# на VB или поне не сработва.

private void btnConnect_Click(object sender, System.EventArgs e)
{
try
{
// Create new modbus master and add event functions
MBmaster = new Master(txtIP.Text, 502);
//=====================================================================
MBmaster.OnResponseData += new ModbusTCP.Master.ResponseData(MBmaster_OnResponseData);
MBmaster.OnException += new ModbusTCP.Master.ExceptionData(MBmaster_OnException);
//======================================================================
// Show additional fields, enable watchdog
grpExchange.Visible = true;
grpData.Visible = true;
Watchdog.Enabled = true;
}
catch(SystemException error)
{
MessageBox.Show(error.Message);
}
}

Private Sub btnConnect_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Try
' Create new modbus master and add event functions
MBmaster = New Master(txtIP.Text, 502)
'------Тук не ми се обработва събието незнам какво бъркам-------------------------
AddHandler MBmaster.OnResponseData, AddressOf MBmaster_OnResponseData
AddHandler MBmaster.OnException, AddressOf MBmaster_OnException
'--------------------------------------------------------------------------------------------------
' Show additional fields, enable watchdog
grpExchange.Visible = True
grpData.Visible = True
Watchdog.Enabled = True
Catch [error] As SystemException
MessageBox.Show([error].Message)
End Try
End Sub

Автор:  valioman [ Пон Май 18, 2009 3:02 pm ]
Заглавие: 

добре де .. като не можеш да го препишеш правилно на VB и ако оригиналния код работи .. еми прекомпилирай го на DLL .. после си го инклудни като Rеference и си ползвай методите.
Аз пиша на C# и базика ми е объркващ ... като синтаксис ... ако имаш проблеми прати ми projecta дето е на C# кажи кои методи ти трябват и ще се опитам да помогна някак :)

Автор:  Ivo4o [ Пон Май 18, 2009 3:10 pm ]
Заглавие: 

В прикаченият файл е и примерния проект и готовия DLL,в готовия dll има всички методи инклуднал съм си го в проекта просто не съм сигурен правилно ли съм направил нещата.

Прикачени файлове:
Коментар на файл: Modbus_TCP_class_demo.zip
Modbus_TCP_class_demo.zip [71.3 KiB]
244 пъти

Автор:  valioman [ Пон Май 18, 2009 3:23 pm ]
Заглавие: 

:))) ха сега кажи как според теб ще помогна ...
искаш да ти прекомпилирам демо програмката като DLL-ли? Така като гледам си имаш DLL .Какво да направя ?

Автор:  Ivo4o [ Пон Май 18, 2009 3:57 pm ]
Заглавие: 

Ясно ми е какво имам.
Въпроса ми беше това на C#

MBmaster.OnResponseData += new ModbusTCP.Master.ResponseData(MBmaster_OnResponseData);
MBmaster.OnException += new ModbusTCP.Master.ExceptionData(MBmaster_OnException);

едно и също ли е като това на VB

AddHandler MBmaster.OnResponseData, AddressOf MBmaster_OnResponseData
AddHandler MBmaster.OnException, AddressOf MBmaster_OnException

В първия случай се обработва евента от съответните процедури, докато в VB няма никава реакция та въпроса ми беше къде бъркам, като MBmaster_OnResponseData и MBmaster_OnException също ги има пренаписани в моето приложение просто не се извикват???

Автор:  Ivo4o [ Сря Май 27, 2009 7:12 pm ]
Заглавие: 

Подкарах го :D

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/