О блоге
Программирование логических контроллеров. Direct Logic, Simatic, Omron Zen, Siemens Logo и подобных. Также описание железа и работы с ними.
Администраторы (1)
Модераторы (0)
Модераторов здесь не замеченоЧитатели (30)
Vga Leopoldius sunjar Lifelover Helix Payne87 abigsam juray dima32rus PPetrovich JeckDigger Listunov DOOMSDAY Fahivec Const kalik aen petro-ew amsterdam golf2109Все читатели блога
Beremiz - свободная среда программирования ПЛК. Часть 2
Надеюсь, что заинтересовавшиеся, прочитав первую часть, установили себе Beremiz и пролистали руководство пользователя. Тогда у читателя совершенно закономерно должен был возникнуть вопрос: а как и кому Beremiz может быть полезен?
Читать дальше
Читать дальше
Beremiz - свободная среда программирования ПЛК. Часть 1
Beremiz — это интегрированная среда разработки для ПЛК с открытым исходным кодом, которая полностью соответствует стандарту МЭК-61131-3. Beremiz опирается на открытые стандарты, которые не зависят от целевых устройств. Так что вы можете превратить любой процессор в ПЛК. Также Beremiz включает инструменты для создания HMI и подключения ваших программ PLC к наблюдению, базам данным или полевым шинам.

Читать дальше

Читать дальше
Simatic Step 7. STL. Бит четности (паритета).
Под четностью битовой строки понимается, какое кол-во единичных бит — четное или нечетное — содержит эта строка. Правильнее было бы назвать его битом нечетности, т.к. нечетному кол-ву бит соответствует единичный бит четности, четному кол-ву — нулевой. Математически результат представляет собой сумму всех бит слова по модулю 2, т.е. над всеми битами выполняется операция исключающее ИЛИ. В стандартной библиотеке такой функции нет.
Читать дальше
Читать дальше
Simatic Step 7. STL. Установка/сброс бита по номеру
По сути это программная реализация двоичного дешифратора (декодера). Он преобразует двоичный код номера бита в унитарный код со значащей единицей (нулем).
Читать дальше
Читать дальше
Simatic Step 7. STL. Реверс бит
Под операцией реверса битов понимается отображение содержимого регистра относительно середины слова, т.е. отображение битов в слове в обратном порядке.
В языке Simatic STL такой команды нет, имеющиеся CAW, CAD реверсируют байты в слове и двойном слове, т.е. преобразуют между форматами little-endian и big-endian. В стандартной библиотеке подобной функции так же нет. Для реализации был выбран алгоритм реверсирования на основе бинарного обмена из книги Генри Уорена «Алгоритмические трюки для программистов», 2014 г.
Читать дальше
В языке Simatic STL такой команды нет, имеющиеся CAW, CAD реверсируют байты в слове и двойном слове, т.е. преобразуют между форматами little-endian и big-endian. В стандартной библиотеке подобной функции так же нет. Для реализации был выбран алгоритм реверсирования на основе бинарного обмена из книги Генри Уорена «Алгоритмические трюки для программистов», 2014 г.
Читать дальше
- 0
- 10 декабря 2016, 18:28
- anakost
- Оставить комментарий
Simatic Step 7. STL. Подсчет установленных бит.
Эта функция возвращает кол-во установленных (единичных) бит в аргументе. Иногда возвращаемое значение называют весом Хемминга. Кроме самостоятельной ценности, по возвращаемому значению функции легко определить четность аргумента (нулевой бит).
Читать дальше
Читать дальше
- 0
- 09 декабря 2016, 19:06
- anakost
- Оставить комментарий
Simatic Step 7. STL. Номер установленного/сброшенного бита.
По сути это программная реализация приоритетного шифратора (кодера). Он преобразует унитарный код с ведущей значащей единицей (нулем) в двоичный код номера установленного/сброшенного бита.
Есть две разновидности алгоритма, поиск старшего или младшего бита. Например, в системе команд i386 для этого есть специальные команды BSR и BSF. Очевидно, если установленный бит один, результат будет одинаковый для обоих. Соответственно, если установленных битов несколько, результат будет отличаться.
Читать дальше
Есть две разновидности алгоритма, поиск старшего или младшего бита. Например, в системе команд i386 для этого есть специальные команды BSR и BSF. Очевидно, если установленный бит один, результат будет одинаковый для обоих. Соответственно, если установленных битов несколько, результат будет отличаться.
Читать дальше
Simatic Step 7. STL. Доступ к текущему времени.
В предыдущей статье Simatic Step 7. STL. Вычисление числа дней в месяце (DayOfMonth) пришлось немного углубиться в преставление системного времени Simatic Step 7. Получилось не очень (ни туда, ни сюда), решил оформить эту тему отдельной статьей. Разговор пойдет только о системном формате времени DATE_AND_TIME. Simatic поддерживает и другие форматы (TIME_OF_DAY (DWord, время суток), S5TIME (Word, время в формате Simatic, для таймеров и счетчиков), TIME (DWord, время в формате IEC), DATE (DWord, дата в формате IEC)), межформатные преобразования предусмотрены стандартной библиотекой.
Читать дальше
Читать дальше
- 0
- 19 ноября 2016, 17:06
- anakost
- Оставить комментарий
Simatic Step 7. STL. Вычисление числа дней в месяце (DayOfMonth).
Понадобилось программно контролировать правильность введенной оператором даты для просмотра показаний в хозрасчетном архиве. А для этого нужна функция, возвращающая кол-во дней в любом месяце любого года. В стандартной библиотеке такой функции не нашел, пришлось разбираться.
Читать дальше
Читать дальше
- +1
- 16 ноября 2016, 19:53
- anakost
- Оставить комментарий
Simatic Step 7, STL, масштабирование (Scale) сигнала аналогового входа 4-20mA.
Масштабирование — это функция, которая преобразует входной набор данных в выходной набор в заданном диапазоне. Функция обеспечивает удобный способ сопоставления входного набора данных и данных, которые будут участвовать в вашей визуализации.
Читать дальше
Читать дальше