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

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

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

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

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

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

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

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

обновить код
 
Поделиться:
0
Артем Портнягин
02.09.2019 12:15
 
Добрый день. Что необходимо сделать, чтобы считать состояния входов с ОВЕН МК110 с помощью Ваших компонент? Подключиться удалось, а вот как считать состояния входов понимания нет =(
Показать полностью
13
Руслан Кандирал
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 =( где то что то упускаю =(
Показать полностью
13
Руслан Кандирал
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

Вы про этот лог?
Показать полностью
13
Руслан Кандирал
02.09.2019 14:33
Артем Портнягин
 
Да, только опрос регистра 17. Но и ту уже видно, что прибор отвечает. То есть проблема, скорее всего в адресе регистра
Показать полностью
0
Артем Портнягин
02.09.2019 14:34
Руслан Кандирал
 
Когда включаю 17 регистр - лог пустой. Замыкание и размыкание сигнала на входе ни к чему не приводит
Показать полностью
13
Руслан Кандирал
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го пустота
Показать полностью
13
Руслан Кандирал
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
Показать полностью
13
Руслан Кандирал
16.12.2018 12:44
Андрей Губко
 
Андрей, я ведь вам уже написал, что для компьютера не важно какая связь rs232 или rs485. В обоих случаях работа будет с COM портом. Больше я не знаю что подсказать, вы не пишите не какой конкретики.
Показать полностью
0
Андрей Губко
16.12.2018 00:37
 
Руслан спасибо за статью. Попробовал ваш код. Работает хорошо для 232. Если можете подскажите как сделать управляющий сигнал для 485 порта. Я использовал ASCII. Спасибо если поможете.
Показать полностью
13
Руслан Кандирал
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)?
Показать полностью
13
Руслан Кандирал
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?
Показать полностью
13
Руслан Кандирал
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 то мне более привлекателен ваш проект.
Показать полностью
13
Руслан Кандирал
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 необходимо реализовать постройку графика реального процесса(с датчика на выходе) и модели данного процесса(через разностное уравнение).В связи с этим на входе реального и модельного процессов будут подаваться показания параметра давления с одного датчика.После чего по этому давлению будет происходить расчет модели на выходе на основании разностного уравнения.Второй датчик будет использован для вывода графика с реального процесса.И в итоге будут выводиться два графика один по модели другой по реальному процесса.Вопрос:как реализовать такие фиктивные датчики?Обязательно ли применять ПЛК?Какие из Ваших наработок,по вашему мнению,лучше тут применить?
Показать полностью
13
Руслан Кандирал
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 для осуществления передачи данных с фиктивного датчика давления на модель?
Показать полностью
13
Руслан Кандирал
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?
Показать полностью
13
Руслан Кандирал
10.05.2018 09:08
Иван Иванов
 
Здравствуйте
Нет. Такой инструкции нет.
Пакет разрабатывался под Delphi XE и проверялся под некоторые версии выше.
Можете попробовать, но как мне кажется могу возникнуть сложности. Как минимум из-за того, что Delphi 2007 не юникодовская версия.
Я думаю проще будет перейти на Delphi XE
Показать полностью
0
Иван Иванов
18.05.2018 08:59
Руслан Кандирал
 
Получается компонент для ModBus реализует только мастер устройство?
Показать полностью
13
Руслан Кандирал
20.05.2018 20:57
Иван Иванов
 
Да. Slave только планирую сделать
Показать полностью
0
Слава Тетерин
01.03.2018 12:08
 
Руслан, в говорите что KRComPort это не компонент . Тогда подскажите как пользоваться портом. Раньше я использовал AcyncFree в Borland Delphi 7. Мне нужно читать данные с порта и отправлять в порт. В идеале бы событие по приему, коннекте и дисконнекте. Может у вас пример есть?
Показать полностью
13
Руслан Кандирал
01.03.2018 12:32
Слава Тетерин
 
Если старая версия устанавливалась, то ставьте старую.
Давайте я вам вечером сделаю программу перенаправленния данных из порта в порт? Часов в 20(мск).
Показать полностью
0
Слава Тетерин
01.03.2018 09:49
 
Руслан у меня не получается установить сам ComPort. Остальные компоненты встают нормально. Делфи xe8
Показать полностью
13
Руслан Кандирал
01.03.2018 11:00
Слава Тетерин
 
Вы уточняйте почему не получается сделать то или иное действие. Делфи ведь что-то выдает (какую нибудь ошибку)?
Показать полностью
0
Слава Тетерин
01.03.2018 10:30
Слава Тетерин
 
В Файле KRAutomationRigister.pas он не прописан, прописывал его туда в ручную, не компилится. Устанавливал KRComPort в ручную (через component install) он установился, но в палитре не появился.
Показать полностью
13
Руслан Кандирал
01.03.2018 11:16
Слава Тетерин
 
KRComPort - это не компонент, он не устанавливается. Его нужно прописывать вручную.
Пример:
Можете еще посмотреть в файле KRCOMPortConnector.pas, там он используется.
Показать полностью
13
Руслан Кандирал
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. То все хорошо.
Показать полностью
13
Руслан Кандирал
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 Вы, скорее всего, библиотеку не тестировали, но, возможно у Вас есть соображения, куда копать?
Показать полностью
13
Руслан Кандирал
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? Готов купить эти компоненты у Вас.
Показать полностью
13
Руслан Кандирал
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, а вот дальше запутался с указателями.
Показать полностью
13
Руслан Кандирал
29.10.2017 18:02
Andrey Postolov
 
Вот пример получения значения coil с адресом 0. Чтение значения дискретных входов аналогичное
Показать полностью
0
Павел Бородай
04.04.2017 15:14
 
А можно пример работы с модемом????
Показать полностью
13
Руслан Кандирал
04.04.2017 16:37
Павел Бородай
 
Я делал библиотеку под модем для контроллера ОВЕН.
Функционал:
- прием/отправка смс сообщений
- USSD
- интернет
- синхронизация времени по NTP
Библиотеку делал давно и есть уже некоторые моменты, которые хочу переделать.
Я планировал сделать ее описание после доработки.

Я могу выслать вам эту библиотеку, она с открытым кодом но без комментариев. Или могу сделать описание того варианта который есть сейчас и выкинуть на сайт до конца недели. На доработку у меня сейчас нет времени.
Показать полностью
0
Павел Бородай
05.04.2017 13:38
Руслан Кандирал
 
Если можно то пришлите мне эту библиотеку
Показать полностью
13
Руслан Кандирал
05.04.2017 15:05
Павел Бородай
 
Отправил вам на почту
Показать полностью
0
Павел Бородай
05.04.2017 15:34
Руслан Кандирал
 
Спасибо получил!! Прошу прощения но я наверно неправильно поставил вопрос, меня интересует как пользоваться в DELPHI KRModem.pas в вашем наборе компонентов
Показать полностью
13
Руслан Кандирал
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. Хотелось бы более детальней понять все.
Показать полностью

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

18.07.2021 14:30
Новая статья по экспорту Google Sheet в MS Excel
Экспорт таблиц Google Sheets в файл MS Excel с помощью Google Script, а также сохранение на Google Drive и отправка на e-mail
30.03.2021 14:53
Обновлен набор компонентов для Delphi
Пакет компонентов для Delphi обновлен до версии от 30.03.2021 г.
14.03.2021 04:54
Обновлен скрипт экспорта Google таблиц в PDF
Добавлены новые возможности при экспорте Google таблиц в PDF файл
22.01.2021 11:45
Обновлен пакет компонентов для Delphi
В пакет компонентов для Delphi было внесено большое количество изменений, касающиеся протокола Modbus и мультиязычности

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

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