21.11.2018, 18:34 | #691 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
Это нормальное поведение.
Для того, чтобы поменять все остальные делайте так: 1. Произвести изменения в макросе 2. Сохранить макрос 3. Подключить сохранённый макрос 4. Выбрать его в списке макросов слева (ЛКМ) 5. Кликать ПКМ по всем макросам и выбирать "Заменить" __________________ В сегнетиксе не работаю с самого начала 2019 года. |
21.11.2018, 18:58 | #692 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
Макрос - это именно то, что слово "макрос" означает, а не подпрограмма. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.11.2018, 17:05 | #693 |
Новичок
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Спасибо, прокатило. Сам бы, честно говоря, ни в жизнь не догадался.
Хотя, учитывая, что "У меня типичная ошибка", не мне одному хотелось бы видеть именно подпрограмму |
22.11.2018, 17:08 | #694 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
У них есть свой недостаток, например - некоторая неочевидность изменений. Вы изменяете в одном месте, а получаете изменения везде. Придётся создавать отдельную сущность под каждый частный случай. Особенно актуально для макросов с экранными элементами.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
22.11.2018, 18:27 | #695 |
Новичок
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Для меня (взгляд со стороны человека, который не привыкал к особенностям именно сегнетикса, а действовал интуитивно) очевидным было как раз, поменяв данные в некоторой сущности "Макрос 1", увидеть эти изменения во всех квадратиках, на которых написано "Макрос 1", а не щелкать 50 раз ПКМ.
Видимо, логично иметь для одних случаев макросы в Вашем понимании - как независимые копии одного исходного кода, а для других - подпрограммы - как многократно вызываемый код. Можно воспринять это как хотелку. |
22.11.2018, 18:39 | #696 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили:
21 раз(а) в 21 сообщениях
|
Ответ: FBD чайникам
Цитата:
С одной стороны это удобно. Но с другой стороны - об этом нужно всегда помнить - есть вероятность поломать старые программы (такие преценденты у меня были с системой, которая действует так, как Вы описываете). |
|
22.11.2018, 19:04 | #697 |
Новичок
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
...есть вероятность поломать старые программы.. - это, видимо, если подключаются внешние подпрограммы. А если они живут только внутри одного проекта - как бы и нет такой опсаности..
|
23.11.2018, 11:33 | #698 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
С макросами это принципиально невозможно. Изменяет своё поведение только то, что вы редактируете. Конечно же, мы никаких шагов в направлении подпрограмм делать не будем. АСУшники, как программисты, как правило гораздо менее дисциплинированы в построении верно структурированных программ. Что уж о них говорить, если "нормальные" программисты постоянно "отстреливают себе ногу", не уследив за вхождениями в какую-нибудь подпрограмму. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
23.11.2018, 12:17 | #699 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: FBD чайникам
Цитата:
А так -- нужно искать все места использования, включая вложенные в других макросах. У каждого подхода -- свои достоинства и недостатки, я бы предпочел иметь оба варианта подхода. Я бы чаще использовал вариант с общим кодом, т.к. для меня это привычнее и проще в поддержке. |
|
23.11.2018, 12:20 | #700 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
Бывает и так, что ошибка, мешая работать в одной части программы, случайно помогает работать другим частям. Тогда исправление вообще обрушивает работу такой программы. Наши с вами предпочтения - не главное. Целевая группа для FBD не мы с вами. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
23.11.2018, 12:29 | #701 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: FBD чайникам
|
27.11.2018, 10:55 | #702 |
Senior Member
Регистрация: Aug 2018
Адрес: Екатеринбург
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
Подскажите по преобразованию bool->int. В справке используется пример с преобразованием в число 53. Если я правильно понял двоичный код читать следует с последнего входа bool к первому. Правильно? Проверял на онлайн преобразовании числа в двоичное представление.
А что делать если я хочу просто взять 4 входа типа bool и преобразовать их в число от 1 до 4. В таком виде это будет работать? |
27.11.2018, 11:13 | #703 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
И воспримите как добрый совет, изучите булеву алгебру - это как таблица умножения для любого автоматчика. Ну или хотя бы двоичную систему счисления. Это как алфавит. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
27.11.2018, 20:28 | #704 |
Member
Регистрация: Jan 2015
Адрес: Архангельск
Сообщения: 74
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Я с этого начинал:
http://1553.ru/lessons/uploaded/CODE...z_Pettsold.pdf |
28.11.2018, 14:53 | #705 |
Senior Member
Регистрация: Jun 2017
Сообщения: 161
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Добрый день. Кто-нибудь сталкивался с подключением шлюза ipc das tgw-715 к контроллерам сегнетикс. К 2Gi через этот шлюз подключаю счетчик Ирга, из шести регистров в лучшем случае 1, 2 остальное белеберда. Подключаю счетчик напрямую через RS 485 - все отлично. Подключаю счетчик через шлюз к OPC серверу Мастер Скада, все работает, только в настройках пришлось поставить отмену перестановки байт.
|
06.02.2019, 12:07 | #706 |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Есть задача, изменять настройки у Slave(SMH4) как из меню плк, так и удаленно (тоже smh4).
Все прекрасно меняется, но есть вопрос. При обрыве связи, с мастером, приходит нулевое значение, почему оно не записывается в слейв как изменение параметра ? Надо ли еще как то обработать этот обрыв, что бы не было перезаписи уставки на ноль ? Последний раз редактировалось Arsie, 25.03.2022 в 16:40 |
06.02.2019, 12:23 | #707 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
И вы пишите что оно одновременно и перезаписывается и не перезаписывается - как это понимать? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.02.2019, 11:07 | #708 | |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Цитата:
Связь с мастером и слейвом есть Смены уставок происходят корректно. Меняю в мастере > изменяется в слейве Меняю в слейве > меняется в мастере Ситуация 2 Связи с мастером нет Меняю в мастере > в слейве не меняется ( нет связи) Но у слейва, после обрыва связи в регистре висит старое значение В мастере уставка отправляется в слейв только после изменения. Вот и не понятно, почему 0 не пишется в слейв, который висит в регистре на входе в смарт . Или этот 0 (который на 1 картинке выше) не совсем ноль, null или еще что ? |
|
07.02.2019, 11:18 | #709 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
А вот этот абзац просто противоречит первому. Откуда ноль, если "у слейва, после обрыва связи в регистре висит старое значение" - это ваши же слова. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.02.2019, 11:27 | #710 | |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Цитата:
В регистре весит старое значение после обрыва После восстановления связи в том регистре 0 Далее В смарте слейва На вход уставки идет ноль, а на выходе 3. Почему этот ноль не переписал тройку ? |
|
07.02.2019, 11:43 | #711 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
Проект приложите, пожалуйста. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.02.2019, 12:59 | #712 | |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Цитата:
Вот как на картинке во вложении, почему переменная из регистра не перезаписала значение в смарте. Но мне и не надо что бы перезаписывалась она, но хочу понять механизм записи. Получается что смарт переписывает входящую переменную только при ее изменении ? Последний раз редактировалось Arsie, 25.03.2022 в 16:41 |
|
07.02.2019, 13:05 | #713 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
При перезапуске контроллера-слейва ноль не пишется, но это тоже правильно и логично. Поэтому я пока не могу поднять поднятой вами проблемы. Какой версией лоджика пользуетесь? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.02.2019, 16:24 | #714 | |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Цитата:
А можно объяснить почему логично ? в каких еще случаях может не записаться переменная на вход смарта ? Я спрашиваю к тому, что бы понять, стоит ли ^reg писать переменную или нет. |
|
07.02.2019, 16:29 | #715 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Потому что 0 при запуске это не 0, а отсутствие данных. Ничего сменилось на ноль. Ничего и не произошло.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.02.2019, 10:09 | #716 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Доброго времени суток!
Есть задача, при нажатии кнопки 1, вкл. дискретного выхода 1 И подача 10 вольт на аналоговый выход 1, затем при сработке датчика 1, вкл. дискретного выхода 1 (в смысле единица на нем остается) и подача 3 вольта на аналоговый выход 1. Другими словами две скорости на привод. Начинаем движение на максимуме, затем "мягкое приземление" на меньшей скорости. Пробовал через PRCD, через д-тригер, пока никак. |
12.02.2019, 11:11 | #717 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
12.02.2019, 11:57 | #718 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Начало
1) Нет включения дискретного входа, 0 вольт на аналоговый выход и дискретный выход в логическом 0. 2) Включение дискретного входа на аналоговый выход 10 вольт и дискретный выход в логическую 1. 3) Первый датчик переключает аналоговый выход с 10 вольт на 3 вольта (дискретный выход в логической 1), 4) Второй датчик 0 вольт на аналоговый выход и логический 0 на дискретный выход.(конец движения) |
12.02.2019, 12:10 | #719 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: FBD чайникам
Цитата:
Вот честно, составитель ТЗ из вас никакой Если задачу грамотно сформулировать, это уже на 90% будет её решение __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
12.02.2019, 12:23 | #720 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Дискретный вход кнопка без фиксации sr-тригером пускается (замыкает питание на привод). Кран опускается. Первый датчик заведен на другой вход, пока до него кран опускается движение на макс. скорости 10 вольт на аналоговый выход. Когда до него доходит, при срабатывании первого датчика скорость снижается путем подачи на тот же аналоговый выход 3 вольта. В конце стоит второй датчик который все отключает.
|