Вопросы по Step 7 Pro (Ka3ax)

Инженерное программное обеспечение

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение mr_Frodo » 15 май 2018, 21:51

язык только СТЛ - так бывает?
Безымянный.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Специалист
 
Сообщения: 406
Зарегистрирован: 22 июл 2016, 20:38

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 15 май 2018, 22:26

спасибо, такая идея посещала. но подумал следующее,
исполнение, время наверное то же останется, инструкции теже.
размер, да, уменьшится.
я полагал вы предлагаете типа с помощью sfb больщее количество
переменных считывать и далее... а далее я не осилил представить.
мне кажется, в FC2 можно цикл организовать, знать бы как.

Да, только STL, извращенцы, млин.
кто то полагает, что STL стандар в индустрии.
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Михайло » 16 май 2018, 05:05

Ka3ax писал(а):Да, только STL, извращенцы, млин.
кто то полагает, что STL стандар в индустрии.

Наоборот, новый стандарт IEC61131 вроде собирается отменить IL (STL). Правда никак не может. Но Сименс уже отказался в ТИА Портале от STL, там всё прекрасно делается в LD (LAD) и ST (SCL).
Михайло
Администратор
 
Сообщения: 3709
Зарегистрирован: 19 сен 2012, 19:16

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 16 май 2018, 05:29

Михайло писал(а):
Ka3ax писал(а):Да, только STL, извращенцы, млин.
кто то полагает, что STL стандар в индустрии.

Наоборот, новый стандарт IEC61131 вроде собирается отменить IL (STL). Правда никак не может. Но Сименс уже отказался в ТИА Портале от STL, там всё прекрасно делается в LD (LAD) и ST (SCL).

это не мне знакомо, вчера то же самое говорил "коллеге", еще добавил, что SCL единственный язык которым можно SFCблоки PCS7 создавать.

но все одно

- а у нас SCL запрещен..

ps
хотел цикл организовать, но все покраснело,
неверно к элементу массива обращаюсь?

psps
что то не так, счетчик еще нужно уменьшать.
извините, на работу я, нет там у меня кирилицы
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Автоматизатор » 16 май 2018, 10:21

На STL нельзя использовать такую конструкцию. SCL позволяет, а STL - нет.

Надо пользоваться косвенной адресацией. Получается витиевато. Где-то тут на форуме выкладывал пример.
Аватара пользователя
Автоматизатор
Профессионал
 
Сообщения: 942
Зарегистрирован: 09 окт 2012, 05:18

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 16 май 2018, 16:40

я так и знал,, что не так все просто
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение mr_Frodo » 16 май 2018, 22:02

Цикл на СТЛ просто организовать используя прыжок в начало по результату выполнения JC или не выполнения JCN условия формирования РЛО.
Пример: автоматического последовательного конвертирования данных из одной дб инт в дб реал.
Безымянный.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Специалист
 
Сообщения: 406
Зарегистрирован: 22 июл 2016, 20:38

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 16 май 2018, 22:08

черт, меня опередили, я только пытаюсь.
спасибо, буду смотреть.

ps

еще и гибкая функция, я о количестве преобразумых переменных!
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение mr_Frodo » 16 май 2018, 22:32

в данном примере есть недоработка: при асимметрии начальных адресов источника и цели, возможно переполнение целевого адреса, если он в ДБ "выше" источника а ДБ того же размера... тогда сами понимаете что ))) ЦПУ некуда будет складывать результаты конвертирования. Возможен вариант "горячего" создания целевой ДБ с помощью SFC22, но я пока с этим не разбирался и по описанию не понял до конца как она работает. В частности как формирует тип переменных %) ... Поэтому пока не знаю.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Специалист
 
Сообщения: 406
Зарегистрирован: 22 июл 2016, 20:38

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 16 май 2018, 22:49

спасибо за время которое уделили.
но все одно мне нужно дорабатывать. мне нужны переменные Out ,
я должен еще задать имена переменным. без цикла и массива не обойтись.
ваш первый вариант реализует идею. попробую скрестить два варианта.
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 17 май 2018, 23:12

подскажите, отчего и такая конструкция не идет?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Михайло » 18 май 2018, 03:44

Arraj -> Array
Михайло
Администратор
 
Сообщения: 3709
Зарегистрирован: 19 сен 2012, 19:16

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 18 май 2018, 07:01

Михайло писал(а):Arraj -> Array

утро доброе, так Arraj это переменная нет тип.
ps

наверное индекс массива только INT может быть
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 19 май 2018, 09:18

как все не просто, из справки, обращение к элементу массива при косвенной адресации
из справки
Код: Выделить всё
Adresse = (Array_Index * 8) * размермассива + начальныйадресмассива


получается не обратиться элементу массива в FC?
создал пустой FC с array as Int в INPUT и array as real in Out в надежде, что FC будет представлять собой блок с количеством входов равному количеству элементов в массиве и так же относительно выходов.
но в реале блок с одним входом и одним выходом...
я возрадовался, что получил блок с автоматическим добавлением входов по мере присвоения им переменных.
но радость была не долгой, входа и выхода не акцептируют переменные INT и Real..

где и что почитать, сузьте, пожалуйста область поиска
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение mr_Frodo » 19 май 2018, 14:37

Переменные типа ARRAY Вы можете применять в качестве параметров
блоков типа ARRAY с такой же структурой или как параметры блоков типа
ANY. Например, они могут быть скопированы с помощью системной
функции SFC 20 BLKMOV. Вы можете также определить отдельные
элементы массива в качестве параметров блока типа
ARRAY, если параметры блока относятся к тому же типу данных, что и эти элементы.
Если отдельные элементы массива относятся к простым типам данных, то
Вы можете обрабатывать их с помощью обычных STL-операторов.
Доступ к элементу массива обеспечивается по имени массива и индексу в
квадратных скобках. Индекс имеет фиксированное значение в STL и не
может быть изменен во время выполнения программы (не может быть
переменной).
Индекс в SCL может быть переменной или выражением с данными типа
INT; значение индекса может быть изменено во время выполнения программы.
SCL - наше Фсё!
Вот моя подпись...
Аватара пользователя
mr_Frodo
Специалист
 
Сообщения: 406
Зарегистрирован: 22 июл 2016, 20:38

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Михайло » 19 май 2018, 19:24

Ka3ax
Чтобы ты не заблуждался, важно знать следующую информацию: S7-300 был разработан в 1995-м году и безбожно устарел. Тут невозможна гибкая работа с различными типами данными, с массивами вообще беда. Многие функции работают только с определёнными типами данными и приходится конвертировать. Большинство того, что работает в STL, нельзя реализовать в LAD/FBD.

В ТИА Портале с новыми S7-1x00 всё гораздо прикольнее. Здесь реально можно обойтись двумя языками: LAD и SCL. SCL очень удобен для обработки массивов данных, в остальных 97% случаев всё делается в LAD. В ТИА Портале язык STL доступен только для S7-1500 и он там нафиг не нужен, так как Сименс придерживалась политики, что все три языка LAD/FBD/STL должны быть равнофункциональными.
Михайло
Администратор
 
Сообщения: 3709
Зарегистрирован: 19 сен 2012, 19:16

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 19 май 2018, 21:26

Михайло писал(а):Ka3ax
В ТИА Портале язык STL доступен только для S7-1500 и он там нафиг не нужен, так как Сименс придерживалась политики, что все три языка LAD/FBD/STL должны быть равнофункциональными.

выше уже говорили об этом.
мне никогда не нужен был STl, обходился SCL для самописных небольших решений. Хватало не глубоких знаний и хелпа.
Но фирма, где я, забила на мнение сименса.
политика фирмы STL, все на STL
мне нужно, как в анекдоте выучить китайскй к утру, понять, как
все это крутится, хотя бы принцип. Опять же старые проекты нужно поддерживать.
я понимаю код, понимаю что произойдет при его исполнении, но отчего
только так и не по другому.
я о невозможности передать число массиву
Код: Выделить всё
T    Arraj[AR1,P#0.0]
тут как бы понял, в этом случае весь массив передается
[quote]пробовал так
T    #Arraj[AR1,P#0.0]
и
так
T    DW#Arraj[AR1,P#0.0]


если существует массив, то с ним же можно работать
или если пустой блок FC с Input и Out массивами сохранился, без ошибок и вызывается, то отчего не принимает переменные.
об этом в книгах не пишут, выучить быстро не получается, от этого и спрашиваю.

еще вариант обращения , не вызывающий синтактических ошибок в блоке
Код: Выделить всё
L p##InputInt
LAR1
L p##OutReal
LAR2
....
L W[AR1,p#0.0]
T D[AR2,p#0.0]

но не принимаются входные данные и выходные , как и в случае с пустым блоком.
[наврал]ошибка не совпадение типов.
но элементы массива же теже Int и Real, что пытаюсь входу и выходу присвоить. так как вижу вместо ожидаемых нескольких входов и выходов только по одному, то полагаю, что тип данных требуется массив. но в коде же DW и W[/наврал]
в этом случае компилятор информаирует в FBU редакторе , что пустой операнд.
[наврал]а случае с пустым блоком не совпадение типов[/наврал]
так же пустой операнд.
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Re: Вопросы по Step 7 Pro (Ka3ax)

Сообщение Ka3ax » 20 май 2018, 10:48

ответ на мои вопросы

при косвенной адресации в STL не допускается символьная адресация, только абсолютная.
Так как в FC отсутствует внутрення адресация, то обращение через индекс к элементу массива невозможно.
Или?

одно не понятно, от чего редактор позволяет создавать неработающие конструкции
Supervision of erection
Аватара пользователя
Ka3ax
Специалист
 
Сообщения: 226
Зарегистрирован: 07 сен 2013, 10:09

Пред.

Вернуться в Simatic TIA Portal / Step7

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1