Просмотр полной версии : Записать в BOOL состояние дискретного выхода
IIkIIkIIk
18.03.2024, 21:19
Здравствуйте!
Необходимо в HMI передавать для индикации состояния выходов контроллера.
m_yK1 := yK1;
m_yK2 := yK2;
m_yK3 := yK3;
m_yK4 := yK4;
m_yK5 := yK5;
m_yK6 := yK6;
m_yK7 := yK7;
m_yK8 := yK8;
m_yK9 := yK9;
m_yK10 := yK10;
Как я понял, такой код работать не будет. (m_yK1 - BOOL, yK1 - выход контроллера).
Подскажите, пожалуйста, как быть.
IIkIIkIIk
18.03.2024, 21:20
Пытался запаковать в WORD побитно - не получилось. (word_value.0 := yK1; и так далее)
МихаилГл
18.03.2024, 21:31
Если уК1 и т.д. bool, то должно работать. Возможно выхода напрямую нельзя использовать, тогда примените промежуточную переменную. Вы же где то уК1 присвоили какое-то значение. Так сделайте это значение в промежуточной переменной и работайте с ней.
IIkIIkIIk
18.03.2024, 21:35
Если уК1 и т.д. bool, то должно работать. Возможно выхода напрямую нельзя использовать, тогда примените промежуточную переменную. Вы же где то уК1 присвоили какое-то значение. Так сделайте это значение в промежуточной переменной и работайте с ней.
yK1 - это выход контроллера. Присваивать выходу значение булевой переменной можно. А вот наоборот (присвоить булевой переменной значение выхода), как я понял, нельзя. А мне именно это и нужно сделать.
IIkIIkIIk
18.03.2024, 21:37
Если уК1 и т.д. bool, то должно работать. Возможно выхода напрямую нельзя использовать, тогда примените промежуточную переменную. Вы же где то уК1 присвоили какое-то значение. Так сделайте это значение в промежуточной переменной и работайте с ней.
Я понял, о чем Вы говорите, но программа построена иначе. Может есть другое решение...
МихаилГл
18.03.2024, 21:37
Используйте промежуточную, ту что вы присваиваите выходу. Я же написал выше.
МихаилГл
18.03.2024, 21:39
У вас в коде есть уК1:= perembool. Например.
Ну и делайте: trebuemyiword.1:= perembool.
Или покажите программу
IIkIIkIIk
18.03.2024, 21:44
У вас в коде есть уК1:= perembool. Например.
Ну и делайте: trebuemyiword.1:= perembool.
Или покажите программу
Спасибо большое, я разобрался. Ошибка у меня была.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot