Подскажите пожалуйста, может есть какие то видеопримеры? Есть необходимость передавать с панели СПК107 числа с запятой через RS485 на ПЛК110.32.
Вид для печати
Подскажите пожалуйста, может есть какие то видеопримеры? Есть необходимость передавать с панели СПК107 числа с запятой через RS485 на ПЛК110.32.
Можно передавать в формате WORD, предварительно умножив число на 10 в степени n. Где n равно количеству знаков после запятой.
Спасибо, попробую.
Зачем такие извращения? Просто в модбас устройстве создаёте канал Wright multiple register, указываете нужное смещение (адрес) и количество регистров для записи - 2. К каналу привязываете свою real переменную. Возможно вечером смогу скинуть скриншоты, если непонятно будет.
Ну почему сразу извращение? Точность и диапазоны 4-байтового REAL'а далеко не всегда нужны, и есть смысл сэкономить. Да и как раз REAL по модбасу без извращений вы и не передадите.
Трудно сказать, у меня нормально передача идёт, скриншоты конфигураций можете приложить?
Чтобы в word не терять цифры, то как раз и умножается на нужное число разрядов (10,100,1000 и т.д.) после запятой перед конвертированием, а по приеме преобразовываете обратно в real и делите обратно.
В кдс 3.5 можно указать тип регистра?
Скриношоты смогу выложить после выходных, сейчас к сожалению нет доступа к компьютеру.С числами я понял,интересное решение. Но как быть если нужно подключить блок с аналоговыми входами? В нем же перемножать ничего не получится. Подскажите, а тип глобальной переменной к которй привязываете 2 регистра у Вас Real?
Если с аналогового имеете какое-то не преобразованное значение, (ток, милливольты, вольты, сопротивление или др), то сначала в СПК преобразовываете в нужное значение, согласно вашей градуировке, а потом уже передаете куда нужно. Не знаю как на счет в СПК, в ПЛК приходится разбивать REAL на 2 WORD и передавать массивом в нужные регистры от Real принимающего устройства. Как разбивать пока еще не знаю, но возможно разберемся. Надеюсь я правильно вас понял и немного намекнул куда копать.
kat
Если ещё актуально, выкладываю для вас скриншоты по какому принципу у меня работает
Вложение 20847
Вложение 20848
Вложение 20849
Вложение 20850
Вложение 20851
Добрый день, форумчане. Подскажите решение моей проблемы, которая заключается в следующем:
Есть котел, на котором установлены приборы ТРМ212. Данные с них по RS-485 попадают в МСД-200, а оттуда уже в СПК-110 (старой еще модификации) и отображаются элементом "трассировка" в виде графика. Если с передачей данных от ТРМ до МСД-200 проблем нет, то с СПК есть проблемы. СВязь между Мсд-200 и СПК-110 настроена, все отлично, но вот с преобразованием данных в тип REAL проблемы имеются. Я пользовался функцией объединения UNION и делал как рекомендуют в соответствующих источниках, но не получилось толком ничего. В начале данные на графике отображались, но после непродолжительной работы просто пропали и вместо них на графике нули. В службе поддержки сказали что при преобразовании теряются байты. Как так? Ведь по книжке же все. Возможно для кого-то это пустяковая вещь, но сам я не программист и потому подобные проблемы вызывают недоумение большое.
Само преобразование у меня как на фото Вложение 44858Вложение 44859Вложение 44860
Помощь уже не требуется. Проблема решена.