![]() |
|
|
#41 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Вячеслав,большое,спас ибо.пишу тут как новичок,чтоб у других вопросов не было.Все получилось,все работает.
|
|
|
|
|
|
#42 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Вячеслав,пятый день бьемся над попыткой считать температуру,read holding register.Если вас не затруднит,напишите пожалуйста пример чтение в html,ниже привожу пример,как примерно это должно выглядеть.
Заранее благодарен Код:
<input type="text" title="temperatur" maxlength="100" value="22" /> Последний раз редактировалось Central30; 25.06.2014 в 15:38. |
|
|
|
|
|
#43 |
|
Senior Member
|
А значение температуры приходит в ответе? Покажите лог обмена.
__________________
Россия навсегда! |
|
|
|
|
|
#44 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Вячеслав,дело в том что я даже не знаю как это написать даже)))
|
|
|
|
|
|
#45 |
|
Senior Member
|
Я ведь тоже не телепат. Код чтения по протоколу modbus полностью определяется документацией на устройство. Если вы не знаете как прочитать (номер функции, адрес, тип данных), то я тут ни чем помочь не могу.
__________________
Россия навсегда! |
|
|
|
|
|
#46 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Ну так это я знаю.Адрес устройства 1,регистр для чтения 6.Хотя для примера,я думаю разницы не должно быть.Просто не знаю,как на html это написать
|
|
|
|
|
|
#47 |
|
Senior Member
|
Нужно привести код, который в моём модуле отсылает посылку. И показать лог работы функции. Тогда я покажу как отобразить возвращаемое значение.
__________________
Россия навсегда! |
|
|
|
|
|
#48 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Прилагаю лог
Код:
2014.06.25 16:36:53 [INFO:8760] ( => ) 0x01_0x03_0x00_0x04_0x00_0x01_0xC5_0xCB 2014.06.25 16:36:53 [INFO:8760] ( <= ) 0x01_0x03_0x02_0x01_0x05_0x79_0xD7 2014.06.25 16:36:54 [INFO:8824] ( => ) 0x01_0x03_0x00_0x04_0x00_0x01_0xC5_0xCB 2014.06.25 16:36:54 [INFO:8824] ( <= ) 0x01_0x03_0x02_0x01_0x05_0x79_0xD7 |
|
|
|
|
|
#49 |
|
Junior Member
Регистрация: 16.05.2014
Адрес: Баку
Сообщений: 18
Вес репутации: 0 ![]() |
Код:
//modbus.WriteSingleCoil( 1, 1, 6, 0, 1000 );
modbus.ReadHoldingRegisters( 2, 1, 4, 1, 950 );
//modbus.ReadHoldingRegisters( 3, 1, 6, 1, 750 );
modbus.DelayBetweenPoll = 200;
//modbus.UpdateEnable(1);
modbus.UpdateEnable(2);
//modbus.UpdateEnable(3);
setTimeout(
function() {
///modbus.UpdateDisable(1);
//modbus.UpdateDisable(2);
//modbus.UpdateDisable(3);
}, 5000 );
|
|
|
|
|
|
#50 |
|
Senior Member
|
Я код не тестировал, но должно быть примерно так:
Код:
<html>
<title>Тест modbus</title>
<body>
<script src="/modules/modbus/modbus.js"></script>
<script language="JavaScript" type="text/javascript">
modbus = new Modbus();
modbus.OnFailure = function( handle, error ) {
alert( 'Ошибка: ' + error );
}
modbus.OnSuccess = function( handle ) {
document.getElementById( 'temp' ).innerHTML = ' t = ' + modbus.Register( handle, 0 ) ) + ' C';
}
modbus.Serial = {
Name: '/dev/ttyUSB0',
BaudRate: EnModbusBaudRate.mbBaudRate9600,
DataBits: EnModbusDataBits.mbDataBits8Bits,
Parity: EnModbusParity.mbParityNone,
StopBits: EnModbusStopBits.mbStopBitsOne,
Timeout: 100
};
function Read() {
modbus.ReadHoldingRegisters( 2, 1, 4, 1, 950 );
modbus.UpdateOnce(2);
}
</script>
<h4>Тестирование Modbus-RTU.</h4>
<button type="button" onclick="Read();">Прочитать</button>
<div id="temp">???</dev>
</body>
</html>
__________________
Россия навсегда! |
|
|
|
![]() |
| Метки |
| modbus, modbus-rtu, скрипт, модуль |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|