Modbus

Modbus — открытый коммуникационный протокол, основанный на архитектуре ведущий — ведомый (англ. master-slave; в стандарте Modbus используются термины client-server). Широко применяется в промышленности для организации связи между электронными устройствами. Может использоваться для передачи данных через последовательные линии связи RS-485, RS-422, RS-232 и сети TCP/IP (Modbus TCP). Также существуют нестандартные реализации, использующие UDP[1][2].

Не следует путать «Modbus» и «Modbus Plus». Modbus Plus — проприетарный протокол, принадлежащий Schneider Electric (физический уровень Modbus Plus уникальный, похож на Ethernet 10BASE-T, полудуплекс по одной витой паре, скорость 2 Мбит/с; транспортный протокол Modbus Plus — HDLC, поверх которого специфицировано расширение для передачи Modbus PDU).

JBUS — подмножество протокола Modbus RTU с небольшими отличиями в способе адресации[3].

История

Modbus был разработан компанией Modicon (в настоящее время принадлежит Schneider Electric) для использования в своих контроллерах с программируемой логикой. Впервые спецификация протокола была опубликована в 1979 году[4]. Это был открытый стандарт, описывающий формат сообщений и способы их передачи в сети, состоящей из различных электронных устройств.

Первоначально контроллеры MODICON использовали последовательный интерфейс RS-232[4]. Позднее стал применяться интерфейс RS-485, так как он обеспечивает более высокую надёжность, позволяет использовать более длинные линии связи и подключать к одной линии несколько устройств.

Многие производители электронного оборудования поддержали стандарт, на рынке появились сотни использующих его изделий.

Стандарт Modbus

В настоящее время развитием Modbus занимается некоммерческая организация Modbus-IDA[5].

Специфическая терминология

  • PDU (Protocol Data Unit) — общая для всех физических уровней часть пакета Modbus. Включает в себя код функции и данные пакета.
  • ADU (Application Data Unit) — полный пакет Modbus. Включает в себя специфичную для физического уровня часть пакета и PDU.

Modbus специфицирует 4 типа данных:

  • Discrete Inputs — однобитовый тип, доступен только для чтения.
  • Coils — однобитовый тип, доступен для чтения и записи.
  • Input Registers — 16-битовый знаковый или беззнаковый тип, доступен только для чтения.
  • Holding Registers — 16-битовый знаковый или беззнаковый тип, доступен для чтения и записи.

Состав стандарта

Стандарты Modbus состоят из 3 частей:

  • Документ Modbus Application Protocol содержит спецификацию прикладного уровня сетевой модели OSI:
    • Элементарный пакет протокола, так называемый PDU (Protocol Data Unit), он един для всех физических уровней. PDU упаковывается в индивидуальный для каждого транспорта application data unit (ADU).
    • Коды функций и состав PDU для каждого кода.
  • Документ Modbus over serial line содержит спецификацию канального и физического уровней сетевой модели OSI для физических уровней RS-485 и RS-232. В принципе, может использоваться любой физический уровень, основанный на асинхронном приемопередатчике.
  • Документ Modbus Messaging on TCP/IP Implementation Guide содержит спецификацию ADU для транспорта через TCP/IP-стек.

Достоинства стандарта

Основные достоинства стандарта — открытость и массовость. Промышленностью сейчас (2014 г.) выпускается очень много типов и моделей датчиков, исполнительных устройств, модулей обработки и нормализации сигналов и др. Практически все промышленные системы контроля и управления имеют программные драйверы для работы с Modbus-сетями.

Недостатки стандарта

Стандарт в своей основе был разработан в 1979 году с учётом потребностей и вычислительных возможностей того времени, и многие актуальные для современных промышленных сетей вопросы не были учтены[6]. Отсутствие перечисленных возможностей является следствием простоты протокола, которая облегчает его изучение и ускоряет внедрение.

  • Стандарт специфицирует метод передачи только двух типов данных[7]. Отсутствие чёткого указания в стандарте привело к тому, что с другими типами данных сторонние производители Modbus-решений поступали по своему усмотрению. Различие мнений производителей оборудования в этом вопросе не позволило впоследствии сделать уточнения в официальном документе: это вызвало бы всплеск недовольства производителей, не согласных с предлагавшимися поправками стандарта и возможную войну форматов.
  • Стандарт не регламентирует начальную инициализацию системы. Назначение сетевых адресов и прописывание в системе параметров каждого конкретного устройства выполняются вручную на этапе адаптации и программирования системы.
  • Длина запроса ограничена, а данные могут быть запрошены только из последовательно расположенных регистров. Это увеличивает задержки и накладные расходы при использовании сети, так как для получения данных из регистров, расположенных далеко друг от друга в адресном пространстве, ведущий должен либо запрашивать ненужные данные, либо использовать несколько запросов[7].
  • Не предусмотрен способ, с помощью которого ведомое устройство могло бы обнаружить потерю связи с ведущим кроме анализа ведомым устройством общего сетевого трафика[7]

Введение

Контроллеры на шине Modbus взаимодействуют, используя модель ведущий — ведомый, основанную на транзакциях, состоящих из запроса и ответа.

Обычно в сети есть только одно ведущее client (по старой терминологии master) устройство, и несколько ведомых server (по старой терминологии slave) устройств. (Терминология верна, несмотря на противоположные значения в типичной клиент-серверной архитектуре.) Ведущее устройство инициирует транзакции (передаёт запросы). Ведущий может адресовать запрос индивидуально любому ведомому или инициировать передачу широковещательного сообщения для всех ведомых устройств. Ведомое устройство, опознав свой адрес, отвечает на запрос, адресованный именно ему. При получении широковещательного запроса ответ ведомыми устройствами не формируется.

Спецификация Modbus описывает структуру запросов и ответов. Их основа — элементарный пакет протокола, так называемый PDU (Protocol Data Unit). Структура PDU не зависит от типа линии связи и включает в себя код функции и поле данных. Код функции кодируется однобайтовым полем и может принимать значения в диапазоне 1…127. Диапазон значений 128…255 зарезервирован для кодов ошибок. Поле данных может быть переменной длины. Размер пакета PDU ограничен 253 байтами.

Modbus PDU
код функции данные
1 байт N ≤ 252 (байт)

Для передачи пакета по физическим линиям связи PDU помещается в другой пакет, содержащий дополнительные поля. Этот пакет носит название ADU (Application Data Unit). Формат ADU зависит от типа линии связи. Существуют три варианта ADU, два для передачи данных через асинхронный интерфейс и один — через TCP/IP сети:

  • Modbus ASCII — для обмена используются только ASCII символы. Для проверки целостности используется однобайтовая контрольная сумма. Начало и конец сообщения помечаются специальными символами (начало сообщения «:», конец сообщения CR/LF).
  • Modbus RTU — компактный двоичный вариант. Сообщения разделяются по паузе в линии. Сообщение должно начинаться и заканчиваться интервалом тишины, длительностью не менее 3,5 символов при данной скорости передачи. Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс, соответственно. Проверка целостности осуществляется с помощью CRC.
  • Modbus TCP — для передачи данных через TCP/IP-соединение.

Общая структура ADU следующая (в зависимости от реализации, некоторые из полей могут отсутствовать):

адрес ведомого (подчинённого) устройства код функции данные блок обнаружения ошибок

где

  • адрес ведомого устройства — адрес подчинённого устройства, к которому адресован запрос. Ведомые устройства отвечают только на запросы, поступившие в их адрес. Ответ также начинается с адреса отвечающего ведомого устройства, который может изменяться от 1 до 247. Адрес 0 используется для широковещательной передачи, его распознаёт каждое устройство, адреса в диапазоне 248…255 зарезервированы;
  • код функции — это следующее однобайтное поле кадра. Оно говорит ведомому устройству, какие данные или выполнение какого действия требует от него ведущее устройство;
  • данные — поле содержит информацию, необходимую ведомому устройству для выполнения заданной ведущим функции или содержит данные, передаваемые ведомым устройством в ответ на запрос ведущего. Длина и формат поля зависит от номера функции, также в поле данных может быть детализация кода функции;
  • блок обнаружения ошибок — контрольная сумма для проверки отсутствия ошибок в кадре.

Максимальный размер ADU для последовательных сетей RS232/RS485 — 256 байт, для сетей TCP — 260 байт.

Для Modbus TCP ADU выглядит следующим образом:

ID транзакции ID протокола длина пакета адрес ведомого устройства код функции данные

где

  • ID транзакции — два байта, обычно нули
  • ID протокола — два байта, нули
  • длина пакета — два байта, старший, затем младший, длина следующей за этим полем части пакета
  • адрес ведомого устройства — адрес подчинённого устройства, к которому адресован запрос. Обычно игнорируется, если соединение уже установлено с конкретным устройством или в системе только одно устройство. Может использоваться, если соединение установлено с мостом, который связан физически, например, с сетью RS-485.

Следует обратить внимание, что поле контроля ошибок в Modbus TCP отсутствует, так как целостность данных обеспечивает TCP/IP-стек.

Категории кодов функций

В действующей в настоящее время спецификации протокола определяются три категории кодов функций:

Стандартные команды
Их описание должно быть опубликовано и утверждено Modbus-IDA. Эта категория включает в себя как уже определенные, так и неиспользуемые в настоящее время коды.
Пользовательские команды
Два диапазона кодов (от 65 до 72 и от 100 до 110), для которых пользователь может назначить произвольную функцию. При этом не гарантируется, что какое-то другое устройство не будет использовать тот же самый код для выполнения другой функции.
Зарезервированные
В эту категорию входят коды функций, не являющиеся стандартными, но уже используемые в устройствах, производимых различными компаниями. Это коды 9, 10, 13, 14, 41, 42, 90, 91, 125, 126 и 127.

Модель данных

Одно из типичных применений протокола — чтение и запись данных в регистры контроллеров. Спецификация протокола определяет четыре таблицы данных:

Таблица Тип элемента Тип доступа
Регистры флагов (Coils) один бит чтение и запись
Дискретные входы (Discrete Inputs) один бит только чтение
Регистры ввода (Input Registers) 16-битное слово только чтение
Регистры хранения (Holding Registers) 16-битное слово чтение и запись

Доступ к элементам в каждой таблице осуществляется с помощью 16-битного адреса, первой ячейке соответствует адрес 0. Таким образом, каждая таблица может содержать до 65536 элементов. Спецификация не определяет, что физически должны представлять собой элементы таблиц и по каким внутренним адресам устройства они должны быть доступны. Например, допустимо организовать перекрывающиеся таблицы. В этом случае команды, работающие с дискретными данными и с 16-битными регистрами, будут фактически обращаться к одним и тем же данным.

Со способом адресации данных связана определённая путаница. Modbus был первоначально разработан для контроллеров Modicon. В этих контроллерах для каждой из таблиц использовалась специальная нумерация. Например, первому регистру ввода соответствовал номер ячейки 30001, а первому регистру хранения — 40001. Таким образом, регистру хранения с адресом 107 в команде Modbus соответствовал регистр № 40108 контроллера. Хотя такое соответствие адресов больше не является частью стандарта, некоторые программные пакеты могут автоматически «корректировать» вводимые пользователем адреса, например, вычитая 40001 из адреса регистра хранения. Справочное руководство от 1996 года https://modbus.org/docs/PI_MBUS_300.pdf, где неявно была принята похожая адресация, помечено как устаревшее ("obsolete" и "FOR LEGACY APPLICATIONS ONLY"), текущая спецификация протокола https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf использует только абсолютную адресацию - 01 (0x01) Read Coils 0x0000 to 0xFFFF, 03 (0x03) Read Holding Registers 0x0000 to 0xFFFF.

Стандартные функции протокола Modbus

PDU запроса и ответа для стандартных функций
номер
функции
запрос/ответ
1 (0x01) A1 A0 Q1 Q0
N D (N байт)
2 (0x02) A1 A0 Q1 Q0
N D (N байт)
3 (0x03) A1 A0 Q1 Q0
N D (N байт)
4 (0x04) A1 A0 Q1 Q0
N D (N байт)
5 (0x05) A1 A0 D1 D0
A1 A0 D1 D0
6 (0x06) A1 A0 D1 D0
A1 A0 D1 D0
15 (0x0F) A1 A0 Q1 Q0 N D (N байт)
A1 A0 Q1 Q0
16 (0x10) A1 A0 Q1 Q0 N D (N байт)
A1 A0 Q1 Q0
22 (0x16) A1 A0 M(and)1 M(and)0 M(or)1 M(or)0
A1 A0 M(and)1 M(and)0 M(or)1 M(or)0


  • A1 и A0 — адрес элемента,
  • Q1 и Q0 — количество элементов,
  • N — количество байт данных
  • D — данные

M()1 и M()0 - соответствующие маски функции 22

Доступ к данным

Чтение данных

Для чтения значений из перечисленных выше таблиц данных используются функции с кодами 1—4 (шестнадцатеричные значения 0x01—0x04):

  • 1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
  • 2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
  • 3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
  • 4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).

Запрос состоит из адреса первого элемента таблицы, значение которого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым.

В ответе передаются запрошенные данные. Количество байт данных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных.

Значения регистров хранения и регистров ввода передаются начиная с указанного адреса, по два байта на регистр, старший байт каждого регистра передаётся первым:

байт 1 байт 2 байт 3 байт 4 байт N-1 байт N
RA,1 RA,0 RA+1,1 RA+1,0 RA+Q-1,1 RA+Q-1,0

Значения флагов и дискретных входов передаются в упакованном виде: по одному биту на флаг. Единица означает включённое состояние, ноль — выключенное. Значения запрошенных флагов заполняют сначала первый байт, начиная с младшего бита, затем следующие байты, также от младшего бита к старшим. Младший бит первого байта данных содержит значение флага, указанного в поле «адрес». Если запрошено количество флагов, не кратное восьми, то значения лишних битов заполняются нулями:

байт 1 байт N
FA+7 FA+6 FA+5 FA+4 FA+3 FA+2 FA+1 FA 0 0 FA+Q-1 FA+Q-2

Запись одного значения

  • 5 (0x05) — запись значения одного флага (Force Single Coil).
  • 6 (0x06) — запись значения в один регистр хранения (Preset Single Register).

Команда состоит из адреса элемента (2 байта) и устанавливаемого значения (2 байта).

Для регистра хранения значение является просто 16-битным словом.

Для флагов значение 0xFF00 означает включённое состояние, 0x0000 — выключенное, другие значения недопустимы.

Если команда выполнена успешно, ведомое устройство возвращает копию запроса.

Запись нескольких значений

  • 15 (0x0F) — запись значений в несколько регистров флагов (Force Multiple Coils)
  • 16 (0x10) — запись значений в несколько регистров хранения (Preset Multiple Registers)

Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. Данные упаковываются так же, как в командах чтения данных.

Ответ состоит из начального адреса и количества изменённых элементов.

Изменение регистров

  • 22 (0x16) — запись в один регистр хранения с использованием маски «И» и маски «ИЛИ» (Mask Write Register).

Команда состоит из адреса регистра и двух 16-битных чисел, которые используются как маски, с помощью которых можно индивидуально сбросить или установить отдельные биты в регистре. Конечный результат определяется формулой:

Результат = (Текущее_значение AND Маска_И) OR (Маска_ИЛИ AND (NOT Маска_И))

Чтение с записью

  • 23 (0x17) — чтение/запись нескольких регистров (Read/Write Multiple registers)

Этот код функции выполняет комбинацию одной операции чтения и одной операции записи в одной транзакции Modbus.

Очереди данных

  • 24 (0x18) — чтение данных из очереди (Read FIFO Queue)

Функция предназначена для получения 16-битных слов из очереди, организованной по принципу «первым пришёл — первым ушёл» (FIFO).

Доступ к файлам

  • 20 (0x14) — чтение из файла (Read File Record)
  • 21 (0x15) — запись в файл (Write File Record)

Эти функции используются для доступа к 16-битным регистрам, организованным в файлы, состоящие из записей произвольной длины. В команде указывается номер файла, номер записи и длина записи в 16-битных словах. С помощью одной команды можно записать или прочитать несколько записей, не обязательно соседних.

Кроме того, команда содержит однобайтовый код для указания типа ссылки на данные. В действующей версии стандарта определен только один тип (описанный выше) с кодом 0x06.

Диагностика

Перечисленные ниже функции предназначены для устройств на последовательных линиях связи (Modbus RTU и Modbus ASCII).

  • 7 (0x07) — чтение сигналов состояния (Read Exception Status)

Функция предназначена для получения информации об индикаторах состояния на удалённом устройстве. Функция возвращает один байт, каждый бит которого соответствует состоянию одного индикатора.

  • 8 (0x08) — диагностика (Diagnostic)
  • 11 (0x0B) — чтение счетчика событий (Get Com Event Counter)
  • 12 (0x0C) — чтение журнала событий (Get Com Event Log)

Эти функции предназначены для проверки функционирования последовательной линии связи.

  • 17 (0x11) — чтение информации об устройстве (Report Server ID)

Функция предназначена для получения информации о типе устройства и его состоянии. Формат ответа зависит от устройства.

Другие

  • 43 (0x2B) — Encapsulated Interface Transport

Функция предназначена для передачи данных в произвольных форматах (определённых другими стандартами) от ведущего (client) к ведомому (server) и обратно.

Тип передаваемых данных определяется дополнительным кодом (MEI — Modbus Encapsulated Interface), передаваемым после номера функции. Стандарт определяет MEI 13 (0x0D), предназначенный для инкапсуляции протокола CANopen. MEI 14 (0x0E) используется для получения информации об устройстве и MEI в диапазонах 0—12 и 15—255 зарезервированы.

Обработка ошибок

Во время обмена данными могут возникать ошибки двух типов:

  • ошибки, связанные с искажениями при передаче данных;
  • логические ошибки (запрос принят без искажений, но не может быть выполнен)

При передаче по асинхронным линиям связи ошибки первого типа обнаруживаются при помощи проверки соответствия принятого запроса установленному формату ADU и вычисления контрольной суммы. Дополнительно для проверки каждого символа может использоваться бит четности. Если подчинённое устройство обнаруживает искажение данных, принятый запрос игнорируется, ответное сообщение не формируется. Главное устройство может обнаружить ошибку по отсутствию ответа.

В Modbus TCP дополнительная проверка целостности данных не предусмотрена. Передача данных без искажений обеспечивается протоколами TCP/IP.

При ошибках второго типа подчинённое устройство отсылает сообщение об ошибке (если запрос адресован этому устройству; на широковещательные запросы ответ не отправляется). Признаком того, что ответ содержит сообщение об ошибке, является установленный старший бит номера функции. За номером функции, вместо обычных данных, следует код ошибки и, при необходимости, дополнительные данные об ошибке.

Стандартные коды ошибок

  • 01 — Принятый код функции не может быть обработан.
  • 02 — Адрес данных, указанный в запросе, недоступен.
  • 03 — Значение, содержащееся в поле данных программного запроса, использующего функции с номерами 13 или 14. Ведущее устройство должно запросить диагностическую информацию или информацию об ошибках от ведомого.
  • 08 — Ведомое устройство при чтении расширенной памяти обнаружило ошибку контроля четности. Главный может повторить запрос позже, но обычно в таких случаях требуется ремонт оборудования.

Примеры

Ниже приведён пример команды ведущего устройства и ответов ведомого (для Modbus RTU).

Запрос
Направление передачи адрес подчинённого устройства номер функции Адрес Количество флагов Количество байт данных Данные CRC
старший байт младший байт старший байт младший байт старший байт младший байт младший байт старший байт
Client→Server
0x01
0x0F
0x00
0x13
0x00
0x0A
0x02
0xCD
0x01
0x72
0xCB
Ответ
Направление передачи адрес подчинённого устройства номер функции Адрес Количество флагов CRC
старший байт младший байт старший байт младший байт младший байт старший байт
Server→Client
0x01
0x0F
0x00
0x13
0x00
0x0A
0x24
0x09
Сообщение об ошибке
Направление передачи адрес подчинённого устройства номер функции код ошибки CRC
младший байт старший байт
Server→Client
0x01
0x8F
0x02
0xC5
0xF1

Примечания

  1. The Modbus Protocol In-Depth. Архивная копия от 29 июня 2017 на Wayback Machine National Instruments
  2. Modbus UDP Specification. Архивная копия от 7 июля 2017 на Wayback Machine Java Modbus Library
  3. PROMOTIC — Communication by Modbus protocol. Дата обращения: 7 июля 2015. Архивировано 8 июля 2015 года.
  4. 1 2 Modbus interface tutorial. Дата обращения: 23 марта 2009. Архивировано 3 марта 2011 года.
  5. About Modbus-IDA. Дата обращения: 23 марта 2009. Архивировано 3 марта 2016 года.
  6. Charles Palmer, Sujeet Shenoi (ed) Critical Infrastructure Protection III: Third IFIP WG 11. 10 International Conference, Hanover, New Hampshire, USA, March 23-25, 2009, Revised Selected Papers Springer, 2009 ISBN 3-642-04797-1, page 87
  7. 1 2 3 Application Development with Modbus. Дата обращения: 7 июля 2015. Архивировано 8 июля 2015 года.

Литература

Ссылки

Read other articles:

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (مارس 2021) أنطونيو كلاوديو دي جيسوس أوليفيرا معلومات شخصية الميلاد 16 أبريل 1973 (العمر 50 سنة)البرازيل  الطول 1.80 م (5 قدم 11 بوصة) مركز اللعب مدافع الجنسية البرازيل&...

 

Waterloo adalah singel pertama dari album kedua grup pop Swedia ABBA, Waterloo dan berada di bawah label Epic dan Atlantic. Karya tersebut juga merupakan singel pertama dimana grup tersebut tampil dengan nama ABBA. Pranala luar Classic pop video of Waterloo Abba4therecord.com[pranala nonaktif permanen] Lirik lengkap di MetroLyrics lbsDaftar pemenang Kontes Lagu EurovisionNegara pemenang1950-an Swiss Belanda Prancis Belanda 1960-an Prancis Luxembourg Prancis Denmark Italia Luxembourg A...

 

2006 American graphic novel The Halo Graphic Novel The front cover of The Halo Graphic NovelCover artistPhil HaleCountryUnited StatesLanguageEnglishGenreMilitary science fictionPublished2006 (Marvel Comics)Pages128ISBN978-0-7851-2372-9OCLC68262369 The Halo Graphic Novel is a graphic novel anthology of the military science fiction video game series Halo, published by Marvel Comics in partnership with Bungie. The Halo Graphic Novel was the series' first entry into the sequential art medium...

Este artigo ou seção é sobre um evento futuro. Editor: considere especificar o tema dentre os predefinidos. As informações apresentadas podem mudar com frequência à medida que os eventos se aproximam. Não adicione especulações, nem textos sem referências ou fontes confiáveis; melhore-o de acordo com as recomendações dos projetos correspondentes. Titans(3.ª temporada) Informações Elenco Brenton Thwaites Anna Diop Teagan Croft Ryan Potter Curran Walters Conor Leslie Chelsea Zha...

 

Турнір другої ліги другого чемпіонату України з футболу 1992—1993 проводився з 17 серпня 1992 по 3 липня 1993 року. Зміст 1 Учасники 2 Підсумкова таблиця 3 Результати матчів 4 Найкращі бомбардири 5 Підсумки 6 Див. також 7 Посилання Учасники У турнірі другої ліги чемпіонату України бр...

 

Stratovolcano in the U.S. state of Washington This article is about the volcano in Washington state. For other uses, see Mount Rainier (disambiguation). For the nearby city named after the volcano, see Tacoma, Washington. Mount RainierTahomaMount Rainier's northwestern slope viewed aerially just before sunset on September 6, 2020Highest pointElevation14,411 ft (4,392 m) NAVD 88[1][2]Prominence13,246 ft (4,037 m)[1]Parent peakPico de O...

American-Canadian animated TV series (1989–1991) BeetlejuiceThe show's title card, depicting Lydia Deetz (left) and Beetlejuice (right)GenreFantasy comedyCreated byTim BurtonBased onBeetlejuiceby Michael McDowellLarry WilsonDeveloped byTim BurtonWritten by Patsy Cameron Tedd Anasti Directed by Robin Budd (seasons 1–2) John van Bruggen (seasons 3–4) Larry Jacobs (seasons 3–4) John Halfpenny (seasons 3–4) Rick Marshall (season 4) Alan Bunce (season 4) Voices of Stephen Ouimette Alyson...

 

Assembleia Legislativa PlurinacionalAsamblea Legislativa Plurinacional Tipo Tipo Bicameral Câmaras SenadoCâmara dos Deputados Liderança cargo vago cargo vago cargo vago Estrutura Assentos 166 membros130 deputados36 senadores Local de reunião La Paz, Bolívia Website www.diputados.bowww.senado.gob.bo A Assembleia Legislativa Plurinacional, anteriormente Congresso da Bolívia, é o mais importante órgão legislativo da Bolívia. É de tendência bicameral, composto por Senado e Câmara dos...

 

American multinational pizza chain based in Detroit This article is about the US pizzeria chain. For other uses, see Little Caesar (disambiguation). Pizza! Pizza! redirects here. For the unrelated Canadian pizza restaurant, see Pizza Pizza. This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (June 2023) Little Caesar Enterprises Inc.Pizza! Pizza!Headqu...

Bukan Salah CintaGenre Drama Roman PembuatTripar Multivision PlusBerdasarkanSino ang Maysala?: Mea Culpaoleh Keiko AquinoSutradara Sanjay Verma Irwan Ibon Ranto Chin Bayu Chaki Teguh Prayogi Sridhar Jetty Pemeran Mayang Yudittia Miqdad Addausy Ririn Dwi Ariyanti Krisjiana Baharudin Raquel Katie Larkin Bima Samudra Tessa Kaunang Dini Vitri Ihsan Tarore Pangky Suwito Krisna Murti Wibowo Penggubah lagu temaTiti DJ feat. Agnez MoLagu pembukaHanya Cinta yang Bisa — Titi DJ feat. Agnez MoLagu pen...

 

A roll of 50mm bondage tape Bondage tape is a 2-to-3-inch-wide (51 to 76 mm) and 0.0051 in-thick (0.13-millimetre) strip of thin plastic material (PVC in most cases) that adheres only to itself, without any adhesive; it is typically intended to be used in erotic bondage. Since it does not stick to the hair or skin, a bottom can be tightly bound or gagged without causing harm when the tape is removed.[1] Bondage tape is a versatile part of BDSM gear, and it's suited for begin...

 

Bagian dari seriHadis Ulum hadis Mustalahul hadis Kategori 'Ilm ar-rijal Mushannaf Israiliyyat Kumpulan Sunni1Kutubussittah(Enam Kitab) Shahih al-Bukhari صحيح البخاري Shahih Muslim صحيح مسلم Jami' at-Tirmidzi جامع الترمذي Sunan Abu Dawud سنن أبي داود Sunan an-Nasa'i سنن النسائي Sunan Ibnu Majah سنن ابن ماجه Lain Muwatta Malik Musnad Ahmad bin Hanbal Al-Adab al-Mufrad Syama'il Muhammadiyyah Al-Mustadrak ala ash-Shahihain Shahih Ibn Hi...

Comic book series Weird War TalesCover of Weird War Tales #1 (September–October 1971), art by Joe Kubert.Publication informationPublisherDC ComicsScheduleMonthlyFormat List (vol. 1): Ongoing (vol. 2): Limited series and a one-shot special Genre List WarFantasyHorrorScience fiction Publication date List (vol. 1) September–October 1971 – June 1983 (vol. 2) June 1997 – September 1997 No. of issues List (vol. 1): 124 (vol. 2): 4 Creative teamWritten by List (vol. 1)J. M. DeMatteis (70...

 

Species of bird Mayotte sunbird Conservation status Least Concern (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Aves Order: Passeriformes Family: Nectariniidae Genus: Cinnyris Species: C. coquerellii Binomial name Cinnyris coquerellii(Hartlaub, 1860) Approximate distribution map   Year-round The Mayotte sunbird (Cinnyris coquerellii) is a species of bird in the family Nectariniidae. It is endemic to Mayotte and ...

 

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (July 2017) Pancreatic Islet MacrophageImmunohistochemistry for a pancreatic islet (white) with macrophages (green and red), and cell nuclei (blue)DetailsPrecursorHematopoietic Stem CellSystemImmune systemLocationPancreatic isletIdentifiersLatinpancreaticae insulae macrophagocytusTHH2.00.01.0.00005 Anatomical terms of microanatomy[e...

Over murder of unarmed black man For broader coverage of this topic, see George Floyd protests. Several terms redirect here. For other uses, see List of incidents of civil unrest in Minneapolis–Saint Paul. George Floyd protests in Minneapolis–Saint PaulPart of George Floyd protestsClockwise from top Protesters march in Minneapolis on May 26, 2020 Police station set ablaze Volunteers clean up Ruins on East Lake Street Tear gas fired on protesters Date Initial events: May 26 – June 7, 202...

 

Pomnik Tysiąclecia Państwa Polskiego nr rej. B/430 11.V.2022 Pomnik Tysiąclecia, w tle widoczne VI LO w Bydgoszczy Państwo  Polska Miejscowość Bydgoszcz Miejsce Skwer Leszka Białego Typ pomnika trójnóg Styl architektoniczny brutalizm Projektant Stanisław Lejkowski Fundator Społeczeństwo bydgoskie Materiał Żelbet Data odsłonięcia 22 lipca 1967 Położenie na mapie BydgoszczyPomnik Tysiąclecia Państwa Polskiego Położenie na mapie PolskiPomnik Tysiąclecia Państwa Polsk...

 

Shakira awards and nominationsShakira at the Rock in Rio concert in 2008Awards and nominationsAward Wins NominationsAmerican Music Awards 5 8BET Awards 0 1Billboard Latin Music Awards 41 113Billboard Music Awards 7 23BMI Latin Awards 26 26BMI Pop Awards 3 3Brit Awards 0 2Emmy Awards 0 1Golden Globe Awards 0 1Grammy Awards 3 6Hollywood Walk of Fame 1 1iHeartRadio Music Awards 1 5International Dance Music Awards 2 9Latin American Music Awards 6 25Premios MTV Latinoamérica 12 18Latin Grammy Awa...

Struktur Bumi Inti dalam Bumi adalah bagian paling dalam, yang berbentuk bola padat dengan jari-jari sekitar 1.220 km, menurut studi seismologi.[1][2] Panjang jari-jari inti dalam Bumi ini sekitar 70% dari jari-jari bulan. Diyakini bahwa inti dalam Bumi terdiri dari campuran besi - nikel, dan suhu pada inti dalam Bumi diperkirakan sama dengan suhu permukaan Matahari, sekitar 5.700 Kelvin (5.430 ° C).[3] Referensi ^ Monnereau, Marc; Calvet, Marie; Margerin, Ludovic; So...

 

Naval battle fought in 1606 For other battles in the same place, see Battle of Cape St. Vincent. Battle of Cape St. VincentPart of Eighty Years' War and Dutch–Portuguese WarNaval battle between Spanish and Dutch (c. XVII), anonymous oil on canvas, Naval Museum of MadridDate16 June or 6 October 1606LocationOff Cape St. Vincent, Atlantic Ocean37°01′30″N 8°59′40″W / 37.0250°N 8.9944°W / 37.0250; -8.9944Result Spanish victoryBelligerents Spain United Province...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!