Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
Имеется ввод данных по протоколу Modbus - TCP/IP. В источнике в настройках указывается ip адрес и все остальное - все работает. Такая проблема: источников много и их адреса еще но определены разработчиками. Можно ли как-нибудь программно ввести ip адрес из какого нибудь файла (ТХТ или XLS) и записать его в источник. Толко если можно поподробнее я новичок в работе с TM6. Заранее спасибо.
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
1.Спасибо видел. А если несколько источников с разными ip адресами, то как в этом файле отличить кому какой? 2. Если экран сделан в виде всплывающего окна, как его программно вывести вперед (сделать активным)? 3. можно ли программно завершить исполнение и выключить RTC.exe? (просто как я понял можно запустить rtc с параметром /hidemenu, а как в таком случае выйти из программы?)
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
И еще вопрос в догонку можно ли какими нибудь готовыми методами ввести данные GPS поступающие на ком порт по протоколу NMEA 0183?
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
Спасибо за быстрый ответ. К сожалению к нему нужны уточнения. 1. По вопросу остановки проекта, может я не очень четко описал ситуацию - проект запускается с ключами /fullscreen /hydemenu /run и естественно видно только то что я нарисовал на экране. Можно конечно заставить пользователя учить сочетания CTRL+R CTRL+F CTRL+T но это на мой взгляд программиста не очень правильное решение. Хотелось бы чтобы при нажатии на некоторую кнопочку "выход" сработало бы сразу все и CTRL+R и CTRL+F и CTRL+T, чтобы пользователю осталось только закрыть окно windows. 2. Опять моя вина, я написал "GPS" но имел в виду не совсем это. По протоколу NMEA 0183 общаются множество навигационных приборов: компасы, автопилоты, курсоуказатели и ТП. мне например нужно получить не только широту и долготу но и информацию с компаса и др устройств. И если не очень трудно по вторму вопросу напишите немного более подробно. Заранее благодарен.
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
Кстати я могу эту же информацию NMEA получать по TCP/IP может будет дегче подцепить ее с IP чем с ком порта? Очень нужно, помогите.
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
1. Через @Exit я уже пробовал. Мне кажется в следующих версиях программы вам нужно, все таки предусмотреть программные аналоги CTRL+F и CTRL+T а также и CTRL+SHIFT+Z или даже какое нибудь более функциональное масштабирование. На мой взгляд это очень логично. 2. Помогите написать драйвер для NMEA 0183. Если у вас есть получение широты-долготы, то остальное не должно быть более сложной задачей. может дадите исходники как это реализовано? Или еще лучше сами сделаете. только нормальный драйвер в источники, а не через переменные.
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
Господа подскажите ответ на простой вопрос. Имеется контроллер с обменом по Modbus TCP в контроллере есть модули цифрового ввода и вывода и аналоговые входы. С аналогового входа получаю информацию, с дискретных входов тоже - тут все нормально. В дискретные выходы я тоже все записываю нормально. Но информация на выходах контроллера может меняться и под влиянием других процессов, а вот прочитать информацию с выхода не получается. Я так понял чтобы выход читать нужно использовать Rout_Byte то есть чтение выходного байта? Если это так то каковы тогда его настройки? Такие же как в случае если я этот байт записываю, то есть W_Byte или нет? В частности направление? Или я вообще все не так понимаю. Просто в справке не очень понятно написано, я экспериментировал и понял что у меня в контроллере канал начинается с 0 для каждого типа устройств, то есть превый цифровой вход канал 0, первый аналоговый вход канал 0, первый цифровой выход тоже канал 0. Если я оставлю для Rout_Byte тип направление по умолчанию input я не понимаю какой канал. если беру output тоже не работает, может так и не может работать? как же всетаки ПРОЧИТАТЬ цифровые ВЫХОДЫ?
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если Вы хотите прочитать состояние тех же выходов, в которые Вы успешно записываете с помощью функции W_Byte, то Вам надо иметь компонент "Источников" Rout_Byte (Input) с теми же настройками ("Адрес", "Канал" и IP-адрес), что и в компоненте W_Byte. К компоненту Rout_Byte должен быть привязан канал HEX16 (Input). Все это справедливо, если адреса на считывание и запись дискретных Modbus-переменных типа OUT в конкретном устройстве в соответствии со стандартом Modbus совпадают. Если же бинарный выход в контроллере мэпируется на запись и чтение по разным адресам памяти, надо уточнить эти адреса по описанию устройства. И соответственно настраивать компоненты Modbus в проекте.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
Alex210271
Active Forum Member / Активный участник форума
Участник № / Member № 4421
отправлено / posted
Спасибо. Действительно адреса для чтения выходов оказались со смещением 0х0200 от их записи.
Сообщения / Posts 80 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ilovefiniki
Forum Member / Участник форума
Участник № / Member № 4106
отправлено / posted
У меня похожая ситуация. Только немного сложнее. Есть канал hex16(output). По нажатию кнопки на экране мне нужно отправлять 1 в контроллер по modbusTCP. Только вот срабатывает это только единожды. Поскольку регистр в контроллере сбрасывается в 0 самостоятельно по многим причинам, известным только в контроллере, мне необходимо каждый раз отправлять именно 1( что аналогичное кнопке без фиксации), но ТМ думает что значение не изменилось и ничего не отправляет. Если пытаться по нажатию кнопки на экране сначала сбрасывать канал в 0, а потом опять выставлять 1, то значение в канале меняется, но дальше опять таки не уходит. Я так понимаю потому что время обработки событий кнопки гораздо меньше чем передача по modbus обёрнутого в GPRS и к моменту передачи опять оказывается что значение канала тоже самое и отправлять его контроллеру не имеет смысла. В общем не могли бы Вы привести простой пример: 1 кнопка на экране постоянно записывает по модбасу 1.
Сообщения / Posts 52 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
отправлено / posted
На сегодняшний день принудительная посылка в контроллер от кнопки с экрана будет осуществляться, если второй командой той же кнопки при нажатии будет посылка "1" в атрибут EXEC (39) того же канала.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |