{"id":35331,"date":"2025-05-31T14:41:45","date_gmt":"2025-05-31T12:41:45","guid":{"rendered":"https:\/\/sklep-plcspace.pl\/?p=35331"},"modified":"2025-08-04T13:49:10","modified_gmt":"2025-08-04T11:49:10","slug":"cmp-equal-plc-siemens","status":"publish","type":"post","link":"https:\/\/sklep-plcspace.pl\/en\/blog\/cmp-equal-plc-siemens\/","title":{"rendered":"Jak dzia\u0142a instrukcja CMP == w PLC Siemens?"},"content":{"rendered":"<h3 class=\"wp-block-heading\"><strong>Wprowadzenie do instrukcji CMP PLC<\/strong><\/h3>\n\n\n\n<p>Mo\u017cesz u\u017cy\u0107 instrukcji &#8222;Equal&#8221; do okre\u015blenia, czy pierwsza warto\u015b\u0107 por\u00f3wnawcza (&lt;Operand1&gt;) jest r\u00f3wna drugiej warto\u015bci por\u00f3wnawczej (&lt;Operand2&gt;).<\/p>\n\n\n\n<p>Je\u015bli warunek por\u00f3wnania jest spe\u0142niony, instrukcja zwraca wynik operacji logicznej (RLO) &#8222;1&#8221;. Je\u015bli warunek por\u00f3wnania nie jest spe\u0142niony, instrukcja zwraca RLO &#8222;0&#8221;. RLO instrukcji jest logicznie po\u0142\u0105czone z RLO ca\u0142ego rz\u0119du w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przez AND, gdy instrukcja por\u00f3wnania jest po\u0142\u0105czona w szereg.<\/li>\n\n\n\n<li>Przez OR, gdy instrukcja por\u00f3wnania jest po\u0142\u0105czona r\u00f3wnolegle.<\/li>\n<\/ul>\n\n\n\n<p>Okre\u015bl pierwsz\u0105 warto\u015b\u0107 por\u00f3wnawcz\u0105 (&lt;Operand1&gt;) w miejscu na operand powy\u017cej instrukcji. Okre\u015bl drug\u0105 warto\u015b\u0107 por\u00f3wnawcz\u0105 (&lt;Operand2&gt;) w miejscu na operand poni\u017cej instrukcji.<\/p>\n\n\n\n<p>Je\u015bli sprawdzenie IEC jest w\u0142\u0105czone, por\u00f3wnywane operandy musz\u0105 by\u0107 tego samego typu danych. Je\u015bli sprawdzenie IEC nie jest w\u0142\u0105czone, szeroko\u015b\u0107 operand\u00f3w musi by\u0107 taka sama.<\/p>\n\n\n\n<p>Je\u015bli chcesz por\u00f3wna\u0107 typy danych REAL lub LREAL, zamiast instrukcji &#8222;CMP ==: Equal&#8221; zaleca si\u0119 u\u017cycie instrukcji &#8222;IN_RANGE: Warto\u015b\u0107 w zakresie&#8221;.<\/p>\n\n\n\n<p>Podczas por\u00f3wnywania liczb zmiennoprzecinkowych, por\u00f3wnywane operandy musz\u0105 mie\u0107 ten sam typ danych, niezale\u017cnie od ustawienia dla sprawdzenia IEC.<\/p>\n\n\n\n<p>Specjalne wzory bitowe niewa\u017cnych liczb zmiennoprzecinkowych (NaN), kt\u00f3re s\u0105 wynikiem nieokre\u015blonych wynik\u00f3w (np. pierwiastek z -1), nie mog\u0105 by\u0107 por\u00f3wnywane. Oznacza to, \u017ce je\u015bli jeden z operand\u00f3w ma warto\u015b\u0107 NaN, instrukcja &#8222;CMP ==: Equal&#8221; ma wynik FALSE.<\/p>\n\n\n\n<p>Indywidualne znaki s\u0105 por\u00f3wnywane na podstawie ich kodu (na przyk\u0142ad 'a&#8217; jest wi\u0119ksze ni\u017c 'A&#8217;) podczas por\u00f3wnywania \u0142a\u0144cuch\u00f3w. Por\u00f3wnanie odbywa si\u0119 od lewej do prawej. Pierwszy r\u00f3\u017cni\u0105cy si\u0119 znak decyduje o wyniku por\u00f3wnania.<\/p>\n\n\n\n<p>Poni\u017csza tabela pokazuje przyk\u0142ady por\u00f3wna\u0144 \u0142a\u0144cuch\u00f3w:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>&lt;Operand1&gt;<\/strong><\/td><td><strong>&lt;Operand2&gt;<\/strong><\/td><td><strong>RLO instrukcji<\/strong><\/td><\/tr><tr><td>&#8217;AA&#8217;<\/td><td>&#8217;AA&#8217;<\/td><td>1<\/td><\/tr><tr><td>&#8217;Hello World&#8217;<\/td><td>&#8217;HelloWorld&#8217;<\/td><td>0<\/td><\/tr><tr><td>&#8217;AA&#8217;<\/td><td>&#8217;aa&#8217;<\/td><td>0<\/td><\/tr><tr><td>&#8217;aa&#8217;<\/td><td>&#8217;aaa&#8217;<\/td><td>0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Mo\u017cesz r\u00f3wnie\u017c por\u00f3wnywa\u0107 poszczeg\u00f3lne znaki \u0142a\u0144cucha. Numer znaku do por\u00f3wnania jest okre\u015blony w nawiasach kwadratowych obok nazwy operand\u00f3w. &#8222;MyString[2]&#8221;, na przyk\u0142ad, por\u00f3wnuje drugi znak \u0142a\u0144cucha &#8222;MyString&#8221;.<\/p>\n\n\n\n<p>Uwaga: Mo\u017cliwo\u015b\u0107 por\u00f3wnania struktur jest dost\u0119pna dla CPU serii S7-1200 od wersji oprogramowania &gt;= 4.2, a dla CPU serii S7-1500 od wersji oprogramowania &gt;= 2.0.<\/p>\n\n\n\n<p>Mo\u017cesz por\u00f3wnywa\u0107 warto\u015bci dw\u00f3ch z\u0142o\u017conych operand\u00f3w, gdy oba tagi s\u0105 tego samego typu danych strukturalnych. Takie por\u00f3wnania s\u0105 tak\u017ce istotnym elementem przy pracy z j\u0119zykiem scl. <a href=\"https:\/\/sklep-plcspace.pl\/en\/thank-you-for-placing-the-order-6\/?wmc-currency=EUR\" data-type=\"link\" data-id=\"https:\/\/sklep-plcspace.pl\/scl-programowanie\/\">Programowanie w j\u0119zyku SCL<\/a> cz\u0119sto obejmuje obs\u0142ug\u0119 z\u0142o\u017conych struktur danych. Gdy struktury s\u0105 por\u00f3wnywane, por\u00f3wnywane operandy musz\u0105 mie\u0107 ten sam typ danych, niezale\u017cnie od ustawienia dla sprawdzenia IEC. Wyj\u0105tkiem s\u0105 por\u00f3wnania, w kt\u00f3rych jeden z dw\u00f3ch operand\u00f3w jest VARIANT lub ANY.<\/p>\n\n\n\n<p>Poni\u017csza tabela pokazuje parametry instrukcji &#8222;Equal&#8221;:<\/p>\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><strong>Typ danych<\/strong><\/td><td><strong>Obszar pami\u0119ci<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>&lt;Operand1&gt;<\/td><td>Wej\u015bcie<\/td><td>Bit strings, integers, floating-point numbers, character strings, timers, date and time, ARRAY of &lt;data type&gt; with fixed and variable ARRAY limits, STRUCT, VARIANT, ANY, PLC data type<\/td><td>I, Q, M, D, L, P lub sta\u0142a<\/td><td>Pierwsza warto\u015b\u0107 por\u00f3wnawcza<\/td><\/tr><tr><td>&lt;Operand2&gt;<\/td><td>Wej\u015bcie<\/td><td>Bit strings, integers, floating-point numbers, character strings, timers, date and time, ARRAY of &lt;data type&gt; with fixed and variable ARRAY limits, STRUCT, VARIANT, ANY, PLC data type<\/td><td>I, Q, M, D, L, P lub sta\u0142a<\/td><td>Druga warto\u015b\u0107 do por\u00f3wnania<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Przyk\u0142ad: Nast\u0119puj\u0105cy 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_4nXcejtw6CMT7uuvNj2ukcnNbkNtQru4ON28iotnRTby3U2TKlkAM2g6chKLN1BecLSlnsxTVCPnItlLrSdDf73T8rvzggH8vGExi1OwXR0Ixsyk1R0WoRSn1qh5g7p5SSplu0tKhGc7uKPdk9jaTMxA?key=0I6Bx3L5dsqHhi6jTkUaYQ\" alt=\"Przyk\u0142ad dzia\u0142ania instrukcji\"\/><\/figure>\n\n\n\n<p>Wyj\u015bcie &#8222;TagOut&#8221; jest ustawione, gdy spe\u0142nione s\u0105 nast\u0119puj\u0105ce warunki:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Operandy &#8222;TagIn_1&#8221; i &#8222;TagIn_2&#8221; maj\u0105 stan sygna\u0142u &#8222;1&#8221;.<\/li>\n\n\n\n<li>Warunek instrukcji por\u00f3wnania jest spe\u0142niony, je\u015bli &#8222;Tag_Value1&#8221; = &#8222;Tag_Value2&#8221;.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie do instrukcji CMP PLC Mo\u017cesz u\u017cy\u0107 instrukcji &#8222;Equal&#8221; do okre\u015blenia, czy pierwsza warto\u015b\u0107 por\u00f3wnawcza (&lt;Operand1&gt;) jest r\u00f3wna drugiej warto\u015bci por\u00f3wnawczej (&lt;Operand2&gt;). Je\u015bli warunek por\u00f3wnania jest spe\u0142niony, instrukcja zwraca wynik operacji logicznej (RLO) &#8222;1&#8221;. Je\u015bli warunek por\u00f3wnania nie jest spe\u0142niony, instrukcja zwraca RLO &#8222;0&#8221;. RLO instrukcji jest logicznie po\u0142\u0105czone z RLO ca\u0142ego rz\u0119du w nast\u0119puj\u0105cy [&hellip;]<\/p>","protected":false},"author":2505,"featured_media":35332,"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-35331","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\/35331","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=35331"}],"version-history":[{"count":2,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts\/35331\/revisions"}],"predecessor-version":[{"id":38634,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/posts\/35331\/revisions\/38634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/media\/35332"}],"wp:attachment":[{"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/media?parent=35331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/categories?post=35331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sklep-plcspace.pl\/en\/wp-json\/wp\/v2\/tags?post=35331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}