Вопросы по ROBO Pro (контроллер TXT).

Обсуждаем модели и конструкции, построенные своими руками
Ответить
vokilook
Сообщения: 6
Зарегистрирован: 21 фев 2016, 23:03

Вопросы по ROBO Pro (контроллер TXT).

Сообщение vokilook »

Добрый день.

Хотел бы позадовать некоторые вопросы:

1. При попытке создать более 4х параллельных потоков, появляется ошибка "Количество процессов слишком мало. Повысьте максимальное количество процессов в окне основной программы!". Что с этим делать?

2. В программе есть возможность разветвления сигнала на несколько операторов. Как при этом программа обрабатывает конфликты? Простой пример, если мы сигнал с 2х констант направим на 1й вход оператора сложения, с какой из этих констант будет складываться сигнал, подаваемый на 2й второй вход оператора? От чего это зависит?

3. Как работать с пошаговой отладкой если в программе несколько подпрограмм и несколько независимых потоков? Приходится после каждого нажатия искать где остановилась программа. И вообще, есть где-нибудь описание как производить отладку программ в ROBO Pro?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Вопросы по ROBO Pro (контроллер TXT).

Сообщение Mr.Kubikus »

Привет!

Сразу видно - автор поста работает с РОБО Про (РП) на серьезном уровне. До параллельных процессов редко кто добирается. Попробую поделиться своим опытом. Отвечаю на вопросы по исходному порядку:

1. Максимальное количество параллельных процессов в пользовательских проектах задается в окне настроек проекта в поле со странным названием "Минимальное число процессов". Увеличьте значение и тогда все заработает:
2016-09-17 13_56_18-.png
2016-09-17 13_56_18-.png (17.76 КБ) 13779 просмотров
2. Тут, определенно, использование функции РП недокументированным способом. Какой смысл в объединении нескольких потоков данных, которые идут от констант? В вашем случае на вход сумматора будет передано значение из объекта "константа", который был создан самым последним. Например, на картинке ниже константа со значением 3 была вставлена в блок-схему самой последней. Поэтому в результате в переменную b было записано значение 13, которое поступило с выхода сумматора.
2016-09-17 14_06_23-.png
2016-09-17 14_06_23-.png (6.92 КБ) 13779 просмотров
3. Каких либо специальных инструментальных средств для отладки многопоточных программ нет. В вашем случае я могу посоветовать отлаживать подпрограммы и потоки по отдельности и затем подключать их в проект.
С уважением, Григорий
GitHub FB ВК
vokilook
Сообщения: 6
Зарегистрирован: 21 фев 2016, 23:03

Re: Вопросы по ROBO Pro (контроллер TXT).

Сообщение vokilook »

По п.2 смысла подавать разные константы на вход конечно никакого нет. Я этот пример использовал для простоты описания. На самом деле меня интересовало будет ли работать схема, когда мы из одного процесса передаем данные в другой параллельный процесс последовательно то из одной части программы то из другой.
В данном случае тоже будут передаваться данные от последнего вставленного блока? Или все же это будет зависеть от того, какой блок программы был выполнен последним?
Вложения
primer1.png
primer1.png (10.68 КБ) 13762 просмотра
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Вопросы по ROBO Pro (контроллер TXT).

Сообщение Mr.Kubikus »

В вашей схеме данные будут передаваться на вход сумматора в момент исполнения блока "=". Следовательно после запуска левого потока управления сначала на вход сумматора поступит 0, а затем через 1 с будет передано значение 1. Потом все повторится через 1 секунду.
С уважением, Григорий
GitHub FB ВК
Ответить