Могу поделиться примером макроса для другого ПЧВ Instart VCI
Сам макрос
VFD_Instart_VCI_.png
Пример использования:
- в программе
VFD_Instart_VCI_Sample.PNG
- сетевые переменные, привязанные к конкретному ПЧВ
Сетевые (Master).PNG
Описание:
1. из программы поступают команды:
- bSetStart - пуск/стоп ПЧВ
- rSetSpeed_[%] - задание скорости вращения ПЧВ
- bResetAlarm - команда сброса состояния отказа ПЧВ
2. от ПЧВ поступают параметры состояния:
- nCurrentOut - выходной ток ПЧВ
- nRateCurrent - значение рабочего тока (это константа, но удобнее её брать из настроек ПЧВ, чем отдельно вводить в ПР)
- wStateVFD - слово состояния ПЧВ
- wErrorCode - код отказа ПЧВ
3. поступившие команды преобразуются в кодовые слова, передающиеся в ПЧВ (через сетевые переменные)
- wCmd - командное слово управления (пуск/стоп/сброс)
- nSpeed - число, соответствующее требуемой скорости вращения ПЧВ
4. принятые от ПЧВ коды состояний преобразуются в биты состояний:
- bStateStop
- bStateRun
- bStateFault
- wErrorCode
При смене ПЧВ просто заменю макрос (ФБ), привязки к Modbus регистрам, а набор входов и выходов останется без изменений, т.к. управляющей программе больше ничего и не требуется.
Состояния пуск/стоп/отказ принимаю для визуализации.
Рабочий ток ПЧВ (мотора) - для получения выходного тока не только в [А], но и в [%] - заказчик переносит уставки без привязки к мощности конкретного мотора (у заказчика на балансе много станций и насосов разных мощностей, уставки в [%] проще запоминать, чем пересчитывать).
Адреса Modbus регистров беру из таблиц параметров. Часто в РЭ к ПЧВ имеется глава - "Работа с Modbus" - которая содержит таблицу оперативных регистров управления, которые не портят Flash память настроек при частой перезаписи.
Если есть вопросы - задавайте.