Od pewnego czasu ludzie mieli okazję zapoznać się z AI generatywnym, a najbardziej znanym ChatGPT. W moim ostatnim artykule, Używanie ChatGPT do automatycznego testowania, przedstawiłem usługę ChatGPT, pokazałem, jak się z nią zapoznać i używać jej do generowania kodu do przeprowadzania testów na twoim sprzęcie. W tym artykule przyjrzymy się, jak najlepiej wykorzystać ChatGPT do pisania kodu DelphiScript do uruchamiania automatycznych funkcji w samym Altium za pomocą Skryptowania Altium.
Zanim zagłębimy się w implementację, ważne jest, aby zrozumieć, z czym mamy do czynienia. Skryptowanie w Altium jest najlepiej obsługiwane przy użyciu DelphiScript (w porównaniu z innymi językami). Podczas gdy szybkie wyszukiwanie w internecie daje wyniki takie jak „To 2022—Czy nie czas, abyś zaczął programować w Delphi?” i chwytliwe nagłówki takie jak „Język Pascal, który jest używany w Delphi, jest jednym z najbardziej popularnych i uniwersalnych języków programowania”, nigdy nie widziałem użycia Delphi poza Altium Designer. To nie znaczy, że to zły język - po prostu nie jest tak powszechnie używany jak Python, C++ itp. Nauka nowego języka (szczególnie jeśli nie jesteś programistą z zawodu) może być dużym wyzwaniem, dlatego Altium przygotowało wiele zasobów i nawet narzędzia do kodowania w DelphiScript tutaj. Jeśli chcesz zgłębić ten język, zasoby te mogą być pomocne.
Gdy zaczniesz pracować ze skryptowaniem w Altium, bardzo szybko zgromadzisz dużą kolekcję skryptów, które będziesz chciał zapisać i/lub udostępnić. Aby utworzyć nowy projekt skryptowania w Altium Designer, przejdź do Plik > Nowy > Skrypt > Projekt skryptu. Kliknij prawym przyciskiem myszy na nowo utworzonym projekcie i przejdź do Dodaj nowy do projektu > Jednostka skryptu. Spowoduje to utworzenie nowego pliku .pas, który będzie twoim skryptem:
Rysunek 1: Dodawanie pliku skryptu do istniejącego projektu
Chcemy zapisać to w naszej przestrzeni roboczej Altium 365. Najpierw upewnij się, że zapisałeś projekt lokalnie. Następnie kliknij prawym przyciskiem myszy na projekt ponownie i przejdź do Historia & Kontrola wersji > Dodaj projekt do kontroli wersji…
Rysunek 2: Dodawanie projektu do przestrzeni roboczej Altium 365
Postępuj zgodnie z poleceniami, aby zapisać projekt w swoim obszarze roboczym Altium 365. Aby uzyskać dalsze instrukcje dotyczące pisania, uruchamiania i debugowania kodu DelphiScript w Altium Designer, zapoznaj się z dokumentacją Altium.
Teraz, gdy wszystko jest gotowe, możemy zacząć. ChatGPT ma "potencjał", aby całkowicie napisać skrypt DelphiScript od początku do końca. Używam tutaj słowa "potencjał" zamiast "zdolność", ponieważ nie zawsze wszystko robi poprawnie. Weźmy prosty przykład, w którym prosimy ChatGPT o wygenerowanie skryptu w DelphiScript, który wylistuje wszystkie sieci w moim projekcie. Zaczęłam od polecenia, które było, szczerze mówiąc, bardzo ogólne:
Rysunek 3: Początkowa odpowiedź ChatGPT
Automatycznie zrozumiał, że chcę wylistować wszystkie sieci z PcbDoc. Tak naprawdę chciałem to zrobić ze schematu, więc go poprawiłem:
Rysunek 4: Jedna z wielu prób ChatGPT, aby napisać poprawny skrypt
Nie pokazałem całego kodu, który dla mnie wygenerował, ale co się potem wydarzyło, to uruchamiałem kod wielokrotnie, tylko po to, aby Altium Designer zakończył się błędami takimi jak "Nieokreślony identyfikator: eNet" lub "Oczekiwano: in For Pin in Component. Pins Do." Wszystko, co zrobiłem, to kilkakrotnie odpowiadałem ChatGPT tymi błędami, i za piątym razem wygenerował kod, którego szukałem.
Co jest jasne, to fakt, że nie jest świetny w generowaniu DelphiScript od zera, ale jest do tego zdolny. Pamiętaj o tym, zanim rzucisz klawiaturą o ścianę z frustracji.
ChatGPT może być również dostępny jako bardziej pomocnik lub programista współpracujący. Możesz użyć ChatGPT do analizy kodu, znajdowania błędów lub pomocy w dostosowywaniu konkretnych funkcji. Możemy wziąć istniejący przykład skryptu Altium i sprawić, by ChatGPT dostosował go do naszych potrzeb.
Istnieją zasoby (szczególnie hostowane na GitHubie), które dostarczają przykłady skryptów Altium. Skorzystam z tych oficjalnie dostarczonych przez Altium. Można je znaleźć tutaj.
Zaczynam od przykładu PlaceAPort znajdującego się w \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. Dałem ChatGPT bardzo trywialne zadanie:
ChatGPT dał mi kod, który dokładnie odpowiadał temu żądaniu. Szczerze mówiąc, to jest dość proste, jeśli jesteś w miarę komfortowy z programowaniem. Spróbujmy czegoś trudniejszego, co wymaga kontekstowej wiedzy o skryptach Altium.
Oto moje zaktualizowane polecenie do ChatGPT:
Na pierwszym strzale kończy się niepowodzeniem z błędem Niezadeklarowanej Identyfikacji:
Rysunek 5: Błąd debuggera z Altium Designer
Informuję o tym i oczywiście otrzymuję przeprosiny. Ponownie kończy się niepowodzeniem z błędem „Niezadeklarowana identyfikacja: Nazwa”, ale za trzecim razem otrzymuję moją etykietę sieci dokładnie tam, gdzie powinna być:
Rysunek 6: Nowa etykieta sieci i port wygenerowane przez zmodyfikowane skrypty
Jest oczywiste, że wraz ze wzrostem złożoności, ChatGPT ma mniejsze szanse, aby od razu poprawnie wygenerować skrypt. Odkryłem jednak, że z wytrwałością, jest w stanie ostatecznie osiągnąć zamierzony cel, szczególnie jeśli możesz mu trochę pomóc (zakładając, że rozumiesz generowany przez niego kod).
W tym artykule zaczęliśmy od wprowadzenia do skryptów w Altium, jak stworzyć projekt i zapisać go w swojej przestrzeni roboczej Altium 365. Zagłębiliśmy się w przykłady z ChatGPT, gdzie całkowicie generował skrypty od zera, a także modyfikował skrypty, które mu dostarczyliśmy. Zaprezentowaliśmy jego możliwości i jak nie zawsze wszystko wychodzi poprawnie. Chociaż nie jest doskonały, z pewnością może służyć jako przewodnik przez Twoją podróż z skryptami Altium. Co najważniejsze, zdecydowanie lepiej jest go mieć, niż w ogóle go nie posiadać.