Добрый день.
Я новичек. помогите решить задачу, пожалуйста. Есть два тумблера/битовый переключатель. Задача такова:
Когда первый тумблер включен, второй не может включиться (включается но переключается назад). Когда второй включен, нельзя включить первый.
В макросах я не силен но попробовал написать. Работает не так как надо. Второй тумблер нельзя включить даже при выключенном первом. Помогите пожалуйста решить задачу правильно. Заранее спасибо.
macro_command main()
bool w, r
GetData(w, "MODBUS RTU (Adjustable)", 4x_Bit, 530.00, 1)
GetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 541.00, 1)
if w == true then
r = false
end if
SetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 514.00, 1)
end macro_command
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Макрос Weintek
Модераторы: Глоб.модераторы, специалисты Weintek
-
- здесь недавно
- Сообщения: 14
- Зарегистрирован: 30 май 2019, 15:12
- Имя: Сергей
- Благодарил (а): 3 раза
Макрос Weintek
Тема закрыта. Разобрался. Макрос - может кому пригодится (новичкам)
macro_command main()
bool w, r
GetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 514.00, 1)
if w == true then
r = false
SetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 514.00, 1)
end if
GetData(w, "MODBUS RTU (Adjustable)", 4x_Bit, 530.00, 1)
if r == true then
w = false
SetData(w, "MODBUS RTU (Adjustable)", 4x_Bit, 530.00, 1)
end if
end macro_command
macro_command main()
bool w, r
GetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 514.00, 1)
if w == true then
r = false
SetData(r, "MODBUS RTU (Adjustable)", 4x_Bit, 514.00, 1)
end if
GetData(w, "MODBUS RTU (Adjustable)", 4x_Bit, 530.00, 1)
if r == true then
w = false
SetData(w, "MODBUS RTU (Adjustable)", 4x_Bit, 530.00, 1)
end if
end macro_command
-
- здесь недавно
- Сообщения: 28
- Зарегистрирован: 15 фев 2018, 07:17
- Имя: Александр
- Страна: Россия
- город/регион: Новокузнецк
- Поблагодарили: 9 раз
Макрос Weintek
День добрый.
Странности какие-то в макросах. В первом примере Get и Set для переменной r делаете с разных адресов.
Во втором примере. If для переменно w, а Get для переменной r и так же в другой проверке. И это правильно работает?
Странности какие-то в макросах. В первом примере Get и Set для переменной r делаете с разных адресов.
Во втором примере. If для переменно w, а Get для переменной r и так же в другой проверке. И это правильно работает?