CODESYS форум

Добро пожаловать на официальный форум CODESYS
Deutsche Version English version russian version 
Текущее время: Чт ноя 23, 2017 4:17 am

Часовой пояс: UTC+01:00




Начать новую тему  Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Ср мар 08, 2017 8:58 pm 
Не в сети

Зарегистрирован: Пн мар 06, 2017 6:15 am
Сообщения: 3
Тут такая штука. переменные типа DWORD не передаются по модбас. в то время, как 1-регистовые работают на чтение и запись. в итоге оставил передачу только 2-х регистровых значений: в программе переменные заполняются, значения в них меняются, но при опросе - все адреса содержат нули.
вот так организованна передача данных из массива по регистрам:

PROGRAM MB_SERVER_PRG
VAR
.......
MBSlaveImage : ARRAY [0..1] OF MB_RTU_SIMPLE_SLAVE_DATA_DESCR :=
(*(eType := MBS_holding_REGISTER, wItemsCount:=82, wMbOffset:=0 ),*)
(eType := MBS_input_REGISTER, wItemsCount:=30, wMbOffset:=0 ),
(eType := MBS_Coil, wItemsCount:=2, wMbOffset:=0 );

END_VAR

-------------------------------------------------------------------------------------------------------------------

IF finit THEN

(*MBSlaveImage[0].DataAddr := ADR(awSlaveRegisters[0]);*)
MBSlaveImage[0].DataAddr := ADR(awSlaveRegistersD[0]);
MBSlaveImage[1].DataAddr := ADR(abySlaveCoils[0]);

END_IF
...............

использую СРМ713, связь пытаюсь установить через NIM742.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC+01:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB