Этот топик включает в себя следующие страницы / This topic is comprised of pages 12 3
Автор / Author
Тема / Topic: Создание программы и привязка к RTM
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Вот , запустил профайлер, экран белый, остановил. Что-то с программой, какие-то ограничения.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Отправитель / Originally posted by Евгений Волынец: Как мне менять константу Ответ дал Пользователь (ссылка) Именно по этому Вам рекомендовалось создать аргументы и их привязывать в входах/выходам FBD-блоков --------- Я его не понял. Он объяснил как опытному специалисту, я ещё новичок, многое не знаю.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Вот с кнопкой пытаюсь разобраться, мне надо чтобы генератор через кнопку проходил, следовательно у кнопки должно быть 2 аргумента. Нажал, сигнал генератора на Тред подается, отжал, прекратился. Что-то не получается. Один аргумент на генератор, второй аргумент на тренд. Два состояния у кнопки должно быть, делаю два состояния. Что не так делаю?
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Вы мне ответьте, почему не получается в блоке задержки в программе привязать аргумент к выходу блока задержки.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: IDE это канал? надо создать канал в источниках?
IDE - integrated development environment - Интегрированная Среда Разработки.
В слое "Источники" создаются только источники (генераторы или источники связи с устройствами/протоколами)
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Перезапустил, стало считать, только выхода блоков не привязываются к аргументам. Входа в блоки привязываются, выхода нет.
К выходам блоков привязываются, как Вам сообщалось по телефону, аргументы с типом out или in/out (столбец Тип I/O в таблице аргументов). К входам привязываются, естественно, аргументы с типом in или in/out.
quote:Отправитель / Originally posted by Евгений Волынец: Вы зачем удаляете переписку. Толька что вам написал о проблеме с блоками, вы удалили сообщение.
Сообщения может удалить автор сообщения.
Так же, этот функционал доступен нам, но мы сообщения не удаляем. Удаляется (с пометкой места удаления) только текст, нарушающий правила Форума.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
К выходам блоков привязываются, как Вам сообщалось по телефону, аргументы с типом out или in/out (столбец Тип I/O в таблице аргументов). К входам привязываются, естественно, аргументы с типом in или in/out. ---------------- Точняк, надо было в аргументах оут выставить, сразу привязка заработала. Так это всё меняет дело. Спасибо! что настояли и объяснили. 2 дня пляски с бубном )))). Теперь с кнопкой выше пост писал, там тоже наверное какие-то секреты.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: help я читаю, по этому поводу тему закроем! Если на заданный на форуме вопрос есть в Справочной Системе, то ответ ожидаемо будет состоять из рекомендации ознакомиться с определенным разделом Справочной Системы.
quote: Многое не понятно
В этом случае, для достижения положительного и оперативного результата, пишите что делаете, на какой раздел Справочной системы опираетесь и что в нем вызывает для Вас трудности.
quote:"Другой момент, не могу аргумент привязать к выходу блока" - аргумент должен быть типа out - Оно вообще не привязывается к этому выходу в бесплатной версии. Мне любопытно, в платной будет привязываться? или такая тоже проблема будет.
quote:Отправитель / Originally posted by Евгений Волынец: Вот с кнопкой пытаюсь разобраться, мне надо чтобы генератор через кнопку проходил, следовательно у кнопки должно быть 2 аргумента. Нажал, сигнал генератора на Тред подается, отжал, прекратился. Что-то не получается. Один аргумент на генератор, второй аргумент на тренд. Два состояния у кнопки должно быть, делаю два состояния. Что не так делаю?
Не совсем ясна практическая часть решаемой задачи... У Вас есть сигнал 0/1. Вы его отображаете на экране на Тренде. Зачем его убирать?
В общем случае, ... ...самый простой вариант, на ГЭ Тренд задать видимую Легенду и управлять видимостью необходимых кривых в реальном времени. ... более сложный вариант, кнопкой управлять состоянием канала (атрибут 3, SC – Состояние, описание атрибута в Справочной системе) ... второй более сложный вариант, значение из канала и состояние кнопки передавать в программу, в которой будет происходить мат.обработка (например, умножение; программа производит операцию умножения сигнала и состояния кнопки и результат уже выводить на тренд).
Без понимания решаемой задачи мы не можем рекомендовать тот или иной вариант решения.
п.с. у кнопки один аргумент, в который подается значение. В ряде случаев можно задать аргумент1, как источник, и аргумент2, как приемник.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: С этим я уже разобрался. Я нажимаю во время отладки на плей, треугольник, задержка должна отсчитать сколько надо и на выходе QT показать число, числа нет. Я число вижу только когда я нажимаю пошагово, тогда счёт идёт задержки.
Верно. Рядом с кнопкой "Запустить/Продолжить отладку" есть кнопка "Отладка циклическая" (с символом бесконечности). Нажмите на нее и при следующем запуске шаблона программы на отладку шаблон будет работать до ручного останова.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Вот, сейчас опять, задержку проверял, выставил 5 на задержку, 1 на вход, запустил отладку, нечего не происходит, даже пошагово отладку делал, тоже счёта нет. Я подозреваю что это связанно с самой программой ТМ7 бесплатной, базовой версии. буду ждать Коммерческую, иначе я устал уже. то работает, то не работает. что-то не работает. так невозможно чему-то научиться.
quote:Отправитель / Originally posted by Евгений Волынец: Отправитель / Originally posted by Евгений Волынец: Как мне менять константу Ответ дал Пользователь (ссылка) ... Я его не понял. Он объяснил как опытному специалисту, я ещё новичок, многое не знаю.
Если аргумента нет, то, во время запущенной цикличной отладки, поменять константу нельзя. Константа постоянна и неизменна.
Если аргумента нет, то во время однократной отладки можно константу поменять между двумя запусками отладки. Дважды кликнуть по значению константы и поменять.
Если аргумент есть, то во время запущенной цикличной отладки поменяйте значение в окне "Отладчик".
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Попробовал как вы написали. не получается. Я видео снял 40 секунд, давайте я видео отправлю вам. Может опять что-то не так делаю?
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Вот , запустил профайлер, экран белый, остановил. Что-то с программой, какие-то ограничения.
quote:Отправитель / Originally posted by Евгений Волынец: Из среды разработки
Значит у Вас в узле RTM нет канала Call.Screen (канал вызова шаблона экрана) или у этого канала (и шаблона) нет аргументов (в этом случае должно быть сообщение об ошибке при "Сохранении для МРВ" проекта). Так же есть вариант, что "белый экран" это как раз Ваш экран. Проверьте шаблон экрана.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Да, проверил, вы правы. Я в Узел РТМ не перетянул Шаблон экрана. Работает.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
По кнопке, я понял, она выдаёт или 0 или 1. Чтобы передавать, чтобы функция кнопки исполняла сквозную передачу, вернее не сама кнопка, надо аргумент кнопки передать в программу, блок Триггер с приоритетом по установке (SR). Тогда на вход INS подавать через аргумент генерируемый сигнал меандр, о-1. Кнопку аргументом как раз привязать к значение входа INR, тогда выход блока Q привязать через аргумент к Тренду. Тогда я думаю будет работать как я хотел. Генератор выдаёт импульсы, кнопка включает или выключает подаваемые сигналы на тренд по средствам "Триггер с приоритетом по установке (SR)". Есть ещё варианты какие. Чтобы не создавать канал. У меня просто коммерческая версия исполнительного модуля на 128 каналов. Если на каждую функцию делать отдельный канал, у меня не хватит
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Идея для добавления кнопок в экранные функции. Кнопку с сквозным канало, чтобы не создавать отдельно канал, нажал, она пропустила сигнал, там уже выбрать в настройках какой сигнал, синус, меандр или 0 или 1. Удобно было бы.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: По кнопке, я понял, она выдаёт или 0 или 1. Чтобы передавать, чтобы функция кнопки исполняла сквозную передачу, вернее не сама кнопка, надо аргумент кнопки передать в программу, блок Триггер с приоритетом по установке (SR). Тогда на вход INS подавать через аргумент генерируемый сигнал меандр, о-1. Кнопку аргументом как раз привязать к значение входа INR, тогда выход блока Q привязать через аргумент к Тренду. Тогда я думаю будет работать как я хотел. Генератор выдаёт импульсы, кнопка включает или выключает подаваемые сигналы на тренд по средствам "Триггер с приоритетом по установке (SR)". Есть ещё варианты какие.
quote:Есть ещё варианты какие. Чтобы не создавать канал. У меня просто коммерческая версия исполнительного модуля на 128 каналов. Если на каждую функцию делать отдельный канал, у меня не хватит
Вы читаете ряд битовых сигналов. Так как у Вас ModBus, то вопрос - Вы читаете registers или coils? Если register, то в каждом регистре только 0/1 или больше?
Так же, уже классическое читайте Справочную Систему Программирование алгоритмов - Программирование алгоритмов в TRACE MODE - Выполнение программы в реальном времени Тут как раз то, что Вам необходимо
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
ModBus у меня 0-1, но они для исполнения, счёт должен вестись в программе. Я так думал в идеале. В ПЛК можно, к примеру, тот же таймер, задать на секунды, сотки, десятки, отдельные таймеры там, выбрал, выставил и готово. В ТМ 7 это сложнее, В самой программе надо нагородить, чтобы этого достичь. Есть вариант через каналы, но , это уже другой функционал, это добавление каналов. Сделайте программу дороже, добавьте как в ПЛК счётчики. 3 вида, чтобы можно было выбрать, без усложнения. В ТМ 7 надо нагородить, голову сломаешь, столько аргументов дополнительных, . Дороже сделайте, раза в 2, но упростите. Работал с Сименсом ПЛК, китайцами, Овен, почему под их базу программную не подстроиться?. Сложно, надо переформатироваться, под ТМ 7. Надо перстраиваться, упрощать.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Ладно, завтра разберёмся. буду дальше изучать. <отредактировано>
[ 12.01.2024, 16:25: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Надо по нажатию кнопки на экране подавать команду на включение командой ModBus подаваемой в серводрайвер. Как реализовать ?. Также, чтобы можно было программно включать серводрайвер через регистр ModBus.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Какие варианты есть сделать задержку 1 секунда, 0.100, 0.010, чтобы не создавать каналы, чтобы можно было с помощью кнопки менять задержку. В программе я не вижу возможности менять задержку.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Шаблон программ, программа, есть аргументы и есть переменные, понять пытаюсь, переменные как присвоить к блоку задержке вход PT. Не за аргументы, переменные.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Я правильно понимаю, у блоков в шаблоне программ нет функции настройки. редактирования? чтобы сам блок настроить
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
Шаблон экрана, текст, значение; мне чтобы с блока задержки получать значение, достаточно с выхода блока задержки через аргумент привязать? или надо с выхода блока задержки надо подвести к блоку " Пересылка значения (MOVE)" и с него уже через аргумент на Шаблон экрана, текст, значение. В ПЛК я так делал, чтобы ошибок не было, напрямую в ПЛК даёт ошибки. тут как? Тип значения в аргументах на добудет менять? или оставить реал?
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Читаю регистры.
сомнительно, что бы в одном регистре был всего один бит. Возможно, Вы все-таки читаете не отдельными битами, а целиком 16 бит. В этом случае, у Вас одним каналом будет читаться состояния 16 устройств. Проверить возможность этого варианта можно с помощью карты сигналов устройства.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Какие варианты есть сделать задержку 1 секунда, 0.100, 0.010, чтобы не создавать каналы, чтобы можно было с помощью кнопки менять задержку. В программе я не вижу возможности менять задержку.
Евгений Волынец
Forum Haunter / Завсегдатай форума
Участник № / Member № 9604
отправлено / posted
сегодня получил посылки с ПО и книгой практическое проектирование, посмотрел, почитаю.
Сообщения / Posts 140 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Надо по нажатию кнопки на экране подавать команду на включение командой ModBus подаваемой в серводрайвер. Как реализовать? ...
Предположим, Вы уже знаете необходимую команду. В ГЭ Кнопка задаете действие по нажатию (например, прямая передача необходимой команды). Команда с кнопки передается в аргумент канала вызова экрана Call.Screen. Далее, значение аргумент экрана передается дальше (например в канал записи (output) в устройство). Т.е., работать необходимо с шаблоном экрана, с каналом вызова этого шаблона экрана и с каналом связи с источником ModBus.
quote: ...Также, чтобы можно было программно включать серводрайвер через регистр ModBus.
Что Вы подразумеваете под "программно включать"? Что бы программа самостоятельно принимала решение об управлении, без человека?
quote:Отправитель / Originally posted by Евгений Волынец: Я правильно понимаю, у блоков в шаблоне программ нет функции настройки. редактирования? чтобы сам блок настроить
Непосредственно сам FBD-блок не редактируется. Вы можете настроить только значения входов/выходом и связи с другими блоками. Вы можете создать свой FBD-блок (Пользовательский), его содержимое Вы можете редактировать в Среде Разработки как Вам угодно.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Евгений Волынец: Шаблон программ, программа, есть аргументы и есть переменные, понять пытаюсь, переменные как присвоить к блоку задержке вход PT. Не за аргументы, переменные...
Данный вопрос обсуждался в телефонном разговоре. Дважды кликните по "черточке" входа и вводите значение или выбирайте аргумент.
quote: ... или надо с выхода блока задержки надо подвести к блоку " Пересылка значения (MOVE)" и с него уже через аргумент на Шаблон экрана, текст, значение...
Как работать с FBD-блоками, в том числе как их связывать друг с другом в рамках одного шаблона программы, описано в Справочной системе в разделе "Программирование алгоритмов - Редактирование FBD-программ".
quote: В ПЛК я так делал, чтобы ошибок не было, напрямую в ПЛК даёт ошибки. тут как? Тип значения в аргументах на добудет менять? или оставить реал?
Тип значений в аргументах естественно необходимо выставлять в соответствии с используемыми типами данных. Если работаете с дискретными значениями, то работаете с ними. Если с вещественными, то с ними. В противном случае Вы получите неправильный результат.