<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/</id><updated>2020-02-27T16:51:16.112000Z</updated><subtitle>Recent posts to Modbus RTU  disconnect</subtitle><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#cc3c" rel="alternate"/><published>2020-02-27T16:51:16.112000Z</published><updated>2020-02-27T16:51:16.112000Z</updated><author><name>Ernest</name><uri>https://forge.codesys.com/u/ernest/</uri></author><id>https://forge.codesys.coma61ba7cc3cbae7b410e70111fa0ad35b09188daa</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Viacheslav Mezentsev hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
П.С. Можете приложить скетч Arduino, я могу посмотреть в чём может быть дело.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я буду вам премного благодарен..&lt;br/&gt;
Я проверял ардуино  в качестве слейва в OPC сервере от Инсат - все работает&lt;/p&gt;
&lt;p&gt;Настройки COM порта в Raspberry :&lt;br/&gt;
&lt;span&gt;[SysCom]&lt;/span&gt;&lt;br/&gt;
Linux.Devicefile=/dev/ttyUSB&lt;br/&gt;
portnum := COM.SysCom.SYS_COMPORT1;&lt;/p&gt;
&lt;p&gt;Raspberry и  arduino  подключены через usb&lt;/p&gt;
&lt;p&gt;Эл почта ..  e &lt;a class="" href="mailto:erno0011@mail.ru"&gt;erno0011@mail.ru&lt;/a&gt; e &lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=3624" rel="nofollow"&gt;modbus rtu.rar &lt;span&gt;&lt;span&gt;[57.62 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#5884" rel="alternate"/><published>2020-02-27T16:51:13.540000Z</published><updated>2020-02-27T16:51:13.540000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com26a45f443f94f356b8b293a3a1895d7d29f21bc0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; Viacheslav Mezentsev&lt;/p&gt;
&lt;p&gt;Обычно функциональные блоки имеют дискретные входы и выходы общего назначения, типа xEnable, xReset, xError, xBusy, xDown и т.п. Так вот, если нужно обновить состояние какого-то блока, то пользоваться нужно каким-то из этих входов. Я бы попробовал Modbus_Slave_COM_Port.xReset := true, если количество запросов с ошибкой превысило какое-то число (попробовать установить в true по условию 1 раз). Т.е. нужно добавить счётчик и следить за установкой xError, причём не в каждом цикле, а именно отслеживать, что произошла ошибка таймаута (истекло время ожидания ответа).&lt;/p&gt;
&lt;p&gt;Внутренний член "класса" m_slaveEnabled напрямую скорее всего не доступен, т.к. управление им не удобно из таких языков как CFC. Сброс может происходить косвенным образом, с использованием указанных выше дискретных входов.&lt;/p&gt;
&lt;p&gt;Идентификатор Modbus_Slave_COM_Port является экземпляром драйвера устройства, т.е., другими словами, это экземпляр специального функционального блока. Он доступен для того, чтобы программист мог работать с устройством "напрямую". Я никогда не работал с этими устройствами, т.к. предпочитаю синхронный обмен по протоколу Modbus с использованием своих функций и функциональных блоков. Может быть вместо Modbus_Slave_COM_Port нужно будет сбросить Modbus_Master_COM_Port, посмотрев его свойства в online.&lt;/p&gt;
&lt;p&gt;П.С. Можете приложить скетч Arduino, я могу посмотреть в чём может быть дело.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#d7fb" rel="alternate"/><published>2020-02-27T16:51:12.625000Z</published><updated>2020-02-27T16:51:12.625000Z</updated><author><name>Ernest</name><uri>https://forge.codesys.com/u/ernest/</uri></author><id>https://forge.codesys.com29d62ceaaf37a7d6ddafd7be044c66e89be7631c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Viacheslav Mezentsev hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Если не удастся решить проблему, то можно использовать функциональные блоки из библиотеки IoDrvModbus напрямую, без устройства в дереве проекта. Библиотека содержит два функциональных блока для работы в режиме modbus rtu master: ModbusRequest и ModbusRequest2. Их использование более прозрачное, чем этот странный драйвер Modbus от 3S.&lt;br/&gt;
Я приложил пример проекта на CFC как можно использовать фб ModbusRequest для чтения дискретных выходов (Codesys 3.5.10.x).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Привет &lt;br/&gt;
Огромное спасибо что ответили &lt;br/&gt;
Мучаюсь с этой проблемой уже месяц , перепробовал практически все варианты что нашел  на этом форуме &lt;br/&gt;
Честно говоря я нашел как можно возобновить связь после перезагрузки , но я не смог сделать это в программе так как не могу найти связь с  ( m_slaveEnabled ) .&lt;br/&gt;
Вот ссылка на видео &lt;a class="" href="https://www.youtube.com/watch?v=jz6ZYWJpHtw" rel="nofollow"&gt;https://www.youtube.com/watch?v=jz6ZYWJpHtw&lt;/a&gt; m &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#f366" rel="alternate"/><published>2020-02-27T16:51:09.987000Z</published><updated>2020-02-27T16:51:09.987000Z</updated><author><name>Ernest</name><uri>https://forge.codesys.com/u/ernest/</uri></author><id>https://forge.codesys.com92602ed744a8c3a0f8bbaee389e4db81384ede14</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Edwin Schwellinger hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hi Ernest,&lt;br/&gt;
guess this is a slave problem?&lt;br/&gt;
Because seems no to resposnse in case of the restart isn't it?&lt;br/&gt;
Could you increase this timeout?&lt;br/&gt;
BR&lt;br/&gt;
Edwin&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hi Edwin&lt;br/&gt;
For the test, I connect the arduino (slave) to the OPC server and left all the settings as were. Everything works and if I reboot the Arduino while running, then the connection to the server is automatically restored.&lt;br/&gt;
I increased the timeout of the response, as a result, I see that the error about the loss of communication is triggered with misconception but I do not see that the master at that time is polling the slave.&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: 29571357_1766463140068036_4793099686598981424_n.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3623"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: 29541222_1766463133401370_1552211147245285360_n.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3622"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: 29540943_1766463146734702_3046219830236914129_n.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3621"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#e00f" rel="alternate"/><published>2020-02-27T16:51:08.987000Z</published><updated>2020-02-27T16:51:08.987000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com7bd94e7d8268a13ebaa40548686d931a5c13abc9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; Viacheslav Mezentsev&lt;/p&gt;
&lt;p&gt;Если не удастся решить проблему, то можно использовать функциональные блоки из библиотеки IoDrvModbus напрямую, без устройства в дереве проекта. Библиотека содержит два функциональных блока для работы в режиме modbus rtu master: ModbusRequest и ModbusRequest2. Их использование более прозрачное, чем этот странный драйвер Modbus от 3S.&lt;/p&gt;
&lt;p&gt;Я приложил пример проекта на CFC как можно использовать фб ModbusRequest для чтения дискретных выходов (Codesys 3.5.10.x).&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=3620" rel="nofollow"&gt;RTUReadCoilsAsync.project &lt;span&gt;&lt;span&gt;[136.12 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=3619" rel="nofollow"&gt;RTUReadCoilsAsync.pdf &lt;span&gt;&lt;span&gt;[56.79 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#cf7a" rel="alternate"/><published>2020-02-27T16:51:08.074000Z</published><updated>2020-02-27T16:51:08.074000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com5c6cbbd8f880882e5acff5c6b47e8ad29aff1e48</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Ernest,&lt;br/&gt;
guess this is a slave problem?&lt;br/&gt;
Because seems no to resposnse in case of the restart isn't it?&lt;br/&gt;
Could you increase this timeout?&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Edwin&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: increaseTimeout.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3618"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#51e5" rel="alternate"/><published>2020-02-27T16:51:05.489000Z</published><updated>2020-02-27T16:51:05.489000Z</updated><author><name>Ernest</name><uri>https://forge.codesys.com/u/ernest/</uri></author><id>https://forge.codesys.com68b3b336f8616cddc1d1ac42a4c0b7d0c139856b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Edwin Schwellinger hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Hi,&lt;br/&gt;
not sure how we could help without checking this online....&lt;br/&gt;
BR&lt;br/&gt;
Edwin&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hi&lt;br/&gt;
I do not see any problems for implementing this, I can give you access to teamviewer .Tell me when you are comfortable ?&lt;br/&gt;
Just attach the project, please see there may be an error in my settings&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Ernest&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum.codesys.com//download/file.php?id=3617" rel="nofollow"&gt;for_test.project &lt;span&gt;&lt;span&gt;[161.89 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#1259" rel="alternate"/><published>2020-02-27T16:51:04.514000Z</published><updated>2020-02-27T16:51:04.514000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com9ea510945f43d7cdda5c8ce58106bec5c00c73f2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br/&gt;
not sure how we could help without checking this online....&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#99aa" rel="alternate"/><published>2020-02-27T16:51:01.821000Z</published><updated>2020-02-27T16:51:01.821000Z</updated><author><name>Ernest</name><uri>https://forge.codesys.com/u/ernest/</uri></author><id>https://forge.codesys.com95fe6cf4bfd803797361bf8b527ec57da5243b53</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Dear Edwin&lt;/p&gt;
&lt;p&gt;I understand the reason why I do not turn on the modbus RTU  after rebooting&lt;br/&gt;
If I write  FALSE    ( m_slaveEnabled ) , then everything starts to work&lt;br/&gt;
How can I do this automatically in the program and can I do it in a  CFC ?&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: 28782932_1744336935613990_7583125332182433792_n.jpg" rel="nofollow" src="https://forum.codesys.com//download/file.php?id=3544"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Modbus RTU  disconnect</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/63e92fd1ec/?limit=25#b063" rel="alternate"/><published>2020-02-27T16:51:00.885000Z</published><updated>2020-02-27T16:51:00.885000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com7333731e401c859f0ee8773a2bd4f6e61e022c3f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;br/&gt;
add Modbus_Slave_Com_port (the name of the modbus slave in the device tree)&lt;br/&gt;
to the watchwindow and check there additional Information on the connection while you are online (maybe diable autorestart for one try)&lt;br/&gt;
to see the problem.&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>