Рассмотрены способы обмена данными и контроля целостности линии связи.
Пусть существует система, состоящая из нескольких (двух или более) ПЛК, которые взаимодействуют друг с другом путем обмена переменными.
При этом один из ПЛК является ведущим (управляющим), а второй – ведомым (управляемым). Управляемый контроллер реализует локальные регуляторы объекта, получая задания от ведущего контроллера. При этом ключевое значение имеет контроль целостности линии связи, при обрыве линии связи ведомый контроллер должен перевести объект в некоторое заданное «безопасное» состояние. Ниже рассмотрены способы контроля целостности линии при различных способах взаимодействия контроллеров.

Рис. 1. Пример системы из двух контроллеров
Читать дальше...

Рис. 1. Принципиальная схема преобразователя (нажмите для увеличения).
Ток в нагрузке (в режиме стабилизации тока) задается резистором R4, делитель напряжения R2 R3 служит для ограничения выходного напряжения при разомкнутом выходе (режим стабилизации напряжения). Без цепи R2 R3 напряжение на выходе при отсутствии нагрузки будет неограниченно расти до выхода из строя микросхемы преобразователя.
Читать дальше
Originally published at 32 bit.me. You can comment here or there.
Хороший учебник, позволяющий несколько упорядочить знание Matlab. Большое внимание уделено визуализации различных функций (в 2D и 3D). Однако расширения Matlab, и, в первую очередь, Simulink, рассмотрены в виде «обзора», без углубления в тему.
В целом книга хороша для первого знакомства с Matlab, однако для более детального изучения нужна дополнительная литература.
Книга содержит 768 страниц.
Originally published at 32 bit.me. You can comment here or there.
Для получения скриншотов с экранов устройств была разработана маленькая утилитка, получающая текущее изображение по Rs-232.

Сама утилитка написана на C#, в программу устройства был добавлен небольшой фрагмент, отправляющий в UART изображение из буфера:
switch(buf[1]) { case 0x03: //read multiple holding registers (0x04) ... break; //Другие команды Modbus ... case 0xFF: // Команда получения скриншота ... return PrintScreen(uartNum); };
Таким образом, стандартные команды Modbus «расширяются» специальной командой с кодом 0xFF, при получении которой устройство посылает в порт копию экрана (для монохромного экрана 128*64 это составляет ровно 1 кбайт данных).
Утилитка очень простая, небольшое (но, как оказалось, легко решаемое) затруднение вызвал тот факт, что С# работает с COM-портом не так, как другие системы (например, Delphi).
C# создает отдельный поток исполнения для обработчика события приема сообщения COM-порта. А раз это отдельный поток, в нем нельзя отрисовывать изображение (операции с графикой не являются в .Net потокобезопасными).
Проблему можно решить двумя путями: верным и неверным.
Originally published at 32 bit.me. You can comment here or there.
Вообще-то это уже было здесь в комментариях, но, чтобы не забыть, выложу это в посте.
Настройки размера кучи и стека в IAR делаются здесь:
Под кучей (heap) понимается динамически распределяемая память (цитата из Википедии: «Ку́ча (англ. heap) в информатике и программировании — название структуры данных, с помощью которой реализована динамически распределяемая память приложения«), хотя настоящие снобы должны знать, что куча – это совсем другое (цитата из англоязычной Википедии: «In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if B is a child node of A, then key(A) ≥ key(B).«)
Originally published at 32 bit.me. You can comment here or there.
В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.
Полный текст опубликован на Хабрахабре: http://habrahabr.ru/blogs/easyelectronic








