Переменные ПЛК
Программа ПЛК имеет как основной функционал, так и дополнительный. Включение того или иного функционала происходит установкой значений соответствующих переменных.
Доступ к переменным ПЛК можно получить, подключившись по протоколу OPC UA, используя IP адрес и порт 4840.
Переменные сгруппированы по функционалу программы ПЛК, а так же по признаку зависимости друг от друга.
Основной функционал
Режимы работы программы ПЛК
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| isUsedTimer | bool | Режим работа по таймеру |
| isUsedEncoder | bool | Режим работа по энкодеру (используется энкодер) |
Параметры энкодера
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| diameterOfEncoderWheel | int16 | Диаметр ролика энкодера, мм Значение указывается, если выбран режим работы по энкодеру |
| encoderPulsesPerCycle | int32 | Количество импульсов на оборот Значение указывается, если выбран режим работы по энкодеру |
Датчик продукта
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| debounceProductSensor | int32 | Время устранения дребезга датчика продукта, мс |
Камера
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| delayForTriggerCam | int32 | При режиме работы по таймеру. Задержка срабатывания камеры после срабатывания датчика продукта, мс Время движения продукта от датчика к камере |
| lengthToTriggerCam | float | При режиме работы по энкодеру. Расстояние от датчика продукта до камеры, мм Расстояние, которое проходит продукт от датчика к камере |
| durationTriggerCam | int32 | Длительность сигнала, подаваемого на камеру, мс |
| cameraIpAddress | массив byte | IP адрес камеры. Значения устанавливаются по октетам |
| cameraPort | int32 | Порт камеры |
Отбраковщик
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| isUsedPusher | bool | Используется ли на линии отбраковщик |
| durationForFillPusher | int32 | Длительность сигнала, подаваемого на отбраковщик, время заполнения цилиндра отбраковщика, мс |
| delayForDecisionMaking | int32 | При режиме работы по таймеру. Время движения продукта по линии от датчика продукта до отбраковщика, мс |
| lengthToDecisionMaking | float | При режиме работы по энкодеру. Расстояние от датчика продукта до отбраковщика, мм Расстояние, которое проходит продукт от датчика к отбраковщику |
Запуск основной программы ПЛК
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| isStartedProgram | bool | Отвечает за запуск и остановку алгоритма программы Запустить алгоритм – true, остановить алгоритм – falseЕсли значение false, при этом нужные переменные будут указаны, основной функционал работать не будетПри установке значения в false сбрасываются все остальные значения переменных, а так же внутренние счётчики программы |
Дополнительный функционал программы
Пропуск заданного количества срабатываний датчика продукта
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| countOfMissedProductSensorTriggers | int16 | Количество первых срабатываний датчика продукта, которые нужно пропустить |
Останов линии, авария, сигнал, что программа запущена
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| countToAlarm | int16 | Количество отбракованных продуктов подряд Для события "Достигнуто заданное количество отбракованной продукции подряд" |
| maxTimeUpperSensor | int32 | При режиме работы по таймеру. Время, в течение которого датчик продукта может подавать сигнал. Если датчик продолжает подавать сигнал, считается, что датчик "залип" Для события "Произошло залипание датчика продукта" |
| maxLengthUpperSensor | float | При режиме работы по энкодеру. Расстояние, на протяжении которого датчик продукта может подавать сигнал. Если датчик продолжает подавать сигнал, считается, что датчик "залип" Для события "Произошло залипание датчика продукта" |
| stopLineMode | bool | Инвертирует работу выхода ПЛК Y2 (B3) |
Сигнальная колонна
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| isUsedGreenLight | bool | Используется ли на линии зелёный сигнал на сигнальной колонне |
| timeOfGreenLight | int32 | Время сигнала, подаваемого на сигнальную колонну для зелёного сигнала, мс |
| isUsedRedLight | bool | Используется ли на линии красный на сигнальной колонне |
| timeOfRedLight | int32 | Время сигнала, подаваемого на сигнальную колонну для красного сигнала, мс |
| isUsedYellowLight | bool | Используется ли на линии жёлтый на сигнальной колонне |
| timeOfYellowLight | int32 | Время сигнала, подаваемого на сигнальную колонну для жёлтого сигнала, мс |
| isUsedBeeper | bool | Используется ли на линии звуковой сигнал на сигнальной колонне |
| timeOfBeeper | int32 | Время сигнала, подаваемого на сигнальную колонну для звукового сигнала, мс |
Сортировщик
| Переменная ПЛК | Тип данных | Описание |
|---|---|---|
| isUsedSorter | bool | Используется ли на линии сортировщик |
| isUsedProductSensorForSorter | bool | Используется ли отдельный датчик продукта для сортировщика. |
| countOfProductsForEachLineAfterSorter | int16 | Количество продуктов направленных сортировщиком на каждую из сторон |
| delayForTriggerSorter | int32 | Задержка до подачи сигнала на сортировщик, мс Значение зависит от варианта работы: При режиме работы по таймеру без использования отдельного датчика для сортировщика: рассчитать время движения продукта от датчика в самом начале линии к сортировщику Режим работы ПЛК не важен, используется отдельный датчик для сортировщика: рассчитать время движения продукта от датчика для сортировщика до самого сортировщика |
| lengthToTriggerSorter | float | При режиме работы по энкодеру. Расстояние до триггера сортировщика при работе ПЛК по энкодеру, мм |