Форум программистов, компьютерный форум, киберфорум
Наши страницы
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
 
Gelo
47 / 47 / 21
Регистрация: 30.04.2009
Сообщений: 119
#1

Стек на STL

03.11.2015, 19:37. Просмотров 454. Ответов 3
Метки нет (Все метки)

Есть контроллер S7-300. Есть DB100. В ней массив из 50 символьных элементов array[0..49] CHAR.
В этом DB надо организовать стек. Как это сделать в STL не понимаю. По сути, необходимо произвести запись:
Код
DB100.DBB0:=DB100.DBB1;
DB100.DBB1:=DB100.DBB2;
DB100.DBB2:=DB100.DBB3;
DB100.DBB3:=DB100.DBB4;
DB100.DBB4:=DB100.DBB5;
...
DB100.DBB49:=DB200.DBB1 //Новый элемент стека
Можно ли реализовать это в виде цикла как FOR или WHILE на STL изменяя (наращивая) в цикле адрес DB100? Вероятно придется использовать SFC20?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2015, 19:37
Ответы с готовыми решениями:

Инструкции NOP BEU в языке STL step7
Здравствуйте, может кто-нибудь сможет рассказать подробнее для чего...

стек в STL
#include <iostream> #include <conio.h> #include <locale> using namespace...

stl, перемещение элемента из вектора в стек
Всем привет. Как переместить из вектора в вектор понятно...

Реализовать пользовательские классы - дек, стек (LIFO), очередь (FIFO) на базе класса list библиотеки STL
Создать пользовательские классы - дек, стек (LIFO), очередь (FIFO) на базе...

реализовать без применения STL, абстрактные типы данных (по одной программе для каждого из типов) список, стек
Задача: реализовать без применения STL, абстрактные типы данных (по одной...

3
vxg
Модератор
3246 / 2047 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
05.11.2015, 10:07 #2
Цитата Сообщение от Gelo Посмотреть сообщение
Можно ли реализовать это
знаю как реализовать на SCL. на низком уровне или в графике безусловно можно тоже это сделать, но...
1
Gelo
47 / 47 / 21
Регистрация: 30.04.2009
Сообщений: 119
05.11.2015, 10:37  [ТС] #3
Цитата Сообщение от vxg Посмотреть сообщение
знаю как реализовать на SCL. на низком уровне или в графике безусловно можно тоже это сделать, но...
Получилось вот так:
Код
     
A     I      0.0
FP    M      0.0
JNB   _001
CALL  "BLKMOV"
SRCBLK :=P#DB100.DBX1.0 BYTE 49
RET_VAL:=#TMP
DSTBLK :=P#DB100.DBX0.0 BYTE 49
CALL  "BLKMOV"
SRCBLK :=DB200.DBB1 BYTE 1
RET_VAL:=#TMP
DSTBLK :=DB100.DBB49 BYTE 1
_001: NOP   0
Функция SFC20, на ее вход записать P#DB100.DBB1 BYTE 49 и на выход P#DB100.DBB0 BYTE 49 и для последнего элемента массива сделать еще один блок SFC20 с входом P#DB200.DBB1 BYTE 1 и выходом P#DB100.DBB49 BYTE 1.

Теперь надо заполнить пустой блок данных DB100. Структура блока:
Код
+0.0 Array_m   ARRAY[0..49]
*1.0                CHAR
+50.0 REC_CNT INT
В REC_CNT хранится количество записей в датаблоке, т.е. в начале значение равно 0. Думаю если умело использовать косвенную адресацию то можно с помощью REC_CNT писать данные в нужную ячейку DB. Например, если в блоке есть 6 записей в ячейках Array_m[0..5] и REC_CNT=6, то следующую запись произвести в Array_m[6].
1
vxg
Модератор
3246 / 2047 / 322
Регистрация: 13.01.2012
Сообщений: 7,926
05.11.2015, 13:35 #4
Цитата Сообщение от Gelo Посмотреть сообщение
вот так
супер, но почему до сих пор такие адовы языки)?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2015, 13:35

Заполнить очередь и стек и поменять их содержимое местами через дополнительный стек.
Необходимо разработать программу, которая должна : Заполнить очередь и стек и...

Стек. Создать случайно генерированный стек и поменять местами первый элемент с i
Как создать случайно генерированный стек (тип элементов CHAR) и поменять...

создать стек,заполнив числами 1,2,3...n.Посмотреть его содержимое,удалить стек
Всем привет!помогите,пожалуйста!!! создать стек,заполнив числами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru