{"id":216,"date":"2026-11-11T14:13:30","date_gmt":"2026-11-11T14:13:30","guid":{"rendered":"https:\/\/spec-electronic.pl\/?p=216"},"modified":"2026-11-11T14:13:31","modified_gmt":"2026-11-11T14:13:31","slug":"specmes","status":"publish","type":"post","link":"https:\/\/spec-electronic.pl\/index.php\/2026\/11\/11\/specmes\/","title":{"rendered":"SpecMES"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Na bazie oko\u0142o 18mc do\u015bwiadcze\u0144 w opracowywaniu rozwi\u0105zania pod nazw\u0105 <a href=\"https:\/\/spec-electronic.pl\/index.php\/2026\/01\/03\/simplemes-3-general-flow-and-basic-concept-of-operations\/\">SimpleMES<\/a> powsta\u0142a finalna kompilacja pod nazw\u0105 SpecMES. Idea pozosta\u0142a ci\u0105gle ta sama &#8211; ma to by\u0107 lekkie rozwi\u0105zanie klasy MES (Manufacturing Execution System), zaprojektowane z my\u015bl\u0105 o lokalnej pracy w \u015brodowisku produkcyjnym bez konieczno\u015bci korzystania z us\u0142ug chmurowych. System oparty na lokalnym serwerze PostgreSQL i rozwijany w technologii C# wspiera zarz\u0105dzanie zleceniami produkcyjnymi oraz nadzorowanie realizacji proces\u00f3w na stanowiskach pracy. Jego kluczow\u0105 cech\u0105 jest pe\u0142na identyfikowalno\u015b\u0107 produkcji opartej na numerach seryjnych, co pozwala dok\u0142adnie \u015bledzi\u0107 histori\u0119 ka\u017cdego wyrobu, operatora oraz u\u017cytych narz\u0119dzi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dzi\u0119ki mo\u017cliwo\u015bci integracji z urz\u0105dzeniami pomiarowymi, w tym sprz\u0119tem wykorzystuj\u0105cym protok\u00f3\u0142 AGILENT, SpecMES umo\u017cliwia automatyczne gromadzenie danych z test\u00f3w i proces\u00f3w produkcyjnych. Takie podej\u015bcie nie tylko zwi\u0119ksza kontrol\u0119 jako\u015bci, ale r\u00f3wnie\u017c wspiera analiz\u0119 i dokumentowanie wynik\u00f3w pomiar\u00f3w. System zosta\u0142 stworzony z my\u015bl\u0105 o przedsi\u0119biorstwach wymagaj\u0105cych wysokiego poziomu nadzoru nad procesem produkcyjnym i zgodno\u015bci z normami jako\u015bciowymi, takimi jak ISO 22163 czy IATF 16949. SpecMES wspiera realizacj\u0119 wymaga\u0144 dotycz\u0105cych identyfikowalno\u015bci, jako\u015bci i zgodno\u015bci regulacyjnej, stanowi\u0105c praktyczne narz\u0119dzie dla nowoczesnych zak\u0142ad\u00f3w produkcyjnych. \u0179r\u00f3d\u0142a rozwi\u0105zania s\u0105 dost\u0119pne pod <a href=\"https:\/\/github.com\/awatar100\/SpecMES\/\">tym linkiem na GIT hubie<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Obecne rozwi\u0105zania LLM \u015bwietnie potrafi\u0105 zsyntetyzowa\u0107 kod wi\u0119c zakres dokumentacji jest pokryty w bardzo wysokim stopniu wzgl\u0119dem kodu -> opis w j\u0119zyku PL i ENG w formie tekstu <a href=\"https:\/\/github.com\/awatar100\/SpecMES\/tree\/main\/docs\">lub pliku Word dost\u0119pny pod tym linkiem<\/a>. W dalszej cz\u0119\u015bci znajduje si\u0119 kilka skopiowanych element\u00f3w z opisu aby mo\u017cna by\u0142o si\u0119 zapozna\u0107 ze sposobem pracy systemu oraz jego architektur\u0105. Co warto podkre\u015bli\u0107 &#8211; terminale produkcyjne utworzono z pomoc\u0105 element\u00f3w graficznych dost\u0119pnych pod Windows jak i Linux -> rozwi\u0105zanie na produkcje nie jest przypisane na sztywno do jednego systemu. Kod jest na licencji BSD wi\u0119c mo\u017cna go samemu skompilowa\u0107 i wyregulowa\u0107 do swoich potrzeb, je\u017celi potrzebujesz<strong> pliku wykonywalnego &#8211; daj zna\u0107<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cej kilka screen\u00f3w z pracuj\u0105cej aplikacji &#8211; modu\u0142 zarz\u0105dzania<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"667\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-2-1024x667.png\" alt=\"\" class=\"wp-image-220\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-2-1024x667.png 1024w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-2-300x195.png 300w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-2-768x500.png 768w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-2.png 1279w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"610\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-4-1024x610.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-4-1024x610.png 1024w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-4-300x179.png 300w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-4-767x457.png 767w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-4.png 1296w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"493\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-5-1024x493.png\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-5-1024x493.png 1024w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-5-300x144.png 300w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-5-767x369.png 767w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-5.png 1241w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Modu\u0142 pracuj\u0105cy na linuxie (Lubuntu) &#8211; SpecAPP (terminal produkcyjny) <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-3-1024x736.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-3-1024x736.png 1024w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-3-300x216.png 300w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-3-767x551.png 767w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-3.png 1133w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I element w trakcie pracy na systemie windows po zalogowaniu<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-6-1024x534.png\" alt=\"\" class=\"wp-image-224\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-6-1024x534.png 1024w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-6-300x157.png 300w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-6-766x400.png 766w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-6.png 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>Przeznaczenie i zakres<\/a><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">System rejestruje przebieg produkcji ka\u017cdej sztuki wyrobu (traceability): kto, kiedy, na kt\u00f3rym stanowisku, jakim narz\u0119dziem i z jakim wynikiem wykona\u0142 ka\u017cdy krok procesu, jakie materia\u0142y i cz\u0119\u015bci sk\u0142adowe zosta\u0142y u\u017cyte oraz jakie decyzje podj\u0105\u0142 dzia\u0142 jako\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">System sk\u0142ada si\u0119 z trzech program\u00f3w:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Program<\/strong><\/td><td><strong>Dla kogo<\/strong><\/td><td><strong>Do czego s\u0142u\u017cy<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>SpecInstall<\/strong><\/td><td>administrator<\/td><td>jednorazowe za\u0142o\u017cenie struktury bazy danych i wygenerowanie plik\u00f3w konfiguracyjnych setup.ini<\/td><\/tr><tr><td><strong>SpecManagment<\/strong><\/td><td>planista, technolog, jako\u015b\u0107, administrator danych<\/td><td>definiowanie wyrob\u00f3w, marszrut, zlece\u0144, materia\u0142\u00f3w, narz\u0119dzi i u\u017cytkownik\u00f3w; decyzje jako\u015bci; KPI; eksport<\/td><\/tr><tr><td><strong>SpecAPP<\/strong><\/td><td>operator produkcji<\/td><td>praca na stanowisku: skan numeru seryjnego, wykonanie kroku, zapis wyniku OK\/NOK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Poza zakresem systemu s\u0105: drukowanie etykiet z numerami seryjnymi, sam program pomiarowy (np. pomiar.exe \u2013 dostarcza go u\u017cytkownik) oraz integracja z systemem ERP (pole \u201eWARTO\u015a\u0106 ERP\u201d jest wpisywane r\u0119cznie).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>Architektura systemu<\/a><\/h1>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"627\" height=\"406\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image.jpg\" alt=\"\" class=\"wp-image-218\" style=\"aspect-ratio:1.5443349753694582;width:627px;height:auto\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image.jpg 627w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-300x194.png 300w\" sizes=\"auto, (max-width: 627px) 100vw, 627px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Rysunek 1. Architektura systemu<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Najwa\u017cniejsze zasady dzia\u0142ania:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Jedna baza, jeden schemat na firm\u0119.<\/strong> Ka\u017cda instalacja tworzy w bazie PostgreSQL osobny schemat o 5-znakowej nazwie (np. prod1). Na jednym serwerze mo\u017ce dzia\u0142a\u0107 wiele niezale\u017cnych instalacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Trzy role bazodanowe.<\/strong> &lt;prefiks&gt;_owner (w\u0142a\u015bciciel tabel, bez prawa logowania), &lt;prefiks&gt;_mgmt (SpecManagment) i &lt;prefiks&gt;_prod (SpecAPP \u2013 tylko odczyt konfiguracji, dopisywanie wynik\u00f3w i zmiana stanu sztuki).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Marszruta zamra\u017cana przy starcie zlecenia.<\/strong> W chwili \u201eStart produkcji\u201d bie\u017c\u0105ca marszruta wyrobu jest kopiowana do zlecenia. P\u00f3\u017aniejsze zmiany marszruty dotycz\u0105 dopiero kolejnych zlece\u0144.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Formularz stanowiska powstaje z konfiguracji kroku.<\/strong> SpecAPP nie ma ekran\u00f3w \u201ena sztywno\u201d \u2013 pola materia\u0142\u00f3w, pomiaru i cz\u0119\u015bci sk\u0142adowej pojawiaj\u0105 si\u0119 zgodnie z definicj\u0105 kroku.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022\u00a0\u00a0\u00a0\u00a0 <strong>Wyniki s\u0105 tylko dopisywane.<\/strong> Wyniku kroku ani wpisu audytu nie mo\u017cna zmieni\u0107 ani usun\u0105\u0107; korekta to zawsze nowy wpis. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Role i uprawnienia<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy u\u017cytkownik ma dok\u0142adnie jedn\u0105 rol\u0119. Rola decyduje, do kt\u00f3rego programu mo\u017cna si\u0119 zalogowa\u0107 i kt\u00f3re zak\u0142adki SpecManagment s\u0105 widoczne.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Modu\u0142<\/strong><\/td><td><strong>Produkcja<\/strong><\/td><td><strong>Planista<\/strong><\/td><td><strong>Technolog<\/strong><\/td><td><strong>Jako\u015b\u0107<\/strong><\/td><td><strong>MasterDATA<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>SpecAPP<\/strong> (stanowisko)<\/td><td>\u2714<\/td><td>\u2013<\/td><td>\u2013<\/td><td>\u2013<\/td><td>\u2714<\/td><\/tr><tr><td>Wyroby<\/td><td>\u2013<\/td><td>zapis<\/td><td>podgl\u0105d<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><\/tr><tr><td>Marszruty<\/td><td>\u2013<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><\/tr><tr><td>Zlecenia<\/td><td>\u2013<\/td><td>zapis<\/td><td>podgl\u0105d<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><\/tr><tr><td>Dashboard KPI<\/td><td>\u2013<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Jako\u015b\u0107<\/td><td>\u2013<\/td><td>\u2013<\/td><td>\u2013<\/td><td>zapis<\/td><td>zapis<\/td><\/tr><tr><td>Eksport<\/td><td>\u2013<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><td>\u2714<\/td><\/tr><tr><td>Materia\u0142y<\/td><td>\u2013<\/td><td>zapis<\/td><td>zapis<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><\/tr><tr><td>Narz\u0119dzia<\/td><td>\u2013<\/td><td>podgl\u0105d<\/td><td>zapis<\/td><td>zapis<\/td><td>zapis<\/td><\/tr><tr><td>U\u017cytkownicy<\/td><td>\u2013<\/td><td>\u2013<\/td><td>\u2013<\/td><td>\u2013<\/td><td>zapis<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u201ePodgl\u0105d\u201d oznacza, \u017ce zak\u0142adka jest widoczna (z dopiskiem \u201e(podgl\u0105d)\u201d), ale przyciski zapisu s\u0105 nieaktywne. \u201e\u2013\u201d oznacza brak zak\u0142adki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zasady logowania:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; Po 5 nieudanych pr\u00f3bach konto jest blokowane na 5 minut. Zapisanie u\u017cytkownika w zak\u0142adce \u201eU\u017cytkownicy\u201d zdejmuje blokad\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; Nowe lub zresetowane has\u0142o wymusza zmian\u0119 przy pierwszym logowaniu. Has\u0142o musi mie\u0107 co najmniej 4 znaki i r\u00f3\u017cni\u0107 si\u0119 od poprzedniego.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; W systemie musi pozosta\u0107 co najmniej jeden aktywny u\u017cytkownik o roli MasterDATA.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a>S\u0142ownik poj\u0119\u0107 i opis p\u00f3l<\/a><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><a>Numer seryjny i definicja wyrobu<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy wyr\u00f3b ma w\u0142asny wzorzec numeru seryjnego:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[PREFIX][WARTO\u015a\u0106 ERP][Num++][SUFIX]<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Pole<\/strong><\/td><td><strong>Obowi\u0105zkowe<\/strong><\/td><td><strong>D\u0142ugo\u015b\u0107<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>PREFIX<\/strong><\/td><td>tak<\/td><td>1\u201350 znak\u00f3w<\/td><td>Sta\u0142a cz\u0119\u015b\u0107 pocz\u0105tkowa numeru, zwykle nazwa rodziny wyrobu wraz z separatorem, np. TELEFON\/ lub TELEFON-. Separator (uko\u015bnik, my\u015blnik) jest cz\u0119\u015bci\u0105 PREFIX-u \u2013 system niczego nie dokleja sam.<\/td><\/tr><tr><td><strong>WARTO\u015a\u0106 ERP<\/strong><\/td><td>nie<\/td><td>0\u201350 znak\u00f3w<\/td><td>Sta\u0142a cz\u0119\u015b\u0107 \u015brodkowa, zwykle indeks lub oznaczenie wariantu z systemu ERP, np. NOKIA10\/. Wpisywana r\u0119cznie.<\/td><\/tr><tr><td><strong>Num++<\/strong><\/td><td>tak<\/td><td>3\u20136 cyfr<\/td><td>Licznik sztuk. Podaje si\u0119 tylko <strong>liczb\u0119 cyfr<\/strong>; numer jest uzupe\u0142niany zerami z lewej (0001). Licznik zaczyna od 1 i ro\u015bnie o 1 dla ka\u017cdej sztuki.<\/td><\/tr><tr><td><strong>SUFIX<\/strong><\/td><td>nie<\/td><td>0\u201350 znak\u00f3w<\/td><td>Sta\u0142a cz\u0119\u015b\u0107 ko\u0144cowa, np. wersja oprogramowania &nbsp;FW1.00. Spacje s\u0105 dozwolone i s\u0105 cz\u0119\u015bci\u0105 numeru.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ady:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>PREFIX<\/strong><\/td><td><strong>WARTO\u015a\u0106 ERP<\/strong><\/td><td><strong>Num++<\/strong><\/td><td><strong>SUFIX<\/strong><\/td><td><strong>Pierwszy numer<\/strong><\/td><\/tr><\/thead><tbody><tr><td>TELEFON\/<\/td><td>NOKIA10\/<\/td><td>4<\/td><td>&nbsp;FW1.00<\/td><td>TELEFON\/NOKIA10\/0001 FW1.00<\/td><\/tr><tr><td>TELEFON-<\/td><td><em>(puste)<\/em><\/td><td>4<\/td><td><em>(puste)<\/em><\/td><td>TELEFON-0001<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zasady, o kt\u00f3rych trzeba pami\u0119ta\u0107:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Znaki niedozwolone<\/strong> we wszystkich polach tekstowych: $ % ^ &amp; ; # oraz znaki steruj\u0105ce.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Pojemno\u015b\u0107 licznika<\/strong> wynosi 10^n \u2212 1 sztuk: 3 cyfry = 999, 4 cyfry = 9 999, 5 cyfr = 99 999, 6 cyfr = 999 999. Licznik jest wsp\u00f3lny dla wszystkich zlece\u0144 danego wyrobu i nigdy si\u0119 nie cofa. Zlecenia, kt\u00f3re przekroczy\u0142oby pojemno\u015b\u0107, system nie utworzy \u2013 trzeba zdefiniowa\u0107 nowy wyr\u00f3b (np. z innym PREFIX-em lub d\u0142u\u017cszym Num++).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Wyrobu nie mo\u017cna zmieni\u0107 ani usun\u0105\u0107.<\/strong> Wybranie wyrobu z listy kopiuje jego dane do formularza; po zmianie zapisuje si\u0119 go jako <strong>nowy<\/strong> wyr\u00f3b. Kombinacja PREFIX + WARTO\u015a\u0106 ERP + SUFIX + d\u0142ugo\u015b\u0107 Num++ musi by\u0107 unikalna.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Numer seryjny jest unikalny w ca\u0142ym systemie.<\/strong> Je\u015bli dwa wyroby da\u0142yby ten sam numer, zlecenie nie zostanie utworzone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Skan numeru na stanowisku<\/strong> usuwa wy\u0142\u0105cznie ko\u0144cowe CR\/LF. Spacje \u2013 tak\u017ce ko\u0144cowe \u2013 s\u0105 cz\u0119\u015bci\u0105 numeru, wi\u0119c etykieta musi odwzorowa\u0107 numer co do znaku.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a>Zlecenie produkcyjne<\/a><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Pole<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Numer zlecenia<\/strong><\/td><td>Nadawany automatycznie: ZP-RRRRMMDD-NNN (data utworzenia i kolejny numer w danym dniu), np. ZP-20261110-001.<\/td><\/tr><tr><td><strong>Wyr\u00f3b<\/strong><\/td><td>Na li\u015bcie s\u0105 tylko wyroby ze zdefiniowan\u0105 marszrut\u0105.<\/td><\/tr><tr><td><strong>Wersja BOM<\/strong><\/td><td>Obowi\u0105zkowa, do 25 znak\u00f3w. Informacja opisowa o wersji listy materia\u0142owej, zapisywana przy zleceniu i widoczna na stanowisku oraz w eksporcie.<\/td><\/tr><tr><td><strong>Ilo\u015b\u0107 do produkcji<\/strong><\/td><td>Liczba sztuk &gt; 0. Tyle numer\u00f3w seryjnych zostanie wygenerowanych od razu przy tworzeniu zlecenia.<\/td><\/tr><tr><td><strong>Przewidywana data startu \/ uko\u0144czenia<\/strong><\/td><td>Informacyjne; data startu nie mo\u017ce by\u0107 p\u00f3\u017aniejsza ni\u017c data uko\u0144czenia.<\/td><\/tr><tr><td><strong>Notatki<\/strong><\/td><td>Do 1000 znak\u00f3w.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Stany zlecenia:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"238\" height=\"441\" src=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-1.jpg\" alt=\"\" class=\"wp-image-219\" style=\"aspect-ratio:0.5396825396825397;width:238px;height:auto\" srcset=\"https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-1.jpg 238w, https:\/\/spec-electronic.pl\/wp-content\/uploads\/2026\/11\/image-1-162x300.png 162w\" sizes=\"auto, (max-width: 238px) 100vw, 238px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Rysunek 2. Stany zlecenia produkcyjnego<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Utworzone<\/strong> \u2013 numery seryjne istniej\u0105, ale stanowiska odrzucaj\u0105 ich skan (\u201ezlecenie nie zosta\u0142o jeszcze wystartowane\u201d).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Aktywne<\/strong> \u2013 jedyny stan, w kt\u00f3rym mo\u017cna pracowa\u0107 nad sztukami i podejmowa\u0107 decyzje jako\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2022&nbsp;&nbsp;&nbsp;&nbsp; <strong>Zamkni\u0119te \/ Anulowane<\/strong> \u2013 operacja nieodwracalna. Niedoko\u0144czone sztuki zamkni\u0119tego zlecenia s\u0105 trwale zablokowane.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a>Marszruta i krok<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Marszruta to uporz\u0105dkowana lista krok\u00f3w wyrobu. Kroki wykonuje si\u0119 kolejno wed\u0142ug numer\u00f3w; nie ma rozga\u0142\u0119zie\u0144.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Pole kroku<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Numer kroku<\/strong><\/td><td>Liczba &gt; 0. Zaleca si\u0119 wielokrotno\u015bci 10 (10, 20, 30 \u2026), aby mo\u017cna by\u0142o wstawi\u0107 krok pomi\u0119dzy; przycisk \u201eNowy krok \u2013 podpowiedz numer\u201d proponuje kolejn\u0105 dziesi\u0105tk\u0119.<\/td><\/tr><tr><td><strong>Opis kroku<\/strong><\/td><td>Obowi\u0105zkowy tytu\u0142, do 50 znak\u00f3w.<\/td><\/tr><tr><td><strong>Tre\u015b\u0107 kroku<\/strong><\/td><td>Instrukcja dla operatora wy\u015bwietlana na stanowisku, do 500 znak\u00f3w.<\/td><\/tr><tr><td><strong>Step duration [s]<\/strong><\/td><td>Planowany czas kroku w sekundach. S\u0142u\u017cy wy\u0142\u0105cznie do por\u00f3wnania plan\/rzeczywisto\u015b\u0107 w KPI.<\/td><\/tr><tr><td><strong>Work Instructions<\/strong><\/td><td>\u015acie\u017cka do pliku instrukcji <strong>widziana ze stanowiska<\/strong> (do 500 znak\u00f3w). Na stanowisku pojawia si\u0119 przycisk \u201eInstrukcja stanowiskowa\u2026\u201d, kt\u00f3ry otwiera plik domy\u015blnym programem systemu.<\/td><\/tr><tr><td><strong>Manual measurement<\/strong><\/td><td>Pomiar r\u0119czny jednej warto\u015bci. Wymaga: LSL \u2264 USL, wskazania narz\u0119dzia; jednostka (Unit) do 10 znak\u00f3w. Operator skanuje numer miernika i wpisuje warto\u015b\u0107.<\/td><\/tr><tr><td><strong>Automatic Measurement<\/strong><\/td><td>Pomiar wykonywany przez zewn\u0119trzny program (rozdz. 9). Wymaga: \u015bcie\u017cki programu, timeoutu &gt; 0 s, narz\u0119dzia oraz 1\u201310 zdefiniowanych wynik\u00f3w. Wyklucza pomiar r\u0119czny, materia\u0142y i Consumes.<\/td><\/tr><tr><td><strong>Narz\u0119dzie<\/strong><\/td><td>Przy pomiarze r\u0119cznym \u2013 miernik, kt\u00f3rego numer operator musi zeskanowa\u0107. Przy pomiarze automatycznym \u2013 ToolID, kt\u00f3ry musi zwr\u00f3ci\u0107 program pomiarowy.<\/td><\/tr><tr><td><strong>Wyniki 1\u201310<\/strong><\/td><td>Tylko dla pomiaru automatycznego, wype\u0142niane kolejno od 1 bez przerw. Typ \u201eLiczba\u201d: wymagane LSL \u2264 USL. Typ \u201eTekst\u201d: wymagany tekst oczekiwany; por\u00f3wnanie jest dok\u0142adne, z rozr\u00f3\u017cnieniem wielko\u015bci liter.<\/td><\/tr><tr><td><strong>Material declaration<\/strong><\/td><td>Do 10 materia\u0142\u00f3w w kroku: zaznaczenie \u201eIs used?\u201d, materia\u0142 z listy, ilo\u015b\u0107 &gt; 0.<\/td><\/tr><tr><td><strong>Consumes<\/strong><\/td><td>Operator skanuje numer cz\u0119\u015bci sk\u0142adowej wbudowywanej w sztuk\u0119 (np. numer PCB).<\/td><\/tr><tr><td><strong>Repeatable Step?<\/strong><\/td><td>Krok powtarzalny: wynik NOK nie blokuje sztuki, operator od razu ponawia krok.<\/td><\/tr><tr><td><strong>Final Step?<\/strong><\/td><td>Krok finalny: wynik OK ko\u0144czy produkcj\u0119 sztuki. Marszruta musi mie\u0107 dok\u0142adnie jeden krok finalny i musi on mie\u0107 najwy\u017cszy numer.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ograniczenia: granice LSL\/USL s\u0105 traktowane w\u0142\u0105cznie (warto\u015b\u0107 r\u00f3wna granicy jest poprawna). \u0141\u0105czna liczba akcji w kroku (materia\u0142y + pomiar r\u0119czny + Consumes) nie mo\u017ce przekroczy\u0107 10.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyciski: <strong>Add<\/strong> dodaje nowy krok (numer nie mo\u017ce ju\u017c istnie\u0107), <strong>Update<\/strong> aktualizuje istniej\u0105cy krok o podanym numerze, <strong>Usu\u0144 krok<\/strong> usuwa go z marszruty bie\u017c\u0105cej. Kroku finalnego nie da si\u0119 usun\u0105\u0107, dop\u00f3ki inny krok nie zostanie oznaczony jako finalny.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a>Materia\u0142<\/a><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Pole<\/strong><\/td><td><strong>Opis<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Nazwa<\/strong><\/td><td>Obowi\u0105zkowa, unikalna, do 100 znak\u00f3w.<\/td><\/tr><tr><td><strong>Jednostka miary<\/strong><\/td><td>Do 10 znak\u00f3w, np. g, szt.<\/td><\/tr><tr><td><strong>Ilo\u015b\u0107 domy\u015blna<\/strong><\/td><td>Podpowiadana przy dodawaniu materia\u0142u do kroku.<\/td><\/tr><tr><td><strong>Wzorzec partii<\/strong><\/td><td>Opcjonalny wzorzec numeru partii: * zast\u0119puje dowolny ci\u0105g znak\u00f3w, ? jeden znak. Przyk\u0142ad: KLEJ* przyjmie KLEJ-2026-11, odrzuci SR-4471. Pusty wzorzec = dowolny numer partii. Wielko\u015b\u0107 liter ma znaczenie.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na bazie oko\u0142o 18mc do\u015bwiadcze\u0144 w opracowywaniu rozwi\u0105zania pod nazw\u0105 SimpleMES powsta\u0142a finalna kompilacja pod nazw\u0105 SpecMES. Idea pozosta\u0142a ci\u0105gle ta sama &#8211; ma to by\u0107 lekkie rozwi\u0105zanie klasy MES (Manufacturing Execution System), zaprojektowane z my\u015bl\u0105 o lokalnej pracy w \u015brodowisku produkcyjnym bez konieczno\u015bci korzystania z us\u0142ug chmurowych. System oparty na lokalnym serwerze PostgreSQL i &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/spec-electronic.pl\/index.php\/2026\/11\/11\/specmes\/\"> <span class=\"screen-reader-text\">SpecMES<\/span>Read More &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":226,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-216","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mes"],"_links":{"self":[{"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/posts\/216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/comments?post=216"}],"version-history":[{"count":6,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/posts\/216\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/posts\/216\/revisions\/234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/media\/226"}],"wp:attachment":[{"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/media?parent=216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/categories?post=216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spec-electronic.pl\/index.php\/wp-json\/wp\/v2\/tags?post=216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}