- •§7 Пример создания приложения 44
- •§8 Передача данных по протоколу mdlc. 56
- •§9 Пример программы передачи данных между rtu. 57
- •§1 Общие сведенья
- •Программные продукты для цдп
- •Контрольный пункт телемеханики
- •Chipset управления связью
- •Сигнализация и кнопки
- •Порты ввода/вывода
- •2.2 Модули ввода/вывода
- •§2 Устройство moscad rtu
- •2.1 Модуль cpu
- •Микропроцессор
- •§3 Обмен данными
- •3.1 Асинхронная передача данных
- •3.2 Стандарт обмена rs232
- •3.3 Стандарт обмена rs485
- •3.4 Модемное соединение
- •3.5 Организация радиосвязи
- •3.7 Протокол передачи данных используемый moscad
- •§4 Операционная система moscad и программы для работы с ней
- •Диагностика
- •§5 Пример настройки rtu
- •5.1 Создание Site Configuration для 10-го rtu
- •5.2 Создание Site Configuration для 20-го rtu
- •5.3 Создание Site Configuration для 30-го и 40-го rtu
- •5.4 Создание Network Configuration
- •Типы данных.
- •Язык программирования Ladder.
- •Условия языка Ladder для контроллеров moscad.
- •Действия языка Ladder для контроллеров moscad.
- •§7 Пример создания приложения
- •7.1 Начало работы с Application Programmer.
- •7.2 Создание таблиц.
- •7.3 Линковка.
- •7.4 Программа на языке Ledder.
- •§8 Передача данных по протоколу mdlc.
- •§9 Пример программы передачи данных между rtu.
- •9.1 Таблицы данных
- •9.2 Программа на языке Ladder
Типы данных.
Discrete (bit) – логическая переменная, диапазон значений 0 и 1, длинна 1 бит.
Integer Value (int) – целочисленная переменная, диапазон значений -32768÷32767, длинна 2 байта.
Real Value (real) – число с плавающей точкой, диапазон значений ± 3,4·10±38, длинна 4 байта.
Timer – три типа таймеров
Hour (Hr:Mn) – часы и минуты.
Minute (Mn:Sc) – минуты и секунды.
Second (Sc:mS) – секунды и десятки миллисекунд.
Integer Parameter (iprm) – переменная типа integer, которая имеет при старте системы некоторое начальное значение (обычные переменные типа integer, при старте системы имеют значение равное нулю).
Real Parameter (rprm) – тоже самое, для переменной типа real.
Discrete Input или Output (d-i) или (d-o) – логическая переменная, которая может быть связана с дискретным входом или выходом на модуле ввода/вывода контроллера.
Value Input или Output (v-i) или (v-o) – целочисленная переменная, которая может быть связана с аналоговым входом или выходом на модуле ввода/вывода контроллера.
Scaled Analog Input или Output (sAI) или (sAO) – шкалированная переменная связанная с аналоговым входом или выходом модуля, представлена числом с плавающей точкой.
Рассмотрим аналоговый вход модуля. АЦП модуля переводит ток в целочисленные значения в диапазоне -4096÷4095, это выглядит следующим образом:
То есть, 4мА соответствует числовое значение 800, а 20мА – значение 4000.
Все это верно для Value Input, рассмотрим теперь Scaled Analog Input. Данная переменная представляется в таблице тремя колонками: EGU Zero – нижнее значение шклирования, EGU High – верхнее значение шкалирования и EGU Zero% – диапазон шкалирования, либо 0-20мА (0%), либо 4-20мА (20%=Live Zero). Тогда графическое представление будет следующим:
Pulses Per Hour (pph) – подсчет количества импульсов за час.
Time - Tagged Discrete Input – дискретный сигнал с меткой времени.
PLC – переменные для работы с PLC устройствами.
Язык программирования Ladder.
В Application Programmer используется язык программирования Ladder, который еще называют языком лестничных диаграмм или языком релейной логики. В данном языке вся программа делится на так называемые процессы (Process). В тоже время сами процессы делятся на последовательно исполняемые ранги (Rung) или ступени. В свою очередь ранги представляют собой последовательность связок типа условие-действие (может быть просто действие). Графически выглядит это следующим образом.
То есть основной процесс (Main) повторяется циклически, из него возможен переход в другой процесс, по выполнение которого осуществляется возврат на следующий ранг основного процесса.
Условия языка Ladder для контроллеров moscad.
нормально
открытый контакт, условие выполняется
при b=1, при b=0 не выполняются.
нормально
закрытый контакт, условие выполняется
при b=0.
дифференциатор,
условие выполняется если дискретный
сигнал изменился из значения 0 в 1.
дифференциатор,
условие выполняется если дискретный
сигнал изменился из 1 в 0.
Дифференциаторы используются в связке другими условиями, например:
условие
выполняется, если b
изменилось из состояние 0 в состояние
1.
условие
выполняется если a=b.
условие
выполняется если a≠b.
условие
выполняется если a>b.
условие
выполняется если a<b.
Есть возможность составлять сложные условия:
В данном случае получается следующие условие: если (b и a<b) или (c=d).
