Сайт Кандирала Руслана

Фото Кандирала РусланаЗдравствуйте! Меня зовут Кандирал Руслан, мне 38 лет. Я уже долгое время занимаюсь программированием в разных направлениях и решил поделиться своими наработками с интернет публикой.

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

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

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

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

Форма обратной связи

Тема:
Сообщение:
Контактные данные (E-mail, Skype или Viber):

обновить код
 
Поделиться:
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
0
Артем Портнягин
02.09.2019 12:15
 
Добрый день. Что необходимо сделать, чтобы считать состояния входов с ОВЕН МК110 с помощью Ваших компонент? Подключиться удалось, а вот как считать состояния входов понимания нет =(
Показать полностью
5
Руслан Кандирал
02.09.2019 12:39
Артем Портнягин
 
Здравствуйте. Во первых, через программатор вы должны настроить прибор. То есть задать скорость работы и адрес устройства. В Delphi в компоненте KRCOMPortConnector1 устанавливаете настройки подключения. В KRModbusClient1 устанавливаете адрес устройства. Я не знаю какая у вас модификация прибора, я взял инструкцию rie_mk110-x.4k.4r_m01__2504.pdf. В инструкции на странице 48 указан адрес регистра состояния дискретных входов 0x0011. Для чтения этого регистра в компоненте KRModbusClient1 добавляем регистр, в нем устанавливаем тип MCT_WORD и RegisterIndex=17, Interval=1000. После это значение можно отображать в поле KRField
https://kandiral.ru/delphi/krfield.pas.h...
Показать полностью
0
Артем Портнягин
02.09.2019 13:06
Руслан Кандирал
 
Подключиться к МК110-224.8Д.4Р мне удалось, krcmprtcnctr1.Stat = cstConnected проходит. Адрес МК тоже указал (в моем случае он 16), MBType пробовал и ASCII и RTU. Создал регистр с RegisterIndex=0 (пробовал и с 1, и с 17), подключил его к KRField. Все связки компонент сделал. Запускаю, после подключения значение в поле становится 0. Замыкаю вход на МК110, но состояние в поле не меняется. В конфигураторе МК110 состояние меняется на 1 =( где то что то упускаю =(
Показать полностью
5
Руслан Кандирал
02.09.2019 14:17
Артем Портнягин
 
У вас мониторинг пакетов в программе есть? Я его сейчас вывел в отдельный компонент KRMBMon. В программе мини SCADA системы он используется. Покажите, что выдаёт мониторинг.
Показать полностью
0
Артем Портнягин
02.09.2019 14:25
Руслан Кандирал
 
02.09.2019 14:24:37.175 SEND: :100300020001EA

02.09.2019 14:24:37.216 RECV: :1003020000EB

02.09.2019 14:24:37.306 SEND: :100300010001EB

02.09.2019 14:24:37.347 RECV: :1003020000EB

02.09.2019 14:24:37.377 SEND: :100300010001EB

02.09.2019 14:24:37.418 RECV: :1003020000EB

02.09.2019 14:24:37.484 SEND: :100300000001EC

02.09.2019 14:24:37.525 RECV: :1003020000EB

02.09.2019 14:24:37.562 SEND: :100300000001EC

02.09.2019 14:24:37.603 RECV: :1003020000EB

02.09.2019 14:24:37.651 SEND: :100300030001E9

02.09.2019 14:24:37.692 RECV: :1003020000EB

02.09.2019 14:24:37.723 SEND: :100300020001EA

Вы про этот лог?
Показать полностью
5
Руслан Кандирал
02.09.2019 14:33
Артем Портнягин
 
Да, только опрос регистра 17. Но и ту уже видно, что прибор отвечает. То есть проблема, скорее всего в адресе регистра
Показать полностью
0
Артем Портнягин
02.09.2019 14:34
Руслан Кандирал
 
Когда включаю 17 регистр - лог пустой. Замыкание и размыкание сигнала на входе ни к чему не приводит
Показать полностью
5
Руслан Кандирал
02.09.2019 14:45
Артем Портнягин
 
Как, вообще пустой?
Как минимум запросы должны отправляться.
Показать полностью
0
Артем Портнягин
02.09.2019 14:50
Руслан Кандирал
 
Device address 16, Register index 0. При такой настройке около 21 пакета в сумме идет (Запрос-ответ). При Register index 1 около 8 пакетов в сумме. При Register index 2 и 3 около 4 пакетов в сумме. На Register index 4 лог становится пустым, нет запросов и нет ответов. Пробовал от 0 до Register index = 20, после 4го пустота
Показать полностью
5
Руслан Кандирал
02.09.2019 16:29
Артем Портнягин
 
Ещё, как вариант, попробуйте в настройках регистра свойство ReadFunction установить в mbfReadInputRegisters
Показать полностью
Комментарий удален
0
Виталий Михайловский
05.07.2019 18:46
 
Добрый день, спасибо за столько подробной информации! Я последние 3-4 месяца пытаюсь решить вопрос с автоматизацией кондиционеров и вентиляции, с участием modbus RTU и устройства ZUNO Z-wave (на базе Arduino). К сожалению ваши разработки не получается внедрить, поэтому пытаюсь разобраться более подробно. Можете проконсультировать или дать совет пожалуйста, не хватает знаний каким образом правильно считать или отправить пакет через Arduino? Я не знаю как с вами связаться, если можете помочь, буду очень признателен.
Показать полностью
0
Сергей ****
02.02.2019 08:10
 
Спасибо большое за Вашу работу! Всё идеально реализовано и документировано. Вы просто хороший человек... ))
Показать полностью
0
Андрей Губко
16.12.2018 12:15
 
Руслан приветствую! Попробовал твой код работает хорошо. На основе твоего кода пишу свой проект. Хотелось заточить под rs485. Если возможно подскажите как это сделать. Спасибо!!
Показать полностью
1
Олег Пфлюг
17.12.2018 12:21
Андрей Губко
 
Посмотрите мои коментарии по https://kandiral.ru/arduino/modbus_slave... от 08.10.2017 21:10 и 08.11.2017 13:03
Показать полностью
5
Руслан Кандирал
16.12.2018 12:44
Андрей Губко
 
Андрей, я ведь вам уже написал, что для компьютера не важно какая связь rs232 или rs485. В обоих случаях работа будет с COM портом. Больше я не знаю что подсказать, вы не пишите не какой конкретики.
Показать полностью
0
Андрей Губко
16.12.2018 00:37
 
Руслан спасибо за статью. Попробовал ваш код. Работает хорошо для 232. Если можете подскажите как сделать управляющий сигнал для 485 порта. Я использовал ASCII. Спасибо если поможете.
Показать полностью
5
Руслан Кандирал
16.12.2018 11:12
Андрей Губко
 
Работа с rs485 для компьютера ни чем не отличается от работы с rs232. Единственное, что вам понадобится преобразователь для подключения сети rs485 к компьютеру. Преобразователи есть USB и PCI. USB to RS485 это удобный и дешевый вариант, который вполне подойдет для тестирования. Через преобразователь компьютер будет видеть сеть rs485 как COM порт.
Показать полностью
0
ResKacey
16.09.2018 23:49
 
Hi Ruslan. Your modbus components works in C++Builder (Tokyo)?
Показать полностью
5
Руслан Кандирал
17.09.2018 07:13
ResKacey
 
I dont know. I do not work with C++Builder.
Показать полностью
0
Sergei Mihailov
21.08.2018 10:27
 
День добрый Руслан. У меня вопрос в следующем я правильно понял что у Вас реализован протокол modbus поверх TCP а не чистый ModbusTCP?
Показать полностью
5
Руслан Кандирал
21.08.2018 10:41
Sergei Mihailov
 
Здравствуйте. Не совсем понятен Ваш вопрос. Протокол TCP реализован на уровне системы Windows. И я использую WinAPI для передачи пакетов Modbus посредством стека протоколов TCP/IP. Modbus TCP - это формат пакета отправляемого подчиненному устройству. И он(формат пакета Modbus TCP) реализован у меня согласно официальным спецификациям.
Показать полностью
0
Sergei Mihailov
21.08.2018 11:48
Руслан Кандирал
 
Я наверное немного не правильно выразился. Извините. У Вас реализовано соеденение Modbus RTU через TCP соеденение, а я спрашивал о возможности соеденения ModbusTCP здесь присутствует небольшая разница более подробно в статье https://www.siv-blog.com/modbus-tcp-spec... . Я использую в своих проектах переходники с возможностью режима ModbusTCP. При включении режима на переходнике ModbusTCP проект перестает видеть устройство из за разности посылок, если оключаю режим ModbusTCP То все прекрасно работает. У меня реализованы проекты обмена с контроллерами ОВЕН в режиме modbusTCP с устройствами все работет, или если использовать проект на основе pscalscada для lazarus тоже все работает. Но так как я работаю с Delphi XE7 то мне более привлекателен ваш проект.
Показать полностью
5
Руслан Кандирал
21.08.2018 12:09
Sergei Mihailov
 
Вы говорите о двух разных вещах:
1) Тип связи (сеть или COM порт). У меня за это отвечают коннекторы. То есть в зависимости от того какой коннектор (KRTCPConnector или KRCOMPortConnector) вы подключите к компоненту KRModbusMaster такая и будет связь.
2) Тип протокола Modbus (TCP/RTU/ASCII). Для этого есть свойство MBType в компоненте KRModbusClient.

Для подключение через COM порт с использованием протокола Modbus RTU нужно использовать коннектор KRCOMPortConnector и в свойстве MBType указать mbtRTU.

Для подключение по сети с использованием протокола Modbus TCP нужно использовать коннектор KRTCPConnector и в свойстве MBType указать mbtTCP.

В видео я показываю разные типы связи и меняю коннектор и свойство MBType:
Показать полностью
0
Sergei Mihailov
21.08.2018 12:37
Руслан Кандирал
 
Извините сразу не заметил. Убрал автоматом подстановку из комбобокса MBType при установлении соединения. Все заработало. Спасибо за разъяснение.
Показать полностью
0
Sergei Mihailov
21.08.2018 12:29
Руслан Кандирал
 
Извините я ошибся в примере соединение автоматом ставился либо ASCII либо RTU от комбобокса убрал все заработало. Спасибо за разъяснение. Все отлично работает.
Показать полностью
0
Динар Ишмухаметов
17.05.2018 13:09
 
Доброго времени суток.В Delphi необходимо реализовать постройку графика реального процесса(с датчика на выходе) и модели данного процесса(через разностное уравнение).В связи с этим на входе реального и модельного процессов будут подаваться показания параметра давления с одного датчика.После чего по этому давлению будет происходить расчет модели на выходе на основании разностного уравнения.Второй датчик будет использован для вывода графика с реального процесса.И в итоге будут выводиться два графика один по модели другой по реальному процесса.Вопрос:как реализовать такие фиктивные датчики?Обязательно ли применять ПЛК?Какие из Ваших наработок,по вашему мнению,лучше тут применить?
Показать полностью
5
Руслан Кандирал
17.05.2018 14:04
Динар Ишмухаметов
 
Здравствуйте.

Как я понял вас интересует связь по протоколу modbus между программой на Delphi и условными датчиками.

Для имитации сигналов нужно делать отдельную программу с Modbus Slave. Но у меня в компонентах еще не реализовано Modbus Slave. В принципе, для обработки двух сигналов можно сделать простой обработчик пакетов.

Если для связи используется COM-порт, то можно использовать com0com.

Если для связи используется TCP/IP, то для имитации сигналов в программе имитаторе нужно делать TCPServer.

Для прорисовки графиков у меня компонентов нет. Недавно задача построения графика, я использовал TJvChart. Когда-то давно делал график с помощью TChart
Показать полностью
0
Динар Ишмухаметов
17.05.2018 21:22
Руслан Кандирал
 
еще вопрос,Руслан,а я могу использовать modbus RTU для осуществления передачи данных с фиктивного датчика давления на модель?
Показать полностью
5
Руслан Кандирал
18.05.2018 08:58
Динар Ишмухаметов
 
Правильно я вас понял? Датчиков у вас нет и вы хотите имитировать сигнал?

В таком случае вам нужна программа(эмулятор) которая будет имитировать сигнал и по запросу генерировать modbus slave пакеты.
Тут есть два варианта:
1) Сделать эмулятор самому. (в моем пакете компонентов modbus slave нет)
2) Скачать в интернете готовый эмулятор. (google по запросу "имитация сигнала modbus" выдает довольно много вариантов. Я такими программами не пользовался, по этому посоветовать ничего не могу)

Далее, вам нужно делать программу на Delphi которая будет получать сигналы и строить графики. Для реализации связи по протоколу Modbus RTU вам поможет пример
https://kandiral.ru/delphi/primer_pereda...

Если вам нужно использовать modbus RTU значит связь будет через COM порт. Для связи эмулятора и вашей основной программы можно использовать com0com. com0com - это бесплатная утилита которая создает пары виртуальных COM портов между которыми происходит передача данных. Создаете пару портов, к одному подключается эмулятор, а ко второму ваша программа.
Показать полностью
0
Динар Ишмухаметов
17.05.2018 20:25
Руслан Кандирал
 
Хорошо,спасибо
Показать полностью
0
Иван Иванов
10.05.2018 08:10
 
Добрый день.
Есть инструкция или возможность собрать пакет под Delphi 2007?
Показать полностью
5
Руслан Кандирал
10.05.2018 09:08
Иван Иванов
 
Здравствуйте
Нет. Такой инструкции нет.
Пакет разрабатывался под Delphi XE и проверялся под некоторые версии выше.
Можете попробовать, но как мне кажется могу возникнуть сложности. Как минимум из-за того, что Delphi 2007 не юникодовская версия.
Я думаю проще будет перейти на Delphi XE
Показать полностью
0
Иван Иванов
18.05.2018 08:59
Руслан Кандирал
 
Получается компонент для ModBus реализует только мастер устройство?
Показать полностью
5
Руслан Кандирал
20.05.2018 20:57
Иван Иванов
 
Да. Slave только планирую сделать
Показать полностью
0
Слава Тетерин
01.03.2018 12:08
 
Руслан, в говорите что KRComPort это не компонент . Тогда подскажите как пользоваться портом. Раньше я использовал AcyncFree в Borland Delphi 7. Мне нужно читать данные с порта и отправлять в порт. В идеале бы событие по приему, коннекте и дисконнекте. Может у вас пример есть?
Показать полностью
5
Руслан Кандирал
01.03.2018 12:32
Слава Тетерин
 
Если старая версия устанавливалась, то ставьте старую.
Давайте я вам вечером сделаю программу перенаправленния данных из порта в порт? Часов в 20(мск).
Показать полностью
0
Слава Тетерин
01.03.2018 09:49
 
Руслан у меня не получается установить сам ComPort. Остальные компоненты встают нормально. Делфи xe8
Показать полностью
5
Руслан Кандирал
01.03.2018 11:00
Слава Тетерин
 
Вы уточняйте почему не получается сделать то или иное действие. Делфи ведь что-то выдает (какую нибудь ошибку)?
Показать полностью
0
Слава Тетерин
01.03.2018 10:30
Слава Тетерин
 
В Файле KRAutomationRigister.pas он не прописан, прописывал его туда в ручную, не компилится. Устанавливал KRComPort в ручную (через component install) он установился, но в палитре не появился.
Показать полностью
5
Руслан Кандирал
01.03.2018 11:16
Слава Тетерин
 
KRComPort - это не компонент, он не устанавливается. Его нужно прописывать вручную.
Пример:
Можете еще посмотреть в файле KRCOMPortConnector.pas, там он используется.
Показать полностью
5
Руслан Кандирал
01.03.2018 10:55
Слава Тетерин
 
Не могу точно сказать в чем у вас проблема. Вот новая версия библиотек
https://kandiral.ru/downloads/Kandiral_0...

Она немного изменилась, и теперь под каждую версию delphi отдельный пакет. Пока есть только для XE и XE7. Я думаю вам подойдет пакет под XE7

Инструкция по установке:
1) Удаляем старую версию и все пути к ней
2) Создаем переменную (Tools->Options->Enviroment Options->Enviroment
Variables) KANDIRAL=Путь к папке библиотек
3) в "Library path"(Tools->Options->Enviroment Options->Delphi
Options->Library) добавить
$(KANDIRAL)\Release\$(ProductVersion)\$(Platform)\
$(KANDIRAL)\Resources\
4)в "Browsing path" (Tools->Options->Enviroment Options->Delphi
Options->Library) добавить:
$(KANDIRAL)\Common
$(KANDIRAL)\Automation
$(KANDIRAL)\File
$(KANDIRAL)\Media
$(KANDIRAL)\Net
$(KANDIRAL)\Utils
$(KANDIRAL)\Graphics
5) запустите Kandiral150.groupproj (для delphi XE) или
Kandiral210.groupproj (для delphi XE7)
6) Делаем build всех пакетов
7) Устанавливаем все пакеты кроме KRMedia
Показать полностью
1
Олег Пфлюг
21.01.2019 19:18
Руслан Кандирал
 
Поставил на DX 10.3 полет нормальный. Компиляцию проходит.))
Показать полностью
0
Слава Тетерин
01.03.2018 11:34
Руслан Кандирал
 
Переустановил Делфи. Сделал все по вашей инструкции. Ошибка при компиляции E2199 Packeges ‘KR Common’ both contain unit ‘md5’
Показать полностью
1
Олег Пфлюг
01.03.2019 16:04
Слава Тетерин
 
При этой ошибки открывается файл(вкладка) KRCommon. В нем находим слово "contains". После него идет список через запятую модулей. Туды вбиваем вот это
md5 in '..\..\Utils\md5.pas', Компиляция проходит
Показать полностью
1
Олег Пфлюг
28.02.2019 15:53
Слава Тетерин
 
К стати по поводу md5 ошибки. У меня возникает когда беру библиотеку от 23.10.2018. [dcc32 Fatal Error] KRSIPClient.pas(15): F2613 Unit 'md5' not found.
Embarcadero® Delphi 10.3 Но если взять библиотеку от 01.03.2018. То все хорошо.
Показать полностью
5
Руслан Кандирал
01.03.2018 12:09
Слава Тетерин
 
Удалите из пакета KRCommon файл md5.pas
Показать полностью
0
Слава Тетерин
01.03.2018 12:26
Руслан Кандирал
 
Я удалил, такая дел ошибка возникла еще с несколькими файлами. Я их тоже удалил. Теперь вышла ошибка Е2213 Bad packaged unit format: C:\Program Files\....\KrAutomation.dcp.KRBTConnector - Expected version: 29.0, Windows Unicode (x86) Found version: 22.0, Windows Unicode(x86). Руслан у меня же устанавливалась предидущая версия, я просто не понял как пользоваться компонентом. Может установить обратно ту версию?
Показать полностью
0
maxzz
26.10.2017 13:59
 
Здравствуйте, Руслан!
Попробовал компоненты для работы с MODBUS из Вашей библиотеки. Под Delphi всё работает замечательно, но вот из-под C++ Builder в компоненте KRCOMPortConnector
при присваивании значения свойству Port вылетает ошибка линкера
[ilink32 Error] Error: Unresolved external '__fastcall Krcomportconnector::TKRCOMPortConnector::SetPortW(System::UnicodeString)' referenced from ..\MAINUNIT.OBJ,
в версиях XE2, XE5, XE10.1, причем в XE10.1 то же происходит и в случае присваивания внутри отдельного класса в паскалевском модуле, для присваивания специально написанного
[ilink32 Error] Error: Unresolved external '__fastcall Delphicode::TMyDelphiClass::SetPortW(System::UnicodeString)' referenced from ...\CPPFORM.OBJ
Я понимаю, что, скорее всего, в С++ Вuilder Вы, скорее всего, библиотеку не тестировали, но, возможно у Вас есть соображения, куда копать?
Показать полностью
5
Руслан Кандирал
26.10.2017 23:11
maxzz
 
Честно скажу в C++ Builder работать не приходилось.

Вы можете прислать(выложить на облаке) тестовый проект на C++ Builder который бы коннектился по Modbus используя мои библиотеки. Я попробую запустить его у себя.
Показать полностью
0
Andrey Postolov
26.10.2017 16:33
 
Здравствуйте, Руслан.
На Ваших компонентах практически доделал миниСкаду по ModbusRTU. Но получился затык с Coils и дискретными входами. Компонент ModbusClient у Вас поддерживает только Inputs и Holding. Пробовал ф-ции MBMReadCoils, MBMReadDiscretInputs. Код компилируется, но приложение вылетает с ошибкой. Нет ли у Вас примера работы с этими функциями? Или полнофункционального ModbusClient? Готов купить эти компоненты у Вас.
Показать полностью
5
Руслан Кандирал
26.10.2017 22:47
Andrey Postolov
 
Здравствуйте, Андрей

Функции протокола Modbus по работе с coils я уже сделал, но еще не выложил обновленный набор библиотек на сайте.
Но, так как мне еще не приходилось использовать coil функции, я их до сих пор не протестировал.

Вот можете скачать версию библиотек на текущий момент:
https://kandiral.ru/downloads/Kandiral_2...


Способ установки библиотек немного изменился
- В настройках Delphi в разделе Enviroment Variabels нужно добавить переменную с именем KANDIRAL, а значение должен быть путь к папке с библиотеками. Например: D:\Kandiral
- В настройках Delphi в разделе Library в поле Library path, в самый конец строки добавить ;$(KANDIRAL)\Release\$(ProductVersion)\$(Platform)\
- В настройках Delphi в разделе Library в поле Browsing path, в самый конец строки добавить ;$(KANDIRAL)\Common;$(KANDIRAL)\Automation;$(KANDIRAL)\File;$(KANDIRAL)\Media;$(KANDIRAL)\Net;$(KANDIRAL)\Utils;$(KANDIRAL)\Graphics


И еще в новой версии библиотек пакеты распределены по версиям платформа. Сейчас есть только для Delphi XE и Delphi XE7.
Показать полностью
0
Andrey Postolov
29.10.2017 15:05
Руслан Кандирал
 
Руслан, спасибо за обновление, но попробовать нет возможности ( у меня ХЕ5). Поэтому вопрос: как из ф-ций ReadReadCoils и ReadDiscretInputs вытащить данные в произвольную переменную? Подсунул пустую CallBack, а вот дальше запутался с указателями.
Показать полностью
5
Руслан Кандирал
29.10.2017 18:02
Andrey Postolov
 
Вот пример получения значения coil с адресом 0. Чтение значения дискретных входов аналогичное
Показать полностью
0
Павел Бородай
04.04.2017 15:14
 
А можно пример работы с модемом????
Показать полностью
5
Руслан Кандирал
04.04.2017 16:37
Павел Бородай
 
Я делал библиотеку под модем для контроллера ОВЕН.
Функционал:
- прием/отправка смс сообщений
- USSD
- интернет
- синхронизация времени по NTP
Библиотеку делал давно и есть уже некоторые моменты, которые хочу переделать.
Я планировал сделать ее описание после доработки.

Я могу выслать вам эту библиотеку, она с открытым кодом но без комментариев. Или могу сделать описание того варианта который есть сейчас и выкинуть на сайт до конца недели. На доработку у меня сейчас нет времени.
Показать полностью
0
Павел Бородай
05.04.2017 13:38
Руслан Кандирал
 
Если можно то пришлите мне эту библиотеку
Показать полностью
5
Руслан Кандирал
05.04.2017 15:05
Павел Бородай
 
Отправил вам на почту
Показать полностью
0
Павел Бородай
05.04.2017 15:34
Руслан Кандирал
 
Спасибо получил!! Прошу прощения но я наверно неправильно поставил вопрос, меня интересует как пользоваться в DELPHI KRModem.pas в вашем наборе компонентов
Показать полностью
5
Руслан Кандирал
05.04.2017 15:44
Павел Бородай
 
Этот код еще очень сырой. Я его недавно писал под один проект, но так как в процессе реализации заказчик передумал использовать модем, то библиотека осталась не доработанной.
Показать полностью
0
Павел Бородай
05.04.2017 16:03
Руслан Кандирал
 
Жалко !!! Я пробовал подключать плк100 и ваш пример работает стабильно, но мне надо опрос удаленных плк через модем по Modbus ASCII по CSD средствами дельфи
Показать полностью
1
Доброжелатель 111
15.03.2017 10:00
 
Спасибо. понравился Ваш код по ModbusTCP, в частности Ваш modbus.pas. Жаль, что он без комментариев, но это сподвигает на разбор кода самостоятельно, можно сказать, учусь у профессионала.
Показать полностью
0
Сергей Шевляков
24.01.2017 10:18
 
Добрый день Руслан. ,
Недавно установил Ваши компоненты и хотел их опробовать, но не хватило ни опыта ни мозгов, т.к. никогда не сталкивался с необходимостью разработки в этом направлении.
Меня интересует передачи/приема данных с контроллером по протоколу ModBus., а именно:
1. На какие свойства настройки стоит обратить внимания при настройки связи по протоколу ModBus, и какие компоненты должны быть использоваться.
2. Пример записи и чтения данных.

я просмотрел пример "Пример передачи данных по протоколу Modbus на Delphi контроллера ОВЕН ПЛК100" - там маловато комментарий. Понятно, что на очевидные вещи не нужны коменты, когда понимаешь что происходит.
В моем же случае: я впервые работаю с протоколом Modbus. Хотелось бы более детальней понять все.
Показать полностью

Новости сайта

05.05.2020 15:34
Новая статья про удаленное управление принтером Domino V-series
Реализация протокола передачи данных для связи с термотрансферным принтером Domino V-series из Delphi
24.04.2020 22:14
Добавлена статья по работе с сенсором Omron FQ-CR1 из Delphi
Подключение по сети к считывателю штрих-кодов Omron FQ-CR1 из программы на Delphi
17.03.2020 20:46
Обновлен пакет компонентов для Delphi
Доступна для скачивания новая версия компонентов для Delphi, от 17.03.2020г. С данной версии библиотеки доступны и на GitHub
28.01.2020 16:15
Опубликована статья о принципе работы коннекторов в Delphi
Коннектор – это объект, осуществляющий связь с внешними объектами(объектом). Внешним объектом может выступать другая программа или другое устройство, которое поддерживает тот же интерфейс или протокол связи.

Популярные статьи

Инструкция по установке компонентов на Delphi
Подробная инструкция по установке компонентов на Delphi с видео обзором
Экспорт таблиц Google Sheets в PDF файл
Экспорт таблиц Google Sheets в PDF файл с помощью Google Script с последующим скачиванием или сохранением на Google Drive или отправкой на почту
Modbus Slave на Arduino
Реализация клиентской части протокола Modbus RTU и Modbus ASCII для контроллеров Arduino
Пример передачи данных по протоколу Modbus на Delphi
Пример передачи данных с контроллера ОВЕН ПЛК100 в программу на Delphi по протоколу Modbus