|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
20.02.2018, 19:18 | #1 |
Новичок
Регистрация: Dec 2013
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Проблема с переменными
Доброго времени суток уважаемые профессионалы!!!
Решил приобрести сенсорную панель компании ОВЕН СП3хх, хочу увязать ее с Pixel25хх по rs485. Настораживает тот факт, что при выборе типа значения переменной варианта в СП3хх всего два word или Dword, но в SMLogix такого типа переменных нет. Или у них просто есть синонимы к примеру word это real или int или что то другое??? Вообще есть такая возможность увязать эти два прибора? Может есть какие то подводные камни? Дело в том что два Pixel25хх по rs485 вместе увязать у меня проблем никаких не вызывает, файл справки в этом здорово помог, но приборы сторонних производителей не пробовал еще... |
21.02.2018, 00:32 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Проблема с переменными
В компьютерной технике, основанной на архитектуре фон Неймана (т.е. практически на всей) единица данных - бит.
Группа из 8 битов формируют байт. Группа из 2 байтов формируют машинное слово. Word. Группа из 4 байтов формируют двойное слово. Double Word. Сокращённо DWord. Это всё не типы данных, это лишь размерности данных. Внутри машинного слова могут храниться следующие типы данных: Signed Integer и Unsigned Integer. Т.е. Целое и Беззнаковое Целое. Внутри двойного машинного слова могут храниться следующие типы данных: Long Integer, Unsigned Long Integer и Float (он же Real). Т.е. Длинное Целое, Беззнаковое Длинное Целое и Число с Плавающей Точкой (оно же Реальное Число). Фиг знает, почему овен размерность назвал типом. Это на их совести или на совести переводчиков с китайского, которые помогали делать им софт)) Но неформально Word программеры приравнивают к Unsigned Integer, а DWord приравнивают к Unsigned Long Integer. У нас это типы данных Integer (общепринятое сокращение "Int") и Long Integer (общепринятое сокращение "Long"). Они не совсем Unsigned, поэтому Int передаст не от 0 до 65535, а от 0 до 32767. То же самое и к Long. Только половина диапазона. В принципе, вся эта информация есть в любом учебнике практически к любому языку программирования. Это азы программирования Нужно вам их подтянуть __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.02.2018, 03:28 | #3 |
Новичок
Регистрация: Dec 2013
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Проблема с переменными
Спасибо!!!
А на счет "подтянуть знания по программированию" согласен. Дело в том что я самоучка, от того и такие вопросы возникают! |
21.02.2018, 08:27 | #4 |
Senior Member
Регистрация: Aug 2015
Адрес: I live in Russia (Siberia), it's cold
Сообщения: 208
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 10 сообщениях
|
Ответ: Проблема с переменными
|
17.04.2018, 17:45 | #5 |
Senior Member
Регистрация: May 2013
Сообщения: 130
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Проблема с переменными
У меня тоже появилась проблема с переменными. Пытаюсь подружить анализатор качества сети OMIX с SMH2Gi по RS-485. Получается вот такая замануха (ивиняюсь за мой "французский) омикс выдает переменную типа int но с плавающей запятой (рец идет про мощность), т.е. сначала мощность выдаетя как 3258 Вт что означает 325,8 Вт. когда мощность переваливает за 1000-у и становится 1125 Вт то запятая уходит на один разряд вправо и цифру необходимо читать как 1125 Вт (1,125 кВт). Я пытаюсь понять по какому условию я должен делить цифру а по какому нет. Кто нибудь сталкивался с такой проблемой? и как ее решали?
|
17.04.2018, 18:23 | #6 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Проблема с переменными
Обычно, где-нибудь в соседнем регистре лежит значение "положение десятичной точки" в таких случаях. Вам просто нужно умножать или делить на десятку в степени полученного значения.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |