|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
22.02.2021, 16:43 | #1 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Что такое булева алгебра?
А у меня у одного при попытке реверсировать переполнение регистра идёт?
Регистр коммандного слова |
24.02.2021, 11:15 | #2 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
https://dl.segnetics.com/WebHelp/SML...locks_math.htm обратите внимание на диапазон значений чисел типа int. __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
25.02.2021, 12:31 | #3 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Danfoss VLT FC-51
В предложенном макросе командного слова при установлении бита реверс в 1 наступает переполнение регистра типа int
Точнее сказать не переполнение, уход в отрицательную зону. Но диапазон командного слова у ПЧ 0-65535, а переменная int -32768 ... 32767. И вопрос - будет или нет конфликта при передаче команды реверс? |
25.02.2021, 12:37 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
Переполнение бывает исключительно в математических операциях. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
25.02.2021, 13:26 | #5 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Danfoss VLT FC-51
Если почитать мой ответ, то я поправился. А как быть с сутью вопроса по соответствию переменных?
И по большому счёту вопрос важный. Если мне надо передать значение от 33000 до 65000 в регистр размером 2 байта из лоджика. Как это сделать? |
25.02.2021, 14:04 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
Затем формировать нужное число в long и затем побитово переносить младшие 16 разрядов в int. Ну либо то же самое сделать математически. PS. Как связан ваш вопрос с битом управления VLT FC-51? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
25.02.2021, 14:08 | #7 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
P.S. Ведь можно в отладке проверить. __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
25.02.2021, 14:46 | #8 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Danfoss VLT FC-51
мне надо передать командное слово, которое преобразовано в переменную типа word с диапазоном от 0 до 65535. Значение командного слова равно 38415. Размер области памяти слэв устройства 2 байта. Как это сделать средствами лоджика?
|
25.02.2021, 14:51 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
Илья вам показал картинкой, как формировать командное слово. В чём конкретно ваша проблема сейчас? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
25.02.2021, 14:52 | #10 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Danfoss VLT FC-51
PS. Как связан ваш вопрос с битом управления VLT FC-51?[/QUOTE]
В макросе в этой ветке бит реверса 15-й, который как раз и отвечает за знак числа. И при установке его в 1 значение типа int уходит в отрицательную зону. Как в этом случае ПЧ воспримет значение этого командного слова? |
25.02.2021, 14:58 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Danfoss VLT FC-51
Цитата:
Потому как командное слово - это не число. Частотник не обрабатывает его как число. Частотник не рассматривает его как число. Вам нужно через себя переступить и всё же посетить ссылку, которую я вам привёл. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
25.02.2021, 15:13 | #12 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Что такие булева алгебра?
переступил через себя и отправил в панель вайнтек командное слово. Все стало на свои места.
|
25.02.2021, 16:00 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Что такие булева алгебра?
Странное обсуждение вы затеяли, обсуждая и подвергая сомнению работающий пример программы. Все эти годы всё без проблем работало почти 2 тысячи человек воспользовались этим примером и вот вдруг реальность разбилась о переполнение и обиды на то, что с вами кто-то в интернете не согласен.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.03.2021, 13:49 | #14 |
Member
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Что такое булева алгебра?
Да не было никакой обиды, Арсений Вы о чем вообще? К чему эта санта барбара. Появилось сомнение и я задал вопрос, который разрешился. Спасибо Вам огромное за Ваше терпение!
|