Тут описані дії, які потрібні для розгортання базового проекту PACFramework на прикладі демо-проекту з використанням PACFramework Tools (PFwTools).
Даний приклад рекомендується для швидкого розгортання демо-проекту або свого проекту. Це не є готовим проектом, а показує усі кроки, які необхідно виконати розробнику ПЗ для ПЛК при наявності майстерданих у форматі Excel.
Цей пункт передбачає створення власного проекту.
Цей пункт передбачає створення проекту на базі демонстраційного.
sim_wthout_framework.xef за цим посиланням та створіть на базі них проект Unity PRO або Control ExpertPLC -> Simulation ModeBuild -> Rebuild All Project.pacexample_depl.stu на диску для наступного його використання.PLC->Connect. У результаті повинен запуститися імітатор ПЛК.PLC->Transfer Project to PLCPLC->RUN.
рис.1.
TASK->MAST->Logic файл lib.xstДля точного підрахунку лічильників часу передбачається використання FAST задачі. Враховуючи що ця задача може використовуватися для власних цілей, секція для підрахунку повинна бути створена розробником самостійно.
RT.
Рис.2. Створення задачі FAST
PLC.TQMS на значення, рівне часу задачі FAST.PLC.TQMS := PLC.TQMS + 5;
Проконтролюйте що PLC.TQ змінюється раз в секунду, а PLC.TQMS показує мілісекунди.
Скомпілюйте проект. Якщо проект компілюється перейдіть до виконання наступного пункту.
Каркас НЕ передбачає обов’язкове використання утиліт розгортання (PACFramework tools), але це значно пришвидшує розробку. Тому в даному способі передбачається використання автоматичних утиліт розгортання pacframework-tools (надалі PFwTools).
sourceconfig.ini перевірте чи посилається параметр pathsource розділу [exceltools] на вказану папку, а pathxlsfile на файл masterdata.xlsx якщо ні - виправте і збережіть файлі config.ini :[exceltools]
pathsource = C:\Users\user\pacframeworktools\source
pathresult = C:\Users\user\pacframeworktools\result
pathlog = C:\Users\user\pacframeworktools\log
pathxlsfile = masterdata.xlsx
Для конфігурування даних для розгортання можна скористатися електронною таблицею з майстерданими, у майбутніх версіях PFwTools передбачаються і інші варіанти. Для PFwTools для цього використовується masterdata.xlsx, який означується за певним форматом.
source яку ви створили в попередньому пунктіsource яку ви створили в попередньому пунктіother розміщуються початкові адреси змінних, які повинні бути доступні для HMI.source наступні файли для оператрських екранів з репозиторію:
cd C:\pacfwtools
node C:\pacfwtools\node_modules\pacframework-tools\index seuncreateall
ERR - критична помилка, за якою програма працюватиме некоректноWRN - некритична помилка, далі робота можлива, якщо помилка не є критичною для користувачаATTENTION - не є помилкою, повідомлення щоб користувач звернув увагу, що його треба зробити08:29:10.30 ATTENTION: Масив в параметрах функціях виклику повинен бути розмірів:
08:29:10.31 DI/NDI:224 DO/NDO:144 AI/NAI:68 AO/NAO:10
Це вказує на необхідність заданні в проекті масивів відповідного розміру. Зверніть увагу на ці значення в наступному пункті.
tounitypro в папці з розгорнутим застосунком pacframework-tools. Там повинні зявитися наступні файли, які формуютья pacframework-tools за майстерданими з Excel:xst - згенеровані файли для імпорту секцій та зміннихxcr - файли для імпорту операторських екранів (якщо використовуються)
Є два способи імрпортування: єдиним файлом, або почергово. У цьому пункті пропонується перший варіант.
xxVAR_FN відповідно до вказаних у повідомленні в попередньому пункті. Наприклад, якщо повідомлення містить текст DI/NDI:224 DO/NDO:144 AI/NAI:68 AO/NAO:10, то масиви мають бути наступного формату:



Імпортуйте в розділ MAST->Logic проекту з папки tounitypro файл mainPFW.xst. Погодьтеся на всі зміни (ReplaceALL) та натисніть Ok
Увага! Для великих проектів імпорт може зайняти кілька хвилин.

Topological address index is not valid - у конфігуруванні CPU PLC змініть кількість виділених %MW до 3000.data types do not match ('CHAI:ARRAY[0..8] OF CH_CFG'<->'CHNAI:ARRAY[0..32] OF CH_CFG') необхідно змінити розмірність масивів у функціональних блоках xxVAR_FN відповідно до тих, що вказані в повідомленні утиліти seuncreateallВнесення змін в проект передбачає таку послідовність:
VARS, *_VRAStodo
Інколи важливо мати необхідність імпорту деяких генерованих файлів для окремих секцій. У цьому варіанті імпорту показана необхідна послідовність імпорту окремих файлів підпрограм та змінних.
Необхідно послідовно імпортувати вказані файли. Послідовність має значення, так як деякі змінні імпортуються з першими файлами. Кожний раз при пропозиції співпадіння необхідно замінювати існуючі змінні та структури
dichs.xst , потім dochs.xst, aichs.xst, aochs.xst зі сформованими програми для опитування каналів
plcmaps.xst яка мепить канали на модуліdivars.xst , aivars.xst , dioars.xst, aovars.xst
actrs.xst та resolution.xstTopological address index is not valid - у конфігуруванні CPU PLC змініть кількість виділених %MW до 3000.data types do not match ('CHAI:ARRAY[0..8] OF CH_CFG'<->'CHNAI:ARRAY[0..32] OF CH_CFG') необхідно змінити розмірність масивів у функціональних блоках xxVAR_FN відповідно до тих, що вказані в повідомленні утиліти seuncreateallУ файлі імпорта що генерує PACFramework знаходиться тільки змінна (проектно-залежна) інформація. Інша частина залишається без змін. Тому змінні, що є однаковими для всіх проектів не змінюються в процесі імпорту. Для цих змінних необхідно вручну виставити адреси, для можливості адресації з боку SCADA/HMI.
| Змінна | Адреса |
|---|---|
| PLC | %MW50 |
| SUBMODULE | %MW100 |
| PARASTOHMI | %MW140 |
Завантажте в імітатор та запустіть на виконання.
Використовуючи операторські екрани перевірте роботу CM різного рівня.