{"id":35360,"date":"2025-05-31T15:58:30","date_gmt":"2025-05-31T13:58:30","guid":{"rendered":"https:\/\/sklep-plcspace.pl\/?p=35360"},"modified":"2025-08-05T09:40:21","modified_gmt":"2025-08-05T07:40:21","slug":"instrukcja-ton-plc-siemens","status":"publish","type":"post","link":"https:\/\/sklep-plcspace.pl\/en\/blog\/instrukcja-ton-plc-siemens\/","title":{"rendered":"Jak generowa\u0107 op\u00f3\u017anienie za pomoc\u0105 instrukcji TON?"},"content":{"rendered":"<h3 class=\"wp-block-heading\"><strong>Wprowadzenie do timera TON w Siemens PLC<\/strong><\/h3>\n\n\n\n<p>Instrukcja <strong>TON<\/strong> (Timer On Delay) jest kluczowym elementem w programowaniu Siemens PLC, kt\u00f3ry pozwala na generowanie op\u00f3\u017anie\u0144 czasowych. Dzi\u0119ki niej mo\u017cna efektywnie kontrolowa\u0107 czas dzia\u0142ania wyj\u015b\u0107 w systemach automatyki.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jak dzia\u0142a op\u00f3\u017anienie czasowe TON?<\/strong><\/h3>\n\n\n\n<p>Mo\u017cesz u\u017cy\u0107 instrukcji &#8222;Generate on-delay&#8221;, aby op\u00f3\u017ani\u0107 ustawienie wyj\u015bcia Q o zaprogramowany czas PT. Instrukcja jest uruchamiana, gdy wynik operacji logicznej (RLO) na wej\u015bciu IN zmienia si\u0119 z &#8222;0&#8221; na &#8222;1&#8221; (dodatni zbocze sygna\u0142u). Zaprogramowany czas PT zaczyna si\u0119, gdy instrukcja si\u0119 uruchamia. Gdy czas PT up\u0142ynie, wyj\u015bcie Q ma stan sygna\u0142u &#8222;1&#8221;. Wyj\u015bcie Q pozostaje ustawione tak d\u0142ugo, jak d\u0142ugo wej\u015bcie startowe jest nadal &#8222;1&#8221;. Gdy stan sygna\u0142u na wej\u015bciu startowym zmienia si\u0119 z &#8222;1&#8221; na &#8222;0&#8221;, wyj\u015bcie Q jest resetowane. Aby lepiej zrozumie\u0107 spos\u00f3b dzia\u0142ania timera TON, warto zapozna\u0107 si\u0119 z praktycznymi przyk\u0142adami. Szczeg\u00f3lnie pomocny mo\u017ce by\u0107 <a href=\"https:\/\/sklep-plcspace.pl\/en\/thank-you-for-placing-the-order-11\/?wmc-currency=EUR\" data-type=\"link\" data-id=\"https:\/\/sklep-plcspace.pl\/jezyk-drabinkowy-symulator\/\">symulator j\u0119zyka drabinkowego online<\/a>, kt\u00f3ry pozwala testowa\u0107 funkcje bez fizycznego sterownika.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Aktualizacja warto\u015bci timera<\/strong><\/h4>\n\n\n\n<p>Aktualna warto\u015b\u0107 czasu mo\u017ce by\u0107 zapytana na wyj\u015bciu ET. Warto\u015b\u0107 timera zaczyna si\u0119 od T#0s i ko\u0144czy, gdy osi\u0105gni\u0119ta zostanie warto\u015b\u0107 czasu trwania PT. Wyj\u015bcie ET jest resetowane, gdy stan sygna\u0142u na wej\u015bciu IN zmienia si\u0119 na &#8222;0&#8221;. Je\u015bli instrukcja nie jest wywo\u0142ywana w programie, poniewa\u017c jest pomijana, wyj\u015bcie ET zwraca sta\u0142\u0105 warto\u015b\u0107, gdy czas PT up\u0142ynie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Implementacja timera TON w CPU S7-1200 i S7-1500<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Dla CPU S7-1200<\/strong><\/h4>\n\n\n\n<p>Timer IEC to struktura typu danych IEC_TIMER lub TON_TIME, kt\u00f3r\u0105 mo\u017cesz zadeklarowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deklaracja bloku danych typu systemowego IEC_TIMER (na przyk\u0142ad &#8222;MyIEC_TIMER&#8221;)<\/li>\n\n\n\n<li>Deklaracja jako lokalny tag typu TON_TIME lub IEC_TIMER w sekcji &#8222;Static&#8221; bloku (na przyk\u0142ad #MyIEC_TIMER)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Dla CPU S7-1500<\/strong><\/h4>\n\n\n\n<p>Timer IEC to struktura typu danych IEC_TIMER, IEC_LTIMER, TON_TIME lub TON_LTIME, kt\u00f3r\u0105 mo\u017cesz zadeklarowa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deklaracja bloku danych typu systemowego IEC_TIMER lub IEC_LTIMER (na przyk\u0142ad &#8222;MyIEC_TIMER&#8221;)<\/li>\n\n\n\n<li>Deklaracja jako lokalny tag typu TON_TIME, TON_LTIME, IEC_TIMER lub IEC_LTIMER w sekcji &#8222;Static&#8221; bloku (na przyk\u0142ad #MyIEC_TIMER)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Aktualizacja warto\u015bci rzeczywistych w danych instancji<\/strong><\/h3>\n\n\n\n<p>Dane instancji z &#8222;Generate on-delay&#8221; s\u0105 aktualizowane zgodnie z nast\u0119puj\u0105cymi zasadami:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Wej\u015bcie IN:<\/strong> Instrukcja &#8222;Generate on-delay&#8221; por\u00f3wnuje aktualne RLO z RLO z poprzedniego zapytania, kt\u00f3re jest zapisane w parametrze IN w danych instancji. Je\u015bli instrukcja wykryje zmian\u0119 RLO z &#8222;0&#8221; na &#8222;1&#8221;, nast\u0119puje dodatnie zbocze sygna\u0142u i rozpoczyna si\u0119 pomiar czasu.<\/li>\n\n\n\n<li><strong>Wej\u015bcie PT:<\/strong> Warto\u015b\u0107 na wej\u015bciu PT jest zapisywana w parametrze PT w danych instancji, gdy zmienia si\u0119 zbocze na wej\u015bciu IN.<\/li>\n\n\n\n<li><strong>Wyj\u015bcia Q i ET:<\/strong> Aktualne warto\u015bci wyj\u015b\u0107 Q i ET s\u0105 aktualizowane, gdy instrukcja jest wywo\u0142ywana lub przy dost\u0119pie do Q lub ET.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Niebezpiecze\u0144stwa zwi\u0105zane z u\u017cywaniem timera IEC<\/strong><\/h3>\n\n\n\n<p><strong>Niebezpiecze\u0144stwo<\/strong><\/p>\n\n\n\n<p>Reinicializacja aktualnych warto\u015bci timera IEC podczas dzia\u0142ania pomiaru czasu zak\u0142\u00f3ca funkcj\u0119 timera IEC. Zmiana aktualnych warto\u015bci mo\u017ce prowadzi\u0107 do niesp\u00f3jno\u015bci mi\u0119dzy programem a rzeczywistym procesem, co mo\u017ce spowodowa\u0107 powa\u017cne uszkodzenia mienia i obra\u017cenia osobowe.<\/p>\n\n\n\n<p>Nast\u0119puj\u0105ce funkcje mog\u0105 spowodowa\u0107 reinicializacj\u0119 aktualnych warto\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0141adowanie bloku z reinicializacj\u0105<\/li>\n\n\n\n<li>\u0141adowanie zrzut\u00f3w jako aktualnych warto\u015bci<\/li>\n\n\n\n<li>Kontrolowanie lub wymuszanie aktualnych warto\u015bci<\/li>\n\n\n\n<li>Instrukcja &#8222;WRIT_DBL&#8221;<\/li>\n<\/ul>\n\n\n\n<p>Przed wykonaniem tych funkcji, podejmij nast\u0119puj\u0105ce \u015brodki ostro\u017cno\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upewnij si\u0119, \u017ce zak\u0142ad jest w bezpiecznym stanie przed nadpisaniem aktualnych warto\u015bci.<\/li>\n\n\n\n<li>Upewnij si\u0119, \u017ce timer IEC wygas\u0142 przed inicjalizacj\u0105 jego aktualnych warto\u015bci.<\/li>\n\n\n\n<li>Je\u015bli nadpisujesz aktualne warto\u015bci zrzutem, upewnij si\u0119, \u017ce zrzut zosta\u0142 wykonany w czasie, gdy system by\u0142 w bezpiecznym stanie.<\/li>\n\n\n\n<li>Upewnij si\u0119, \u017ce program nie odczytuje ani nie zapisuje dotkni\u0119tych danych podczas transmisji.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Parametry instrukcji &#8222;Generate on-delay&#8221;<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Parametry<\/strong><\/td><td><strong>Deklaracja<\/strong><\/td><td colspan=\"2\"><strong>Typ danych<\/strong><\/td><td colspan=\"2\"><strong>Obszar pami\u0119ci<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><strong>S7-1200<\/strong><\/td><td><strong>S7-1500<\/strong><\/td><td><strong>S7-1200<\/strong><\/td><td><strong>S7-1500<\/strong><\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>IN<\/td><td>Wej\u015bcie<\/td><td>BOOL<\/td><td>BOOL<\/td><td>I, Q, M, D, L lub sta\u0142a<\/td><td>I, Q, M, D, L, P lub sta\u0142a<\/td><td>Wej\u015bcie startowe<\/td><\/tr><tr><td>PT<\/td><td>Wej\u015bcie<\/td><td>TIME<\/td><td>TIME, LTIME<\/td><td>I, Q, M, D, L lub sta\u0142a<\/td><td>I, Q, M, D, L, P lub sta\u0142a<\/td><td>Czas trwania op\u00f3\u017anienia<\/td><\/tr><tr><td>Q<\/td><td>Wyj\u015bcie<\/td><td>BOOL<\/td><td>BOOL<\/td><td>I, Q, M, D, L<\/td><td>I, Q, M, D, L, P<\/td><td>Wyj\u015bcie, kt\u00f3re jest ustawiane, gdy czas PT up\u0142ynie.<\/td><\/tr><tr><td>ET<\/td><td>Wyj\u015bcie<\/td><td>TIME<\/td><td>TIME, LTIME<\/td><td>I, Q, M, D, L<\/td><td>I, Q, M, D, L, P<\/td><td>Aktualna warto\u015b\u0107 czasu<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Diagram czasowy impuls\u00f3w<\/strong><\/h3>\n\n\n\n<p>Poni\u017csza figura pokazuje diagram czasowy impuls\u00f3w instrukcji &#8222;Generate on-delay&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXccYCFsl2pmocM2aD6B6qaBzWjJXGMZLJsiUfyop-Ra4u82rJmKrLga6BX6ikx91mIJtW-hNgZqa4WShOH1d77PgGROTmAyBEENiT6Am2Ao6cCHY1iyxwFIY6x_5W3c7ZsIN8EITSrMbxD0b284hg?key=dTaeG104UiEN7Jeal3lBcQ\" alt=\"\"><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Przyk\u0142ad dzia\u0142ania instrukcji<\/strong><\/h3>\n\n\n\n<p>Poni\u017cszy przyk\u0142ad pokazuje, jak dzia\u0142a instrukcja:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdFv670zcQFiRNsSCLgQ6GeIYWjpwhfWj3b_reJO65HhlV37Ka8yHh0m-GX7glX9c-47___a_cRAQdr7IJ9bc2oBOx3jBS9xyDsqKv-Bx1oBEB33NGHqzdciOPx_gw9_thXqjWdKl8IGLil0a9jZA?key=dTaeG104UiEN7Jeal3lBcQ\" alt=\"\"><\/figure>","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie do timera TON w Siemens PLC Instrukcja TON (Timer On Delay) jest kluczowym elementem w programowaniu Siemens PLC, kt\u00f3ry pozwala na generowanie op\u00f3\u017anie\u0144 czasowych. Dzi\u0119ki niej mo\u017cna efektywnie kontrolowa\u0107 czas dzia\u0142ania wyj\u015b\u0107 w systemach automatyki. Jak dzia\u0142a op\u00f3\u017anienie czasowe TON? Mo\u017cesz u\u017cy\u0107 instrukcji &#8222;Generate on-delay&#8221;, aby op\u00f3\u017ani\u0107 ustawienie wyj\u015bcia Q o zaprogramowany czas PT. [&hellip;]<\/p>","protected":false},"author":2505,"featured_media":35361,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-35360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bez-kategorii"],"acf":[],"_links":{"self":[{"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts\/35360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/users\/2505"}],"replies":[{"embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/comments?post=35360"}],"version-history":[{"count":2,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts\/35360\/revisions"}],"predecessor-version":[{"id":38914,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts\/35360\/revisions\/38914"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/media\/35361"}],"wp:attachment":[{"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/media?parent=35360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/categories?post=35360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/tags?post=35360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}