PDA

Просмотр полной версии : как правильно читать/записывать в МДВВ



servo
09.01.2012, 15:40
В МДВВ чтение и запись производят по битовой маске, в результате чего мы получаем или формируем(при выводе данных) слово. С таким словом в программе работать совсем не удобно, было бы проще если мы имели бы дело с данными типа BOOL. Подскажите пожалуйста как правильно обращаться к входам/выходам по битовой маске в самой программе, если можно приведите примеры.

capzap
09.01.2012, 15:51
CoDeSys_V23_RU.pdf
Доступ к битам в переменных

lara197a
09.01.2012, 23:12
К примеру: Выходы
Mod_OUT; (*Слово в которое записаны значения выходов*)

Mod_OUT.0:=W1_9; (*1вых_Включение трясилки2*)
Mod_OUT.1:=W1_8; (*2вых_Включение трясилки1*)
Mod_OUT.2:=Auto_RU_lamp; (*3_Лампа переключателя режима на выносном пульте*)
(*4 Резерв*)
(*5 Резерв*)
Mod_OUT.5:=Lamp_Pusk; (*6_Лампа кнопки Пуск*)
Mod_OUT.6:=LAMP_Ostanov; (*7_ Лампа кнопки Сброс*)
Mod_OUT.7:=Vent_vut1; (*8_включение пускателя вентилятора*)

Аналогично входы:
Mod_In; (*Слово в которое записаны значения входов*)

PUSK:=Mod_In.0; (*Кнопка Пуск пульт*)
AUTO_Pult:=Mod_In.1; (*Режим АВТО пульт*)
Hand_Pult:=Mod_In.2; (*Режим РУ пульт*)
PULT_TOM:=Mod_In.4; (*ТОМ РУ пульт*)
PULT_Mialka:=Mod_In.3; (*Мялка РУ пульт*)
TS1_PULT:=Mod_In.5; (*трясилка РУ пульт*)
Sbros_kn:=Mod_In.6; (*Кнпка сброс пульт-шкаф*)
Tepl_rele:=Mod_In.7; (*Тепловое реле вентилятора*)
PUSK_Chkaf:=Mod_In.8; (*Кнопка Пуск шкаф*)
Zum_Pu_Chk:=Mod_In.9; (*Сирена Пульт-Шкаф*)
; (*Тепловое реле трясилки2*)
Tepl_rele3:=Mod_In.11; (*Тепловое реле трясилки1*)

vlad72
10.08.2012, 12:50
CoDeSys_V23_RU.pdf
Доступ к битам в переменных

Доброго дня всем!
...а можно раздел, где это..глаз замылился,а поиск в акробате
на этот запрос ничего не дает,только на "переменные" - огромный список:rolleyes:

...вообщем у меня таже проблема...наверное.
Допустим в проекте есть переменная - NN (bool) на изменение
которой реагирует 1 вход, который связан с 1 выходом МДВВ.
Выход то включается, но вход не горит (диод)...-почему?
NN задумывалась, чтобы управлять входом из визуала, через
OR с кнопкой которая на модуле.Т.е. выход = 1, когда замкн.
кнопка или когда вкл. NN из визуала....
...диод горит только когда замкн. кнопка, т.е реагирует тупо
на контакты? (выход не реагирует),,,
...теоретически понимаю, что нужно "распаковать" слово
( не применяя УНПАК)..,допустим применив калькулятор и
"вытащить" значение для 1входа и перевести его в BOOL
для управления?...или...

ASo
10.08.2012, 13:56
Теперь тоже самое, но по пунктам.

1. Вход - распаковать .N, где N номер бита.
2. Выход - по МОДБАС надо записывать 1000. Напомню, что выход поддерживает ШИМ.