This is topic Глюк при работе ТМ5.хх с Bronkhorst FLOWDDE in forum Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows at Форум TRACE MODE: техническая поддержка.
Добрый день! Может быть кто-нибудь из участников форума работал с клапанами EL-PRESS фирмы BRONKHORST через DDE-server FLOWDDE32 с ТМ5.хх? (особое внимание участнику открытого форума LEON , топик от 5.12.03). Ситуация следующая:Клапан EL-PRESS работает с портом ПЭВМ RS-232 через свой последовательный порт (кабель 7.03.313).Среди внутренних настроек встроенного ПИД-регулятора основная -уставка Setpoint. Уставка может задаваться от нескольких источников, в зависимости от значения параметра Setpointmode. Если Setpointmode=1,то уставка берется с аналогового входа 0-5вольт,если Setpointmode=18, то приходит от интерфейса RS-232 в цифровом виде. При работе в среде EXCEL-97 через DDE-server FLOWDDE32 чтение-запись уставки и смена источника задания через ячейки EXCEL-97 происходит нормально (Topic C(1), Item P(9),P(12)). При работе в среде ТМ5.09 WIN NT4.0 SP6 наблюдается следующий глюк:Смена источника уставки происходит нормально.Ввод же значения самой уставки (в кодах 0-32000 дес.) в режиме "RS-232" корректно происходит только в диапазоне 10-99 и 1000-9999).Введение же значения (канал Output DDE POKE/REQ) вне этого диапазона приводит к обнулению уставки (канал Input DDE POKE/REQ).При работе с WIN2000 ,TM 5.15 уставка в режиме "RS-232"(Setpointmode=18) не устанавливается вообще ни при каких значениях. При этом из внешнего приложения (FLOW VIEW от фирмы ) уставка в этом режиме изменяется во всем диапазоне.Вот такой глюк... Что то с временными параметрами не то...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Режим обмена по DDE из ТМ у Вас какой - имя или 2,3 или 4 параметра?
Posted by HELLA (Участник № / Member № 104) on :
Добрый день! По всем каналам DDE -режим-2 параметра!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пожалуйста - проверьте, правильно ли выставлены настройки в каналах для этого режима: 2 параметра – в строке описания формата элемента item может присутствовать до двух полей вставки чисел. Значение первого числа определяется величинами настроек A и B (младший и старший байт соответственно), а второго – C и D; Posted by HELLA (Участник № / Member № 104) on :
Добрый день! В ddecnf0 используем следующую строку: flowbus C(1) P(%d) Для канала указываем формат - 2 параметра. В поле A подставляем настройку P(i) канала,например "9", в поле B,C,D ничего не указываем (нули). В общем все параметры опрашиваются и устанавливаются за исключением С(1)Р(9)как ни странно...
Posted by Leon (Участник № / Member № 624) on :
to_HELLA: к сожалению аналогичная ситуация наблюдалась и у меня. Прием данных от DDE-сервера осуществлялся корректно,а попытки записи новой уставки более чем 99 приводили к обнулению и сбою DDE-сервера, после чего он обычно закрывался с ошибками. А в примере на Excel все происходит нормально, видимо ошибки связаны с форматом передачи данных ТМ в FLOWDDE-сервер.
Posted by HELLA (Участник № / Member № 104) on :
Спасибо за ответ! Замечание по теме : Отрабатываются также коды в диапазоне 1000-9999, но не на всех типах WINDOWS & TM5.xx.
Posted by Leon (Участник № / Member № 624) on :
Ждем ответ модератора
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
ТМ передает обычное числовое значение формата Float в виде строки string. Рекомендую проверить, что стоит в настройках ОС в разделе Региональных стандартов, а именно - разделитель групп разрядов. Если там, что-то задано, то может оказаться, что вместо 9999 передается строка "9,999.0", которую и не понимает FLOWDDE-сервер. А с Excel'ем это проходит, потому как он правильно интерпретирует такую строку в соответсвие с текущими Региональными стандартами ОС.
Posted by HELLA (Участник № / Member № 104) on :
Добрый день! В разделителе групп разрядов в Региональных установках как раз НИЧЕГО не стоит ...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В ТМ значение конвертируется в строку стандартной функцией с учетом разделителя из региональных настроек. В описании FLOWDDE что-нибудь сказано про формат воспринимаемый им значений?
Posted by HELLA (Участник № / Member № 104) on :
Протокол обмена выслал на hotline1@adastra.ru
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А толку нам с этого описания - там протокол самого прибора по RS232 описан, а про формат сообщений по DDE нет ничего...
Posted by HELLA (Участник № / Member № 104) on :
Вся имеющаяся информация:
"1- Server name: FLOWDDE 2- Topic name: C(nr) = channel number 3- Item nam: P(nr) = parameter number
In some applications parameter x at channel y can be reached as follows:
FLOWDDE|C(y)!P(x)".Увы!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А запросить ее у производителя можно как-нибудь?
Posted by HELLA (Участник № / Member № 104) on :
Адрес имеется: Bronkhorst High-Tech B.V. Nijverheidsstr. 1a 7261 AK Ruurlo The Netherlands tel : xx31-573-458800 fax : xx31-573-458808 e-mail : help.flowbus@bronkhorst.com Сформулировать бы запрос корректно...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправил - подождем ответа...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Сегодня получили ответ. Вот, что они пишут: "The Bronkhorst FlowDDE Server do have a possibllity to monitor the values which where send from a DDE-Client to the FlowDDE Server. Please enable "Echo Client Linkpokes" in the Communcation menu of the FlowDDE Server. A value which is send (poked) from the Client will be visable in the echo(blue screen) of the FlowDDE Server. Which value do you see in the echo ?"
То есть - Вы можете отследить какие значения принимает сервер по DDE и тем самым проверить корректность этих параметров. Кроме того - в письме также прислали ссылку на требования к системе, на которой работает FLOWDDE сервер: http://downloads.bronkhorst.com/details.asp?dlid=-1579748341 Обратите внимание на требования к региональным настройкам разделителя разрядов: "Operating System settings: (Number) Decimal symbol: . (point) (Number) Digit grouping symbol: , (comma)
The digit-grouping symbol of currency must always differ from the numbers decimal symbol (see Microsoft Q198098). In this situation you have to check that the digit grouping symbol of currency does not contain a . (point). If so, choose any other character. Having equal symbols is not valid and will cause problems, not only for this program but other programs as well."
Также в письме прислали исходные коды программ на Си, Си++ и VB для коммуникации с этим сервером через библиотеку Flowb32.dll, если нужно - могу переслать их Вам (может пригодятся).
Posted by HELLA (Участник № / Member № 104) on :
Добрый день! Пока установили следующее: 1.манипуляции с региональными установками не помогли. 2.При работе сТМ5.09 НАБЛЮДАЛИ в режиме эхо-сигнала ,что на FLOWDDE от ТМ5.09 приходит искаженная информация- к символам переданного десятичного эквивалента кода уставки (0-32000) припасовывается 1или два нечитаемых символа, которые отображаются в виде вертикальной палочки, или комбинации палочки и символа "Р". В среде EXCEL-97 этих символов нет и все работает. Символы появляются один раз при каждом изменении уставки;при повторном опросе "стабильной уставки" они не появляются,но принадлежность уставки определенному диапазону обусловливает либо правильную отработку уставки,либо ее обнуление.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Без самого FLOWDDE-сервера трудно что-либо выяснить. Можно его как-нибудь получить? И будет ли он работать без "железа"?
Posted by HELLA (Участник № / Member № 104) on :
Сервер выслан на hotline1@adastra.ru но без оборудования фирмы BRONKHORST мало что можно сделать...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ну хотябы он сможет отобразить то, что я ему буду по DDE передавать без "девайса"?
Posted by Leon (Участник № / Member № 624) on :
Там есть режим Эмуляции
Posted by HELLA (Участник № / Member № 104) on :
Добрый день! Сервер сначала устанавливает соединение со всеми приборами в сети.НО есть режим "Simulate". Select Simulate from the system menu. This function is convenient for a quick try-out of the DDE Server or for demonstration, system preparation or application development purposes. In case the DDE Server is not yet connected to the Flow-Bus, with the Simulate function it is possible to demonstrate the connection with other programs like the DDEtest, Excel or any SCADA program. During simulation, all parameter values are set to the default settings in the parameter list. Setpoint and measure get a short-cut for each channel where possible. This will result in a change in measure value if you change the setpoint: when changing setpoint for a channel, measure will follow with the same value. At this way it looks like there is a (very fast, ideal) controller connected. This can be used for very real looking simulations, so give it a try !!!
It is not possible to select communication with FLOW-BUS or simulation at the same time. It is either one or the other.
When selected following messages will appear on your screen: (example:) 13:05:27 Init: System configuration overview copied to clipboard (1) 13:05:28 Simulation ON (2)
Explanation: (1) The system in the database what is going to be simulated for DDE-conversation will be copied to the Windows clipboard. You can read or print this information.
(2) Simulation is active from now on, until you leave FLOWDDE or select simulation from the Server menu again. Now it will switch to off as you can see at the following messages to your screen:
(example:) 13:12:42 Simulation OFF (3)
Explanation: (3) Simulation is switched off. You can switch it on again or open communication.
When switching-off simulation, also the parameters and other system information will be erased from the program memory. If you want to have new information about parameter values, open communication and use the special command channel C(0) for triggering the DDE-server to read actual data for that one or more channels
or select Read all parameters from the communication menu to do this.
Posted by HELLA (Участник № / Member № 104) on :
Запустите FLOWDDE32,затем в Communication Setup задайте номер порта и скорость (38 кбод). Запустите режим Simulate.Затем включите режим Эхо-сигнала.Запустите проект ТМ5.ХХ Bronk.ctm с каналом типа OUTPUT.Передаваемые данные будут видны. Вышлю проект.Нажмите КНОПКУ "режим ввода уставки от ПЭВМ" (код18) И ВВЕДИТЕ цифровую уставку через кнопку "цифровая уставка,в" в диапазоне 0-32000.
Posted by HELLA (Участник № / Member № 104) on :
В случае попадания уставки в "запретную зону" например 16000 выдается сообщение от FLOWDDE32 RunTime error(13) Type mismatch. Запретная зона - все значения кроме 10-99 и 1000-9999.Впрочем это зависит от ОС и скорости процессора.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
На следующей неделе попробуем провести испытания.
Posted by HELLA (Участник № / Member № 104) on :
Добрый день! Есть ли какие-либо новости по испытаниям FLOWDDE32?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да - появились. Выяснилось, что в настройках FlowDDE последней версии есть параметр диагностирования окончания строки символами CRLF. Однако ТМ всегда передает строку, которая заканчивается символом 0x0D (символ типа CR), а FlowDDE-сервер не воспринимает один этот символ, ему надо оба - поэтому он падает. Кстати падает он не только при значениях больше 99. Даже если несколько раз ему послать значения <99 он тоже упадет... Переписка с представителями Bronkhorst привела к тому, что они предложили сделать другой формат передачи строки в нашем ТМ, сами они изменения в свой сервер внести не хотят. Я внес запись в нашу базу для улучшений, но это будет возможно не ранее следующего релиза, а котгда он будет - ответить затрудняюсь. Может имеет все же смысл уговорить преставителей Bronkhorst внести соответсвующую функциональность в их сервер?
Posted by HELLA (Участник № / Member № 104) on :
Судя по всему,лучше дождаться следующего релиза и внести изменения (например в колонку "Режим" настроек каналов типа DDE),не забыв отразить их в справочной системе.