и еще хотел бы узнать in_.28 эти названия можно поменять на in_m.28, in_n.28, чтобы можно было настроить вход in_m.28 на выход out_n.28
и еще хотел бы узнать in_.28 эти названия можно поменять на in_m.28, in_n.28, чтобы можно было настроить вход in_m.28 на выход out_n.28
Короче, блок m работает не правильно. Нельзя менять порядок бит в этом блоке. In.6 должен писаться в Out.6. Иначе запись будет кривая. Не забывайте, что сюда ещё кнопки с 13 по 18 заходят. Это первое.
Второе, действительно надо чуть подправить блок Sohranenie, поменять запись по выходам, а не по входам как сейчас. Тогда кнопки будут правильно записываться.
Последний раз редактировалось kondor3000; 08.12.2022 в 13:48.
Нет способа, m.0 =1, m.6= 64, как работать будет ?
Введёте 64 (6 бит) выйдет 4096 ( запишется в 12 бит)
Я об этом вам уже 4 день толкую.
И по поводу разделить все, а то некоторые входы in_m могут выходить на out_n,
с этого надо начинать было, тут всю программу переписывать заново надо.
Последний раз редактировалось kondor3000; 08.12.2022 в 15:38.
Ну так in18 идет в out_m.5, а in_m.0 уже в out_m.6, просто разные входы и выходы, или лучше вообще добавить в конфигуратор 8бит и каждый отдельно назвать 8.JPG
так почему, можно же для входа in15 указать выход out10, тогда почему нельзя для входа in_m.0 указать выход out_m.7
входы и выходы же работают, все нормально, или как раз из-за этого не работает запоминание, просто в любом случае порядок будет не точным, так как есть кнопки, которые сразу несколько будут вкл, с задержками и тп, много свойств, и в таком случае порядок все равно изменится рано или поздно, просто я когда добавлял контроллеры, не думал, что этот порядок так сильно влиять будет, что просто 6 входов лишних из плк добавил в 1 контроллер и там же последний 6 убрал.
просто разные значения на входах и выходах, но работает-то в правильном порядке. Нужно только чтобы сохранялись все, они сохраняются только, если их все разом добавить, а если по-одному, то только последний, с in_n и последующими только беда.
Последний раз редактировалось Duvall; 08.12.2022 в 15:40.
Просто они идут до 26 26.JPG
а остальные 6 будут кнопками для контроля, датчики и так далее, если бы я знал, что так будет добавил бы их в In13-in18, а получилось что они будут с in_m.26 по in_m.31. Остальные все по порядку идут.
Потому что разные способы записи, с кнопок запоминается в блоке in, а в блоке масок, биты присваиваются на выход. Сохранение идёт по входу кнопок.
С масок, биты приходят числами, записываются числами. При попытке изменить биты, запись нарушается, числа не совпадают. Сохранение с выхода блока.
Единственный вариант, записывать в промежуточные маски, маски раскладывать на биты. И уже биты менять местами, а потом собирать в маски на выход. Но делать надо очень аккуратно, типа n 28 пишем в m 28 и наоборот.
Последний раз редактировалось kondor3000; 08.12.2022 в 18:41.
Короче так и сделал, добавил промежуточные маски Out_m1 и Out_n1 (глобальные переменные), в них записываются маски m и n.
Далее идут блоки Out_m_m, в них маски раскладываются на биты и там поменял Out_m1.28 на Out_n.28 и в блоке Out_n_n поменял Out_n1.28 на Out_m.28. 1 Последний вариант программы..jpg
Исправил запись битов, теперь биты можно включать например 6 бит (64), выключить. Потом 7 бит (128), выключить.
Сделать сброс Res.
И кнопкой in_n.31 управлять.
Вот исправленный проект
Последний раз редактировалось kondor3000; 09.12.2022 в 09:31.