<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Using the SysLibShm library</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/5ad787a7d1/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/5ad787a7d1/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/5ad787a7d1/</id><updated>2020-02-27T21:13:17.432000Z</updated><subtitle>Recent posts to Using the SysLibShm library</subtitle><entry><title>Using the SysLibShm library</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/5ad787a7d1/?limit=25#a64e" rel="alternate"/><published>2020-02-27T21:13:17.432000Z</published><updated>2020-02-27T21:13:17.432000Z</updated><author><name>cmbillo</name><uri>https://forge.codesys.com/u/cmbillo/</uri></author><id>https://forge.codesys.com996e8a745844857353efec1e739a6bbcab7d1163</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks TimvH!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TimvH hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
I have no experience with this and also no demo application, but the error is caused by not using a pointer.&lt;br/&gt;
I think it should be something like:&lt;br/&gt;
hMyShMem := SysShmOpen('MyShMem', 0, ADR(dwSize));&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</summary></entry><entry><title>Using the SysLibShm library</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/5ad787a7d1/?limit=25#c227" rel="alternate"/><published>2020-02-27T21:13:13.443000Z</published><updated>2020-02-27T21:13:13.443000Z</updated><author><name>timvh</name><uri>https://forge.codesys.com/u/timvh/</uri></author><id>https://forge.codesys.come2f401bd42eef2fdd5cbd2ce2509a37cb671e877</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I have no experience with this and also no demo application, but the error is caused by not using a pointer.&lt;/p&gt;
&lt;p&gt;I think it should be something like:&lt;/p&gt;
&lt;p&gt;hMyShMem := SysShmOpen('MyShMem', 0, ADR(dwSize));&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Using the SysLibShm library</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/5ad787a7d1/?limit=25#fca9" rel="alternate"/><published>2020-02-27T21:13:11.953000Z</published><updated>2020-02-27T21:13:11.953000Z</updated><author><name>cmbillo</name><uri>https://forge.codesys.com/u/cmbillo/</uri></author><id>https://forge.codesys.com73d436ca1439833ae6acb66f4a2e6e4a98e61a4f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have downloaded the CoDeSys V2.3.8 Demo (with CoDeSys SP PLC WinNT V2.4 ).&lt;/p&gt;
&lt;p&gt;I´m testing the SysLibShm.lib (located in "C:\Program Files\Common Files\CAA-Targets\3S\Lib_PLCWinNT").&lt;/p&gt;
&lt;p&gt;My project compiles without errors, but when I try to run it, I get the following error:&lt;/p&gt;
&lt;p&gt;"#81: Access violation in 'Access violation Task = New Task'"&lt;/p&gt;
&lt;p&gt;The error occurs when I try to execute the following code:&lt;/p&gt;
&lt;p&gt;hMyShMem := SysShmOpen('MyShMem', 0, SIZEOF(aRxBuffer) + SIZEOF(aTxBuffer));&lt;/p&gt;
&lt;p&gt;My project source code is:&lt;/p&gt;
&lt;p&gt;Program Test&lt;/p&gt;
&lt;p&gt;VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;hMyShMem&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;aTxBuffer&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ARRAY&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;63&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="n"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;BYTE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;aRxBuffer&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ARRAY&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;63&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="n"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;BYTE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;dwRet&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;dwTxErrorCounter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;dwRxErrorCounter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;p&gt;IF (hMyShMem = 0) THEN&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;hMyShMem&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;SysShmOpen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'MyShMem'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SIZEOF&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;aRxBuffer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;SIZEOF&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;aTxBuffer&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="c1"&gt;--------------- ERROR!!!!!&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ELSE&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;dwRet&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysShmRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;hMyShMem&lt;/span&gt;, &lt;span class="mi"&gt;0&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;aRxBuffer&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;aRxBuffer&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;dwRet&lt;/span&gt; &lt;span class="o"&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;aRxBuffer&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="k"&gt;THEN&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;dwRxErrorCounter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;dwRxErrorCounter&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;END_IF&lt;/span&gt;



&lt;span class="nv"&gt;dwRet&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SysShmWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;hMyShMem&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;aRxBuffer&lt;/span&gt;&lt;span class="ss"&gt;)&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;aTxBuffer&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;aTxBuffer&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;dwRet&lt;/span&gt; &lt;span class="o"&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;aTxBuffer&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="k"&gt;THEN&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;dwTxErrorCounter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;dwTxErrorCounter&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;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;Any idea why this error is occurring?&lt;/p&gt;
&lt;p&gt;What means this error message? &lt;/p&gt;
&lt;p&gt;Did anyone already use this library? Any example?&lt;/p&gt;
&lt;p&gt;Thanks a lot!&lt;/p&gt;
&lt;p&gt;Billo&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>