MATLAB PID Tuner producing the wrong output?
Let's consider a feedback loop as:



As you can see, your 'Control' and 'Process' blocks are cascaded. Assuming you are using unity feedback, your block 'Feedback' block is 1.

Now, the feedback function in matlab is defined as you have it in your post:

T=feedback(sys1,sys2)    


Where sys1 and sys2 are set up in the following manner (as you also have it in your post):



In order to properly use the function, you have to define what 'sys1' and 'sys2' are based on your model. You are using a PID block and of course you have the plant model. 

If your PID block is \$\text{C(s)}\$, your plant block is \$\text{P(s)}\$, and your feedback block is \$\text{H(s)}\$, how can you possibly match your system to the one matlab uses?

Everything now is the s-domain, so if you can simply multiply the cascaded blocks so that

$$ sys1 = \text{C(s)P(s)}$$

And just by looking at how matlab defines its control loop model,

$$ sys2 = \text{H(s)} $$

Since you are using unity gain feedback, \$\text{H(s)}=1\$ and keep in mind that the feedback function assumes negative feedback loop, so you don't need to use a -1 inside the function.

That's why the correct way to do it becomes:

T = feedback(C*P,1)


where C and P are your PID controller definition and Plant in the s-domain. And the 1 comes from using negative feedback which is the assumption when using this fucntion.

As summary, the forward path after the error signal in the first image in this post, represents what matlab defined as 'sys1' in its feedback function and the feedback path, which comes from the output back toward the summing block, is what matlab knows as 'sys2' in regards with the feedback function. And the forward path have two blocks, so you combine them together by multiplying.

Hope it helps!