<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts by March</title><link href="https://forge.codesys.com/u/march/" rel="alternate"></link><link href="https://forge.codesys.com/u/march/profile/feed.atom" rel="self"></link><id>https://forge.codesys.com/u/march/</id><updated>2020-04-20T14:44:37Z</updated><subtitle>Recent posts by March</subtitle><entry><title>Хочу ПЛК заменить WinNT! Возможно ли?</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/b339d6cd1e/?limit=25#87ed" rel="alternate"></link><published>2020-04-20T14:44:37Z</published><updated>2020-04-20T14:44:37Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.com3d74347d2c6ec270f7dd12a301701aa3ed112d13</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Доброго времени суток! Вопрос. Возможна ли работа PLC WinNT с библиотекой SysLibSockets?&lt;br/&gt;
Пытаюсь реализовать сервер для обмена с верхним уровнем по ModbusTCP. В данный момент контроллер отсутствует, поэтому хочу это сделать с помощью эмулятора. Но программа никак не хочет подвязываться на 502 порт (при этом удалось проверить пример на контроллере, и он работал). Если нет - возможна ли работа с компортами? Или читать/писать в PLC WinNT можно только через OPC?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/a9e5981724/?limit=25#4093" rel="alternate"></link><published>2020-04-20T14:44:05Z</published><updated>2020-04-20T14:44:05Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.com674859ba219bdaa719163fd2cda485cf78124fa6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Здравствуйте! Опять вопрос по PLC WinNT и библиотеке SysLibSockets. C помощью данной библиотеки удалось реализовать TCP клиент. Все нормально, вроде работает. Далее пытаюсь реализовать ТСР сервер. Вот тут посложнее. Вот кусок кода:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;state&lt;/span&gt;         : &lt;span class="nv"&gt;SERV_STATE&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_INIT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;sock_acc&lt;/span&gt;   : &lt;span class="nv"&gt;DINT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;      : &lt;span class="nv"&gt;SOCKADDRESS&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;acc_adr&lt;/span&gt;      : &lt;span class="nv"&gt;SOCKADDRESS&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;res&lt;/span&gt;         : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;param_ctrl&lt;/span&gt;      : &lt;span class="nv"&gt;DINT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;InBuff&lt;/span&gt;         : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;..&lt;span class="mi"&gt;300&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BYTE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;OutBuff&lt;/span&gt;      : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;..&lt;span class="mi"&gt;300&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BYTE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
....
&lt;span class="nv"&gt;CASE&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="nv"&gt;OF&lt;/span&gt;
&lt;span class="nv"&gt;SERV_INIT&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;SOCK&lt;/span&gt; &lt;span class="nv"&gt;CREATE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;sock&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockCreate&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;SOCKET_AF_INET&lt;/span&gt;, &lt;span class="nv"&gt;SOCKET_STREAM&lt;/span&gt;, &lt;span class="nv"&gt;SOCKET_IPPROTO_TCP&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;state&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_SETUP&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_SETUP&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;SOCK&lt;/span&gt; &lt;span class="nv"&gt;SETUP&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;param_ctrl&lt;/span&gt;      :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_family&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SOCKET_AF_INET&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_port&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockNtohs&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;502&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_addr&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SOCKET_INADDR_ANY&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;res&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockBind&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tcp_adr&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tcp_adr&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;SysSockIoctl&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;,&lt;span class="nv"&gt;SOCKET_FIONBIO&lt;/span&gt;,&lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;param_ctrl&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;; (* Non blocking mode *)&lt;/span&gt;
    &lt;span class="nv"&gt;res&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockListen&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;state&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_ACC&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_ACC&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;WAIT&lt;/span&gt; &lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;CONNECTION&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;sock_acc&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockAccept&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;acc_adr&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;acc_adr&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock_acc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;#&lt;span class="nv"&gt;FFFFFFFF&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="k"&gt;RETURN&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock_acc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="k"&gt;RETURN&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;ELSE&lt;/span&gt;
        &lt;span class="nv"&gt;state&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_RCV&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;END_IF&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_RCV&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;WAIT&lt;/span&gt; &lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;REQUEST&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
...
&lt;span class="nv"&gt;END_CASE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;При попытке подключения вылетает функция SysSockAccept и выдается ошибка: "#81: Access violation in 'Access violation Task = DefaultTask'"...&lt;br/&gt;
Возможно кто-то сталкивался с подобным. Пробовал разные варианты - блокирующий/неблокирующий режим, пробовал SysSockSelect...  В чем может проблема? Работает ли данная библиотечная функция для PLC WinNT? Или данную задачу не решить c помощью SysLibSockets&lt;br/&gt;
для PLC WinNT? Если нужен будет проект - я выложу.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/a9e5981724/?limit=25#b98f" rel="alternate"></link><published>2020-04-20T14:44:05Z</published><updated>2020-04-20T14:44:05Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.com68969d032702d02d78f2b3e9a57938c64d95b1dc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Прошу прощения за глупый пост   . У себя нашел в директории "C:\Program Files\Common Files\CAA-Targets\3S\Lib_PLCWinNT".&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/a9e5981724/?limit=25#d793" rel="alternate"></link><published>2020-04-20T14:44:05Z</published><updated>2020-04-20T14:44:05Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.comffb55b53311f7d8cd35c0204cd1d569714c5b061</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Доброго времени суток! Интересует следующий вопрос:&lt;/p&gt;
&lt;p&gt;Хочу использовать PLC WinNT для тестирования программы без использования контроллера. Скажем, программа читает данные с приборов по Modbus RTU, взаимодействует со SCADA через Modbus TCP. Для этих целей в CoDeSys можно использовать системные библиотеки SysLibCom и SysLibSockets. Они платформозависимые. Для контроллера они уже использовались (в данном случае использую контроллеры ОВЕН). Как я понимаю, для симулятора должны быть свои реализации этих библиотек. &lt;/p&gt;
&lt;p&gt;Теперь возникает вопрос - где их найти? &lt;br/&gt;
Смотрел во всех каталогах установленных CoDeSys - не нашел. На сайте codesys.com ничего подобного тоже не нашел.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>щения: Хочу ПЛК заменить WinNT! Возможно ли?</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/f81970042f/?limit=25#ae12" rel="alternate"></link><published>2020-03-06T13:28:19Z</published><updated>2020-03-06T13:28:19Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.com10d82bea2eaf5907d37db9432e02e9e28f6221f1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Доброго времени суток! Вопрос. Возможна ли работа PLC WinNT с библиотекой SysLibSockets?&lt;br/&gt;
Пытаюсь реализовать сервер для обмена с верхним уровнем по ModbusTCP. В данный момент контроллер отсутствует, поэтому хочу это сделать с помощью эмулятора. Но программа никак не хочет подвязываться на 502 порт (при этом удалось проверить пример на контроллере, и он работал). Если нет - возможна ли работа с компортами? Или читать/писать в PLC WinNT можно только через OPC?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>щения: PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/83a0936c27/?limit=25#459e" rel="alternate"></link><published>2020-03-06T13:27:42Z</published><updated>2020-03-06T13:27:42Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.coma22cd2d046362999327ec1643c0fb33f0c546213</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Здравствуйте! Опять вопрос по PLC WinNT и библиотеке SysLibSockets. C помощью данной библиотеки удалось реализовать TCP клиент. Все нормально, вроде работает. Далее пытаюсь реализовать ТСР сервер. Вот тут посложнее. Вот кусок кода:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR&lt;/span&gt;
   &lt;span class="nv"&gt;state&lt;/span&gt;         : &lt;span class="nv"&gt;SERV_STATE&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_INIT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;sock_acc&lt;/span&gt;   : &lt;span class="nv"&gt;DINT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;      : &lt;span class="nv"&gt;SOCKADDRESS&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;acc_adr&lt;/span&gt;      : &lt;span class="nv"&gt;SOCKADDRESS&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;res&lt;/span&gt;         : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;param_ctrl&lt;/span&gt;      : &lt;span class="nv"&gt;DINT&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;InBuff&lt;/span&gt;         : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;..&lt;span class="mi"&gt;300&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BYTE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
   &lt;span class="nv"&gt;OutBuff&lt;/span&gt;      : &lt;span class="nv"&gt;ARRAY&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;..&lt;span class="mi"&gt;300&lt;/span&gt;] &lt;span class="nv"&gt;OF&lt;/span&gt; &lt;span class="nv"&gt;BYTE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
....
&lt;span class="nv"&gt;CASE&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="nv"&gt;OF&lt;/span&gt;
&lt;span class="nv"&gt;SERV_INIT&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;SOCK&lt;/span&gt; &lt;span class="nv"&gt;CREATE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;sock&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockCreate&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;SOCKET_AF_INET&lt;/span&gt;, &lt;span class="nv"&gt;SOCKET_STREAM&lt;/span&gt;, &lt;span class="nv"&gt;SOCKET_IPPROTO_TCP&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;state&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_SETUP&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_SETUP&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;SOCK&lt;/span&gt; &lt;span class="nv"&gt;SETUP&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;param_ctrl&lt;/span&gt;      :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_family&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SOCKET_AF_INET&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_port&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockNtohs&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;502&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;tcp_adr&lt;/span&gt;.&lt;span class="nv"&gt;sin_addr&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SOCKET_INADDR_ANY&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;res&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockBind&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tcp_adr&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tcp_adr&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;SysSockIoctl&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;,&lt;span class="nv"&gt;SOCKET_FIONBIO&lt;/span&gt;,&lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;param_ctrl&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;; (* Non blocking mode *)&lt;/span&gt;
    &lt;span class="nv"&gt;res&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockListen&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;state&lt;/span&gt;         :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_ACC&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_ACC&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;WAIT&lt;/span&gt; &lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;CONNECTION&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
    &lt;span class="nv"&gt;sock_acc&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysSockAccept&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock&lt;/span&gt;, &lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;acc_adr&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;acc_adr&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock_acc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;#&lt;span class="nv"&gt;FFFFFFFF&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="k"&gt;RETURN&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sock_acc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="k"&gt;RETURN&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;ELSE&lt;/span&gt;
        &lt;span class="nv"&gt;state&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SERV_RCV&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;END_IF&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;SERV_RCV&lt;/span&gt;:      &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;WAIT&lt;/span&gt; &lt;span class="k"&gt;FOR&lt;/span&gt; &lt;span class="nv"&gt;REQUEST&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
...
&lt;span class="nv"&gt;END_CASE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;При попытке подключения вылетает функция SysSockAccept и выдается ошибка: "#81: Access violation in 'Access violation Task = DefaultTask'"...&lt;br/&gt;
Возможно кто-то сталкивался с подобным. Пробовал разные варианты - блокирующий/неблокирующий режим, пробовал SysSockSelect...  В чем может проблема? Работает ли данная библиотечная функция для PLC WinNT? Или данную задачу не решить c помощью SysLibSockets&lt;br/&gt;
для PLC WinNT? Если нужен будет проект - я выложу.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>щения: PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/83a0936c27/?limit=25#4e6a" rel="alternate"></link><published>2020-03-06T13:27:42Z</published><updated>2020-03-06T13:27:42Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.com3fac3a8b03f199281598bd065e9ae502d8b49fc5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Прошу прощения за глупый пост   . У себя нашел в директории "C:\Program Files\Common Files\CAA-Targets\3S\Lib_PLCWinNT".&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>щения: PLC WinNT и системные библиотеки</title><link href="https://forge.codesys.com/forge/talk-ru/1/thread/83a0936c27/?limit=25#bdae" rel="alternate"></link><published>2020-03-06T13:27:42Z</published><updated>2020-03-06T13:27:42Z</updated><author><name>March</name><uri>https://forge.codesys.com/u/march/</uri></author><id>https://forge.codesys.comf3e14f5ab396b204e79e285e55c291b888136cfa</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Доброго времени суток! Интересует следующий вопрос:&lt;/p&gt;
&lt;p&gt;Хочу использовать PLC WinNT для тестирования программы без использования контроллера. Скажем, программа читает данные с приборов по Modbus RTU, взаимодействует со SCADA через Modbus TCP. Для этих целей в CoDeSys можно использовать системные библиотеки SysLibCom и SysLibSockets. Они платформозависимые. Для контроллера они уже использовались (в данном случае использую контроллеры ОВЕН). Как я понимаю, для симулятора должны быть свои реализации этих библиотек. &lt;/p&gt;
&lt;p&gt;Теперь возникает вопрос - где их найти? &lt;br/&gt;
Смотрел во всех каталогах установленных CoDeSys - не нашел. На сайте codesys.com ничего подобного тоже не нашел.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>