Как выбрать из таблицы требуемое значение.

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы

Re: Как выбрать из таблицы требуемое значение.

Сообщение Михайло » 12 янв 2018, 18:58

Мы будем переходить на v15, ещё подумаю, может дождёмся SP1. Но когда она появится, обязательно прыгаем на неё.
Михайло
Администратор
 
Сообщения: 3510
Зарегистрирован: 19 сен 2012, 19:16

Re: Как выбрать из таблицы требуемое значение.

Сообщение dimon64 » 13 янв 2018, 10:49

Коллеги, я что-то запутался, на чём и как это делается? Степ у меня полный, с SCL.
dimon64
Любитель
 
Сообщения: 36
Зарегистрирован: 12 мар 2015, 14:30

Re: Как выбрать из таблицы требуемое значение.

Сообщение Автоматизатор » 13 янв 2018, 11:42

dimon64 писал(а):SCL

попробуй на нем написать для начала простое, типа
Код: Выделить всё
"Table".Pressure[MW10] := MD100;
MD104 := "Table".Pressure[MW12];
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 918
Зарегистрирован: 09 окт 2012, 05:18

Re: Как выбрать из таблицы требуемое значение.

Сообщение dimon64 » 14 янв 2018, 21:44

Andrey.wys писал(а):В scl программа будет состоять из 3 массивов и 2-х циклов для определения номера элемента третьего массива.

Я так понимаю, без SCL не обойтись. Можно написать подробнее?
dimon64
Любитель
 
Сообщения: 36
Зарегистрирован: 12 мар 2015, 14:30

Re: Как выбрать из таблицы требуемое значение.

Сообщение Andrey.wys » 15 янв 2018, 09:34

Сейчас вам не готов написать программу, не на чем отладить.
Но выше вам уже все написали:
Берете 3 массива:
Код: Выделить всё
P : ARRAY  [1 .. 16 ] OF //значения давления
   REAL ;   
   T : ARRAY  [1 .. 25 ] OF //значения температуры
   REAL ;   
   S : ARRAY  [1 .. 15, 1 .. 24 ] OF //значения веса
   REAL ;   


Заполняете их данными. Последние значения температуры и давления должны быть равны максимально возможному значению с датчиков
В первом цикле
Код: Выделить всё
FOR i := 1 TO 15 DO
IF pressure >= P[i] and  pressure < P[i+1] THEN
firstIndex:=i;
EXIT;
END_IF;
END_FOR;

Находим первый индекс. Во втором
Код: Выделить всё
FOR j:= 1 TO 24 DO
IF temperature >= T[j] and  temperature < T[j+1] THEN
secondIndex:=j;
EXIT;
END_IF;
END_FOR;

второй.
И результат
Код: Выделить всё
residualPressure:=S[firstIndex,secondIndex]


В коде надо предусмотреть ошибки, инициализировать переменные и оптимизировать его(есть что).
См. http://samsebeplc.ru/Doc/Siemens/Berger ... trol_r.pdf
ЗЫ Не обижайтесь, но задачка для школьника.
Andrey.wys
Любитель
 
Сообщения: 35
Зарегистрирован: 10 янв 2016, 00:35

Re: Как выбрать из таблицы требуемое значение.

Сообщение dimon64 » 15 янв 2018, 10:07

Andrey.wys писал(а):ЗЫ Не обижайтесь, но задачка для школьника.

Да я знаю, сын в школе подобные задачки решал. Но он информатику не очень любит, помочь не может, а я подобные вещи
вообще не изучал. В готовой программе ещё я могу покопаться, а вот самому что-то делать на SCL не приходилось. В любом случае
спасибо, буду разбираться.
dimon64
Любитель
 
Сообщения: 36
Зарегистрирован: 12 мар 2015, 14:30

Пред.

Вернуться в АВТОМАТИЗАЦИЯ

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], kobrik, MailRu [Bot] и гости: 4