1. Цикл while вообще не желательно использовать в ПЛК. Особенно так, как у Вас.
2. Зачем постоянно открывать-закрывать порт?