В интернете есть ролик по созданию шаблонов всплывающих экранов с использованием скриптов:
https://www.youtube.com/watch?v=L37ZoROZHRA&t=2116s.
Механизм использования шаблонов предполагает использование пользовательских типов данных и выделения префикса имени переменной.
На кнопке вызова шаблона во вкладке Events - Click написан следующий скрипт:
Code: Select all
#include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{
// Declares constants.
const char* tagPrefix = "PID_Control_1";
const char* screenWindowTitle = "240HE1";
const char* screenWindowName = "240HE1";
const char* screenControl = "PID_Control";
const char* objectHeader = "lblCaption";
// Calls function FacePlateControl.
FacePlate(screenName, screenWindowName, screenWindowTitle, screenControl, tagPrefix, objectHeader);//Insert the code starting here
}
Скрипт FacePlate представляет из себя :
//Insert the header starting here
#include "GlobalDefinitions.h"
void FacePlate(char* parentScreenName, char* screenWindowName, char* screenWindowTitle, char* screenControlName, char* tagPrefix, char* objectHeader)
{
//Insert the code starting here
SetPropChar(parentScreenName, screenWindowName, "TagPrefix", tagPrefix);
SetPropChar(parentScreenName, screenWindowName, "CaptionText", screenWindowTitle);
SetPropChar(parentScreenName, screenWindowName, "ScreenName", screenControlName);
SetPropBOOL(parentScreenName, screenWindowName, "Visible", TRUE);
SetPropChar(parentScreenName, screenWindowName, objectHeader, screenWindowTitle);
}
Выполнить привязку к I/O Field, Text field не представляет труда, но с окном трендов все несколько сложнее.
В окне должны выводится данные из лога данных (Historical data - data logs - logging tags). Но в перечне команд относящихся к
f(t) trend view нет команды, отвечающей за поле выбора лога данных.
В связи с этим вопрос: как можно осуществить динамическую привязку переменных из лога данных к окну трендов, расположенном в шаблоне экрана.