GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
Добрый день! В тестовом примере "Пример записи/чтения аргументов канала CALL через файл" в описании сказано про работу с кнопками, но просмотрев пример я этих кнопок не обнаружил?
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Скачал пример с сайта, запустил в IDE релиза 6.07.7 базового формата и под профайлером. На экране под заголовком "Чтение и запись в файл" имеются 2 кнопки: "Записать значения" и "Считать значения".
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
Спасибо, с кнопками разобрался, но возникли следующие вопросы: 1. В файле построчно перечисляются аргумнты и их значения. Имя аггумента я изменить не смог. Можно ли менять формат записи или он только такой. 2. Можно ли передать значение аргумента канала в системную переменную WinXP типа temp с целью дальнейшего использования в bat-файле?
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Менять формат записи нельзя. 2. Передать значение аргумента в системную переменную ОС нельзя.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
Добрый день, возник еще ряд вопросов:
1.Существует ли способ создания, например текстового файла, с заданным именем (пусть в виде цифр). 2.При работе с ModBus, если период пересчета канала ставлю 1 сек, то запрос посылается один раз в сек. Но стоит отключить контроллер, как запросы начинают посылаться очень часто, что сильно забивает сеть. Каким образом можно увеличить этот период при отключенном контроллере? 3. Каким образом можно сбросить показания тренда, аналогично моменту запуска RTM?
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Запись аргументов канала CALL осуществляется в файл <имя канала>_<N>.dat. Имя канала в реальном времени можно изменять. Тогда изменится и имя файла.
2. Если это Modbus RTU, можно увеличить таймаут COM-порта. Но правильно - отключать соответствующие каналы от источника (атрибут 8, W) при обнаружении массовой недостоверности по каналам, опрашивающим отключенный контроллер. Это исключит паразитный трафик.
GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
1. При попытке записать аргументы двух каналов создается только один текстовый файл, второй канал игнорируется. В чем может быть проблема? 2. Если увеличить таймаут, то конечно запросы будут идти реже, но RTM в этот момент не будет обращатся к другим устройствам в сети, а если отключить каналы от источника, то при включении устройства оно опрашиваться не будет.
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Функции чтения/записи аргументов каналов CALL осуществляются on-line. Единовременно может осуществляться только одна процедура. Необходимо разносить во времени процедуры записи/чтения по разным каналам.
2. Вы правы. Рационально при программном выявлении отключения устройства (массовая продолжительная недостоверность обмена по соответствующим каналам) отключать эти каналы от источников и сигнализировать персоналу об отсутствии связи с конкретным устройством. Для обнаружения включенного устройства (если нет оперативного сообщения о восстановлении работоспособности устройства) можно с некоторым периодом включать эти каналы обмена. Для включения/отключения каналов можно использовать каналы группового управления типа CALL.SET или CALL.MOVE.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
Разнес во времени процедуру записи по разным каналам следующим образром:
if ts==1 then wr1=1; else wr1=0; end_if; if ts==3 then wr2=1; else wr2=0; end_if; END_PROGRAM
где ts-привязано к системным секундам, wr1, wr2-к 129 атрибуту каналов записываемых аргументов, соответвенно. Привязка проводилась в окне свойства/аргументы у канала вызова шаблона данной программы. Также все эти три переменные (ts, wr1, wr2) выводилиь на экранную форму. При этом ts тикала синхронно с секундами системных часов компьютера, а wr1, wr2 - все время показывали "1", и соответственно, генерировался только один файл .dat, если отключить привязку wr1, wr2-к 129 атрибуту каналов, то на экранной форме wr1=1 на 1 секунде, wr2=1 на 3 секунде. Следовательно привязка каким-то образом нарушает нормальное функционирование, каким образом нужно правильно выполнить привязку?
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |
GenericP
Junior Member / Новичок
Участник № / Member № 5418
отправлено / posted
Спасибо, а базы данных и приложения (bat через exec) тоже нельзя одновременно вызывать?
Сообщения / Posts 6 | Из / From: Россия
| IP / IP: IP адрес / IP address |