Вход

Просмотр полной версии : OPC CodeSys+ПЛК110 глобальные перменные



iRET
22.07.2010, 08:38
Помогите разобраться.

ПЛК подключен через OPC CodeSys к Delphi.
В глобальных переменных припсаны входы/выходы/кнопка

VAR_GLOBAL
Start_Stop AT%IX7.0:BOOL;
DI1 AT%IX0.0:BOOL;
DI2 AT%IX0.1:BOOL;

Они из дельфи отлично включаются, выключаются, опрашиваются.
Но вот понадобилось завести глобальную переменную. Что бы её можно было изменять из Delphi.

(* флаги запрета ручного управления*)
TR1 :BOOL;

END_VAR

У вылезла проблема- переменная из Делфи не меняется.
Присваиваю ей значение True

OPCO.FindOPCItem('E:.TR1').WriteASync(True);
Вроде все прописалось - из делфи если прочитать перменную - в ней будет True, но в ПЛК значение остается False.
Переменная с таким именем одна, в список экспортируемых переменных включена, галочка Write Acces включена.

Что может быть не так ? Неужели нужно заводить сетевую переменную?
по идее нет, для этого же галочка Write Acces и служить

Gans
22.07.2010, 08:48
В предыдущие разы для ввода "True" я вводил "1" или "0" если надо ввести "False".

michaeladm
23.07.2010, 11:42
Я тоже почти уверен, что Write(1) должно работать, если не поможет посмотрите выложенный мною пример (http://www.owen.ru/forum/showpost.php?p=41417&postcount=8)

iRET
23.07.2010, 15:22
Информация для размышления.
заработало
Write(65535) как труе
Write(0) как фальсе

p.s. но дело было не только в этом :-) в Delphi забыл добавить ithem в OPC от переменной.