Jump to content

Analog input linearization issue

Recommended Posts


      I am trying to connect a 4 to 20mA two wire current transmitter to SM43JR20. I hooked up everything and the PLC is showing some value too. But I am not sure how to properly read the input from the  current transmitter in the ladder logic. I tried using linearization with analog input as x data and current value to be displayed as Y data but the value displayed is varying when ever I change the values in the linearization block. I looked at the manual but it is not helping.

I have one more issue, How will you use a constant with decimal point in visilogic eg: 4.5. All I see are integer operands


Thanks in advance


Link to comment
Share on other sites

In normal mode, your analog inputs for this PLC have 14-bit resolution. That means the MI attached to the analog input should vary between 0 & 16383. For a 4-20mA input, that value will be 3277-16383. You will then use a linearization block to convert that number to the units you wish to work with. If you want precision that includes one or more decimal places, you will need to use "implied" decimals. For instance, say your input is pressure in psi that ranges from 0 to 100 psi, but you want precision to one decimal place. You need to linearize from 0-1000, instead of 0-100. Now you have the pressure to one decimal place with the decimal point implied. In calculations you may need to divide by 10 at the conclusion of the calculations, or if you're going to display the result, no need to divide by 10 as you can set the location of the decimal point in the numeric display element that you place on the HMI screen.

Link to comment
Share on other sites

On 7/27/2018 at 5:45 PM, Flex727 said:

This is what your linearization block should look like for the example I described above:


This will linearize the 4-20mA input to 0.0 to 100.0.

But SM43JR20 is a 10 bit PLC, right ?  But I understood the theory and I used it on my PLC but still when the sensor is removed the input is read as 0 but the ouput is shown as 3098 which I really don't understand. Can you help with this?

Link to comment
Share on other sites

1 hour ago, Sree said:

But SM43JR20 is a 10 bit PLC, right ?

You are correct. Not sure which spec document I was looking at, but it was clearly the wrong one. X1 & X2 should be 204 & 1023, respectively. If the value of MI 0 is zero, then you should expect to see something close to -167 for MI 1.

Link to comment
Share on other sites

Hi all can anybody help me - I struggle to understand to do linearization from my IO-PT400  via EX-RC1 to vision130.  The opper hand work on my EX-RC1 and read the temp but struggle to let my Vision 130 read and see it. I actually struggle to understand exactly how to send the data over.  Attached is my coding.  


P1 Main#1Paul 4-8-18.vlp

P1EX-RC#2Paul 4-8-18.vlp

P1EX-RC#4Paul 4-8-18.vlp

Link to comment
Share on other sites


First - is your CANbus network working?  If you go to Connection->Communication and OS click on the Network tab-


You should see all of your units - 1, 2, and 4.

RTD inputs do not require scaling, unless you want to divide the returned temperature by 10.  Be more specific in your question- which RTD on which EX-RC1 can't you see?

Joe T.




Link to comment
Share on other sites

Hi Joe Thank you for returning to me. 

I see it on the EX-RC1 operands and see how the temp change from the probe but to send it over programming is a problem. I do not see the reading on the vision 130 plc. It is a program issue not a comms problem. All my  outputs work well as you told me to set it up. 

My understanding of the RTD temp probes is that you do not need a struck command but have to linearize it. Is this correct. So how do I send it over from the EX- RC1 and see it on the vision 130. 



Link to comment
Share on other sites

Looking at EX-RC#2 in the program you posted...

The first RTD module sensors are mapped to MI 11 .. 14 in the hardware configuration.  

In the original program I modified and posted for you, I was sending all 16 registers.  You have modified this to 4 in the program you posted back.  Reason for this unknown.

I did not have the hardware to test these programs so what I posted back in the other thread may not have worked.  The fact that you're still asking tells me there is still an error in the logic.

Here is the rung that actually sends the data from EX-RC#2 to the V130:



So let's do some basic ladder troubleshooting - when you go online, does the value of MI 2040 ever go to 1?  If not, the data will never be sent.  The comment above the line states that the logic should be MI2040 = 0, but this is not what the block is doing.

Look at the Help on the UniCAN send block, specifically the status information:


So if the MI 2040 status = 1 you shouldn't be sending the message anyway.  The network is busy.

So it probably should be this:


Change the logic where needed and let us know if it works.

Joe T.






Link to comment
Share on other sites

Hi Joe 

The registers is 16     I changed it with my play around to sort out  an alarm on my main when I compile. This is also a problem. When I compile my main program I get this error 702 

Where can I find a working example of EX-RC1 with at least 3 IO Module PT400   and Vision 130 PLC only.   I looked on YouTube and all your examples but nothing.

Here my problem  


On my EX-RC1  #2   I changed it to D#1 OR 0 when upload a comms error occur on the main unit because EX-RC#2 is blinking so I changed it back. 


I changed the D# TO 0 but still MI2040 not going to 1 


I see the timer is not running because I have a comms error from EX- RC 1 one led is blinking when I change the D#TO 0 . Definitely wrong to make it D#0 must be D#1


If I Make D#1 then the LED  on the EX-RC1 Does not blink and is stable on as below but still MI2040 not going to 1 - timer work now. :


From the main Vision 130 never go to 1 because EX-RC #2 is not sending it. 



P1EX-RC#2Paul 4-8-18.vlp

P1 Main#1Paul 4-8-18.vlp

P1EX-RC#4Paul 4-8-18.vlp

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...