Při programování je asi snadno pochopitelný požadavek, aby názvy entit (programů, proměnných atd.) byly unikátní. Nelze tedy mít dvě proměnné, které se jmenují stejně; v tom případě při kompilaci dojde k chybě. Oddělit části kódu, aby se těmto kolizím zabránilo, umožňují jmenné prostory (namespace).
Pokud chceme v ST programu použít pro čtení nebo zápis proměnnou z jiného programu a nejedná se o globální proměnnou, je nutné na ni odkázat pomocí kompletní cesty. Především ale musíme zajistit, aby byla viditelná i mimo svůj vlastní „obzor“. To se dělá tak, že příslušný vstup nebo výstup označíme jako „Publikovat“:
Příslušný port se navenek zbarví zeleně a zároveň ve jmenném prostoru svého programu, zde main2, vznikne nová proměnná linear.y:
Pokud ji budeme chtít použít v jiném programu, musíme ji volat včetně tohoto jmenného prostoru, aby se odlišila od případných jiných proměnných stejného jména, které mohou existovat v jiných jmenných prostorech.
Všimněme si znaků „$“, které uvozují název proměnné. Používají se proto, aby jednoznačně definovaly text – název proměnné; tečka v linear.y zde neodděluje jmenný prostor, ale tvoří součást názvu, jak je vidět v Prohlížeči proměnných. Možný by byl i zápis
MyVariable2 := $main2$.$linear.y$;
MyVariable1 := hw.RXIO_AI01;
používá globální proměnnou z jmenného prostoru hw, která vznikla automatickým generováním při založení vstupně-výstupního modulu.