Страница 1 из 1
Выходы контроллера
Добавлено: 24 янв 2017, 14:35
cropas
Добрый день, создаю в среде FBD переменную выход контроллера pin N. В двух платах идет обращение к данной переменной, алгоритм не отрабатывает ощущение что контроллер считывает значения переменной в обоих платах одновременно, если в одной из плат переменную удалить то алгоритм отрабатывает корректно. Как решить данную проблему?
Выходы контроллера
Добавлено: 24 янв 2017, 14:43
Сергей
cropas писал(а):алгоритм не отрабатывает ощущение
чет, не понял, какое ощущение не отрабатывает алгоритм?
Выходы контроллера
Добавлено: 24 янв 2017, 14:44
Сергей
и покажите проект
Выходы контроллера
Добавлено: 24 янв 2017, 14:56
OlegAn1962
Добавлено (24.01.2017, 14:52)
---------------------------------------------
Сергей писал(а):какое ощущение не отрабатывает алгоритм?
Добавлено (24.01.2017, 14:56)
---------------------------------------------
cropas писал(а):создаю в среде FBD переменную выход контроллера pin N
Так все-таки создаете переменную или выход?
Выходы контроллера
Добавлено: 24 янв 2017, 15:18
cropas
На фото видно выход "KANAL", используется 2 раза в коде. К выходу подключен блок реле. Если схема как на фото то светодиод блока реле светит в пол накала реле не включается, мультиметр показывает 4,62 вольта в место 0 (реле инверсное). Когда удаляю один из выходов канал, то есть на схеме он остается один все работает как нужно.
Выходы контроллера
Добавлено: 24 янв 2017, 15:59
OlegAn1962
Попробуйте вместо двух выходов использовать переменную, а в конце проекта присвоить выходу значение этой переменной.
Выходы контроллера
Добавлено: 24 янв 2017, 16:47
kiyota
Сделайте все выходы так как на рисунке, тогда будет корректно работать .
Выходы контроллера
Добавлено: 24 янв 2017, 18:43
cropas
Спасибо всем кто откликнулся, kiyota, так не работает, OlegAn1962, так не работает. Вышел из ситуации использовав выход "KANAL" один раз в коде соединив его через блок сравнения OR и создав переменные типа bool в необходимом количестве т.е. K1 K2 K3 и тд. Иного решения пока не знаю, кто может пояснить данную особенность флпрога?
Выходы контроллера
Добавлено: 24 янв 2017, 19:07
Vitez
Так работать не будет.
В проекте используйте 1 выход через элемент "или"
Я даже все переменные в своих проектах записываю через "или" (Меня так учили)
Добавлено (24.01.2017, 19:07)
---------------------------------------------
На практике, что происходит:
Допустим плата 1 пишет на выходе N ноль.
Плата 2 пишет на выходе N единицу.
Далее, цикл повторяем. Получаем какой либо шим.
Ошибка заключается в том, что в вашем понимании, если не подали единицу, на выход, то там пусто. А с точки зрения процессора, там точный, осязаемый ноль.
Выходы контроллера
Добавлено: 24 янв 2017, 19:10
kiyota
cropas , понимаете ,это особенность не только флпрога . Просто нельзя соединять два выхода на один вход.
У вас получилось , что два выхода генераторов соединяются в одной точке(KANAL). Пусть вы её два раза вывели
на поле ,но это одна и та же точка ввода относительно генераторов понимаете . А вы можете подробно описать
проект , имейте в виду , что подобная ситуация может возникнуть и с выходом "VOZDUH"(конфликт выходов).
Выходы контроллера
Добавлено: 24 янв 2017, 19:10
Vitez
Это не особенность flprog, это корректность написания алгоритма на языке FBD
Выходы контроллера
Добавлено: 24 янв 2017, 19:22
kiyota
Vitez-,совершенно верно! Именно так и хотел сказать