Здравствуйте.
Для данной задачи проще всего будет применить штатный функционал управления границами переменных (https://simple-scada.com/help/manual/managing-bounds-var.html) без использования дополнительных переменных в столбце "t задание". Для этого нужно, чтобы у переменных "t подача" были включены "Границы (https://simple-scada.com/help/manual/varextra.html)"(если требуется только две границы, то выберите "Только аварийные"), а в столбце "t подача" у ячеек таблицы также должно быть включено свойство "Границы (https://simple-scada.com/help/manual/table.html#:~:text=%D0%B2%20%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B5%20%22%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%22.-,%D0%93%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B,-%D0%9C%D0%B5%D0%BD%D1%8F%D1%82%D1%8C%20%D1%86%D0%B2%D0%B5%D1%82%20%D0%BF%D0%BE)". Тогда при нарушении границ переменной, ячейки таблицы будут автоматически менять цвет. Дополнительно это позволит выдавать автоматические сообщения при нарушении границ переменных (https://simple-scada.com/help/manual/managing-bounds-var.html), если это требуется. Далее, чтобы изменять границы переменной из клиента, нужно эти же переменные из столбца "t подача" указать в столбце "t задание" и в свойстве ячейки "Работать с (https://simple-scada.com/help/manual/table.html#:~:text=%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85).-,%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C%20%D1%81,-%D0%9F%D1%80%D0%B8%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE)" указать нужную границу переменной.
Если переменные в столбце "t задание" это внешние переменные с ПЛК и нужно обязательно использовать их, то можно применить следующий способ: также как описано выше, у переменных "t подача" включить границы, а у ячеек таблицы в столбце "t подача" активировать свойство "Границы". Далее, у ячеек столбца "t задание" указать в свойстве "Доп. переменная" переменные температур из столбца "t подача" и создать новый скрипт по событию (https://simple-scada.com/help/script/by-obj-event.html) таблицы OnCellDataChange, в котором из переменной задания формировать аварийные границы для переменной температуры:
var
aTemp, aZad: TM_Variable;
begin
// выполняем скрипт только для столбца с уставками и проверяем, что ячейки связаны с переменными
if (Cell.Col = 2) and (Cell.Variable <> nil) and (Cell.VariableEx <> nil) then
begin
aTemp := Cell.VariableEx; // переменная температуры
aZad := Cell.Variable; // переменная задания
aTemp.HighAlarm := aZad.AsFloat + 3; // верхняя авар. граница = задание + 3
aTemp.LowAlarm := aZad.AsFloat - 3; // нижняя авар. граница = задание - 3
end;
end.
Следует учитывать, что нумерация столбцов таблицы начинается с нуля. В примере выше, переменные температур расположены в третьем столбце таблицы. Если у Вас они расположены в другом столбце, то нужно внести изменения в скрипт.
Если не разберетесь, то пришлите на support@simple-scada.com текущую версию проекта из директории "..\Simple-Scada 2\Projects\", можем сделать пример для Вашей таблицы.