Ваши комментарии

Со временем разобрался. Дело было так - на сервере стоял часовой пояс +04, а на клиенте +03 (разные версии виндовс) Настроил пояса - все отлично! Спасибо.

а вот по поводу закрытия мнемосхем, что-то у меня не получается по прежнему. Вот скрипт. я верно там все сделал?

Var LastMnemo : string; // прошлая мнемосхема
NumberMnemo : byte; // количество открытых
Begin
NumberMnemo:=0;
// проверка на количество открытых
if CheckOpenMnemo('ПРОМЕТЕЙ127') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ128') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ129') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ130') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ131') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ132') then NumberMnemo:=NumberMnemo+1;
if CheckOpenMnemo('ПРОМЕТЕЙ133') then NumberMnemo:=NumberMnemo+1;

// Если открыто менее 2х то она кандидат на закрытие
if NumberMnemo<2 then begin
if CheckOpenMnemo('ПРОМЕТЕЙ127') then LastMnemo:='ПРОМЕТЕЙ127';
if CheckOpenMnemo('ПРОМЕТЕЙ128') then LastMnemo:='ПРОМЕТЕЙ128';
if CheckOpenMnemo('ПРОМЕТЕЙ129') then LastMnemo:='ПРОМЕТЕЙ129';
if CheckOpenMnemo('ПРОМЕТЕЙ130') then LastMnemo:='ПРОМЕТЕЙ130';
if CheckOpenMnemo('ПРОМЕТЕЙ131') then LastMnemo:='ПРОМЕТЕЙ131';
if CheckOpenMnemo('ПРОМЕТЕЙ132') then LastMnemo:='ПРОМЕТЕЙ132';
if CheckOpenMnemo('ПРОМЕТЕЙ133') then LastMnemo:='ПРОМЕТЕЙ133';
end
// А если 2 и более то закрыть кандидата на закрытие
else CloseMnemo(LastMnemo,True);
end.

вот с CheckOpenMnemo дела обстоят сложней. Эта функция работает только на серверной части. Так как определить на каком клиенте какая мнемосхема открыта она не может.
Скрипт циклический.
Еще тут один момент всплыл, при запуске монитора на клиенте он мне системное время на час назад меняет.(синхронизацию по интернету выключил)

у процедур:

procedure CloseMnemo(AName: string; ASendAll: Boolean);
procedure CloseAllMnemo(ASendAll: Boolean);

есть доп. параметр ASendAll, который отвечает за выполнение команды на всех подключенных клиентских ПК.

При подключении клиента к серверу, он синхронизирует с сервером свое время.
Настройки мониторов такие - рабочий стол продлен на другие мониторы. Первый(левый) главный. Они стоят в один ряд. Идея такая - слева список объектов и их состояние, посередине мнемосхема самого объекта, а справа - просто монитор для иных задач. Выяснил еще, что до координаты 700 по X мнемосхема(объекта) немного выходит на второй экран, а после X>700 остается на основном экране.
Да, скрипт не работает только на клиенте, а на сервере - без проблем.
Вот примерно то что делаю.

Александр, а скрипт запускается по событию? Т.е. по нажатию на какую то кнопку?
День добрый.

Доброго времени суток.
У нас есть сервер с одним монитором. и клиент с 3-мя мониторами. Проект содержит одну базовую мнемосхему, которая работает в полноэкранном режиме и несколько второстепенных работающих в оконном режиме. Причем второстепенные мнемосхемы настроены открываться в разных местах экрана, чтобы не мешали базовой. На сервере, где один монитор все работает так как надо, т.е. второстепенные мнемосхемы открываются и за пределами экрана(закрываю я их с помощью скрипта)тут все хорошо. Проблемы начинаются когда работает клиент. Он не открывает за пределами рабочего стола(основного монитора) и все второстепенные мнемосхемы открываются на основном мониторе. Приходится их перетаскивать на другие мониторы вручную. Так же не работает скрипт закрытия этих второстепенных мнемосхем.
Как сделать так, чтобы второстепенные мнемосхемы(окна) открывались на втором или третьем мониторе?

Вариант с несколькими мониторами на клиенте, проверим. На системе с тремя мониторами как настроен рабочий стол? Скрипт не отрабатывает только на клиенте?
Добрый вечер.

имеем 1 word 2 байта по 8 бит каждый, с адресом 0
Там есть во втором байте бит ibSetDefSet.
как его считать по средствам modbus без скриптов (с возможностью записи)


Если не ошибаюсь, то считать можно только слово целиком. И без скрипта в данном случае не обойтись.
Добрый вечер.

Доброго времени суток. Есть 28 дискретных входов на модулях МВ110-16Д "ОВЕН", OPC-сервер LectusOPC и SimpLight. Нужно организовать систему, которая при срабатывании любого из входов, выводила сообщение на экран и включала сирену со светосигнальной колоной. Сирена включается посредством модуля вывода МУ110-16Р. Решил собрать тестовый стенда с двумя дискретными входами и обкатать все это дело, так сказать. Все сделал на скриптах с++ и выяснился один неприятный момент - сообщения на экран выводятся сразу же после срабатывания входа, а вот включение сирены и светового сигнала происходит с задержкой около 10 сек, что не очень хорошо для данного проекта, поскольку если только при двух переменных задержка 10с, то что будет в реальной системе, которая с учетом этих дискретных входов имеет 64 канала. Скорость опроса переменных менял - не помогло. Что можете посоветовать по увеличении быстродействия данного проекта? Как распределяется время выполнения и скриптов, и каналов в программе, и как можно этим временем управлять?

Для начала я бы проверил цепочку SIMP - ОРС сервер - прибор. Создайте мнемосхему, на ней кнопку, кнопка будет записывать данные в канал управления дискретным выходом. Необходимо проверить насколько быстро отработает запись в канал, и прибор среагирует на изменение данных. Можно так же для теста воспользоваться сторонним ОРС клиентом, и с него произвести запись в канал. Тем самым выясним, что вносит задержку при записи.
Добрый вечер.

Имеется следующая ситуация - стоит компьютер на котором установлен сервер SL ENT. Компьютер во внутренней сети предприятия, связь с интернетом осуществляется через роутер. На роутере статический IP. Как подключится клиенту к необходимому нам компьютеру? Имеется возможность пробросить любые порты.

С клиента должен быть доступ к папке проекта на сервере, порты 137,139,445.
Добрый вечер.

1. версия 4.4.0.232 (отладочная). На обычной тоже также.
2. Если удалить и заново настроить, то ничего не меняется.
Он может отображаться нормально, а потом обрезает. Через несколько секунд опять повторяется.

Ок. Понял. Пытаемся повторить у себя.
Добрый вечер.
непонятно почему, обрезает апплет "текст" с привязанным каналом.
На скриншоте справа отмечены из каких элементов сделано. Активные только сами датчики в прямоугольниках. Трубопровод сделан из объектов труба.

Посмотрели Вашу мнемосхему, указанное поведение элемента у нас не воспроизводится. В связи с этим вопросы: 1) какая версия установлена. 2) Если удалить и заново добавить этот элемент, подобное поведение сохраняется?
День добрый.
непонятно почему, обрезает апплет "текст" с привязанным каналом.
На скриншоте справа отмечены из каких элементов сделано. Активные только сами датчики в прямоугольниках. Трубопровод сделан из объектов труба.

Сможете прислать нам эту мнемосхему?


Сервис поддержки клиентов работает на платформе UserEcho