Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2021, 16:43   #1
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Что такое булева алгебра?

А у меня у одного при попытке реверсировать переполнение регистра идёт?
Регистр коммандного слова
Svetovid вне форума   Ответить с цитированием
Старый 24.02.2021, 11:15   #2
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
А у меня у одного при попытке реверсировать переполнение регистра идёт?
Регистр коммандного слова
О каком переполнении идет речь?

https://dl.segnetics.com/WebHelp/SML...locks_math.htm обратите внимание на диапазон значений чисел типа int.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 12:31   #3
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

В предложенном макросе командного слова при установлении бита реверс в 1 наступает переполнение регистра типа int
Точнее сказать не переполнение, уход в отрицательную зону. Но диапазон командного слова у ПЧ 0-65535, а переменная int -32768 ... 32767. И вопрос - будет или нет конфликта при передаче команды реверс?
Svetovid вне форума   Ответить с цитированием
Старый 25.02.2021, 12:37   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
В предложенном макросе командного слова при установлении бита реверс в 1 наступает переполнение регистра типа int
К возникающей ситуации слово "переполнение" неприменимо.

Переполнение бывает исключительно в математических операциях.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 13:26   #5
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Если почитать мой ответ, то я поправился. А как быть с сутью вопроса по соответствию переменных?
И по большому счёту вопрос важный. Если мне надо передать значение от 33000 до 65000 в регистр размером 2 байта из лоджика. Как это сделать?
Svetovid вне форума   Ответить с цитированием
Старый 25.02.2021, 14:04   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
Если почитать мой ответ, то я поправился. А как быть с сутью вопроса по соответствию переменных?
И по большому счёту вопрос важный. Если мне надо передать значение от 33000 до 65000 в регистр размером 2 байта из лоджика. Как это сделать?
Для начала получить представление, что это такое: https://ru.wikipedia.org/w/index.php?oldid=112057383

Затем формировать нужное число в long и затем побитово переносить младшие 16 разрядов в int. Ну либо то же самое сделать математически.

PS. Как связан ваш вопрос с битом управления VLT FC-51?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 14:08   #7
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
Если почитать мой ответ, то я поправился. А как быть с сутью вопроса по соответствию переменных?
И по большому счёту вопрос важный. Если мне надо передать значение от 33000 до 65000 в регистр размером 2 байта из лоджика. Как это сделать?
Вам нужно передать значение или биты(или все-таки байты) регистров?

P.S. Ведь можно в отладке проверить.
Миниатюры
Нажмите на картинку для увеличения

Название:  Скриншот 25-02-2021 130616.png
Просмотров: 64
Размер:  41.0 Кбайт  


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 14:46   #8
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

мне надо передать командное слово, которое преобразовано в переменную типа word с диапазоном от 0 до 65535. Значение командного слова равно 38415. Размер области памяти слэв устройства 2 байта. Как это сделать средствами лоджика?
Svetovid вне форума   Ответить с цитированием
Старый 25.02.2021, 14:51   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
мне надо передать командное слово, которое преобразовано в переменную типа word с диапазоном от 0 до 65535. Значение командного слова равно 38415. Размер области памяти слэв устройства 2 байта. Как это сделать средствами лоджика?
Я дал вам ссылку, что видят компьютеры и контроллеры там, где вы видите числа.

Илья вам показал картинкой, как формировать командное слово.

В чём конкретно ваша проблема сейчас?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 14:52   #10
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

PS. Как связан ваш вопрос с битом управления VLT FC-51?[/QUOTE]

В макросе в этой ветке бит реверса 15-й, который как раз и отвечает за знак числа. И при установке его в 1 значение типа int уходит в отрицательную зону. Как в этом случае ПЧ воспримет значение этого командного слова?
Svetovid вне форума   Ответить с цитированием
Старый 25.02.2021, 14:58   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Danfoss VLT FC-51

Цитата
Сообщение от Svetovid Посмотреть сообщение
В макросе в этой ветке бит реверса 15-й, который как раз и отвечает за знак числа. И при установке его в 1 значение типа int уходит в отрицательную зону. Как в этом случае ПЧ воспримет значение этого командного слова?
К возникающей ситуации слово "переполнение" или "отрицательное число" неприменимо.

Потому как командное слово - это не число. Частотник не обрабатывает его как число. Частотник не рассматривает его как число. Вам нужно через себя переступить и всё же посетить ссылку, которую я вам привёл.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 25.02.2021, 15:13   #12
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Что такие булева алгебра?

переступил через себя и отправил в панель вайнтек командное слово. Все стало на свои места.
Svetovid вне форума   Ответить с цитированием
Старый 25.02.2021, 16:00   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Что такие булева алгебра?

Цитата
Сообщение от Svetovid Посмотреть сообщение
переступил через себя и отправил в панель вайнтек командное слово. Все стало на свои места.
Странное обсуждение вы затеяли, обсуждая и подвергая сомнению работающий пример программы. Все эти годы всё без проблем работало почти 2 тысячи человек воспользовались этим примером и вот вдруг реальность разбилась о переполнение и обиды на то, что с вами кто-то в интернете не согласен.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 05.03.2021, 13:49   #14
Svetovid
Member
 
Регистрация: Jan 2021
Сообщения: 85
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Что такое булева алгебра?

Да не было никакой обиды, Арсений Вы о чем вообще? К чему эта санта барбара. Появилось сомнение и я задал вопрос, который разрешился. Спасибо Вам огромное за Ваше терпение!
Svetovid вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему техподдержка не может ответить на мой простейший вопрос? Arsie ЧаВо - Часто задаваемые Вопросы 6 23.11.2018 11:26
Что такое "старая" и "новая" адресация карты памяти? starmos Связь с внешним миром 2 06.10.2014 12:22
Что такое макрос? cool.kuhni2014 Вопросы о программировании 1 24.07.2013 15:04
Использование USB-хаба Varnak Вопросы о SMH-2G(i) 8 01.03.2013 12:20


Часовой пояс GMT +4, время: 16:25.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023