Ваши комментарии
в редакторе мнемосхем при создании мнемосхемы нельзя выйти за рамки своего монитора. Например если сидишь за VGA а у оператора FullHD.
9 лет назад
Ser_y70,
Чтобы уставка отображалась не как ноль мы используем два апплета
задатчик + текст одного и того же канала.
[spoiler]
[/spoiler]
simplight_2015-07-02-2.png
Чтобы уставка отображалась не как ноль мы используем два апплета
задатчик + текст одного и того же канала.
[spoiler]
[/spoiler]
simplight_2015-07-02-2.png
а как запаковать в dword (LongWord)
либо биты паковать напрямую, либо сложить два ворда.
Вот код. Если можно проще, то выложите пожалуйста.
[spoiler]
bin01,bin02 и тд виртульные каналы (переключатели)
На выходе всё упаковано в Dword и отправленно на PLC
RE:
Проверил в работе. Работает :)
либо биты паковать напрямую, либо сложить два ворда.
Вот код. Если можно проще, то выложите пожалуйста.
[spoiler]
bin01,bin02 и тд виртульные каналы (переключатели)
На выходе всё упаковано в Dword и отправленно на PLC
var
varr :word; //промежуточное значение
bit0r,bit1r,bit2r,bit3r,bit4r,bit5r,bit6r,bit7r,bit8r,
bit9r,bit10r,bit11r,bit12r,bit13r,bit14r,bit15r,bit16r,
bit17r,bit18r,bit19r,bit20r,bit21r,bit22r,bit23r,bit24r,
bit25r,bit26r,bit27r,bit28r,bit29r,val2 :boolean;
begin
bit0r:= ReadValue('bin01');
bit1r:= ReadValue('bin02');
bit2r:= ReadValue('bin03');
bit3r:= ReadValue('bin04');
bit4r:= ReadValue('bin04a');
bit5r:= ReadValue('bin05');
bit6r:= ReadValue('bin06');
bit7r:= ReadValue('bin06e');
bit8r:= ReadValue('bin07');
bit9r:= ReadValue('bin08');
bit10r:= ReadValue('bin08d');
bit11r:= ReadValue('bin08n');
bit12r:= ReadValue('bin09');
bit13r:= ReadValue('bin10');
bit14r:= ReadValue('bin11');
bit15r:= ReadValue('bin12');
bit16r:= ReadValue('bin12a');
bit17r:= ReadValue('bin13');
bit18r:= ReadValue('bin14');
bit19r:= ReadValue('bin15');
bit20r:= ReadValue('bin16');
bit21r:= ReadValue('bin17');
bit22r:= ReadValue('bin18');
bit23r:= ReadValue('bin19');
bit24r:= ReadValue('bin20');
bit25r:= ReadValue('bin21');
bit26r:= ReadValue('bin22');
bit27r:= ReadValue('bin23');
bit28r:= ReadValue('bin24');
if bit0r=True then SetOnBit(varr,0) else SetOffBit(varr,0);
if bit1r=True then SetOnBit(varr,1) else SetOffBit(varr,1);
if bit2r=True then SetOnBit(varr,2) else SetOffBit(varr,2);
if bit3r=True then SetOnBit(varr,3) else SetOffBit(varr,3);
if bit4r=True then SetOnBit(varr,4) else SetOffBit(varr,4);
if bit5r=True then SetOnBit(varr,5) else SetOffBit(varr,5);
if bit6r=True then SetOnBit(varr,6) else SetOffBit(varr,6);
if bit7r=True then SetOnBit(varr,7) else SetOffBit(varr,7);
if bit8r=True then SetOnBit(varr,8) else SetOffBit(varr,8);
if bit9r=True then SetOnBit(varr,9) else SetOffBit(varr,9);
if bit10r=True then SetOnBit(varr,10) else SetOffBit(varr,10);
if bit11r=True then SetOnBit(varr,11) else SetOffBit(varr,11);
if bit12r=True then SetOnBit(varr,12) else SetOffBit(varr,12);
if bit13r=True then SetOnBit(varr,13) else SetOffBit(varr,13);
if bit14r=True then SetOnBit(varr,14) else SetOffBit(varr,14);
if bit15r=True then SetOnBit(varr,15) else SetOffBit(varr,15);
if bit16r=True then SetOnBit(varr,16) else SetOffBit(varr,16);
if bit17r=True then SetOnBit(varr,17) else SetOffBit(varr,17);
if bit18r=True then SetOnBit(varr,18) else SetOffBit(varr,18);
if bit19r=True then SetOnBit(varr,19) else SetOffBit(varr,19);
if bit20r=True then SetOnBit(varr,20) else SetOffBit(varr,20);
if bit21r=True then SetOnBit(varr,21) else SetOffBit(varr,21);
if bit22r=True then SetOnBit(varr,22) else SetOffBit(varr,22);
if bit23r=True then SetOnBit(varr,23) else SetOffBit(varr,23);
if bit24r=True then SetOnBit(varr,24) else SetOffBit(varr,24);
if bit25r=True then SetOnBit(varr,25) else SetOffBit(varr,25);
if bit26r=True then SetOnBit(varr,26) else SetOffBit(varr,26);
if bit27r=True then SetOnBit(varr,27) else SetOffBit(varr,27);
if bit28r=True then SetOnBit(varr,28) else SetOffBit(varr,28);
WriteValue('odwTestMU',varr); //Записать готовы результат в DWORD
end.
[/spoiler]RE:
Проверил в работе. Работает :)
…очень уже охота видеть хотя бы бетта версию.
Добрый день. Хотелось бы узнать примерную дату выхода новой версии. Полагаю в новой будет очень много доработок, поэтому охота начинать проект сразу в новой версии.
апплет "текст" имеет опцию прозрачный фон.
При ее активации, фон минимальных, максимальных уставок присутствует.
При ее активации, фон минимальных, максимальных уставок присутствует.
да, работает так как и задумано.
pre. Спасибо вам за очень быструю поддержку. Молодцы стараетесь держать марку.
По сути ваше решение одно и тоже с моим. Но! Ваш работает!
Делаю как у вас. Мучаясь с "перебиванием каналов". Работает. Мистика.
Делаю откат на старое. Не работает. И тут я "увидел" баг, мать его.
При малейшем изменении канала в конфигураторе каналов или даже просто иногда спонтанно происходит следующие.
В редакторе мнемосхем при привязке на прямоугольник на переменную типа bool? можно выбирать в состоянии не вкл откл, а уставки мин максимум и норма. От сюда и глюки мои.
После сотого переназначения (чтобы видно было свойства bool), заработало.
Вот так, пол дня на отлов бага и обход его :)
По сути ваше решение одно и тоже с моим. Но! Ваш работает!
Делаю как у вас. Мучаясь с "перебиванием каналов". Работает. Мистика.
Делаю откат на старое. Не работает. И тут я "увидел" баг, мать его.
При малейшем изменении канала в конфигураторе каналов или даже просто иногда спонтанно происходит следующие.
В редакторе мнемосхем при привязке на прямоугольник на переменную типа bool? можно выбирать в состоянии не вкл откл, а уставки мин максимум и норма. От сюда и глюки мои.
После сотого переназначения (чтобы видно было свойства bool), заработало.
Вот так, пол дня на отлов бага и обход его :)
не работает, т.е. без изменений.
Можно сделать разбивку в opc, но нагрузка большая будет.
Можно сделать разбивку в opc, но нагрузка большая будет.
уже пробовал. не работает.
было бы неплохо без скрипта в канале выбирать нужный бит.
было бы неплохо без скрипта в канале выбирать нужный бит.
Сервис поддержки клиентов работает на платформе UserEcho