Какой-то ссылки у меня нет .. если кратко, что SoftPLC пишется изначально в предположении, что он софтверный под какую-то ОС, а виртуальный чаще всего изначально пишется под конкретную аппаратную платформу, а потом его запускают на такой же виртуальной, либо сразу под виртуальную. Грань тут, конечно, тонкая.