А сразу в конфигурации ПЛК создавать регистры FLOAT\REAL не? При явной адресации всегда есть вариант нарваться на конфликт. При адресации в конфиге КДС сам распределяет память, исключая конфликты.
Вид для печати
.............................del
Sulfur ,согласен с Вами, и изначально думал так делать, но начал создавать переменные в глобальной области - мне так удобней контролировать процесс. Но КДС видимо думает иначе)
Хотя странно, у контроллера зарезервирована большая область памяти под это, а тут оказывается, что не вся и еще не везде - надеюсь что кто-нибудь сможет разъяснить как так получается, а пока буду переделывать проект...
если что то "нарою" по этому, напишу.
По радио сказали что один идиот по встречке едет. А их тут сотни..
Ключевое слово - выравнивание. КДС - умеет. Вы - нет.
Одна единственная переменная через at%. Структурная. Редчайший случай пользы абсолютной адресации.
Всем привет!
Для отображения в панели нужно присвоить биту модуля ModBus Slave значение Дискретного выхода ПЛК.
Создал для этого отдельный от основного программный модуль и в нем, чтобы не дублировать переменные пытаюсь использовать прямую адресацию:
AT%QX2.0 := MbFDo01;
и получаю ошибку компиляции 4250: Требуется (ST)-выражение или окончание POU.
Приходится вместо этого создавать повторно в модуле переменную для каждого выхода и для каждого бита обратной связи, связывать её с адресом выхода и с адресом Modbus,
ну или задавать как глобальные переменные. Неоптимально как-то :(
Хотя в справке читаю:
Как вообще правильно и красиво делать подобную обратную связь для панели, посоветуйте пожалуйста?Цитата:
Оператор присваивания
Перед оператором присваивания находится операнд (переменная или адрес), которому присваивается значение выражения, стоящего после оператора присваивания.