<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to 4-20ma PLC Input Only Reading Lower Half of Range</title><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/1e1821b60f/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/CODESYS-V2/thread/1e1821b60f/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/CODESYS-V2/thread/1e1821b60f/</id><updated>2020-02-27T22:31:33.510000Z</updated><subtitle>Recent posts to 4-20ma PLC Input Only Reading Lower Half of Range</subtitle><entry><title>4-20ma PLC Input Only Reading Lower Half of Range</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/1e1821b60f/?limit=25#1644" rel="alternate"/><published>2020-02-27T22:31:33.510000Z</published><updated>2020-02-27T22:31:33.510000Z</updated><author><name>standeven</name><uri>https://forge.codesys.com/u/standeven/</uri></author><id>https://forge.codesys.com71db5ea7a1509311e6c4217ed90251d8473525dd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Yep, it was a hardware issue. The PLC input had a resistance that was too high for the sensor.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>4-20ma PLC Input Only Reading Lower Half of Range</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/1e1821b60f/?limit=25#e462" rel="alternate"/><published>2020-02-27T22:31:31.934000Z</published><updated>2020-02-27T22:31:31.934000Z</updated><author><name>shooter</name><uri>https://forge.codesys.com/u/shooter/</uri></author><id>https://forge.codesys.com43ebfa350c800ca8bdbf13ddb911279249aeabc7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;as you can see in PLCS.net it is a hardware problem, as the sensor is not able to send a signal above 4 volts (strange but cheaper.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>4-20ma PLC Input Only Reading Lower Half of Range</title><link href="https://forge.codesys.com/forge/talk/Codesys%2520V2.3/thread/1e1821b60f/?limit=25#b058" rel="alternate"/><published>2020-02-27T22:31:27.511000Z</published><updated>2020-02-27T22:31:27.511000Z</updated><author><name>standeven</name><uri>https://forge.codesys.com/u/standeven/</uri></author><id>https://forge.codesys.comd689acf20a8a850e58870f7692f8108dce7eaf1d</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi everyone,&lt;/p&gt;
&lt;p&gt;I've attached a 4-20ma level sensor to a PLC input that is configured for current. The PLC reads the range 4-12ma just fine, but anything from 12-20ma is just read as 12ma by the PLC. I'm using an IFM CR0232 (&lt;a class="" href="http://www.ifm.com/products/ca/ds/CR0232.htm" rel="nofollow"&gt;http://www.ifm.com/products/ca/ds/CR0232.htm&lt;/a&gt;) with Codesys 2.3, and the sensor is a Turck Inclinometer (&lt;a class="" href="http://old.turck.us/illustrations/M1...0(sheet_1)" rel="nofollow"&gt;http://old.turck.us/illustrations/M1...0(sheet_1&lt;/a&gt;.pdf). &lt;/p&gt;
&lt;p&gt;I did some measuring with the meter, and the sensor is indeed putting out 4-20ma. I also checked voltage, and the sensor outputs between 1.55 volts (when the sensor is putting out 4ma) and 4.55 volts (when the sensor is putting out 12ma). The voltage remains the same at 4.55 volts from 12-20ma.&lt;/p&gt;
&lt;p&gt;The code is very simple, using an IFM library block:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
  &lt;span class="nv"&gt;xChannelNumber&lt;/span&gt;:&lt;span class="nv"&gt;BYTE&lt;/span&gt;&lt;span class="c1"&gt;;(*Channel number for the X angle*)&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
  &lt;span class="nv"&gt;xInputAnalogBlockExtended&lt;/span&gt;:&lt;span class="nv"&gt;INPUT_ANALOG_E&lt;/span&gt;&lt;span class="c1"&gt;;      (*Input block for extended input, X*)&lt;/span&gt;
  &lt;span class="nv"&gt;xTempWord&lt;/span&gt;:&lt;span class="nv"&gt;WORD&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;xError&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;xInputAnalogBlockExtended&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;
      &lt;span class="nv"&gt;ENABLE&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;TRUE&lt;/span&gt;,
      &lt;span class="nv"&gt;MODE&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;IN_CURRENT&lt;/span&gt;,       &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nv"&gt;Global&lt;/span&gt; &lt;span class="nv"&gt;constant&lt;/span&gt; &lt;span class="nv"&gt;defined&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;library&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="nv"&gt;CHANNEL&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;xChannelNumber&lt;/span&gt;, &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nv"&gt;Integer&lt;/span&gt; &lt;span class="nv"&gt;input&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
      &lt;span class="nv"&gt;OUT&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;xTempWord&lt;/span&gt;,
      &lt;span class="nv"&gt;ERROR&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt;xError&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Any ideas?&lt;br/&gt;
Thanks!&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>