УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Передача данных между модулями OpenSCADA


Автор Сообщение
Сообщение создано: 23. 09. 2010 [22:30]
Boatswain
Сергій Миколайович
Создатель темы
Зарегистрирован(а) с: 23.09.2010
Сообщения: 22
Передачу данных из модуля "Вычислитель на java подобном языке" в модуль "Транспорты" необходимо выполнить в коде 0x00.
процедура: SYS.sub_Transportmod_Serial.out_TER107.messl0(ptest)
На СOM порту получаем символьный формат вне зависимости от того какой формат присваивается переменной "ptest" (вещественный, целый, логический, строка)
Вопрос: как избавиться от символьного формата?
Символьный формат не предусматривает следующие комбинации от 0x00, 0x01, и т.д. до 0x20.
Сообщение создано: 24. 09. 2010 [15:59]
andrelek
Андрей Полевой
Зарегистрирован(а) с: 13.12.2008
Сообщения: 210
"Boatswain" wrote:

Передачу данных из модуля "Вычислитель на java подобном языке" в модуль "Транспорты" необходимо выполнить в коде 0x00.
процедура: SYS.sub_Transportmod_Serial.out_TER107.messl0(ptest)

Если вы воспользовались этой функцией
string messIO( string mess, real timeOut = 1000 ); - отправка сообщения <mess> через транспорт с таймаутом ожидания <timeOut>.
то в ней ясно написано что отправляется строка.
"Boatswain" wrote:

Символьный формат не предусматривает следующие комбинации от 0x00, 0x01, и т.д. до 0x20.

Вероятно вам нужно перевести отсылаемую строку в бинарный вид Special.FLibSYS.strEnc2Bin(ptest)
Описана здесь: http://wiki.oscada.org/Doc/FLibSYS?v=1aw7#h378-29



1561