PDA

Просмотр полной версии : запись уставки по умолчанию в PFW при загрузке проекта в СПЗО7



CFC-ST
23.01.2022, 20:27
просьба привести пример написания макроса для СПЗО7
чтобы при выполнении макроса
в регистр PFW 500 ( и соответственно PFW501)записать число с плавающей запятой, например 124,3
( те необходимо при загрузке проекта записывалась бы уставка, как значение по умолчанию)
из руководства понял, что надо макрос такой писать, но как?

используя команду Writes?

Writes(PortName, SlaveID, DeviceRegType, Adr, Length, ArrVar);
возможно надо
PortName – имя порта, к которому подключено устройство: HMI_LOCAL_MCH – внутренние регистры панели.
SlaveID – адрес slave-устройства; Что тут писать, не понятно.
DeviceRegType – тип считываемых регистров подключенного устройства: TYPE_PFW – PFW регистры панели (при работе с внутренней памятью).
Adr – 500
Length – 2;
ArrVar – имя массива, значения которого записываются в регистры slave-устройства.

petera
23.01.2022, 21:31
просьба привести пример написания макроса для СПЗО7
чтобы при выполнении макроса
в регистр PFW 500 ( и соответственно PFW501)записать число с плавающей запятой, например 124,3
( те необходимо при загрузке проекта записывалась бы уставка, как значение по умолчанию)
из руководства понял, что надо макрос такой писать, но как?

используя команду Writes?

Writes(PortName, SlaveID, DeviceRegType, Adr, Length, ArrVar);
возможно надо
PortName – имя порта, к которому подключено устройство: HMI_LOCAL_MCH – внутренние регистры панели.
SlaveID – адрес slave-устройства; Что тут писать, не понятно.
DeviceRegType – тип считываемых регистров подключенного устройства: TYPE_PFW – PFW регистры панели (при работе с внутренней памятью).
Adr – 500
Length – 2;
ArrVar – имя массива, значения которого записываются в регистры slave-устройства.

Без макросов есть 2 способа
1.
ф.область , режим -после загрузки проекта, функция - присвоить значение PFW500 = 123.4

2.
Меню файл--Создание рецептов --Начало область 500, конец 501. Данные PFW500 = 52429 PFW501 = 17142

kondor3000
24.01.2022, 08:49
просьба привести пример написания макроса для СПЗО7
чтобы при выполнении макроса
в регистр PFW 500 ( и соответственно PFW501)записать число с плавающей запятой, например 124,3
( те необходимо при загрузке проекта записывалась бы уставка, как значение по умолчанию)
из руководства понял, что надо макрос такой писать, но как?

Для уставок применяю другой способ. Создаю на экране уставок (настроек) дисплеи PFW 500, 502....510, ( в них при первом включении забиваю уставки). Далее функц. областью копировать группу регистров при включении панели, в дисплеи PSW 500, 502...510, на рабочий экран и с ними работаю, читаю их из ПЛК, если надо их можно менять в оперативке PSW. Если не надо, уставки PFW не меняются.
Если надо сохранять в ПЗУ изменённые уставки. Например при нажатии стоп, другой функц. областью, копировать группу регистров из PSW500....PSW510 в PFW 500...PFW 510

CFC-ST
28.01.2022, 12:50
спасибо за решения.
Я попробовал поэкспериментировать с макросами
float fmaxrez2=1230.2;
WORD Timeout=0;
Writes(HMI_LOCAL_MCH, 2, TYPE_PFW, 518, 1, &Timeout);
Writes(HMI_LOCAL_MCH, 2, TYPE_PFW, 500, 2, &fmaxrez2);
но почему 2 (в строке Writes) - SlaveID не знаю. Возможно можно любое число



вот так (вроде) работает