I believe I pointed this out before. I don't believe this will work the way you think it will.
You will probably have a race condition between which VI will run first Set duty cycle or Digital read...
Because as I said the Arduino is neither multi threading nor multitasking.
Try this:
Since your program is one big loop you are speed limited by the slowest part of that loop.
An Arduino running Linx has loop rate somewhere around 200 loops per second maybe even lower depending on Linx code complexity.
You can't expect 200Hz sampling to make a smooth sinewave graph unless the signal frequency is < 20Hz.
See Nyquist–Shannon sampling theorem and Aliasing
========================
=== Engineer Ambiguously ===
========================