Tia portal word to bit

Помогите преобразовать

obok

Любитель
Сообщения: 53
Зарегистрирован: 10 апр 2018, 20:16

Помогите преобразовать

Помогите пожалуйста!
Имеется удаленный модуль с 4 входами, соединяется с контроллером по RS485 через modbus
О замкнутых контактах на входе модуль сообщает Битовой маской значений входов, он присылает число от 0 до 15

где 0 — нет замкнутых контактов, 15 замкнуты все поясняю:

Присылаемое число 1 — замкнут контакт номер 1 что соответствует (в двоичной системе) — 1
Присылаемое число 2 — замкнут контакт номер 2 что соответствует (в двоичной системе) — 10
Присылаемое число 3 — замкнут контакт номер 1 и 2 что соответствует (в двоичной системе) — 11
Присылаемое число 4 — замкнут контакт номер 1 что соответствует (в двоичной системе) -100
Присылаемое число 8 — замкнут контакт номер 1 что соответствует (в двоичной системе) — 1000
…..
Присылаемое число 15 замкнуты все контакты что соответствует (в двоичной системе) — 1111

т.е. кажый контакт соответствует 0 или 1 у входа контакта модуля, и это регистр у двоичного числа
Так вот ….
Помогите как мне из полученного числа «Х» (в десятичной системе) перевести его в двоичную и понять 1 или 0 стоит в соответствующем регистре?

Примерно это должно выглядеть как то так (в SCL):
Вход1:= Взять_регистр 1 ( Преобразовать_в_двоичный код (Х) )
Вход2:= Взять_регистр 2 ( Преобразовать_в_двоичный код (Х) )
Вход3:= Взять_регистр 3 ( Преобразовать_в_двоичный код (Х) )
Вход4:= Взять_регистр 4 ( Преобразовать_в_двоичный код (Х) )

где Вход тип (bool), а у X тип (int)

Пожалуйста помогите как это записать в SCL?


Аватара пользователя

Ka3ax

Специалист
Сообщения: 303
Зарегистрирован: 07 сен 2013, 10:09

Re: Помогите Перобразовать

Сообщение

Ka3ax » 25 сен 2018, 00:44

смутно задача описана.

Вход1:= Взять_регистр 1 ( Преобразовать_в_двоичный код (Х) )

входу присвоить?
и здесь не ясно

Присылаемое число 4 — замкнут контакт номер 1 что соответствует (в двоичной системе) -100
Присылаемое число 8 — замкнут контакт номер 1 что соответствует (в двоичной системе) — 1000

отчего «страдает» всегда первый контакт? ожидаемые контакты 4 и 8
исхожу из

где 0 — нет замкнутых контактов, 15 замкнуты все поясняю:

в scl имеются команды int_to_bool bool_to_word, SHR, SHl
можно двигать и маскировать

Код: Выделить всё

VAR_INPUT
    Input_word:           WORD;
    
END_VAR
VAR
    
    comp_1_in:              INT;
    comp_2_in:              INT;
    temp:       bool;
END_VAR

    BEGIN;
    
    comp_1_in     := Input_word AND w#16#ff;
    comp_2_in := Input_word AND w#16#00ff SHR(in:=Input_word, N:=8); 

или двигать и младший бит считывать

Код: Выделить всё

temp := int_to_bool( SHR(in:=Input_word, N:=8))

или слайс. в TIA

Код: Выделить всё

temp := Input_word.%x1 
temp12 := Input_word.%x11
 

все через case реализовать

ps
пока отвечал. понял, что входящяя переменная int тип.
тогда расскладываем по битам int_to_word и далее один из вышеприведенных принципов.
только вместо
temp := int_to_bool( SHR(in:=Input_word, N:=8))
temp := word_to_bool( SHR(in:=Input_word, N:=8))
извиняйте. засыпаю :)

Supervision of erection


Михайло

Администратор
Сообщения: 4073
Зарегистрирован: 19 сен 2012, 19:16

Re: Помогите преобразовать

Сообщение

Михайло » 25 сен 2018, 06:25

obok писал(а):где Вход тип (bool), а у X тип (int)

Вместо INT используйте тип WORD, INT — для хранения числовых значений, WORD — для наборов отдельных битов (как в вашем случае).

Ну и как написал Ка3ах:
Вход0:= Х.x0;
Вход1:= Х.x1;
Вход2:= Х.x2;
Вход3:= Х.x3;

Вход15:= Х.x15;


obok

Любитель
Сообщения: 53
Зарегистрирован: 10 апр 2018, 20:16

Re: Помогите преобразовать

Сообщение

obok » 25 сен 2018, 08:23

Михайло писал(а):

obok писал(а):где Вход тип (bool), а у X тип (int)

Вместо INT используйте тип WORD, INT — для хранения числовых значений, WORD — для наборов отдельных битов (как в вашем случае).

Ну и как написал Ка3ах:
Вход0:= Х.x0;
Вход1:= Х.x1;
Вход2:= Х.x2;
Вход3:= Х.x3;

Вход15:= Х.x15;

СПАСИБО! То что нужно!

Извините, что смутно описал проблему не знал как это объяснить.


obok

Любитель
Сообщения: 53
Зарегистрирован: 10 апр 2018, 20:16

Re: Помогите преобразовать

Сообщение

obok » 25 сен 2018, 08:38

Еще подскажите как правильно это записать в цикле, я записываю так но у меня компилятор ругается см. картинку

У вас нет необходимых прав для просмотра вложений в этом сообщении.


Аватара пользователя

Ka3ax

Специалист
Сообщения: 303
Зарегистрирован: 07 сен 2013, 10:09

Re: Помогите преобразовать

Сообщение

Ka3ax » 25 сен 2018, 09:00

а никак :D
слайст не работает в цикле, я недавно бегал, сам спрашивал как.
тупо 16 значений прописать и все, что сименс в своих примерах тоже делает.
или через оверлей AT и массив к битам обращаться.
но в Вашем случае проще 1 раз прописать 16 бит

Supervision of erection


obok

Любитель
Сообщения: 53
Зарегистрирован: 10 апр 2018, 20:16

Re: Помогите преобразовать

Сообщение

obok » 25 сен 2018, 12:13

Ka3ax писал(а):а никак :D
слайст не работает в цикле, я недавно бегал, сам спрашивал как.
тупо 16 значений прописать и все, что сименс в своих примерах тоже делает.
или через оверлей AT и массив к битам обращаться.
но в Вашем случае проще 1 раз прописать 16 бит

Спасибо, а то бился не мог понять, что же не правильно пишу и кавычки ставил и скобки, и фигурные скобки …. вобщем не мог я сдаться, а оказалось так просто нельзя))) :wall:


0 / 0 / 0

Регистрация: 27.03.2013

Сообщений: 47

1

24.02.2019, 18:20. Показов 7704. Ответов 2


Студворк — интернет-сервис помощи студентам

Помогите с решением вопроса по изменению данных тега с типом данных word.

Требуется преобразовать теги по битово в слово. После написания программы получился результат. Но если изменить значение тега с истины на лож или на оборот значение слова не меняется.

Подскажите как осуществляется хранение данных с типом данных word, и как сделать что бы данные изменялись в реальном времени.

Использую зык программирование LAD



0



467 / 231 / 72

Регистрация: 25.05.2012

Сообщений: 1,012

Записей в блоге: 1

25.02.2019, 14:14

2

denis0387, ну так покажите, где у вас проблема, чуть больше конкретики: код или картинка



0



3 / 2 / 1

Регистрация: 20.11.2019

Сообщений: 4

22.11.2019, 11:24

3

Вам необходимо обращаться с абсолютной адресацией к битам слова, ссылка на оф. форум: https://support.industry.sieme… 0&lc=en-WW
Только стоит помнить, что если вы используете эти int или word переменные в HMI то необходимо переворачивать старший и младший байты в слове — это обусловлено архитектурой языков программирования SIMATIC и высокоуровневых языков программирования.



0



  1. Обязательно представиться на русском языке кириллицей (заполнить поле «Имя»).
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему — вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома — бан без предупреждения.
  5. Рекламу и частные объявления «куплю/продам/есть халтура» мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать — читать здесь и здесь.

Welder

здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 02 мар 2014, 21:02
Имя: Роберт
Страна: Казань
город/регион: Республика Татарстан
Благодарил (а): 9 раз
Поблагодарили: 11 раз

Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

Welder » 06 май 2015, 18:56

В FB есть статический параметр (переменная) с типом данных WORD и находится она по адресу 0. Как мне в программе обратиться к биту 0.1?

Решил проблему так: Просто в «н.о. контакте» (В LAD’e) в поле адреса вбил DIX 0.1. Всё прекрасно работает. Но мне кажется, что есть более элегантный способ. Как быть если мне например нужно этот адрес как нибудь назвать? Не очень то удобно использовать абсолютный адрес, а выбирать адрес при объявлении параметров в FB нельзя.

Помогите пожалуйста! Курс Simatica читал, там такого нет + другие курсы по Симатик читал тоже нет (ну есть, используя этот способ :))

Аватара пользователя

aranea

знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 26 раз
Поблагодарили: 154 раза

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

aranea » 06 май 2015, 21:39

если FB на SCL то есть такой способ

Код: Выделить всё

VAR
    OP_dwCmdPLC     : DWORD := 16#0;                     // Operator Commands in PLC format
    OP_abyCmdPLC AT OP_dwCmdPLC : ARRAY [0..3]  OF BYTE; // look at plc command byte-wise
    OP_abCmdPLC  AT OP_dwCmdPLC : ARRAY [0..31] OF BOOL; // look at plc command bit-wise
END_VAR

BEGIN

OP_abCmdPLC[0] := ...;

а так у вас в STAT находится WORD, а обращаетесь к нему по битам
зачем он там? ни входной, ни выходной
сделайте последовательность битов BOOL
если их надо куда-то кучей передать сделайте структуру (на LAD/FBD/SCL)

Код: Выделить всё

VAR
    Data : STRUCT
        bit_00              : BOOL;     // 
        bit_01              : BOOL;     // 
        bit_02              : BOOL;     // 
        bit_03              : BOOL;     // 
        bit_04              : BOOL;     // 
        bit_05              : BOOL;     // 
        bit_06              : BOOL;     // 
        bit_07              : BOOL;     // 
    END_STRUCT;
END_VAR

BEGIN

Data.bit_00 := ...;

Изображение

Welder

здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 02 мар 2014, 21:02
Имя: Роберт
Страна: Казань
город/регион: Республика Татарстан
Благодарил (а): 9 раз
Поблагодарили: 11 раз

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

Welder » 06 май 2015, 23:11

Не SCL-ом не понимаю. LAD-ом пользуюсь.
А как структурой пользоваться? Помойму с ней в общем работать нельзя, только с отдельными элементами (как и с массивом). Например у меня есть Сдвиг (SHL_W) и мне нужно считать значения с одного определённого бита в переменной которая сдвинулась — Например в байте со значениями 01001100 сдвинули всё в право и мне нужно знать как изменился 3 бит. До сдвига он был «0» после сдвига «1». Понятно, что байт весь разделится на два (если бы например там было число) но мне это не нужно, нужен только бит и всё. Этот сдвиг работает только с WORD, DWORD и INT. INT мне не нужен, DWORD избыточен.

aranea писал(а):
а так у вас в STAT находится WORD, а обращаетесь к нему по битам
зачем он там? ни входной, ни выходной

Это внутренние переменные, нужны только внутри программы. Пока учусь. Можно было в TEMP сделать, но пока не особо понимаю как локальная память работает, поэтому решил прописать в STAT чтоб наверняка. Программа учебная, так что не критично. Тем более в STAT одна переменная уже есть с начальными значениями.

Аватара пользователя

aranea

знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 26 раз
Поблагодарили: 154 раза

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

aranea » 07 май 2015, 10:06

если программа учебная, можете делать что угодно и как угодно =)
но если писать блок управления допустим приводом допустим по profibus, то слово управления содержит комбинацию битов, которую не надо сдвигать, но для наглядности ее можно разложить по битам и словам и формировать команды и задание в явном виде, что очень удобно делать с помощью структуры

выражение OP_abCmdPLC AT OP_dwCmdPLC : ARRAY [0..31] OF BOOL; удобно при упаковке битовых тегов в слово/двойное слово, для экономии кол-ва тегов на скаду допустим

имхо

Изображение

Welder

здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 02 мар 2014, 21:02
Имя: Роберт
Страна: Казань
город/регион: Республика Татарстан
Благодарил (а): 9 раз
Поблагодарили: 11 раз

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

Welder » 07 май 2015, 17:15

Я понимаю, что удобно пользоваться структурой/массивом. Но как это сделать LAD/FBD? Учитывая, что полностью ей пользоваться нельзя, только отдельными элементами.

Например есть массив из 8 битов, как его сдвинуть в LAD/FBD? Не как :) Можно только к отдельным элементам обращаться, а в общем нельзя. Тоже самое и со структурой.

Welder

здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 02 мар 2014, 21:02
Имя: Роберт
Страна: Казань
город/регион: Республика Татарстан
Благодарил (а): 9 раз
Поблагодарили: 11 раз

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

Welder » 14 май 2015, 22:34

Вообщем есть учебное оборудование с конвейером, у конвейера рядом есть скат куда падают детали. На скат детали падают с помощью механизма на пневмоцилиндре — на него просто нужно подать дискретный сигнал и он выдвинется. В начале ската есть набор датчиков — два оптических датчика: 1) определяет просто наличек детали 2) определяет красную деталь; и есть ещё один индуктивный датчик — определяет металлические детали. Все датчики выдают дискретные сигналы. Детали подаются по одному. Всего три вида деталей — красные, чёрные и металлические. Детали нужны поместить в определённом порядке на скат например:
1) Чёрная.
2) Красная.
3) Чёрная.
4) Металлическая.
Я написал универсальный блок для таких задач. Программу FB1 прикладываю. Она закоментина и в ней всё более или менее понятно. Работа заключается в следующим: Есть определённый байт «ключ» в котором написано какие детали каким номером должны быть, но тут ограничение можно описать только для детали одного цвета (хотя это даже плюс, программа более универсальна). Например байт «ключ» для красной детали 0100 0000 т.е. красная деталь должна быть на втором месте (естественно количество деталей на скаты мы считаем). Чтоб как то этот «ключ» использовать ввёл «шагающий» байт который всегда имеет вид 1000 0000. В начале этот байт сдвигает вправо свою единицу на количество деталей на скате. Затем этот сдвинутый «шагающий байт» поразрядный сравнивается с «ключом» и записывается в байт «результата». Этот байт «результата» смещается [/b]влево[/b] на количество деталей на скате — результат работы программы (подходит/не подходит) хранится в первом бите «результата» и используется для управления пневмоцилиндра.(подать деталь или нет)
Единственное тут нужно вбить «ключи» для трёх видов деталей + количество деталей на скате в WORD (сделал для универсальности). Ну это просто, учитывая, что на скат помещаются всего 5 деталей, вбиваем их в какой нибудь DB и всё. Потом вызываем блоки FB при появлении определённой деталей. Из блока выводится результат в BOOL (подходит или нет) который можно использовать как угодно.

Как по мне. Здесь проще просто некуда.

Кстати вот тут-то и проблема с байтом «результата». Как отдельно использовать его первый бит?

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

aranea

знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 26 раз
Поблагодарили: 154 раза

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

aranea » 14 май 2015, 22:58

решений может быть много, я бы сходу сделал массив INT
1-красный
2-черный
3-металл
порядок деталей задавался бы заполнением этого массива: 2, 1, 2, 3
потом счетчик деталей=индексу массива — проверка равенства = скат

как обращаться к биту я уже описывал, тоже много способов
за DIX 0.1 вас никто не ругал же?

Изображение

Welder

здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 02 мар 2014, 21:02
Имя: Роберт
Страна: Казань
город/регион: Республика Татарстан
Благодарил (а): 9 раз
Поблагодарили: 11 раз

Re: Simatic. Как в FB обратиться к биту в стат. параметре?

Сообщение

Welder » 17 май 2015, 16:02

Много способов в SCL (я так и не понял ваш пример, учить SCL нужно), а LAD/FBD?

Пока не кому не показывал :) Я сам понимаю, что так делать лучше не стоит. Но программа работает безошибочно — уже много раз тестировал. Она будет работать без ошибок т.к. в DI-регистре всегда открыт один блок данных.

Вернуться в «Средний уровень автоматизации (управляющий)»


Перейти

  • Работа форума
  • База знаний (Knowledge Exchange)
  • ↳   Eplan Electric P8
  • ↳   Общий F.A.Q.
  • ↳   Общие вопросы
  • ↳   Новости
  • ↳   Ошибки
  • ↳   Проект
  • ↳   Изделия
  • ↳   Устройства
  • ↳   Соединения
  • ↳   Кабели
  • ↳   Клеммы
  • ↳   ПЛК
  • ↳   Компоновка 2D
  • ↳   Макросы
  • ↳   Eplan API
  • ↳   Сценарии (Только готовые решения)
  • ↳   Внешняя обработка
  • ↳   ProPanel
  • ↳   Инструкции ProPanel (Только готовые решения)
  • ↳   Прочие направления Eplan
  • ↳   FieldSys (Топология)
  • ↳   Preplanning
  • ↳   Harness proD
  • ↳   EEC One
  • ↳   Advantech
  • ↳   F.A.Q., Инструкции
  • ↳   Allen Bradley
  • ↳   Общие вопросы
  • ↳   ПЛК
  • ↳   Операторские панели
  • ↳   B&R Automation
  • ↳   F.A.Q.
  • ↳   Danfoss
  • ↳   DEIF A/S
  • ↳   Общие вопросы
  • ↳   UNI-LINE
  • ↳   MULTI-LINE
  • ↳   MULTI-LINE 300
  • ↳   Emerson
  • ↳   Общие вопросы
  • ↳   КИП и регуляторы
  • ↳   DeltaV
  • ↳   ОВЕН
  • ↳   Прософт-Системы
  • ↳   Общие вопросы
  • ↳   ПЛК REGUL
  • ↳   Schneider Electric
  • ↳   Общие вопросы
  • ↳   ПЛК
  • ↳   Панели оператора
  • ↳   SCADA
  • ↳   Электротехника
  • ↳   Приводная техника
  • ↳   SIEMENS
  • ↳   Общие вопросы
  • ↳   LOGO!
  • ↳   ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
  • ↳   Simatic Step7
  • ↳   Simatic TIA Portal
  • ↳   Simatic PCS 7
  • ↳   Операторские панели
  • ↳   WinCC
  • ↳   Приводная техника (Sinamics, Micromaster, Masterdrive, Simoreg, Simotics)
  • ↳   SmartGen
  • ↳   Общие вопросы
  • ↳   Промышленные (береговые) контроллеры
  • ↳   Морские контроллеры и устройства
  • ↳   WEINTEK (операторские панели)
  • ↳   F.A.Q., Инструкции
  • ↳   Архив
  • ↳   Микроконтроллеры и электроника
  • ↳   Arduino
  • ↳   Raspberry
  • ↳   Другие микроконтроллеры
  • ↳   Электроника
  • Общие вопросы АСУТП
  • ↳   Общие вопросы
  • ↳   Вопросы от студентов
  • ↳   Литература
  • ↳   Новости и отчётность
  • ↳   Нормативы, ГОСТы, стандарты
  • ↳   Информационная безопасность
  • ↳   Проектирование и САПР
  • ↳   Системная интеграция
  • ↳   Разбор полетов
  • ↳   Работа
  • ↳   Заготовки для базы знаний
  • ↳   Производство и технология
  • ↳   MES — Системы автоматизации управления производством
  • ↳   Метрология, КИП и датчики
  • ↳   Исполнительные устройства, регуляторы
  • ↳   Средний уровень автоматизации (управляющий)
  • ↳   Алгоритмы
  • ↳   Операторские панели
  • ↳   Верхний уровень автоматизации (отображение)
  • ↳   GE iFix
  • ↳   Wonderware Intouch
  • ↳   MasterScada
  • ↳   SCADA+
  • ↳   Альфа платформа
  • ↳   Интерфейсы, протоколы, связь
  • ↳   Радиосвязь
  • ↳   Полезное ПО
  • ↳   Электротехника, энергетика и электропривод
  • ↳   Генераторы, электростанции и силовые агрегаты
  • ↳   Теплотехника
  • ↳   Подбор аналогов
  • F.A.Q. (краткая выжимка из некоторых сообщений форума)
  • ↳   Документация (вариант 1)
  • ↳   Документация (вариант 2)
  • ↳   Электротехника и электроэнергетика
  • ↳   F.A.Q. по программируемым логическим контроллерам (PLC)
  • ↳   Обсуждение F.A.Q. по PLC
  • ↳   F.A.Q. по выбору PLC
  • ↳   F.A.Q. по аппаратной части PLC
  • ↳   F.A.Q. по языкам программирования
  • ↳   F.A.Q. по структуре программ
  • ↳   F.A.Q. по взаимодействию PLC с HMI
  • О жизни
  • ↳   Для дома, для семьи
  • ↳   Комната смеха
  • ↳   Электродвижение

binary numbers BOOL bool 1bit
(S7-1500
opt:
1 byte) S7-300/400,
S7-1200,
S7-1500 FALSE or TRUE
BOOL#0 or BOOL#1
BOOL#FALSE or BOOL#TRUE 16 BOOL → WORD and BYTE
WORD → 16 BOOL
BYTE → 8 BOOL BYTE byte 8 bit S7-300/400,
S7-1200,
S7-1500 8 bit bit pattern,
Dec: 0..255, Hex: 00..FF 16 BOOL → WORD und BYTE
BYTE → 8 BOOL
DT → WORD/BYTE WORD word 16 bit S7-300/400,
S7-1200,
S7-1500 16 bit bit pattern 16 BOOL → WORD and BYTE
WORD → 16 BOOL
STRING → DB REGS
DB REGS → STRING
DT → WORD/BYTE
WORD → REAL
REAL → WORD DWORD double word 32 bit S7-300/400,
S7-1200,
S7-1500 32 bit bit pattern LWORD long word 64 bit S7-1200,
S7-1500 64 bit bit pattern Integers
SINT short integer 8 bit S7-1200,
S7-1500 Dec: -128..127, Hex: 0..7F INT integer 16 bit S7-300/400,
S7-1200,
S7-1500 Dec: -32768..32767,
Hex: 0..7FFF DINT double integer 32 bit S7-300/400,
S7-1200,
S7-1500 Dec: -2147483648..+2147483647,
Hex: 0..#7FFFFFFF USINT unsigned
short integer 8 bit S7-1200,
S7-1500 Dec: 0..255, Hex: 00..FF UINT unsigned
integer 16 bit S7-1200,
S7-1500 Dec: 0..65535, Hex: 0000..FFFF UDINT unsigned
double integer 32 bit S7-1200,
S7-1500 Dec: 0..4294967295,
Hex: 00000000..FFFFFFFF LINT long integer 64 bit S7-1500 Dec: -9223372036854775808..
+9223372036854775807,
Hex: 0000000000000000..
7FFFFFFFFFFFFFFF ULINT unsigned
long integer 64 bit S7-1500 Dec: 0..18446744073709551615,
Hex: 0000000000000000..
FFFFFFFFFFFFFFFF floating point numbers
REAL real 32 bit S7-300/400,
S7-1200,
S7-1500 -3.402823e+38..-1.175 495e-38 and
+1.175 495e-38..+3.402823e+38 WORD → REAL
REAL → WORD LREAL long real 64 bit S7-1200,
S7-1500 -1.7976931348623158e+308
..-2.2250738585072014e-308 and
+2.2250738585072014e-308
..+1.7976931348623158e+308 S5 Time
S5TIME S5 time 16 bit S7-300/400,
S7-1500 S5T#0H_0M_0S_0MS..
S5T#2H_46M_30S_0MS S7 Time
TIME time 32 bit S7-300/400,
S7-1200,
S7-1500 T#-24d20h31m23s648ms..
T#+24d20h31m23s647ms LTIME long time 64 bit S7-1500 LT#-106751d23h47m
16s854ms775us808ns..
LT#+106751d23h47m
16s854ms775us807ns Characters
CHAR character 8 bit S7-300/400,
S7-1200,
S7-1500 ASCII character set WCHAR word char 16 bit S7-1200,
S7-1500 16 bit Unicode STRING string Long
+ 2 byte S7-300/400,
S7-1200,
S7-1500 0 to 254 characters STRING → DB REGS
DB REGS → STRING
STRING → REAL/LINT
DT → STRING WSTRING word string Long
+ 2 word S7-1200,
S7-1500 0 to 16382 characters Date types
DATE date 16 bit S7-300/400,
S7-1200,
S7-1500 D#1990-01-01..D#2168-12-31 TOD time_of_day 32 bit S7-300/400,
S7-1200,
S7-1500 TOD#00:00:00.000..
TOD#23:59:59.999 LTOD long
time_of_day 64 bit S7-1500 LTOD#00:00:00.000000000 ..
LTOD#23:59:59.999999999 DT date_and_time 64 bit S7-300/400,
S7-1500 Min.:
DT#1990-01-01-0:0:0
Max.:
DT#2089-12-31-23:59:59.999 DT → WORD/BYTE
DT → STRING LDT long
date_and_time 64 bit S7-1500 Min.:
LDT#1970-01-01-0:0:0.000000000, 16#0
Max.:
LDT#2262-04-11-23:47:16.854775807,
16#7FFF_FFFF_FFFF_FFFF DTL date time long 96 bit S7-1200,
S7-1500 Min.:
DTL#1970-01-01-00:00:00.0
Max.:
DTL#2554-12-31-23:59:59.999999999 Pointer POINTER pointer 48 bit S7-300/400,
S7-1500 — ANY any type 80 bit S7-300/400,
S7-1500 — VARIANT variant — S7-1200,
S7-1500 example:
P#M100.0 BYTE 10
P#DB1.DBX0.0 BYTE 10

MaxPlant





Опубликовано 18.07.2021

Все статьи раздела SIEMENS

Содержание

  1. Краткий обзор TIA Portal
  2. Шаговый ПИД-регулятор PID_ES (Step Controller)
  3. Введение в HMI Faceplate
  4. Управление дискретной задвижкой
  5. Создание фейсплаты дискретной задвижки (продолжение урока 4)
  6. Программирование дискретной задвижки (продолжение урока 5)
  7. Обработка аналоговых сигналов в TIA Portal
  8. Создание фейсплаты аналогового датчика, авторизация пользователя SIMATIC Comfort Panel (продолжение урока 7)
  9. Разработка функционального блока обработки аналогового сигнала в STEP7 Professional (продолжение уроков 7 и 8)
  10. Адаптация проекта для панели оператора SIMATIC Comfort Panel в проект WinCC Advanced для ПК
    (продолжение уроков 7-9)
  11. Аварии и тренды, оперативные и исторические данные в WinCC Advanced (продолжение уроков 7-10)
  12. Установка TIA Portal V15.1. Конвертация проекта, разработанного в TIA Portal V14,
    в проект TIA Portal V15.1
  13. Контроль присутствия устройств в сети PROFINET или PROFIBUS для S7-1200 и S7-1500
  14. Программирование в TIA Portal обмена данными по сети PROFINET между преобразователем частоты ATV630 и
    контроллером SIMATIC S7-1500
  15. Счётчик моточасов (времени наработки)
  16. Управление светозвуковой сигнализацией
  17. Управление режимами работы насосных агрегатов
  18. Управление электроприводом насосных агрегатов
  19. Групповое квитирование аварийных сообщений в операторских панелях
    SIMATIC HMI Panels
  20. Настройка преобразователя частоты Altivar Process ATV600
  21. Обновление прошивки контроллера S7-1500
  22. Загрузка проекта в S7-1500 и ET200SP
  23. Создание резервной копии S7-1500: выгрузка проекта из ПЛК, архивирование проекта
  24. Уставки (Setpoints) в TIA Portal STEP7 или как не потерять
    настройки ПИД-регуляторов после пусконаладки
  25. Общее устройство (Shared Device) или как в TIA Portal несколько контроллеров делят между
    собой одну станцию распределённого ввода-вывода
  26. MRP домен + IRT домен = MRPD домен или введение в технологии
    Media Redundancy и Real-time communication
  27. Конфигурирование доменов IRT и MRPD (продолжение урока 26)
  28. Time-based IO или
    как управлять быстрым дискретным технологическим процессом строго по времени
  29. Как загрузить программу ПЛК SIMATIC S7-1500, если нет связи между программатором и ПЛК
  30. Как загрузить две программы ПЛК SIMATIC S7-1500 в S7-PLCSIM Advanced V2.0
    на локальной и удалённой машинах и подключить к ним WinCC по TCP
  31. SIMATIC Automation Tool
  32. Как установить связь между онлайн симулятором панели Weintek и S7-PLCSIM для отладки программ HMI-PLC
    без панели оператора и ПЛК
  33. Как протестировать программу контроллера S7-1200 с ПИД-регулятором PID_Compact в симуляторе S7-PLCSIM с помощью HMI, разработанного на панели оператора Weintek
  34. Как связать LOGO! с WinCC



Понравилась статья? Поделить с друзьями:
  • Those were the days song word
  • Thursday word of the day
  • Thisworkbook path vba excel
  • Thunk is not a word
  • This worksheets excel миф