Кто-нибудь пробовал собирать данные с приборов OWEN через System.IO.Ports.SerialPort? Если да, то как, например, мне выяснить значение какой-либо переменной?
Кто-нибудь пробовал собирать данные с приборов OWEN через System.IO.Ports.SerialPort? Если да, то как, например, мне выяснить значение какой-либо переменной?
Тоже очень интересует этот вопрос!
Не знаю что именно отправлять в порт для запроса информации. Хотелось бы увидеть что-то в этом роде.
Снимок.JPG
Соответственно, такая реализация отправки сообщения-запроса (для данного датчика, а не для ТРМ-200, конечно же):
...
private void SendMsg(Byte SensorAdr)
{
Byte[] OUTMessege = {0x68, 4, 0, 4, 8};
OUTMessege[2] = SensorAdr;
int CheckSum = SensorAdr + 8;
OUTMessege[4] = (Byte)CheckSum;
_serialPort.Write(OUTMessege, 0, 5);
}
...
Это уже другой вопрос. Если вам «ехать», то есть готовая библиотека NModbus. Вот тут параллельная тема пошла: http://owen.ru/forum/showthread.php?...l=1#post166343
Если вам «шашечки» (в смысле узнать, что нужно голыми руками отправлять в порт и как разбирать ответ), то берите любое описание протокола (хоть даже примеры из Википедии) и подставляйте туда номера регистров из руководства к ТРМ.
Параллельная тема, это моя) не совсем понимаю как именно подключить эту библиотеку (NModbus)
В курсе, что ваша. Зачем темы плодить? Вы бы хоть сказали для начала, с какой студией сидите.
Снимок.JPG
Теперь буду писать только в эту тему.
Спасибо за терпение, но ещё хотелось бы узнать по-подробнее по поводу последних двух строчек кода, а именно: что значат параметры "mbus.ReadHoldingRegisters(1, 0, 1);" (с первым понятно - адрес устройства).
Собственно, вот и ответ зачем нужно изобретать велосипед, на более низком уровне всё просто и понятно и не надо разбираться с тем как пользоваться какими-то чужими наработками.
Последний раз редактировалось ATA_jr; 28.03.2015 в 00:41.