Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Определение пользовательских массивов в Native Function Blocks: Практическое руководство

Зачем этот пост?

На самом деле, этот пост был создан потому, что когда я разрабатывал Native Function Block, я обнаружил, что невозможно использовать массив пользовательских структур. Иными словами, жаль, что официальный GitHub PLCnext не имеет руководств этого типа. Если вы используете C#-учебник для создания пользовательского массива в Native Function Block, вы обнаружите, что не можете скомпилировать его успешно, или установка значений массива в PLCnext Engineer не дает реакции. Пример в случае просто связан с базой данных, вот и всё.

Описание демо

https://github.com/Leeable/UserDefineArray_NativeFB/tree/Master

Требования

$ plcncli --version plcncli 23.6.0.1450 (23.6.0.1450) 

ШАГ 1

ШАГ 2

ArrayCplus.cs

ШАГ 3

Откройте терминал в папке ArrayTestCpp и введите следующее.

$ plcncli generate code 

После генерации кода найдите файлы ArrayTest-cli32.h и ArrayTest-cli64.h в директории src и найдите места, где указано #error.

Нам нужно удалить комментарии и улучшить код. Нажмите, чтобы перейти к InArrayFB-cli.cpp и изменить реализацию.

IntArrayFB-cli.cpp

ШАГ 4

В ArrayCplus.cpp введите следующий код. Содержимое, содержащее строки, должно инициализироваться в процессе, а не в области Init; инициализация в области Init не сработает, что приведет к невозможности записи значений в sName и sAttribute через Engineer.

ArrayCplus-cli.cpp

ШАГ 5

Откройте терминал в папке ArrayTestCpp и введите следующее.

$ plcncli build all $ plcncli deploy 

ШАГ 6

Откройте PLCnext Engineer и загрузите ArrayTest.pcwlx, добавьте переменную в ArrayTest с именем arr

Теперь это работает

Вопросы

Примечание:

Блог Makers демонстрирует приложения и пользовательские истории членов сообщества, которые не тестировались и не проверялись Phoenix Contact. Используйте их на свой страх и риск.

Промышленные технологии

  1. Программа Swanton Welding на 13abc: расширение возможностей старшеклассников через практическое обучение
  2. Лидеры производства выступают за восстанавливающие перерывы для навигации пандемическими вызовами
  3. Многоразовая 3D-печатаемая маска Fast Radius — DIY дизайн
  4. Искусственные нейронные сети повышают производительность беспроводной связи
  5. Как дизайнерам использовать текущие тренды в литье под давлением
  6. Лучшее MRO 2019: Топ-10 — Руководства по зарплатам, нарушения OSHA и ключевые инсайты отрасли
  7. Трансформация цепей поставок: раскрытие ценности через выполнение заказов и цифровую инновацию
  8. Промышленная автоматизация: преодоление вызовов с проверенными решениями и инструментами
  9. Снижение рисков при конвертации стандартных таблиц допусков в метрические
  10. Системы исполнения производства (MES): ключ к контролю производства в реальном времени