PDA

Просмотр полной версии : Оптимальность в написании программ



ksn33
06.05.2011, 16:47
Добрый день!
Прошу дать совет по оптимальному написанию программы для случая обмена между ПЛК-100 и СП270. Протокол обмена ModBas, СП270 мастер.

На экранах панели (30 экранов) отображаются суточные (почасовые) таблицы, исходя из этого колличество переменных участвующих в обмене более 30*24=720 (word). Вопрос
1 вариант обмена можно, как делал раннее, описать все переменные в Конфигурации ПЛК 720 штук и в СП 270. Вроде все нагляно, красиво.. , но на форуме сказано "...в Конфигурации ПЛК писать много не принято..."

2 вариант 24 переменных на экран описать в Конфигурации ПЛК и далее анализируя номер экрана панели в ПЛК подставлять значения соответствующего экрана, немного путано и ненаглядно зато переменных меньше и обмен соответственно будет идти шустрее.

Может существуют еше варианты...
Прошу поделится опытом и дать совет по оптимальному обмену.

Николаев Андрей
06.05.2011, 17:26
1.Я за второй вариант. И путано не будет - у Вас же будет четко прописанный массив.
2. Когда панель мастер - она опрашивает\записывает только те переменные, которые непосредственно на действующем экране отображаются (ну плюс конечно аварийные). Так что трафик еще меньше.

ksn33
06.05.2011, 22:22
А, все-таки, как предпочитают организовывать обмен (ПЛК-СП) те, кто считает себя профи в программировании? неужели нет более оригинальных решений!

Gans
07.05.2011, 08:29
Лично я за второй вариант:

2 вариант: 24 переменных на экран описать в Конфигурации ПЛК и далее анализируя номер экрана панели в ПЛК подставлять значения соответствующего экрана, немного путано и ненаглядно Только на экране предусмотреть пару кнопочек для «пролистывания данных», а в ПЛКххх по нажатию кнопок суммировать/отнимать номер экрана. Далее с учетом «номера страницы» брать данные из таблицы/массива и переносить их в «ПЛК-конфигурацию», а на панели при этом даже экран не меняется.

Еще есть вариант: все параметры разбить на группы и выкладывать в отдельные ModBus(slave) с разными адресами, таким образом можно избежать банальной путаницы, но это кажись не Ваш случай.
Например:
Температуры слэйв1,
Давление слэйв2,
Уставки слэйв3,
Управление слэйв4, и тд.