ЖУРНАЛ «СТА» №1/2008
GraphWorX32 как приложение из панели за- дач или автоматически из Start Up стандарт- ным способом. Все по-русски, все OK. Но нам захотелось запускать GraphWorX32 через OLE из нашего собственного приложения. Запускается, работает, и все OK. Только по- чему-то интерфейс упорно английский. Су- ществует только одна возможность: после запуска по OLE переходим в режим конфигу- рации и выбираем русский. До закрытия GraphWorX32 он остается русским. Но при следующем запуске по OLE GraphWorX32 опять запускается с английским интерфей- сом. Скажите, где и какую «птицу» ему нуж- но поставить? О ТВЕТ К сожалению, проблема не может быть решена таким простым способом, как установка «птицы» в неком око- шечке. Более того, в документации на GENESIS32 явно указано, что отобра- жение «локализованной» среды разра- ботки, например GraphWorX32, воз- можно только при запуске приложения «вручную». При запуске того же GraphWorX32, но из другого приложе- ния с помощью механизма OLE Automation, он будет отображать все встроенные меню на английском язы- ке. Причина эффекта заключается в сле- дующем: информация об установлен- ных по умолчанию «языковых» наст- ройках приложений пакета GENE- SIS32 хранится в реестре Windows в разделе HKEY_LOCAL_MACHINE\ Software\ICONICS\GenLic32\OEM Information. Если GENESIS32 не локализован, то никаких параметров в разделе не опре- делено. После локализации системы ключ Default Locate ID устанавливается в 0х00000419(1049), что говорит об уста- новке по умолчанию русской среды разработки. При старте GWX32 по интерфейсу OLE содержимое этого ключа игнори- руется. Считается, что в большинстве случаев это не имеет существенного значения, поскольку такой способ за- пуска, как правило, осуществляется уже в режиме исполнения заранее раз- работанного проекта. При этом все встроенные в проект обозначения и меню все равно останутся на том язы- ке, на котором осуществлялась разра- ботка, (в данном случае на русском), поскольку созданы пользователем. А наличие локализованных надписей в меню не столь важно. Однако, если по- сле подобного запуска GraphWorX32 пользователь переведет его в режим разработки, то среда разработки попрежнему будет англоязычной, и для ее русификации пользователю не- обходимо вручную выбрать русский язык из меню View/Select Language Конечно, эта процедура не занимает много времени, но и ее можно избе- жать. Для этого достаточно вставить в собственную программу, из которой инициируется запуск GWX32, следую- щую строку (в синтаксисе С++): ::SendMessage(HWND_BROAD- CAST,WM_SETTINGCHANGE,0,0); после команд загрузки файла, запус- ка на исполнение и разрешения отоб- ражения. Эта команда сообщает всем актив- ным приложениям, что в их настрой- ках произошли изменения. В результа- те этого все запущенные в данный мо- мент приложения обращаются к реест- ру для того, чтобы обновить информа- цию о конфигурации. В результате GraphWorX32 прочитает информацию из ключа HKEY_LOCAL_MACHINE\Software \ I CON I C S \ GENE S I S 3 2 \ OEM Information\Default Locale ID = 0x00000419(1049) , что говорит о наличии установлен- ной в системе поддержке русского язы- ка, и перерисует среду разработки в «русскоязычном» виде. Как следствие, этот прием можно ис- пользовать и для дистанционного из- менения языка. В ОПРОС Верна ли формула вычисления размера ба- зы данных, приведенная в п. 4.5.2 Gen32_GetStarted_Training_ver6.pdf? Так как при периоде сбора 20 мс и 150 тегах за 2 ч имеем базу: Nr = 150 (2 60 60)/(36 0,02) = 1500000 записей, Vr = 1500000/1024 1,25 = 1831 Мбайт, что является несомненно боль- шим объемом информации, для её обработ- ки и хранения необходимы специальные средства. Если есть опыт в обработке таких баз, просим сообщить об использованных аппаратно-программных средствах. О ТВЕТ Формула верна. Обычно при столь суровых требованиях к скорости ис- пользуется выделенный мощный ком- пьютер с установленными TrendWorX32 SQL Logger и MS SQL Server 6.5. Кроме того, исходя из рас- считанных размеров, выполняется уп- равление таблицами базы данных и на- стройка самого SQL Server (см. доку- ментацию на SQL Logger). Подобная конфигурация, созданная на основе выделенного сервера архивации, пост- роенного на базе высокопроизводи- тельной EIDE или SCISI дисковой под- системы, MS SQL Server и подсистемы TrendWorX32 SQL Logger, может обес- печить постоянный темп записи на диск потока данных объемом до 60007000 значений тегов в секунду. Считается, однако, что для обеспече- ния надежности желательная пропуск- ная способность подобных систем, по- строенных на одном компьютере под управлением Windows NT, не должна превышать 15003000 отсчетов в секун- ду. В ОПРОС Вопрос, связанный с предыдущим. У меня есть одна лицензия на систему GENESIS32 объемом 1500 точек ввода-вывода. Для обес- печения архивации на одной из рабочих стан- ций круглосуточно выполняются TrendWorX32 SQL Data Logger, Alarm Server и Alarm Logger. При запуске на этой же рабочей станции про- екта GraphWorx32 наблюдается замедление работы системы. К тому же я хочу, чтобы ра- бочее место оператора находилось совсем в другом месте. Можно ли «поделить» одну ли- цензию GENESIS32 между двумя компьютера- ми таким образом, чтобы на одном выполня- лись приложения TrendWorX и AlarmWorX, а на другом — только GraphWorX? 85 СТА 1/2001 www.cta.ru В З АПИС Н УЮ К НИЖК У ИНЖЕ Н Е Р А / ВОП Р ОСЫ - О Т В Е Т Ы
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy