<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Innovate With Data</title>
    <link>https://attack.tistory.com/</link>
    <description>공장 자동화 최적화를 통해 기업의 생산성 향상과 원가 절감에 도움을 드리고 있습니다.
  simo@datawizard.co.kr</description>
    <language>ko</language>
    <pubDate>Mon, 8 Jun 2026 03:29:59 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>데이터위자드</managingEditor>
    <image>
      <title>Innovate With Data</title>
      <url>https://tistory1.daumcdn.net/tistory/4544640/attach/d666067ab04240f9b9ce6974e34b8379</url>
      <link>https://attack.tistory.com</link>
    </image>
    <item>
      <title>  [현장 기록] 인버터 설정 - 센서리스 벡터 제어 -&amp;gt; V/F 제어로 바꾼 이유</title>
      <link>https://attack.tistory.com/62</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인버터 설정도 중요하다.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FbhSS/dJMcagqC25Q/nHkUrqNArT97WWgKDOTvl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FbhSS/dJMcagqC25Q/nHkUrqNArT97WWgKDOTvl0/img.png&quot; data-alt=&quot;인버터 설정도 중요하다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FbhSS/dJMcagqC25Q/nHkUrqNArT97WWgKDOTvl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFbhSS%2FdJMcagqC25Q%2FnHkUrqNArT97WWgKDOTvl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;인버터 설정도 중요하다&quot; loading=&quot;lazy&quot; width=&quot;606&quot; height=&quot;606&quot; data-filename=&quot;인버터 설정도 중요하다.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인버터 설정도 중요하다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-pm-slice=&quot;1 1 []&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-pm-slice=&quot;1 1 []&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-pm-slice=&quot;1 1 []&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;현장에서 인버터 트립이 발생했을 때, 제일 난감한 상황은 이런 경우입니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;알람 로그를 봐도 애매하고&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;모터를 측정해도 이상 없고&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;인버터 자체 진단에서도 특별한 결함이 보이지 않을 때&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이번 사례가 딱 그랬습니다. 더 골치 아픈 건, 설정 자체는 &amp;lsquo;교과서적으로&amp;rsquo; 잘 되어 있었다는 점이었죠.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt; &amp;zwj;♂️ &quot;뭐지? 갑자기 왜 자꾸 멈추지?&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;  사건의 시작 &amp;ndash; 이유 없이 멈춘 인버터&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;해당 설비는 팬 계열 부하였고, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;'인버터 제어 방식은 Sensorless Vector Control(센서리스 벡터 제어)로 설정되어 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;운전 중 특정 시점에서 인버터가 자체 보호 로직에 의해 정지했습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;과전류, 과부하, 지락, 과전압&amp;hellip; 어느 하나 명확하게 떨어지는 알람이 없었습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;말 그대로 &amp;ldquo;보호 로직에 의한 비정상 정지&amp;rdquo;였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  솔직히 이때 첫 생각은 이거였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;ldquo;센서리스 벡터면 오히려 더 안정적인 거 아닌가?&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;⚙️ 1단계 검토 &amp;ndash; 눈에 보이는 것부터 의심하다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;가장 먼저 확인한 건 기본 중의 기본입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;모터 절연 상태&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;축 베어링 및 기계적 간섭 여부&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;부하 측 걸림, 진동, 소음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;인버터 내부 온도 및 냉각 상태&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;결론부터 말하면 &lt;/span&gt;&lt;b&gt;&lt;span&gt;이상 없음&lt;/span&gt;&lt;/b&gt;&lt;span&gt;이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다음은 전기적인 요소였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;전원 전압 변동&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;출력 전류 파형&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;가속/감속 시 전류 응답&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;여기서도 치명적인 이상은 발견되지 않았습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;오히려 파형만 놓고 보면 꽤 &amp;lsquo;정상적으로&amp;rsquo; 보였죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이쯤 되니 의문이 생깁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;ldquo;그럼 대체 왜 멈춘 거지?&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;  2단계 사고 전환 &amp;ndash; 제어 방식 자체를 의심하다&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이때부터 시선을 바꿨습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;하드웨어가 아니라 &amp;lsquo;소프트웨어 방식&amp;rsquo;이 문제일 수도 있겠다는 생각&lt;/span&gt;&lt;/b&gt;&lt;span&gt;이 들었거든요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;센서리스 벡터 제어는 엔코더 없이도 모터의 자속과 속도를 &amp;lsquo;추정&amp;rsquo;해서 제어합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;즉,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;실제 속도를 직접 보는 게 아니라&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;전류&amp;middot;전압 모델을 기반으로 계산해서 판단합니다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;문제는 여기서 발생합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;b&gt;&lt;span&gt;외란(바람, 관성 변화, 부하 변동)&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 이 순간적으로 커지면, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;인버터가 &amp;ldquo;내가 예상한 모터 상태와 실제 반응이 다르다&amp;rdquo;고 판단할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그 순간,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;제어 불안정&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;토크 계산 오류&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;보호 로직 개입&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 순서로 정지가 발생할 수 있겠다는 생각이었죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;  3단계 조치 &amp;ndash; 과감하게 V/F 제어로 전환&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그래서 아주 단순한 실험을 하나 했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;b&gt;&lt;span&gt;Sensorless Vector &amp;rarr; V/F 제어 방식으로 변경&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다른 설정은 최대한 그대로 둔 채, 제어 방식만 바꿨습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;결과는 의외로 명확했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;동일 조건&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;동일 부하&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;동일 외란 환경&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;b&gt;&lt;span&gt;트립 없이 안정 운전&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;기분탓인지, 전류는 오히려 조금 더 늘어난 것처럼 보였지만, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;인버터는 멈추지 않았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 순간 확신이 들었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;ldquo;이건 장비 문제가 아니라, 제어 방식 선택의 문제다.&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;  정리 &amp;ndash; 왜 이런 결과가 나왔을까?&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;1️⃣ 센서리스 벡터 제어는 &amp;lsquo;정교한 만큼 예민하다&amp;rsquo;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;센서리스 벡터 제어는 분명 장점이 많습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;저속 토크 우수&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;효율 개선&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;정밀한 속도 제어&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하지만 그만큼 &lt;/span&gt;&lt;b&gt;&lt;span&gt;모델 오차와 외란에 민감&lt;/span&gt;&lt;/b&gt;&lt;span&gt;합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;현장 환경이&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;바람&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;관성 변화&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;불규칙 부하&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이런 요소를 많이 포함한다면, 오히려 독이 될 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;2️⃣ V/F 제어는 단순하지만 강하다&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;V/F 제어는 말 그대로 단순합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;전압과 주파수 비례&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;복잡한 상태 추정 없음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;외란에 둔감&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;정밀함은 떨어질 수 있지만, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &lt;b&gt; &amp;ldquo;일단 멈추지 않는다&amp;rdquo;&lt;/b&gt;는 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;점에서는 훨씬 강합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;3️⃣ &amp;lsquo;고급 제어 = 반드시 좋은 선택&amp;rsquo;은 아니다&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이번 사례에서 가장 큰 교훈은 이거였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;❌ 고급 제어 방식 = 항상 더 좋은 운전&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 공식은 성립하지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;✔ 설비 특성 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;✔ 외란 수준&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;✔ 운전 목적(정밀 vs 연속성)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 세 가지를 기준으로 제어 방식을 선택해야 한다는 점을 느꼈습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;✍️ 글을 마치며 &amp;ndash; 결국 중요한 건 멈추지 않는 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;현장에서 가장 위험한 건,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;이유를 알 수 없는 정지&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;설명하기 어려운 트립&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이번 경험을 통해 다시 느꼈습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;b&gt;&lt;span&gt;제어는 &amp;lsquo;이론적으로 멋진 것&amp;rsquo;이 아니라, &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;lsquo;현장에서 버티는 것&amp;rsquo;이 기준이 되어야 한다는 점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;을요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;물론, 센서리스 벡터 제어가 틀렸다는 이야기가 아닙니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다만,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;ldquo;이 설비에, 이 환경에, 지금 정말 맞는 선택인가?&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 질문을 한 번 더 던져볼 필요는 있다 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;오늘도 고장으로 스트레스 없는 하루 되시길 바랍니다 ⚡&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;감사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>유지보수 &amp;amp; 공정개선/  현장 해결사례</category>
      <category>VF제어</category>
      <category>사고사례</category>
      <category>설비안정성향상</category>
      <category>센서리스벡터제어</category>
      <category>인버터제어</category>
      <category>현장문제해결</category>
      <category>현장엔지니어링</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/62</guid>
      <comments>https://attack.tistory.com/62#entry62comment</comments>
      <pubDate>Sat, 3 Jan 2026 10:51:09 +0900</pubDate>
    </item>
    <item>
      <title>  [현장 사례] 인버터 - 오토 튜닝만 믿고 운전하면 큰일 날 수 있습니다!!</title>
      <link>https://attack.tistory.com/61</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRgCsY/btsPPPBsaak/LeZvNY2Q89G7WEwMpNVtC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRgCsY/btsPPPBsaak/LeZvNY2Q89G7WEwMpNVtC1/img.png&quot; data-alt=&quot;  [현장 사례] 인버터 - 오토 튜닝만 믿고 운전하면 큰일 날 수 있습니다!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRgCsY/btsPPPBsaak/LeZvNY2Q89G7WEwMpNVtC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRgCsY%2FbtsPPPBsaak%2FLeZvNY2Q89G7WEwMpNVtC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;  [현장 사례] 인버터 - 오토 튜닝만 믿고 운전하면 큰일 날 수 있습니다!!&quot; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;607&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;  [현장 사례] 인버터 - 오토 튜닝만 믿고 운전하면 큰일 날 수 있습니다!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;며칠 전, 고객사로부터 꽤 흥미롭고도 생각할 거리를 주는 고장 사례 하나를 듣게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;모 유명 제조사의 인버터를 사용하고 있는 고관성 팬 부하에서, 어느 날 갑자기 인버터가 경고음과 함께 스스로 멈춰버린 겁니다. 딱히 이상한 조작을 한 것도 아니었고, 부하 조건도 그동안과 다르지 않았는데 말이죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt; &amp;zwj;♂️ &quot;뭐지? 갑자기 왜 멈췄지?&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;현장을 확인해보니, 다행히 해당 현장은 히스토리안이 가동중인지라 남겨진 기록을 살펴볼수 있었는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 해당 시점은 저속 운전 중이었고, 고객사 담당자의 의견은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;외부에서 강한 돌풍이 유입된 상황이 있었다고 하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;추정되는 원인으로는,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;팬 날개에 외란이 가해지면서 관성 모멘트가 급변했고, 이로 인해 전류가 순간적으로 크게 요동쳤다라는 시나리오가 떠오르더군요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그 결과, 인버터는 자기보호 로직에 따라 비정상 운전으로 판단하고 정지 명령을 내려버린 겁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;⚙️ 해결 과정&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;솔직히 처음엔 인버터 고장을 의심했어요. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하지만 알람 로그와 파형을 받아보니, 정지는 이상 없이 설계된 보호 로직에 따라 수행된 것으로 보였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 이건 하드웨어 문제가 아니라, 세팅과 튜닝의 문제라 판단했죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그래서 이렇게 조치했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-spread=&quot;true&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;모터 오토 튜닝 재수행&lt;/b&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;기존 튜닝 상태에서는 외란이나 바람에 의한 기계적 응답 특성이 반영되지 않아, 다시 튜닝을 실시했습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;가속/감속 시간 조정&lt;/b&gt;&lt;/span&gt;&lt;span&gt; ⏱️&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;특히 감속 시간은 기존보다 더 길게 설정하여 관성에 따른 회생 전류 급변을 완화했습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;PID 제어 파라미터 수정&lt;/b&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;PID Gain을 너무 민감하게 설정한 탓에 외란이 바로 전류 급상승으로 이어졌습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;이를 적절하게 완화해 응답성을 줄이고 안정성을 확보했습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;최대 전류 및 토크 제한 조정&lt;/b&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;필요 이상으로 낮게 설정되어 있었던 최대 토크와 전류 제한 값을 올려줌으로써, 갑작스러운 부하 변동 시에도 셧다운 없이 대응할 수 있도록 했습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;조치 후 테스트 운전에서는 전보다 안정적인 전류흐름을 유지하였고, 인버터는 아무런 알람 없이 정상 운전 중이라고 합니다.  &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;  시사점 정리&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이번 경험을 통해 다시 한번 느낀 게 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;인버터 오토 튜닝은 굉장히 유용한 기능이지만, 그것만 믿고 운전하기에는 부족한 점이 분명히 존재한다는 사실입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-spread=&quot;true&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;오토 튜닝은 &quot;모터만&quot; 본다. 어플리케이션은 따로다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;고급 인버터의 오토 튜닝은 대부분 모터의 전기적 특성(R/L, 극수, 기동 전류 등)만 고려합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;하지만 권상기, 팬, 블로워, 공조기 등 부하의 기계적 특성도 중요합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;따라서 오토 튜닝 후에도 반드시 아래 항목을 별도로 튜닝해야 합니다:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;가속/감속 시간&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;제어 방식(V/F vs 센서리스 벡터)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;PID Gain&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;회생 전류 흡수 로직 등&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;노이즈 관련 설정&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;스위칭 주파수 검토&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;환경 변화(외란 포함)에 따른 재세팅이 필요하다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;처음 시운전 시에는 공장이 시운전인 단계에서 무부하나 외부 변수가 적은 조건에서 설정하는 경우가 많습니다..&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;그러나 실제 운전 환경은 바람, 온도, 주변 기계 진동 등 수많은 변수의 영향을 받습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;그 외부 변수 또한 공정 조건 변경, 계절적 영향 그리고 주변 기기의 사용연한에 따른 변동 사항 등에 따라 변화합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;따라서 현장에 맞는 적응형 세팅을 계속 유지해줘야 합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;저속 운전 시에는 외란 영향이 더 커진다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;특히 팬이나 블로워처럼 회전 관성이 크고 공기역학 영향을 받는 부하는, 저속일수록 외부 바람에 더 민감하게 반응합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;이럴 때는 고속 운전보다 더 적응성 있는 튜닝이 요구됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;인버터 보호 로직은 친구이자 적일 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;너무 민감하게 잡으면 오작동/비정상 정지가 자주 일어나고&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;너무 완화하면 진짜 고장을 못 막을 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;따라서 &quot;보호 로직의 민감도&quot;도 부하 특성에 맞춰야 합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;hr data-ke-style=&quot;style1&quot; /&gt;&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;br /&gt;✍️ 글을 마치며&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;br /&gt;이번 사례도 결국은 하나의 질문으로 귀결됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span&gt;&lt;b&gt;&quot;내가 지금 신뢰하고 있는 설정값들, 현장을 진짜 반영하고 있을까?&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;br /&gt;설정은 한 번으로 끝나지 않습니다. 특히나 우리처럼 &lt;/span&gt;&lt;span&gt;&lt;b&gt;변화무쌍한 환경에서 일하는 사람들&lt;/b&gt;&lt;/span&gt;&lt;span&gt;은요. &lt;br /&gt;&lt;br /&gt;오늘은 바람이 없을지 몰라도, 내일은 돌풍이 불 수 있고, 다음 달엔 부하가 바뀔 수도 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;모든 상황을 예측할 수는 없지만, 우리가 해줄 수 있는 건 이런 변수들을 '가능성'으로 염두에 두고, 유연한 세팅과 지속적인 피드백을 하는 거라고 생각합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;혹시 비슷한 팬/블로워 부하 운용 중이신 분이 계시다면, PID와 감속 시간, 전류 제한 한번 다시 점검해보시는 건 어떨까요?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;⚡ 오늘도 안전 운전, 정숙한 전류 파형 되시길 바랍니다 :)&lt;/span&gt;&lt;/p&gt;</description>
      <category>유지보수 &amp;amp; 공정개선/  현장 해결사례</category>
      <category>인버터 설정값 변경</category>
      <category>인버터 에러</category>
      <category>인버터 오류</category>
      <category>인버터 튜닝</category>
      <category>인버터 파라메타 변경</category>
      <category>현장 개선 사례</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/61</guid>
      <comments>https://attack.tistory.com/61#entry61comment</comments>
      <pubDate>Tue, 12 Aug 2025 22:47:16 +0900</pubDate>
    </item>
    <item>
      <title>PDF 주석 쉽게 합쳐서 오늘도 칼퇴합시다. (Feat. Foxit PDF Reader)</title>
      <link>https://attack.tistory.com/60</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;PDF 주석 쉽게 합치는 방법 (Feat. Foxit PDF Reader).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWFNWI/btsLBZ22RJq/M4Mr6VXYqc9Y7dwXEyzi8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWFNWI/btsLBZ22RJq/M4Mr6VXYqc9Y7dwXEyzi8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWFNWI/btsLBZ22RJq/M4Mr6VXYqc9Y7dwXEyzi8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWFNWI%2FbtsLBZ22RJq%2FM4Mr6VXYqc9Y7dwXEyzi8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;PDF 주석 쉽게 합쳐서 오늘도 칼퇴합시다.&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;PDF 주석 쉽게 합치는 방법 (Feat. Foxit PDF Reader).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt; 프로젝트 협업을 하다보면 PDF 주석을 합치는데 많은 시간을 투입하는 경우가 많습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;이번 포스팅에서는 일상 업무 중에 흔하게 생기는 PDF 파일 주석을 효율적으로 합치는 방법을 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현대의 직장인과 학생들에게 PDF 파일은 필수적인 문서 형식입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;프로젝트 협업이나 그룹 과제를 수행할 때, 팀원들이 PDF 파일에 주석을 추가하는 경우가 빈번히 발생합니다. 하지만 이렇게 분산된 주석을 하나의 파일로 합치는 작업은 종종 번거롭고 시간이 많이 소요됩니다. 특히, 수작업으로 주석을 통합해야 하는 경우라면 효율성이 떨어지고 실수의 가능성도 높아집니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;error.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/osvEi/btsLDXJfmvH/YoFu7dmSBf8KEquQUP2bH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/osvEi/btsLDXJfmvH/YoFu7dmSBf8KEquQUP2bH1/img.png&quot; data-alt=&quot;누구나 실수할 수 있습니다. @Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/osvEi/btsLDXJfmvH/YoFu7dmSBf8KEquQUP2bH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FosvEi%2FbtsLDXJfmvH%2FYoFu7dmSBf8KEquQUP2bH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;누구나 실수할 수 있습니다. @Pixabay&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;792&quot; data-filename=&quot;error.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;792&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;누구나 실수할 수 있습니다. @Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리하여, PDF프로그램에서 제공하는 기능을 활용해서 업무 효율을 높이는 방법을 찾아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;저는 개인적으로 Foxit PDF Reader를 이용하는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Foxit PDF Reader는 다양한 PDF 관리 기능을 제공하며, 특히 주석 통합 기능이 매우 직관적이고 효율적입니다. 이 글에서는 Foxit PDF Reader를 이용해 주석을 합치는 방법을 자세히 알아보고, 이를 통해 협업 과정에서 소요되는 시간을 대폭 절감하는 방법을 소개하도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 프로그램, 사이트, 공급사, 단체 등은 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt; Foxit PDF Reader: 주요 기능과 장단점&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;Foxit&amp;nbsp;PDF&amp;nbsp;Reader는&amp;nbsp;PDF&amp;nbsp;파일&amp;nbsp;읽기&amp;nbsp;및&amp;nbsp;편집에&amp;nbsp;최적화된&amp;nbsp;소프트웨어로,&amp;nbsp;직관적인&amp;nbsp;사용자&amp;nbsp;인터페이스와&amp;nbsp;강력한&amp;nbsp;기능을&amp;nbsp;자랑합니다.&amp;nbsp;특히&amp;nbsp;무료로&amp;nbsp;제공되는&amp;nbsp;기능들이&amp;nbsp;강력해&amp;nbsp;많은&amp;nbsp;사용자가&amp;nbsp;선호하는&amp;nbsp;도구입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-reader/&quot;&gt;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1735831181184&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&quot; data-og-description=&quot;The best free PDF reader &amp;amp; viewer used by over 700 million users. Download Foxit PDF Reader for Windows, Mac, Android &amp;amp; more today!&quot; data-og-host=&quot;www.foxit.com&quot; data-og-source-url=&quot;https://www.foxit.com/pdf-reader/&quot; data-og-url=&quot;https://www.foxit.com/pdf-reader/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Gshyo/hyXWoA5hYA/1KNex8h5jHSgGAo4VerIl1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/cgip2n/hyXSxNeuHB/rkxpnWL5IEtEKXFYxUSQzk/img.jpg?width=2120&amp;amp;height=1249&amp;amp;face=0_0_2120_1249&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-reader/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.foxit.com/pdf-reader/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Gshyo/hyXWoA5hYA/1KNex8h5jHSgGAo4VerIl1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/cgip2n/hyXSxNeuHB/rkxpnWL5IEtEKXFYxUSQzk/img.jpg?width=2120&amp;amp;height=1249&amp;amp;face=0_0_2120_1249');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The best free PDF reader &amp;amp; viewer used by over 700 million users. Download Foxit PDF Reader for Windows, Mac, Android &amp;amp; more today!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.foxit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;주요 기능&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주석 추가 및 관리: 하이라이트, 밑줄, 메모 삽입 등 다양한 주석 도구 제공.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;PDF 병합 및 분할: 여러 PDF 파일을 하나로 병합하거나 특정 페이지만 분할 가능.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;문서 보호: 암호 설정 및 권한 관리 기능.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;클라우드 통합: Google Drive, Dropbox 등과 연동하여 파일 공유 및 협업 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 프로그램의 장점으로는...&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;가볍고 빠른 실행 속도&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;다양한 플랫폼(Windows, macOS, 모바일) 지원.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;강력한 무료 기능&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;사용자 친화적인 인터페이스&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정도를 들 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;개인적으로는 Acrobat Reader와 비교해볼 때 Comment 를 넣는 기능이 사용자 직관적이며 편리한점이 가장 큰 장점이라고 생각합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, PDF 암호걸기, PDF 합치기 등 다양한 고급 기능을 활용하기 위해서는 유료버전을 사용해야하는 점은 감안해야할 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;놀랍다.gif&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvzGkL/btsLErcdNr1/DadYaZhqPie1na8kXkZKfk/tfile.dat&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvzGkL/btsLErcdNr1/DadYaZhqPie1na8kXkZKfk/tfile.dat&quot; data-alt=&quot;너무나 당연한 얘기를!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvzGkL/btsLErcdNr1/DadYaZhqPie1na8kXkZKfk/tfile.dat&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvzGkL%2FbtsLErcdNr1%2FDadYaZhqPie1na8kXkZKfk%2Ftfile.dat&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;당연한 소리를....&quot; loading=&quot;lazy&quot; width=&quot;361&quot; height=&quot;300&quot; data-filename=&quot;놀랍다.gif&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;너무나 당연한 얘기를!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;Foxit PDF Reader로 PDF 주석 합치기: 단계별 가이드&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 Foxit PDF Reader를 활용해 여러 PDF 파일의 주석을 하나로 합치는 방법을 단계별로 살펴보겠습니다. 아래 과정은 간단하며, 해당 프로그램을 처음 접한 분들이라도 쉽게 따라 할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1단계:&amp;nbsp;Foxit&amp;nbsp;PDF&amp;nbsp;Reader&amp;nbsp;설치&amp;nbsp;및&amp;nbsp;실행&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;먼저&amp;nbsp;Foxit&amp;nbsp;PDF&amp;nbsp;Reader가&amp;nbsp;설치되어&amp;nbsp;있지&amp;nbsp;않다면&amp;nbsp;공식&amp;nbsp;웹사이트에서&amp;nbsp;최신&amp;nbsp;버전을&amp;nbsp;다운로드하고&amp;nbsp;설치합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-reader/&quot;&gt;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1735831657845&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&quot; data-og-description=&quot;The best free PDF reader &amp;amp; viewer used by over 700 million users. Download Foxit PDF Reader for Windows, Mac, Android &amp;amp; more today!&quot; data-og-host=&quot;www.foxit.com&quot; data-og-source-url=&quot;https://www.foxit.com/pdf-reader/&quot; data-og-url=&quot;https://www.foxit.com/pdf-reader/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Gshyo/hyXWoA5hYA/1KNex8h5jHSgGAo4VerIl1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/cgip2n/hyXSxNeuHB/rkxpnWL5IEtEKXFYxUSQzk/img.jpg?width=2120&amp;amp;height=1249&amp;amp;face=0_0_2120_1249&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-reader/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.foxit.com/pdf-reader/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Gshyo/hyXWoA5hYA/1KNex8h5jHSgGAo4VerIl1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/cgip2n/hyXSxNeuHB/rkxpnWL5IEtEKXFYxUSQzk/img.jpg?width=2120&amp;amp;height=1249&amp;amp;face=0_0_2120_1249');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free PDF Reader &amp;amp; Viewer - Online Download | Foxit Software&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The best free PDF reader &amp;amp; viewer used by over 700 million users. Download Foxit PDF Reader for Windows, Mac, Android &amp;amp; more today!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.foxit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;451&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wDwZc/btsLBXw3wHJ/EtesibCX34xCdpf1Ol3Ia0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wDwZc/btsLBXw3wHJ/EtesibCX34xCdpf1Ol3Ia0/img.png&quot; data-alt=&quot;Foxit PDF Reader 다운 페이지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wDwZc/btsLBXw3wHJ/EtesibCX34xCdpf1Ol3Ia0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwDwZc%2FbtsLBXw3wHJ%2FEtesibCX34xCdpf1Ol3Ia0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1203&quot; height=&quot;451&quot; data-origin-width=&quot;1203&quot; data-origin-height=&quot;451&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Foxit PDF Reader 다운 페이지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;왼쪽 아래 Download Now 누르시고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caCVWC/btsLDkLGQVL/5EkcG6CCssVIXfxq9aLyt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caCVWC/btsLDkLGQVL/5EkcG6CCssVIXfxq9aLyt0/img.png&quot; data-alt=&quot;Foxit PDF Reader 다운 페이지 이어서&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caCVWC/btsLDkLGQVL/5EkcG6CCssVIXfxq9aLyt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaCVWC%2FbtsLDkLGQVL%2F5EkcG6CCssVIXfxq9aLyt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Foxit PDF Reader 다운 페이지 이어서&quot; loading=&quot;lazy&quot; width=&quot;1178&quot; height=&quot;574&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Foxit PDF Reader 다운 페이지 이어서&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Free Download를 클릭하시면 다운로드가 시작됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;* 해당 사진은 블로그 작성 현재 기준으로 예시를 들은 것이며, 언제든 변경될 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;2단계:&amp;nbsp;주석이&amp;nbsp;포함된&amp;nbsp;PDF&amp;nbsp;파일&amp;nbsp;열기&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Foxit&amp;nbsp;PDF&amp;nbsp;Reader를&amp;nbsp;실행한&amp;nbsp;후,&amp;nbsp;주석이&amp;nbsp;포함된&amp;nbsp;PDF&amp;nbsp;파일을&amp;nbsp;엽니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;상단 메뉴에서 **&quot;파일(File)&quot;**을 클릭.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;**&quot;열기(Open)&quot;**를 선택하고 합치고자 하는 PDF 파일을 불러옵니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;여러 개의 PDF 파일이 있다면 각각 별도로 열어둡니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;3단계: 주석 내보내기&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;파일 상단 메뉴에서 &quot;주석(Comment)&quot; 탭 클릭.&lt;/li&gt;
&lt;li&gt;&quot;내보내기(Export Comments)&quot; 옵션 선택.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;주석 데이터를 저장할 위치와 파일 이름을 지정하고 &quot;저장(Save)&quot; 버튼 클릭.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;동일한 과정을 반복하여 모든 파일에서 주석을 내보냅니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;1006&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T1OT4/btsLBJTDL1y/xJKGsQtVLXRKzDMjH9KB00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T1OT4/btsLBJTDL1y/xJKGsQtVLXRKzDMjH9KB00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T1OT4/btsLBJTDL1y/xJKGsQtVLXRKzDMjH9KB00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT1OT4%2FbtsLBJTDL1y%2FxJKGsQtVLXRKzDMjH9KB00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1764&quot; height=&quot;1006&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;1006&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 때,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모든 주석을 선택하여 내보내기 해야합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dApUjl/btsLC3XDfcm/6Ber9EqV2uPQNoGFEKXPok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dApUjl/btsLC3XDfcm/6Ber9EqV2uPQNoGFEKXPok/img.png&quot; data-alt=&quot;모든 주석 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dApUjl/btsLC3XDfcm/6Ber9EqV2uPQNoGFEKXPok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdApUjl%2FbtsLC3XDfcm%2F6Ber9EqV2uPQNoGFEKXPok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;모든 주석 선택&quot; loading=&quot;lazy&quot; width=&quot;209&quot; height=&quot;151&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모든 주석 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 pdf 파일이 아닌 &lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;fdf 파일&lt;/span&gt;&lt;/b&gt;에 대한 저장 경로를 물어보는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;fdf 파일은 원본 pdf파일에서 주석(Comment) 정보만 담고 있는 파일이라고 보시면 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;4단계: 내보낸 주석 가져와서 합치기&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Foxit PDF Reader에서 주석을 합칠 PDF 파일 열기.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;상단 메뉴에서 &quot;주석(Comment)&quot; 탭 클릭.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&quot;가져오기(Import Comments)&quot; 옵션 선택.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;병합된 주석 파일을 선택하고 &quot;열기(Open)&quot; 클릭.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;주석이 PDF 파일에 추가된 것을 확인합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;6단계: 최종 파일 저장&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;주석이 병합된 PDF 파일을 저장합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;상단 메뉴에서 &quot;파일(File)&quot; 클릭.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&quot;다른 이름으로 저장(Save As)&quot; 옵션 선택.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;파일 이름과 저장 위치 지정 후 저장.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfQnLR/btsLEcsDDxz/DNHmzSuBJ0zaqnDRX0gOU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfQnLR/btsLEcsDDxz/DNHmzSuBJ0zaqnDRX0gOU1/img.png&quot; data-alt=&quot;참 쉽죠&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfQnLR/btsLEcsDDxz/DNHmzSuBJ0zaqnDRX0gOU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfQnLR%2FbtsLEcsDDxz%2FDNHmzSuBJ0zaqnDRX0gOU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참 쉽죠&quot; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;400&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참 쉽죠&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;글에서는&amp;nbsp;Foxit&amp;nbsp;PDF&amp;nbsp;Reader를&amp;nbsp;활용해&amp;nbsp;PDF&amp;nbsp;파일의&amp;nbsp;주석을&amp;nbsp;효율적으로&amp;nbsp;병합하는&amp;nbsp;방법을&amp;nbsp;소개했습니다.&amp;nbsp;단계별로&amp;nbsp;정리된&amp;nbsp;가이드를&amp;nbsp;따라&amp;nbsp;하면,&amp;nbsp;협업&amp;nbsp;과정에서&amp;nbsp;발생하는&amp;nbsp;반복적이고&amp;nbsp;비효율적인&amp;nbsp;작업&amp;nbsp;시간을&amp;nbsp;대폭&amp;nbsp;줄일&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;PDF&amp;nbsp;파일은&amp;nbsp;현대&amp;nbsp;업무와&amp;nbsp;학업에서&amp;nbsp;필수적인&amp;nbsp;도구입니다.&amp;nbsp;Foxit&amp;nbsp;PDF&amp;nbsp;Reader의&amp;nbsp;강력한&amp;nbsp;기능을&amp;nbsp;활용하면&amp;nbsp;팀원들의&amp;nbsp;의견과&amp;nbsp;피드백을&amp;nbsp;하나의&amp;nbsp;파일로&amp;nbsp;간단히&amp;nbsp;통합할&amp;nbsp;수&amp;nbsp;있어,&amp;nbsp;프로젝트의&amp;nbsp;진행&amp;nbsp;속도와&amp;nbsp;품질&amp;nbsp;모두를&amp;nbsp;높일&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;더불어 단축된 시간만큼 칼퇴에 도움이 될 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;퇴근길.jpg&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djoE4S/btsLBw0TucN/4mxXRpxCEQpJWx1F62gfc1/tfile.dat&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djoE4S/btsLBw0TucN/4mxXRpxCEQpJWx1F62gfc1/tfile.dat&quot; data-alt=&quot;칼퇴는 언제나 즐거움@Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djoE4S/btsLBw0TucN/4mxXRpxCEQpJWx1F62gfc1/tfile.dat&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjoE4S%2FbtsLBw0TucN%2F4mxXRpxCEQpJWx1F62gfc1%2Ftfile.dat&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;칼퇴는 즐거워&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;450&quot; data-filename=&quot;퇴근길.jpg&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;칼퇴는 언제나 즐거움@Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 프로그램, 사이트, 공급사, 단체 등은 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>사무자동화/OA 꿀팁</category>
      <category>Foxit PDF Reader</category>
      <category>pdf 주석 합치기</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/60</guid>
      <comments>https://attack.tistory.com/60#entry60comment</comments>
      <pubDate>Fri, 3 Jan 2025 00:53:10 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS TCP/IP 통신 속도 문제를 해결하고 싶다면?</title>
      <link>https://attack.tistory.com/59</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Modbus TCPIP 통신 속도 문제를 해결하고 싶다면.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s7tX5/btsLqZPI1zb/jM6e2cM3KPZtFFUTEoDcCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s7tX5/btsLqZPI1zb/jM6e2cM3KPZtFFUTEoDcCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s7tX5/btsLqZPI1zb/jM6e2cM3KPZtFFUTEoDcCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs7tX5%2FbtsLqZPI1zb%2FjM6e2cM3KPZtFFUTEoDcCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Modbus TCP/IP 통신 속도 문제를 해결하고 싶다면?&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;Modbus TCPIP 통신 속도 문제를 해결하고 싶다면.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;현장에서 사용 중인 통신이 느리다고요?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;이번 포스팅에서는&lt;span style=&quot;background-color: oklch(0.99 0.004 106.471); letter-spacing: 0px;&quot;&gt; Modbus TCP/IP 통신 속도 문제가 발생하였을 때 그 원인과 해결 방안에 대해서 단계별로 접근하는 것에 대해 고찰해 보도록 하겠습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Modbus TCP/IP 통신 속도 문제가 발생하는 주요 원인은?&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;Modbus TCP/IP는 산업 현장에서 기기 간 통신을 위해 사용되는 표준 프로토콜입니다. 이 통신 속도가 느려지면 전체 시스템의 효율성과 생산성이 저하될 수 있습니다. 주요&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt; 원인은 다음과 같습니다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;네트워크 혼잡:&lt;/b&gt; 너무 많은 장치가 동시에 통신을 시도하여 네트워크 대역폭이 부족해지는 현상입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;패킷 재전송:&lt;/b&gt; 데이터 전송 중 오류가 발생하여 같은 정보를 반복해서 보내는 경우입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장비&amp;nbsp;설정&amp;nbsp;문제:&amp;nbsp;&lt;/b&gt;통신&amp;nbsp;파라미터가&amp;nbsp;최적화되지&amp;nbsp;않아&amp;nbsp;불필요한&amp;nbsp;데이터&amp;nbsp;요청이&amp;nbsp;발생하는&amp;nbsp;상황입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하드웨어 성능 저하:&lt;/b&gt; 네트워크 장비나 제어 기기의 처리 능력이 부족한 경우입니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소프트웨어 비효율성:&lt;/b&gt; 제어 프로그램의 알고리즘이 비효율적으로 구성된 경우입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: oklch(0.99 0.004 106.471); color: #000000; letter-spacing: 0px;&quot;&gt;네트워크 통신 속도의 문제는 대부분의 경우 큰 틀에서,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: oklch(0.99 0.004 106.471); letter-spacing: 0px;&quot;&gt;물리적인 문제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: oklch(0.99 0.004 106.471); letter-spacing: 0px;&quot;&gt;VS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: oklch(0.99 0.004 106.471); letter-spacing: 0px;&quot;&gt;소프트웨어의 비효율에서 기인한 문제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 가지의 경우일 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현장에서 흔히 사용되는 문제 해결 기법을 사용할 때 위 문제를 가장 상위단으로 근본 원인을 찾는다면 쉽게 문제를 찾을 수 있겠죠??&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/egCRiY/btsLrC7Cr7m/GW3KKnZS8nFKuYOak7Da20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/egCRiY/btsLrC7Cr7m/GW3KKnZS8nFKuYOak7Da20/img.png&quot; data-alt=&quot;어때요? 참 쉽죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/egCRiY/btsLrC7Cr7m/GW3KKnZS8nFKuYOak7Da20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegCRiY%2FbtsLrC7Cr7m%2FGW3KKnZS8nFKuYOak7Da20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;420&quot; height=&quot;400&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;어때요? 참 쉽죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럼 해결 방안에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Modbus TCP/IP 통신 속도 문제에 대한 각 항목별 확인 사항은?&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;이에 대한 대책 혹은 검토 사항으로는,&lt;/span&gt;&lt;span style=&quot;color: #000000; letter-spacing: 0px;&quot;&gt;&amp;nbsp;통신 문제가 발생할 경우 사용자가 확인해야 할 리스트를 알아보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1.&amp;nbsp;네트워크&amp;nbsp;구성&amp;nbsp;최적화&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 토폴로지를 분석합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;불필요한 연결을 제거하고 구조를 단순화합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;필요한 경우 네트워크 대역폭을 증가시킵니다. &lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대&amp;nbsp;효과:&amp;nbsp;데이터&amp;nbsp;흐름이&amp;nbsp;개선되어&amp;nbsp;전반적인&amp;nbsp;통신&amp;nbsp;속도가&amp;nbsp;향상됩니다. &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2.&amp;nbsp;통신&amp;nbsp;파라미터&amp;nbsp;조정&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 장치의 IP 주소 설정을 검토합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;데이터 요청 주기(폴링 간격)를 최적화합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;타임아웃 값을 적절히 조정합니다. &lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대&amp;nbsp;효과:&amp;nbsp;불필요한&amp;nbsp;통신을&amp;nbsp;줄이고&amp;nbsp;네트워크&amp;nbsp;부하를&amp;nbsp;감소시킵니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;b&gt;3.&amp;nbsp;패킷&amp;nbsp;분석&amp;nbsp;및&amp;nbsp;최적화&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 분석 도구(예: Wireshark)를 사용하여 패킷을 분석합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;오류가 발생하는 구간을 식별합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;TCP/IP 설정을 미세 조정합니다. &lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대&amp;nbsp;효과:&amp;nbsp;패킷&amp;nbsp;손실과&amp;nbsp;재전송을&amp;nbsp;줄여&amp;nbsp;통신&amp;nbsp;효율성을&amp;nbsp;높입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;b&gt;4.&amp;nbsp;하드웨어&amp;nbsp;성능&amp;nbsp;개선&lt;/b&gt; &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 스위치, 라우터의 성능을 평가합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;PLC,&amp;nbsp;DCS&amp;nbsp;등&amp;nbsp;제어&amp;nbsp;기기의&amp;nbsp;처리&amp;nbsp;능력을&amp;nbsp;확인합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;필요시 처리 성능이 좋은 모듈이나 장비로 교체합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대 효과: 전체 시스템의 처리 속도와 안정성이 향상됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;b&gt;5.&amp;nbsp;소프트웨어&amp;nbsp;최적화&lt;/b&gt; &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 장치의 펌웨어와 소프트웨어를 최신 버전으로 업데이트합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;제어 프로그램의 알고리즘을 검토하고 개선합니다. &lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대&amp;nbsp;효과:&amp;nbsp;소프트웨어&amp;nbsp;레벨에서의&amp;nbsp;효율성이&amp;nbsp;증가하여&amp;nbsp;전체&amp;nbsp;시스템&amp;nbsp;성능이&amp;nbsp;개선됩니다. &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;6.&amp;nbsp;부하&amp;nbsp;분산&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;작업 부하를 여러 장치에 분산시킵니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;데이터 수집 및 처리 로직을 최적화합니다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기대&amp;nbsp;효과:&amp;nbsp;특정&amp;nbsp;장치에&amp;nbsp;과부하가&amp;nbsp;걸리는&amp;nbsp;것을&amp;nbsp;방지하고&amp;nbsp;전체&amp;nbsp;시스템의&amp;nbsp;균형을&amp;nbsp;유지합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;031&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/031.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/031.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘은 현장에서 많이 사용하는 MODBUS TCP/IP에서 통신 속도 이슈가 발생할 경우 일반적인 원인과 함께 확인해봐야 할 사항에 대해서 알아보았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;해당 내용은 MODBUS TCP/IP 뿐 아니라, 다른 TCP/IP 통신을 기반으로 하는 프로토콜에도 공통으로 적용되는 사항이 많기 때문에 알아둔다면 여타 다른 필드버스 통신에서의 장애 조치 시에도 적용점이 많을 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;통신에 대해서 더 자세히 알고 싶으신가요? 아래 카테고리의 다른 포스팅이 도움이 되실 겁니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1734876725424&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-description=&quot;공장 자동화 최적화를 통해 기업의 생산성 향상과 원가 절감에 도움을 드리고 있습니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/904pq/hyXOc9MxAy/B3WKC2EbvB08TLh06Bpvr1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/VLeaB/hyXOdVcHwN/5KqWHP1pj3ky4GB884iHk0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/UEjyc/hyXSFvHmL5/7v69Q2u4GVIMSozmVhaXyK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/904pq/hyXOc9MxAy/B3WKC2EbvB08TLh06Bpvr1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/VLeaB/hyXOdVcHwN/5KqWHP1pj3ky4GB884iHk0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/UEjyc/hyXSFvHmL5/7v69Q2u4GVIMSozmVhaXyK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;공장 자동화 최적화를 통해 기업의 생산성 향상과 원가 절감에 도움을 드리고 있습니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도움이 되셨길 바라며 오늘도 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>modbus tcp/ip 통신 문제</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/59</guid>
      <comments>https://attack.tistory.com/59#entry59comment</comments>
      <pubDate>Sun, 22 Dec 2024 23:18:33 +0900</pubDate>
    </item>
    <item>
      <title>Python으로 PDF 파일 암호 설정하기(feat. PyPDF)</title>
      <link>https://attack.tistory.com/58</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Python으로 PDF 파일 암호 설정하기(feat. PyPDF).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lwwZC/btsHNVpvCp0/jha1wT5rNDf4UmcB9Grut1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lwwZC/btsHNVpvCp0/jha1wT5rNDf4UmcB9Grut1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lwwZC/btsHNVpvCp0/jha1wT5rNDf4UmcB9Grut1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlwwZC%2FbtsHNVpvCp0%2Fjha1wT5rNDf4UmcB9Grut1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Python으로 PDF 파일 암호 설정하기(feat. PyPDF)&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;Python으로 PDF 파일 암호 설정하기(feat. PyPDF).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;PDF 파일에 암호 하나 거는데 유료프로그램까지 써야 되는 거야?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;즐거운 데이터 생활되시고 있으십니까? 데이터위자드입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;요 앞전 'OA 팁' 포스팅에서,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;PDF 파일에 암호를 설정하는 3가지 방법에 대해서 알아보았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/57&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[사무자동화/OA 꿀팁] - PDF 파일에 암호 설정하는 3가지 방법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717505526284&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;PDF 파일에 암호 설정하는 3가지 방법&quot; data-og-description=&quot;PDF 파일을 사용하다 보면 간혹 암호를 걸어야 하는 경우가 생깁니다.&amp;nbsp;&amp;nbsp;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&amp;nbsp;이번 포스팅에서는 PDF 파일에 암호를 설정하는 3가지 방법에 대해서 고찰해 보도록&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/57&quot; data-og-url=&quot;https://datawizard.co.kr/57&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cyIUGS/hyWdlVbHyC/z5kC4DDRFjdgD3Ok89gHK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zLD0V/hyWg9yOutJ/gCG3Vwh8DIDoygWyIPxnwK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qRCVi/hyWdfHo5Nw/kU9BiUSmOHGHOw3pY1ocH1/img.png?width=1488&amp;amp;height=904&amp;amp;face=0_0_1488_904&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/57&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/57&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cyIUGS/hyWdlVbHyC/z5kC4DDRFjdgD3Ok89gHK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zLD0V/hyWg9yOutJ/gCG3Vwh8DIDoygWyIPxnwK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qRCVi/hyWdfHo5Nw/kU9BiUSmOHGHOw3pY1ocH1/img.png?width=1488&amp;amp;height=904&amp;amp;face=0_0_1488_904');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;PDF 파일에 암호 설정하는 3가지 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;PDF 파일을 사용하다 보면 간혹 암호를 걸어야 하는 경우가 생깁니다.&amp;nbsp;&amp;nbsp;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&amp;nbsp;이번 포스팅에서는 PDF 파일에 암호를 설정하는 3가지 방법에 대해서 고찰해 보도록&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PDF 암호설정은 크게 3가지 방법,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;&amp;nbsp;유료 프로그램 사용하기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;온라인 PDF 편집 사이트 활용하기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;알 PDF 활용하기 (개인사용자 한정)&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 있다고 언급했었죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;헌데, 통상적으로 공공기관이나 기업체에서 근무 중인 분들이라면, 위 3가지 방법을 사용하는 것이 어려울 수도 있을 것입니다. 예상되는 문제에 대한 시나리오는 대략 다음과 같겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;&lt;b&gt;방 법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;&lt;b&gt;예상되는 문제 혹은 시나리오&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;유료 프로그램 사용하기&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;예산문제로 구매 안해줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 40px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 40px;&quot;&gt;온라인 PDF 편집 사이트 활용하기&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 40px;&quot;&gt;기업 보안 문제로 Block 됨.&lt;br /&gt;or 우회 시도하다가 보안팀 감사 받음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;알PDF 활용하기&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;개인사용자 아니라서 라이선스 문제 생김&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;거기다가 문득 생각해 보니, 암호하나 걸자고 유료프로그램을 구독해야 하거나 소속 단체에서 보안상 규제하는 온라인 파일 업로드까지 하면서 까지 해야 하는 건가 하는 의문, 소위 현타가 올 수 있을 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;357&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTBpO1/btsHOD9IEJl/9mEEHz5WHiF5QT7dZjpDok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTBpO1/btsHOD9IEJl/9mEEHz5WHiF5QT7dZjpDok/img.png&quot; data-alt=&quot;이럴 때 우리의 표정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTBpO1/btsHOD9IEJl/9mEEHz5WHiF5QT7dZjpDok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTBpO1%2FbtsHOD9IEJl%2F9mEEHz5WHiF5QT7dZjpDok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;이럴 때 우리의 표정&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;357&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;357&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이럴 때 우리의 표정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;어쨌든, 궁하면 통하는 법.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;비용과 라이선스의 압박에서 벗어날 수 있는 방법을 찾아,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;파이썬으로 PDF 암호 생성하기&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;를 해보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;pypdf 라이브러리로 pdf 파일 주무르기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번에 사용할 파이썬 패키지는 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;pypdf&lt;/b&gt;&lt;/span&gt;입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;* python의 설치와 패키지 방법은 이전 포스팅 모음 &lt;b&gt;'맨땅에 Python'&lt;/b&gt;을 참조해 주시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EB%A7%A8%EB%95%85%EC%97%90%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%A7%A8%EB%95%85%EC%97%90%20Python&quot;&gt;'맨땅에 프로그래밍/맨땅에 Python' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717506534508&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'맨땅에 프로그래밍/맨땅에 Python' 카테고리의 글 목록&quot; data-og-description=&quot;엔지니어 가르치는 엔지니어. 현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EB%A7%A8%EB%95%85%EC%97%90%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%A7%A8%EB%95%85%EC%97%90%20Python&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EB%A7%A8%EB%95%85%EC%97%90%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%A7%A8%EB%95%85%EC%97%90%20Python&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dAtWYC/hyWdtyVOCo/N9QBULv05jOBFHyXrY3sh0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dCEoQp/hyWg5pDtV3/DUlOFXuaJacdgMpXSUepnk/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/b0kTbd/hyWdqIX3yP/bhkjla70BGGexzPyXc7Kpk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EB%A7%A8%EB%95%85%EC%97%90%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%A7%A8%EB%95%85%EC%97%90%20Python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EB%A7%A8%EB%95%85%EC%97%90%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%A7%A8%EB%95%85%EC%97%90%20Python&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dAtWYC/hyWdtyVOCo/N9QBULv05jOBFHyXrY3sh0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dCEoQp/hyWg5pDtV3/DUlOFXuaJacdgMpXSUepnk/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/b0kTbd/hyWdqIX3yP/bhkjla70BGGexzPyXc7Kpk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'맨땅에 프로그래밍/맨땅에 Python' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;엔지니어 가르치는 엔지니어. 현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 패키지는 pypi 사이트에서 쉽게 찾을 수 있습니다. (다만, 비슷한 이름의 패키지가 많이 검색되므로 검색 시 주의를 요합니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 링크는 여기입니다. ( &lt;span style=&quot;color: #777777; text-align: center;&quot;&gt;포스팅 작성기준 4.2.0 버전이 최신이네요.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pypdf/&quot;&gt;pypdf &amp;middot; PyPI&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717506653612&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;pypdf&quot; data-og-description=&quot;A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files&quot; data-og-host=&quot;pypi.org&quot; data-og-source-url=&quot;https://pypi.org/project/pypdf/&quot; data-og-url=&quot;https://pypi.org/project/pypdf/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eyuk1a/hyWdhFgmCq/Alp2YSGkz1MQly9KL8egEk/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pypdf/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pypi.org/project/pypdf/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eyuk1a/hyWdhFgmCq/Alp2YSGkz1MQly9KL8egEk/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;pypdf&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1199&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AAkMD/btsHO3UmZzv/TjPbZgfN0oT8mCVOmm4FUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AAkMD/btsHO3UmZzv/TjPbZgfN0oT8mCVOmm4FUk/img.png&quot; data-alt=&quot;pypi 내 pypdf 페이지. @pypi&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AAkMD/btsHO3UmZzv/TjPbZgfN0oT8mCVOmm4FUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAAkMD%2FbtsHO3UmZzv%2FTjPbZgfN0oT8mCVOmm4FUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;pypi 내 pypdf 페이지. @pypi&quot; loading=&quot;lazy&quot; width=&quot;1199&quot; height=&quot;916&quot; data-origin-width=&quot;1199&quot; data-origin-height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;pypi 내 pypdf 페이지. @pypi&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;pypdf의 설명을 보시면 아시겠지만, 해당 패키지는 pdf에 암호를 생성하는 기능뿐 아니라 분할, 합치기, 갈무리, 주석 생성 등 다양한 pdf 편집 기능을 수행할 수 있는 라이브러리입니다. 암호 생성은 pypdf 패키지의 다양한 기능 중 한 가지 일뿐이죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;pypdf is a free and open-source pure-python PDF library capable of splitting,&amp;nbsp;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/user/merging-pdfs.html&quot;&gt;merging&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/user/cropping-and-transforming.html&quot;&gt;cropping, and transforming&lt;/a&gt;&amp;nbsp;the pages of PDF files. It can also add custom data, viewing options, and&amp;nbsp;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/user/encryption-decryption.html&quot;&gt;passwords&lt;/a&gt;&amp;nbsp;to PDF files. pypdf can&amp;nbsp;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/user/extract-text.html&quot;&gt;retrieve text&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/user/metadata.html&quot;&gt;metadata&lt;/a&gt;&amp;nbsp;from PDFs as well. - &lt;i&gt;출처 pypdf @ pypi&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여하튼, 패키지 설치를 위해 CLI에 간단히,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1717506798006&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pypdf&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;를 입력하여 설치를 진행합니다. (패키지명도 군더더기 없이 근본 넘치네요.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;패키지 설치까지 끝났다면, 즐거운 코딩 시간입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;페페_신남.gif&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;488&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgw0p1/btsHPa6YeFQ/ivAzJQvnlfs6Sff6HLMoFK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgw0p1/btsHPa6YeFQ/ivAzJQvnlfs6Sff6HLMoFK/img.gif&quot; data-alt=&quot;신나는 코딩시간&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgw0p1/btsHPa6YeFQ/ivAzJQvnlfs6Sff6HLMoFK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/dgw0p1/btsHPa6YeFQ/ivAzJQvnlfs6Sff6HLMoFK/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;신나는 코딩시간&quot; loading=&quot;lazy&quot; width=&quot;504&quot; height=&quot;293&quot; data-filename=&quot;페페_신남.gif&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;488&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;신나는 코딩시간&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;pypdf 이용하여 pdf 암호 설정 예제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사설은 그만하고 예제 코드로 바로 넘어가겠습니다. 코딩은 단 6 줄 뿐으로 매우 간단합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;&amp;nbsp;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pypdf &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; PdfReader, PdfWriter&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;reader &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; PdfReader(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;c:/py/testpdf.pdf&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#원본 pdf 불러오기&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;writer &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; PdfWriter(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;clone_from&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;reader) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#원본 pdf 가공을 위해 writer에 할당&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;writer.encrypt(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;password1234&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#writer에 할당된 pdf 사본에 &quot;password1234&quot;라는 암호 설정&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;&amp;nbsp;with&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;c:/py/testpdf_with_password.pdf&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;wb&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; f: &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#암호 설정된 파일을 다른 이름으로 저장&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;writer.write(f)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;실행결과로 다른 이름으로 저장된 파일을 열어보면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uAXGp/btsHNXngG51/NoSFD1vBA0KHs5ewpQb5C0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uAXGp/btsHNXngG51/NoSFD1vBA0KHs5ewpQb5C0/img.png&quot; data-alt=&quot;암호설정된 PDF 파일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uAXGp/btsHNXngG51/NoSFD1vBA0KHs5ewpQb5C0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuAXGp%2FbtsHNXngG51%2FNoSFD1vBA0KHs5ewpQb5C0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;암호설정된 PDF 파일&quot; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;342&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;암호설정된 PDF 파일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;암호가 잘 설정된 것을 보실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;6줄의 간단한 코드만으로, 라이선스 비용에 대한 이슈와 보안 이슈를 한방에 해결하였습니다.!!&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;solution.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NvXHM/btsHNdK6m8B/mwGz2WmhkXh4E0B9Vh93X0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NvXHM/btsHNdK6m8B/mwGz2WmhkXh4E0B9Vh93X0/img.jpg&quot; data-alt=&quot;Mission Success! @Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NvXHM/btsHNdK6m8B/mwGz2WmhkXh4E0B9Vh93X0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNvXHM%2FbtsHNdK6m8B%2FmwGz2WmhkXh4E0B9Vh93X0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Mission Success! @Pixabay&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;672&quot; data-filename=&quot;solution.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Mission Success! @Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, 파일 하나하나를 암호화하기 위해 개별로 프로그램을 작성해 주는 것은 아무래도 번거로운 작업이 될 것이기에 Pyqt5와 같은 GUI를 이용하여 사용자 편의를 도모한다면 언급된 예제보다 더 좋은 결과물이 나올 것이라 기대할 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은, Python과 pypdf 패키지를 활용하여 pdf파일에 암호설정하는 방법을 알아보았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞서 포스팅에서 소개한 pdf암호 설정방법을 활용하기에는 라이선스나 보안에 대한 이슈가 예상되는 기관/기업 사용자분들에게 좋은 대안이 될 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;물론, 해당 pypdf 패키지는 암호설정 기능뿐 아니라 pdf 편집을 자동화하는데 도움을 줄 수 있는 다양한 기능을 탑재하고 있는 바 이점도 눈여겨보시고 적극 활용하시길 바랍니다. (공식 문서는 아래 페이지에서 자세히 확인 가능합니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/index.html&quot;&gt;Welcome to pypdf &amp;mdash; pypdf 4.2.0 documentation&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717509068079&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Welcome to pypdf &amp;mdash; pypdf 4.2.0 documentation&quot; data-og-description=&quot;&amp;copy; Copyright 2006 - 2023, Mathieu Fenniak and pypdf contributors. Revision 2ac88e63.&quot; data-og-host=&quot;pypdf.readthedocs.io&quot; data-og-source-url=&quot;https://pypdf.readthedocs.io/en/stable/index.html&quot; data-og-url=&quot;https://pypdf.readthedocs.io/en/stable/index.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://pypdf.readthedocs.io/en/stable/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pypdf.readthedocs.io/en/stable/index.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Welcome to pypdf &amp;mdash; pypdf 4.2.0 documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;copy; Copyright 2006 - 2023, Mathieu Fenniak and pypdf contributors. Revision 2ac88e63.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pypdf.readthedocs.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;숙지하시어, 즐거운 데이터 생활 그리고 업무 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움이 되셨다면, 왼쪽 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;' '&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;클릭 부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>맨땅에 프로그래밍/Python 복기장</category>
      <category>pdf password setting</category>
      <category>pdf 비밀번호 설정</category>
      <category>pypdf 암호 설정</category>
      <category>python으로 pdf 편집하기</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/58</guid>
      <comments>https://attack.tistory.com/58#entry58comment</comments>
      <pubDate>Tue, 4 Jun 2024 22:56:28 +0900</pubDate>
    </item>
    <item>
      <title>PDF 파일에 암호 설정하는 3가지 방법</title>
      <link>https://attack.tistory.com/57</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;PDF 파일에 암호 설정하는 3가지 방법.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m8Exu/btsHLyPchkG/wfLmkjib1BRxyoz3PHXkmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m8Exu/btsHLyPchkG/wfLmkjib1BRxyoz3PHXkmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m8Exu/btsHLyPchkG/wfLmkjib1BRxyoz3PHXkmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm8Exu%2FbtsHLyPchkG%2FwfLmkjib1BRxyoz3PHXkmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;PDF 파일에 암호 설정하는 3가지 방법&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;PDF 파일에 암호 설정하는 3가지 방법.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;PDF 파일을 사용하다 보면 간혹 암호를 걸어야 하는 경우가 생깁니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅에서는 PDF 파일에 암호를 설정하는 3가지 방법에 대해서 고찰해 보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;회사 업무나 사업을 영위하면서 PDF 파일로 상호 간에 문서를 주고받는 일은 워낙 비일비재한 일이기 때문에, 사실 상호&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;간에 암호를 설정하여 문서를 보내는 경우는 거의 없긴 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;다만, 사적인 PDF 파일을 송수신하거나 업무 외적으로 사용하는 경우는 암호를 설정해야 하는 경우가 간혹 발생하게 되는데요. 이러한 경우에 요긴하게 활용할 수 있도록, PDF 파일에 암호를 설정하는 여러 가지 방법을 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;1586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNkPdu/btsHNudywpq/BFHaD3SbkekML30xehS8ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNkPdu/btsHNudywpq/BFHaD3SbkekML30xehS8ck/img.png&quot; data-alt=&quot;암호는 설정 후 잘 관리해야합니다 :)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNkPdu/btsHNudywpq/BFHaD3SbkekML30xehS8ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNkPdu%2FbtsHNudywpq%2FBFHaD3SbkekML30xehS8ck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;암호는 설정 후 잘 관리해야합니다 :)&quot; loading=&quot;lazy&quot; width=&quot;564&quot; height=&quot;1586&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;1586&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;암호는 설정 후 잘 관리해야합니다 :)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 프로그램, 사이트, 공급사, 단체 등은 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;방법 1. 유료 프로그램 사용하기&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;우리가 흔히 사용하는 PDF reader 프로그램 (예를 들면 Acrobat reader나 Foxit pdf reader 등)은 암호 설정 기능을 지원하지 않습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;너무나 당연한 얘기겠지만, reader 기능이 아닌 Pro 라이선스(유료)를 사용하면 암호 설정이 가능합니다. (!)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;놀랍다.gif&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxU9Pg/btsHNfHGOqE/Ga2RTkDFYuHw52AQtupt71/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxU9Pg/btsHNfHGOqE/Ga2RTkDFYuHw52AQtupt71/img.gif&quot; data-alt=&quot;세상에 이런 해결책이!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxU9Pg/btsHNfHGOqE/Ga2RTkDFYuHw52AQtupt71/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cxU9Pg/btsHNfHGOqE/Ga2RTkDFYuHw52AQtupt71/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;세상에 이런 해결책이!!&quot; loading=&quot;lazy&quot; width=&quot;361&quot; height=&quot;300&quot; data-filename=&quot;놀랍다.gif&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;세상에 이런 해결책이!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Acrobat부터 살펴보겠습니다. 공식 홈페이지는 여깁니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.adobe.com/kr/acrobat/pdf-reader.html#plans&quot;&gt;PDF 리더: 최초의 PDF 솔루션 | Adobe Acrobat Reader&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717423847011&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;PDF 리더: 최초의 PDF 솔루션 | Adobe Acrobat Reader&quot; data-og-description=&quot;Adobe의 무료 PDF 리더를 만나보세요. Acrobat Reader를 사용하면 모든 유형의 PDF 파일에 대한 읽기, 서명, 주석 추가, 상호 작용 등 다양한 작업이 가능합니다.&quot; data-og-host=&quot;www.adobe.com&quot; data-og-source-url=&quot;https://www.adobe.com/kr/acrobat/pdf-reader.html#plans&quot; data-og-url=&quot;https://www.adobe.com/kr/acrobat/pdf-reader.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cacE3L/hyWgXZhrCy/CxkB6QvmHkOqHESExjvBMk/img.jpg?width=800&amp;amp;height=571&amp;amp;face=0_0_800_571&quot;&gt;&lt;a href=&quot;https://www.adobe.com/kr/acrobat/pdf-reader.html#plans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.adobe.com/kr/acrobat/pdf-reader.html#plans&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cacE3L/hyWgXZhrCy/CxkB6QvmHkOqHESExjvBMk/img.jpg?width=800&amp;amp;height=571&amp;amp;face=0_0_800_571');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;PDF 리더: 최초의 PDF 솔루션 | Adobe Acrobat Reader&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Adobe의 무료 PDF 리더를 만나보세요. Acrobat Reader를 사용하면 모든 유형의 PDF 파일에 대한 읽기, 서명, 주석 추가, 상호 작용 등 다양한 작업이 가능합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.adobe.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1302&quot; data-origin-height=&quot;829&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/liil6/btsHLX2f17x/0EXo9iqXuLbiIIxWMcL3Ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/liil6/btsHLX2f17x/0EXo9iqXuLbiIIxWMcL3Ek/img.png&quot; data-alt=&quot;24년 6월 3일 현재 기준 Acrobat 구독료 @Adobe Acrobat page&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/liil6/btsHLX2f17x/0EXo9iqXuLbiIIxWMcL3Ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fliil6%2FbtsHLX2f17x%2F0EXo9iqXuLbiIIxWMcL3Ek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;24년 6월 3일 현재 기준 Acrobat 구독료&quot; loading=&quot;lazy&quot; width=&quot;1302&quot; height=&quot;829&quot; data-origin-width=&quot;1302&quot; data-origin-height=&quot;829&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;24년 6월 3일 현재 기준 Acrobat 구독료 @Adobe Acrobat page&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그다음 많이들 사용하시는 Foxit PDF 같은 경우는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-editor/&quot;&gt;Free Online PDF Editor | Edit PDF Files Effortlessly with Foxit&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717423921039&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Free Online PDF Editor | Edit PDF Files Effortlessly with Foxit&quot; data-og-description=&quot;Foxit PDF Editor provides a full featured platform to create, manage, convert, OCR, eSign and edit PDF documents. Download the best PDF editor for free now!&quot; data-og-host=&quot;www.foxit.com&quot; data-og-source-url=&quot;https://www.foxit.com/pdf-editor/&quot; data-og-url=&quot;https://www.foxit.com/pdf-editor/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bIiBIy/hyWdtlfOfm/cE8kBkYsqyKYj1g91lg9a1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500&quot;&gt;&lt;a href=&quot;https://www.foxit.com/pdf-editor/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.foxit.com/pdf-editor/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bIiBIy/hyWdtlfOfm/cE8kBkYsqyKYj1g91lg9a1/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Free Online PDF Editor | Edit PDF Files Effortlessly with Foxit&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Foxit PDF Editor provides a full featured platform to create, manage, convert, OCR, eSign and edit PDF documents. Download the best PDF editor for free now!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.foxit.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1511&quot; data-origin-height=&quot;740&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daBxjV/btsHMOcxtyt/kc0nrQqKQtXuKimyAbZ2yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daBxjV/btsHMOcxtyt/kc0nrQqKQtXuKimyAbZ2yk/img.png&quot; data-alt=&quot;Foxit PDF Editor 보안 설정 설정화면 @Foxit&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daBxjV/btsHMOcxtyt/kc0nrQqKQtXuKimyAbZ2yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaBxjV%2FbtsHMOcxtyt%2Fkc0nrQqKQtXuKimyAbZ2yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Foxit PDF Editor 보안 설정 설정화면&quot; loading=&quot;lazy&quot; width=&quot;1511&quot; height=&quot;740&quot; data-origin-width=&quot;1511&quot; data-origin-height=&quot;740&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Foxit PDF Editor 보안 설정 설정화면 @Foxit&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;유료로 사용하면 당연히 좋은 결과를 기대할 수 있을 텐데요. &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;개인사용자의 경우, 간혹 사용하는 암호설정 때문에 구독료를 지불해야 한다면 합리적인 선택이 아닐 수 있겠지요. 그래서 다음 방법으로,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;방법 2. 온라인 PDF 편집 사이트 이용하기&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;구글과 같은 검색엔진에 'PDF 암호' 혹은 'PDF 암호 설정' 등등으로 검색하게 되면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;923&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KLmEZ/btsHL6dDOQS/66p8f9mUlLrAYGIt6LGRKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KLmEZ/btsHL6dDOQS/66p8f9mUlLrAYGIt6LGRKk/img.png&quot; data-alt=&quot;'PDF 암호' 로 구글링한 결과 @ Google&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KLmEZ/btsHL6dDOQS/66p8f9mUlLrAYGIt6LGRKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKLmEZ%2FbtsHL6dDOQS%2F66p8f9mUlLrAYGIt6LGRKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;923&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;923&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;'PDF 암호' 로 구글링한 결과 @ Google&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;다양한 온라인 PDF 편집 사이트가 검색됨을 확인하실 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;다만, 온라인 웹페이지에 파일을 업로드하는 방식으로 운영되기 때문에&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;회사 보안 정책에 반(反)할 수 있고&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;업로드 형식이다 보니 특정 사이트에 해당 PDF자료가 노출될 우려&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;가 있으므로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;사용자는 이점을 충분히 양지하고 사용하여야 할 것입니다.&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;그중에 Adobe 공식 홈페이지에서도 암호 설정을 온라인으로 지원하고 있으니 관심 있으신 분은 참고하셔도 좋으실 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.adobe.com/kr/acrobat/online/password-protect-pdf.html&quot;&gt;온라인에서 암호화를 통해 무료로 PDF 보호 | Adobe Acrobat (대한민국)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717424692302&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;온라인에서 암호화를 통해 무료로 PDF 보호 | Adobe Acrobat&quot; data-og-description=&quot;암호화를 통해 온라인에서 PDF를 안전하게 보호할 수 있습니다. PDF를 암호로 보호할 수 있는 Adobe Acrobat 온라인 서비스를 무료로 체험해 보세요.&quot; data-og-host=&quot;www.adobe.com&quot; data-og-source-url=&quot;https://www.adobe.com/kr/acrobat/online/password-protect-pdf.html&quot; data-og-url=&quot;https://www.adobe.com/kr/acrobat/online/password-protect-pdf.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.adobe.com/kr/acrobat/online/password-protect-pdf.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.adobe.com/kr/acrobat/online/password-protect-pdf.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;온라인에서 암호화를 통해 무료로 PDF 보호 | Adobe Acrobat&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;암호화를 통해 온라인에서 PDF를 안전하게 보호할 수 있습니다. PDF를 암호로 보호할 수 있는 Adobe Acrobat 온라인 서비스를 무료로 체험해 보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.adobe.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;904&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7zLRh/btsHNvcpuvh/rK7biK81e3hGQvgo4DO980/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7zLRh/btsHNvcpuvh/rK7biK81e3hGQvgo4DO980/img.png&quot; data-alt=&quot;Adobe PDF 암호 설정 온라인 도구 화면 @ Adobe Acrobat page&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7zLRh/btsHNvcpuvh/rK7biK81e3hGQvgo4DO980/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7zLRh%2FbtsHNvcpuvh%2FrK7biK81e3hGQvgo4DO980%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Adobe PDF 암호 설정 온라인 도구 화면 @ Adobe Acrobat page&quot; loading=&quot;lazy&quot; width=&quot;1488&quot; height=&quot;904&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;904&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Adobe PDF 암호 설정 온라인 도구 화면 @ Adobe Acrobat page&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;방법 3. 알pdf 이용하기&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마지막 방법은 알PDF 프로그램을 사용하여 암호를 설정하는 방법입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://altools.co.kr/product/ALPDF&quot;&gt;알PDF | 공식 다운로드 (altools.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1717425120179&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;알PDF | 공식 다운로드&quot; data-og-description=&quot;알PDF는 다양한 기능으로 PDF 문서를 간편하게 생성 및 편집하고 다양한 포맷으로 변환할 수 있는 PDF 편집/변환 프로그램입니다.&quot; data-og-host=&quot;altools.co.kr&quot; data-og-source-url=&quot;https://altools.co.kr/product/ALPDF&quot; data-og-url=&quot;https://altools.co.kr/product/ALPDF&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bkc1EC/hyWdiDVk0O/buAyKYlAyVoRkogkKkwEVK/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/bCpnno/hyWdmTPhFP/cZJrlrHTQOFnElm6oMOrLk/img.png?width=1080&amp;amp;height=800&amp;amp;face=0_0_1080_800&quot;&gt;&lt;a href=&quot;https://altools.co.kr/product/ALPDF&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://altools.co.kr/product/ALPDF&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bkc1EC/hyWdiDVk0O/buAyKYlAyVoRkogkKkwEVK/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/bCpnno/hyWdmTPhFP/cZJrlrHTQOFnElm6oMOrLk/img.png?width=1080&amp;amp;height=800&amp;amp;face=0_0_1080_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;알PDF | 공식 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;알PDF는 다양한 기능으로 PDF 문서를 간편하게 생성 및 편집하고 다양한 포맷으로 변환할 수 있는 PDF 편집/변환 프로그램입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;altools.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;623&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqBoNn/btsHMQ9dVP9/KiXUDcs3qDM1XDEXkt23A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqBoNn/btsHMQ9dVP9/KiXUDcs3qDM1XDEXkt23A1/img.png&quot; data-alt=&quot;알PDF 다운로드 화면 @Alsoft&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqBoNn/btsHMQ9dVP9/KiXUDcs3qDM1XDEXkt23A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqBoNn%2FbtsHMQ9dVP9%2FKiXUDcs3qDM1XDEXkt23A1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;알PDF 다운로드 화면 @Alsoft&quot; loading=&quot;lazy&quot; width=&quot;1764&quot; height=&quot;623&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;623&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;알PDF 다운로드 화면 @Alsoft&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;알PDF는 개인사용자 한정, Ad-ware(광고 나오는) 버전을 무료로 사용가능합니다. (광고 제거 버전도 월 구독 방식으로 사용 가능합니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;반대로 말하자면, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;기업이나 단체, 공공기관, 교육기관, PC방 등에서 해당 프로그램을 사용할 경우에는 반드시 라이선스를 구매해야 할 것입니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRBV4U/btsHLPiTAPc/sa7zMVUISN7r9RiSRmz99K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRBV4U/btsHLPiTAPc/sa7zMVUISN7r9RiSRmz99K/img.png&quot; data-alt=&quot;ALPDF 라이선스 안내 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRBV4U/btsHLPiTAPc/sa7zMVUISN7r9RiSRmz99K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRBV4U%2FbtsHLPiTAPc%2Fsa7zMVUISN7r9RiSRmz99K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;ALPDF 라이선스 안내 화면&quot; loading=&quot;lazy&quot; width=&quot;1368&quot; height=&quot;793&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ALPDF 라이선스 안내 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사용법은 꽤 간단합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;프로그램을 다운로드하여 설치하고,&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;파일을 열고,&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zZxa2/btsHNfuaAdo/euVvqRkeM4kxGEWHv8FpIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zZxa2/btsHNfuaAdo/euVvqRkeM4kxGEWHv8FpIk/img.png&quot; data-alt=&quot;ALPDF 파일 열기 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zZxa2/btsHNfuaAdo/euVvqRkeM4kxGEWHv8FpIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzZxa2%2FbtsHNfuaAdo%2FeuVvqRkeM4kxGEWHv8FpIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;ALPDF 파일 열기 화면&quot; loading=&quot;lazy&quot; width=&quot;1368&quot; height=&quot;793&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ALPDF 파일 열기 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 탭에서 '비밀번호 설정' 아이콘을 클릭하고 암호를 설정하면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/elhmsM/btsHLWClTZl/Sp6ZipBefoiwE9ORi4uK80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/elhmsM/btsHLWClTZl/Sp6ZipBefoiwE9ORi4uK80/img.png&quot; data-alt=&quot;ALPDF 보안 TAB 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/elhmsM/btsHLWClTZl/Sp6ZipBefoiwE9ORi4uK80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FelhmsM%2FbtsHLWClTZl%2FSp6ZipBefoiwE9ORi4uK80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;ALPDF 보안 TAB 화면&quot; loading=&quot;lazy&quot; width=&quot;1368&quot; height=&quot;793&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ALPDF 보안 TAB 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘은, PDF 파일에 암호(비밀번호)를 설정하는 3가지 방법에 대해서 알아보았습니다. 업무를 하면서 자주 사용하는 기능은 아니지만, 사적인 문서를 주고받거나 하는 경우에 간간히 필요로 할 때가 있으므로 미리 방법을 알아둔다면 칼퇴에 도움이 될 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;퇴근길.jpg&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EFedB/btsHNymui4w/Cb1lkjH7SlgRnErXJkEuIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EFedB/btsHNymui4w/Cb1lkjH7SlgRnErXJkEuIk/img.jpg&quot; data-alt=&quot;칼퇴는 언제나 즐거움@Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EFedB/btsHNymui4w/Cb1lkjH7SlgRnErXJkEuIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEFedB%2FbtsHNymui4w%2FCb1lkjH7SlgRnErXJkEuIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;칼퇴는 언제나 즐거움@Pixabay&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;450&quot; data-filename=&quot;퇴근길.jpg&quot; data-origin-width=&quot;853&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;칼퇴는 언제나 즐거움@Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정리해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;&amp;nbsp;유료 프로그램 사용하기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;온라인 PDF 편집 사이트 활용하기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;알 PDF 활용하기 (개인사용자 한정)&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;3가지 방법으로 정리될 수 있겠네요. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;(본문에도 수차례 언급했지만 사용자는 라이선스와 문서 보안에 각별히 유의해야 합니다.)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고하시어, 스트레스 없는 쾌적한 업무 처리 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;No_stress.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;847&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u2QES/btsHOhkgIKO/JLoBKQt4LL4DhgONPk01Jk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u2QES/btsHOhkgIKO/JLoBKQt4LL4DhgONPk01Jk/img.jpg&quot; data-alt=&quot;스트레스 없는 쾌적한 사무작업@Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u2QES/btsHOhkgIKO/JLoBKQt4LL4DhgONPk01Jk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu2QES%2FbtsHOhkgIKO%2FJLoBKQt4LL4DhgONPk01Jk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;스트레스 없는 쾌적한 사무작업@Pixabay&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;847&quot; data-filename=&quot;No_stress.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;847&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스트레스 없는 쾌적한 사무작업@Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 프로그램, 사이트, 공급사, 단체 등은 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>사무자동화/OA 꿀팁</category>
      <category>Adobe Acrobat</category>
      <category>ALPDF</category>
      <category>Foxit PDF</category>
      <category>pdf password setting</category>
      <category>pdf 비밀번호 설정</category>
      <category>pdf 암호설정</category>
      <category>알PDF</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/57</guid>
      <comments>https://attack.tistory.com/57#entry57comment</comments>
      <pubDate>Mon, 3 Jun 2024 23:59:50 +0900</pubDate>
    </item>
    <item>
      <title>Python으로 반올림, 올림, 내림 처리하기(feat. round, ceil, floor)</title>
      <link>https://attack.tistory.com/56</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Python으로 반올림, 올림, 내림 처리하기(feat. round, ceil, floor).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNmLM2/btsG4g0LJ1u/ssM7X1aKKHzQAlLWZYxfX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNmLM2/btsG4g0LJ1u/ssM7X1aKKHzQAlLWZYxfX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNmLM2/btsG4g0LJ1u/ssM7X1aKKHzQAlLWZYxfX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNmLM2%2FbtsG4g0LJ1u%2FssM7X1aKKHzQAlLWZYxfX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Python으로 반올림&amp;amp;#44; 올림&amp;amp;#44; 내림 처리하기(feat. round&amp;amp;#44; ceil&amp;amp;#44; floor)&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;Python으로 반올림, 올림, 내림 처리하기(feat. round, ceil, floor).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;파이썬으로 데이터를 반올림, 올림, 내림 처리하고 싶다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다. 즐거운 데이터 생활 되고 있으신지요?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘은 데이터 수치를 정리하다 보면 흔하게 작업하게 되는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;반올림, 올림, 내림&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기능에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬이 아니더라도, 엑셀로 사무작업을 해보신 분들이라면 익숙한 Fucntion 인,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Round - 반올림&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Roundup - 올림&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Rounddown - 내림&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반올림, 올림, 내림 기능을 사용해 보신 경험이 있으실 것입니다. 오늘은 이 기능을 파이썬 로직으로 구현하는 방법에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqPDT5/btsG36jDOVq/aKOTLcxJ9aWWfRAquBweh1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqPDT5/btsG36jDOVq/aKOTLcxJ9aWWfRAquBweh1/img.jpg&quot; data-alt=&quot;과도한 팡션 사용은 부작용을 초래할 수도 있습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqPDT5/btsG36jDOVq/aKOTLcxJ9aWWfRAquBweh1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqPDT5%2FbtsG36jDOVq%2FaKOTLcxJ9aWWfRAquBweh1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;과도한 팡션 사용은 부작용을 초래할 수도 있습니다.&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;412&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;과도한 팡션 사용은 부작용을 초래할 수도 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;round - 반올림 기능&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 반올림 기능입니다. 엑셀의 그것과 동일한 매써드인 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;round()&lt;/b&gt;&lt;/span&gt;입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 매써드는 파이썬 내장함수이므로 별도의 추가 라이브러리 없이 구현이 가능합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Round() method는 엑셀의 그것과 유사하게 다음과 같은 매개변수로 간단하게 구현 가능합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1714398074555&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;round(Number, digit)    # round(숫자, 자릿수)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예제는 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;215&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9PEUp/btsGZVdjkf1/JKrUoncEo5qz8a6TTgcF51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9PEUp/btsGZVdjkf1/JKrUoncEo5qz8a6TTgcF51/img.png&quot; data-alt=&quot;round 함수 예제(1)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9PEUp/btsGZVdjkf1/JKrUoncEo5qz8a6TTgcF51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9PEUp%2FbtsGZVdjkf1%2FJKrUoncEo5qz8a6TTgcF51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;round 함수 예제(1)&quot; loading=&quot;lazy&quot; width=&quot;216&quot; height=&quot;215&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;215&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;round 함수 예제(1)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;임의의 숫자에 대해서 뒤에 매개변수를 증가시킴에 따라 소수점 자릿수가 증가함을 볼 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반면, 두 번째 매개변수를 음수(-)로 하게 되면 엑셀에서 기능과 동일하게 정수부(일의 자리, 십의 자리 등)에서 반올림이 이루어지는 것을 보실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;206&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x5rs7/btsG0FHSo20/gTrhdJIol7nd2qIsW9qNB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x5rs7/btsG0FHSo20/gTrhdJIol7nd2qIsW9qNB0/img.png&quot; data-alt=&quot;round 함수 예제(2)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x5rs7/btsG0FHSo20/gTrhdJIol7nd2qIsW9qNB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx5rs7%2FbtsG0FHSo20%2FgTrhdJIol7nd2qIsW9qNB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;round 함수 예제(2)&quot; loading=&quot;lazy&quot; width=&quot;206&quot; height=&quot;144&quot; data-origin-width=&quot;206&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;round 함수 예제(2)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 보던 기능과 그 기전이 동일하므로, 쉽게 이해되실 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, 결괏값에서 보듯이 해당 변수는 실수형(Float 혹은 Real) 값으로 반환되기 때문에 정수형 값이 필요한 경우라면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1714398635027&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;int(round(Number, digit))    # Integer 형(정수형)으로 변환&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;int()&lt;/b&gt;&lt;/span&gt; 함수를 이용해 Integer Type으로 형 변환시켜 줄 필요가 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;217&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHROmm/btsG3yU2SRD/y8gpTA1y1H7Nw7v4g1LjY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHROmm/btsG3yU2SRD/y8gpTA1y1H7Nw7v4g1LjY1/img.png&quot; data-alt=&quot;int 함수 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHROmm/btsG3yU2SRD/y8gpTA1y1H7Nw7v4g1LjY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHROmm%2FbtsG3yU2SRD%2Fy8gpTA1y1H7Nw7v4g1LjY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;int 함수 예제&quot; loading=&quot;lazy&quot; width=&quot;217&quot; height=&quot;70&quot; data-origin-width=&quot;217&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;int 함수 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, round에서 계산식을 괄호로 묶는 과정, int형으로 괄호로 묶는 과정에서 괄호를 실수하는 경우가 간혹 있습니다. (저만 그런 건지도...)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;149&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nSzmZ/btsG3MyQink/qjCfdHCSQgfXjp1skFR22k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nSzmZ/btsG3MyQink/qjCfdHCSQgfXjp1skFR22k/img.png&quot; data-alt=&quot;round 함수 괄호 실수 error 출력 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nSzmZ/btsG3MyQink/qjCfdHCSQgfXjp1skFR22k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnSzmZ%2FbtsG3MyQink%2FqjCfdHCSQgfXjp1skFR22k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;round 함수 괄호 실수 error 출력 예시&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;149&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;149&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;round 함수 괄호 실수 error 출력 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;에러 메시지&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-windowed-list-index=&quot;5&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: left;&quot; data-mime-type=&quot;application/vnd.jupyter.stderr&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;color: #000000;&quot;&gt;&lt;code&gt;TypeError: type tuple doesn't define __round__ method&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;가 출력되는 경우가 있으니, 코딩시 주의를 요합니다.&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;혹은, round 함수시 두번째 인자 없이,&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1714400172684&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;round(Number)    # round(숫자)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;로 사용하면 int형으로 반환시킬 수 있습니다.&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;단순히 정수형만 필요하다면 이 방법이 조금더 간편할 수 있겠습니다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;172&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci8Spy/btsG3NEwgYM/Okrq6gsuMRVTH82yl3Ku71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci8Spy/btsG3NEwgYM/Okrq6gsuMRVTH82yl3Ku71/img.png&quot; data-alt=&quot;round 함수 예제(3)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci8Spy/btsG3NEwgYM/Okrq6gsuMRVTH82yl3Ku71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci8Spy%2FbtsG3NEwgYM%2FOkrq6gsuMRVTH82yl3Ku71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;round 함수 예제(3)&quot; loading=&quot;lazy&quot; width=&quot;172&quot; height=&quot;70&quot; data-origin-width=&quot;172&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;round 함수 예제(3)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-windowed-list-index=&quot;6&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;ceil - 올림 기능&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로 올림 기능입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서는 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;'RoundUp'&lt;/b&gt;&lt;/span&gt; 함수로 구현 가능하지만, 파이썬에서는 ceil() 매써드를 이용해서 숫자의 올림기능을 구현할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, 파이썬에서 제공하는 기본함수에는 없고 &lt;b&gt;math&lt;/b&gt; 라이브러리를 설치 및 Import 해줘야 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1714399600155&quot; class=&quot;cmake&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;pip install math	#math 라이브러리 설치&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1714399845993&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import math		#math 라이브러리 가져오기&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;python 라이브러리 설치는 이전 포스팅에서 자세히 다루었습니다. 참조해 주세요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://datawizard.co.kr/7&quot;&gt;파이썬 (2) - PIP로 모듈 설치하기&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1714399670284&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;파이썬 (2) - PIP로 모듈 설치하기&quot; data-og-description=&quot;파이썬(Python) 모듈(라이브러리) 이야기 이전 포스팅에서 파이썬 설치에 대해서 정리하였습니다. (파이썬 설치에 대한 내용은 아래 링크를 참조하시기 바랍니다.) 파이썬 (1) - 파이썬 시작하기 파&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/7&quot; data-og-url=&quot;https://datawizard.co.kr/7&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XYSWS/hyVZmdEjrC/wz4tjEmc5hwse8smgJFmkk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qD1n1/hyVZd8QCyJ/2lUnlAeHQ9FTlx7w941jx0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b1Y9Nr/hyVZjgVeTO/hkofmWLA8u27ktAVcNWqJ1/img.png?width=1170&amp;amp;height=876&amp;amp;face=0_0_1170_876&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/7&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XYSWS/hyVZmdEjrC/wz4tjEmc5hwse8smgJFmkk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qD1n1/hyVZd8QCyJ/2lUnlAeHQ9FTlx7w941jx0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b1Y9Nr/hyVZjgVeTO/hkofmWLA8u27ktAVcNWqJ1/img.png?width=1170&amp;amp;height=876&amp;amp;face=0_0_1170_876');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;파이썬 (2) - PIP로 모듈 설치하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬(Python) 모듈(라이브러리) 이야기 이전 포스팅에서 파이썬 설치에 대해서 정리하였습니다. (파이썬 설치에 대한 내용은 아래 링크를 참조하시기 바랍니다.) 파이썬 (1) - 파이썬 시작하기 파&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음은, 코딩입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1714399889605&quot; class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;math.ceil(Number)    # ceil 함수 예제&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;round함수에 비해, 숫자만 입력하게 됩니다. 그리고 결괏값 또한 정수형(Integer type)으로 반환됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMLYMG/btsG0cFVmGc/toSPaWYN9Oi7JCqLbbc8ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMLYMG/btsG0cFVmGc/toSPaWYN9Oi7JCqLbbc8ik/img.png&quot; data-alt=&quot;math.ceil 함수 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMLYMG/btsG0cFVmGc/toSPaWYN9Oi7JCqLbbc8ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMLYMG%2FbtsG0cFVmGc%2FtoSPaWYN9Oi7JCqLbbc8ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;math.ceil 함수 예제&quot; loading=&quot;lazy&quot; width=&quot;185&quot; height=&quot;66&quot; data-origin-width=&quot;185&quot; data-origin-height=&quot;66&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;math.ceil 함수 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사용법 또한 굉장히 간단합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1SbdJ/btsG1fa3Rqm/lzqwiSBvpneLIwj1RS2dek/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1SbdJ/btsG1fa3Rqm/lzqwiSBvpneLIwj1RS2dek/img.jpg&quot; data-alt=&quot;참 쉽죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1SbdJ/btsG1fa3Rqm/lzqwiSBvpneLIwj1RS2dek/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1SbdJ%2FbtsG1fa3Rqm%2FlzqwiSBvpneLIwj1RS2dek%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참 쉽죠?&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참 쉽죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;floor, trunc - 내림 기능&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로 내림 기능입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;'RoundDown'&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;함수로 구현하는 기능을 파이썬에서는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;math.floor()&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;math.trunc()&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;int()&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;의 3가지 방법으로 구현 가능합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(여기서 floor()와 trunc() 함수는 앞서 소개한 ceil()과 마찬가지로 math 라이브러리가 필요합니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각각의 방법으로 양수의 실수형 데이터를 처리하면 동일한 결과를 얻을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;219&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chj9XC/btsGZW4laCM/uTon4LC8Krgz9B90nXS3o0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chj9XC/btsGZW4laCM/uTon4LC8Krgz9B90nXS3o0/img.png&quot; data-alt=&quot;3가지 내림 예제 (1)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chj9XC/btsGZW4laCM/uTon4LC8Krgz9B90nXS3o0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fchj9XC%2FbtsGZW4laCM%2FuTon4LC8Krgz9B90nXS3o0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;3가지 내림 예제 (1)&quot; loading=&quot;lazy&quot; width=&quot;219&quot; height=&quot;219&quot; data-origin-width=&quot;219&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;3가지 내림 예제 (1)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, 음의 실수형 데이터를 처리하면, 조금 다른 결괏값을 볼 수 있는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;248&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vUGBx/btsG3LzV0aL/VqJ83AM2ELXJx8XDZIihW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vUGBx/btsG3LzV0aL/VqJ83AM2ELXJx8XDZIihW0/img.png&quot; data-alt=&quot;3가지 내림 예제 (2)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vUGBx/btsG3LzV0aL/VqJ83AM2ELXJx8XDZIihW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvUGBx%2FbtsG3LzV0aL%2FVqJ83AM2ELXJx8XDZIihW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;3가지 내림 예제 (2)&quot; loading=&quot;lazy&quot; width=&quot;248&quot; height=&quot;222&quot; data-origin-width=&quot;248&quot; data-origin-height=&quot;222&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;3가지 내림 예제 (2)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;같은 음수의 데이터를 내림하더라도,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;floor() 함수는 더 (-)가 되는 정수로&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;trunc() 함수와 Int() 함수는 0에 가까운 정수로&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;변환되는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Floor라는 뜻이 바닥인 만큼, 더 바닥인 쪽으로 간다.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라고 이해하시고 활용하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LYHzQ/btsG3NEwq2X/3JD9ZdQdqJEMswvMmsku1K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LYHzQ/btsG3NEwq2X/3JD9ZdQdqJEMswvMmsku1K/img.jpg&quot; data-alt=&quot;바닥에 더 바닥이 있을수 있습니다. @영화 '작전'&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LYHzQ/btsG3NEwq2X/3JD9ZdQdqJEMswvMmsku1K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLYHzQ%2FbtsG3NEwq2X%2F3JD9ZdQdqJEMswvMmsku1K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;바닥에 더 바닥이 있을수 있습니다. @영화 &amp;amp;#39;작전&amp;amp;#39;&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;315&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;바닥에 더 바닥이 있을수 있습니다. @영화 '작전'&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반면, trunc() 함수의 경우는 int() 함수와 동일한 기능을 수행하기 때문에 보통 int()를 더 자주 활용하는 편입니다. (함수명도 3글자라 math.trunc() 보다 더 짧습니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은, 데이터 처리를 하면서 자주 사용하게 되는 반올림, 올림, 내림 기능에 대해서 알아보았습니다. 엑셀의 그것에 익숙하신 분들이라면 생소한 함수 때문에 약간은 혼동스러울 수 있을 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정리해 보자면 다음과 같겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style3&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;기능&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;method&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;비고&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;반올림&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;round(숫자, 자릿수)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;자릿수 지정시 실수형 반환, 자릿수 미지정시 정수형 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;올림&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;math.ceil(숫자)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;무전기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;내림&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;math.floor(숫자)&lt;br /&gt;math.trunc(숫자)&lt;br /&gt;int(숫자)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;음의 실수형 데이터 처리시,&lt;br /&gt;floor는 더 (-)의 방향의 정수로 trunc와 int는 0에 가까운 정수로 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;자주 사용되는 기능인만큼 한 번쯤 정리하고 숙지할 필요가 있으실 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고하시어, 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움이 되셨다면, 왼쪽 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;' '&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;클릭 부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>맨땅에 프로그래밍/Python 복기장</category>
      <category>Math.ceil()</category>
      <category>Math.floor()</category>
      <category>math.trunc()</category>
      <category>python 내림</category>
      <category>python 올림</category>
      <category>round()</category>
      <category>파이썬 반올림</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/56</guid>
      <comments>https://attack.tistory.com/56#entry56comment</comments>
      <pubDate>Mon, 29 Apr 2024 23:50:48 +0900</pubDate>
    </item>
    <item>
      <title>통신의 방향 - Simplex, Half Duplex, Full Duplex 차이 알아보자</title>
      <link>https://attack.tistory.com/55</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;통신의 방향 - Simplex, Half Duplex, Full Duplex 차이 알아보자.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yxwov/btsGTFU55gV/i20Fj7h8OTH4krR6Q182A0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yxwov/btsGTFU55gV/i20Fj7h8OTH4krR6Q182A0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yxwov/btsGTFU55gV/i20Fj7h8OTH4krR6Q182A0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyxwov%2FbtsGTFU55gV%2Fi20Fj7h8OTH4krR6Q182A0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;통신의 방향 - Simplex&amp;amp;#44; Half Duplex&amp;amp;#44; Full Duplex 차이 알아보자&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;통신의 방향 - Simplex, Half Duplex, Full Duplex 차이 알아보자.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;통신 설정을 하다 보면 나오는 Simplex, Half Duplex, Full Duplex에 대한 개념을 알아봅시다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅에서는 모드버스 통신을 포함한 거의 대부분의 필드버스 설정을 할 때 한 번쯤은 보신 적이 있으실 것이라 생각되는 Simplex, Half Duplex, Full Duplex의 개념에 대해서 알아보는 시간을 갖도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;모드버스나 필드버스라고 표현하였지만, 사실 우리가 흔히 사용하는 거의 모든 통신 방식에 적용되는 개념입니다. 소위 말하는 &lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;b&gt;통신의 방향성&lt;/b&gt;&lt;/span&gt;에 대한 내용인데요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이와 관련된 내용 및 정의는,&amp;nbsp;일전에 MODBUS 통신의 OSI Model에서 Layer 5의 Session Layer에서 그 개념이 정의되고 있습니다. 상위 계층과 하위 계층을 연결하는 방식에 대한 내용이지요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://osi-model.com/&quot;&gt;https://osi-model.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713960761589&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bv2YNE/hyVJ28asJe/KcVkOVXIlb1tbrlQ7FR2A1/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712,https://scrap.kakaocdn.net/dn/bz8IUP/hyVJWNEDNj/OGRpxEdiBxZPEbTsIYuOQk/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712&quot; data-og-url=&quot;https://osi-model.com/&quot; data-og-source-url=&quot;https://osi-model.com/&quot; data-og-host=&quot;osi-model.com&quot; data-og-description=&quot;The 7 Layers of the OSI Model. Learn about the OSI-Model trough a simple website! All the related protocols, services and general OSI Model info in one place&quot; data-og-title=&quot;The OSI-Model in a simple way&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://osi-model.com/&quot; data-source-url=&quot;https://osi-model.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bv2YNE/hyVJ28asJe/KcVkOVXIlb1tbrlQ7FR2A1/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712,https://scrap.kakaocdn.net/dn/bz8IUP/hyVJWNEDNj/OGRpxEdiBxZPEbTsIYuOQk/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;The OSI-Model in a simple way&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;The 7 Layers of the OSI Model. Learn about the OSI-Model trough a simple website! All the related protocols, services and general OSI Model info in one place&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;osi-model.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;437&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D7KZX/btsGTDXkEXh/hJx2RMjds53uGQXKtAa0EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D7KZX/btsGTDXkEXh/hJx2RMjds53uGQXKtAa0EK/img.png&quot; data-alt=&quot;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D7KZX/btsGTDXkEXh/hJx2RMjds53uGQXKtAa0EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD7KZX%2FbtsGTDXkEXh%2FhJx2RMjds53uGQXKtAa0EK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&quot; loading=&quot;lazy&quot; width=&quot;304&quot; height=&quot;437&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;437&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;( * 보다 자세한 내용은 이전 포스팅을 참조해 주세요.)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MODBUS 통신 알아보자 (1) - MODBUS 구조, 역사, 특징&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713960820616&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&quot; data-og-description=&quot;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/45&quot; data-og-url=&quot;https://datawizard.co.kr/45&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgpZ0d/hyVVzxDbXd/on9A85UedtTTLs5F2ugtKk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bxrk7R/hyVVIBlF21/JVRv96AKoHqwMxQG2kGMJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cIVnRB/hyVVwVcr0x/ZPPfXnTXEVxkFcyXfZTv2K/img.png?width=720&amp;amp;height=530&amp;amp;face=0_0_720_530&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/45&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgpZ0d/hyVVzxDbXd/on9A85UedtTTLs5F2ugtKk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bxrk7R/hyVVIBlF21/JVRv96AKoHqwMxQG2kGMJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cIVnRB/hyVVwVcr0x/ZPPfXnTXEVxkFcyXfZTv2K/img.png?width=720&amp;amp;height=530&amp;amp;face=0_0_720_530');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;465&quot; data-origin-height=&quot;518&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IHbME/btsGVfnNWUE/CAE83TkNGyspvOoZhu5St0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IHbME/btsGVfnNWUE/CAE83TkNGyspvOoZhu5St0/img.png&quot; data-alt=&quot;우리가 사용하는 인터넷 통신 또한 Duplex에 대한 개념이 있습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IHbME/btsGVfnNWUE/CAE83TkNGyspvOoZhu5St0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIHbME%2FbtsGVfnNWUE%2FCAE83TkNGyspvOoZhu5St0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;우리가 사용하는 인터넷 통신 또한 Duplex에 대한 개념이 있습니다.&quot; loading=&quot;lazy&quot; width=&quot;465&quot; height=&quot;518&quot; data-origin-width=&quot;465&quot; data-origin-height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;우리가 사용하는 인터넷 통신 또한 Duplex에 대한 개념이 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;배경지식은 이만 줄이고 각각의 개념에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Simplex와 Duplex에 대해서 알아보겠습니다. Simplex와 Duplex는 단어에서 그 의미를 유추할 수 있듯이,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;b&gt;Simplex - 단방향 통신 방식&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Duplex - 이중(양방향) 통신 방식&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;입니다. 그리고 Duplex는 또한,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Half Duplex - 반이중 통신 방식&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Full Duplex - 전이중 통신 방식&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;으로 나뉘게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도식화하자면 이렇겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_통신의 방향성.png&quot; data-origin-width=&quot;674&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2apP4/btsGUaURYhi/KyeknmKOQ71KKdTXOFSvs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2apP4/btsGUaURYhi/KyeknmKOQ71KKdTXOFSvs1/img.png&quot; data-alt=&quot;통신의 방향성 분류 @datawizard.co.kr&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2apP4/btsGUaURYhi/KyeknmKOQ71KKdTXOFSvs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2apP4%2FbtsGUaURYhi%2FKyeknmKOQ71KKdTXOFSvs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;통신의 방향성 분류 @datawizard.co.kr&quot; loading=&quot;lazy&quot; width=&quot;674&quot; height=&quot;224&quot; data-filename=&quot;edited_통신의 방향성.png&quot; data-origin-width=&quot;674&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;통신의 방향성 분류 @datawizard.co.kr&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Simplex - 단방향 통신방식부터 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Simplex - 단방향 통신 방식&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;통신에서 데이터나 신호의 흐름이 한 방향으로만 진행되는 통신방식입니다. 한편에서 다른 편으로 일방적으로 진행하는 방식이며, 이전에 소개한 Master / Slave 혹은 Publisher(발행자) / Subscriber(구독자)의 개념에서 일방향으로 진행되는 통신방식입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;221&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CMFAh/btsGUVDas8v/S8KbDQFtUTz8jwMVJEVh4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CMFAh/btsGUVDas8v/S8KbDQFtUTz8jwMVJEVh4k/img.png&quot; data-alt=&quot;Publisher (Master)는 정보를 전달하고 Subscribers(Slave)는 정보를 수신합니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CMFAh/btsGUVDas8v/S8KbDQFtUTz8jwMVJEVh4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCMFAh%2FbtsGUVDas8v%2FS8KbDQFtUTz8jwMVJEVh4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Publisher (Master)는 정보를 전달하고 Subscribers(Slave)는 정보를 수신합니다.&quot; loading=&quot;lazy&quot; width=&quot;725&quot; height=&quot;221&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;221&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Publisher (Master)는 정보를 전달하고 Subscribers(Slave)는 정보를 수신합니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;말이 조금 어려운데, 쉽게 예를 들자면 우리가 사용하는 공중파 TV, FM/AM 라디오와 같이 일방향으로 전송되는 통신 방식이 이에 해당된다 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAlCfQ/btsGSMtY9Fi/q74MgpaLFRLWDeXkRMiCk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAlCfQ/btsGSMtY9Fi/q74MgpaLFRLWDeXkRMiCk0/img.png&quot; data-alt=&quot;Simplex - 단방향 통신방식 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAlCfQ/btsGSMtY9Fi/q74MgpaLFRLWDeXkRMiCk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAlCfQ%2FbtsGSMtY9Fi%2Fq74MgpaLFRLWDeXkRMiCk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Simplex - 단방향 통신방식 예시&quot; loading=&quot;lazy&quot; width=&quot;1762&quot; height=&quot;532&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1762&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Simplex - 단방향 통신방식 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;Half Duplex - 반이중 통신 방식&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로 반이중(양방향) 통신 방식에 대한 설명입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Simplex의 단방향 통신 방식과 반대되는 개념이고, 이름에서 쉽게 양방향으로 통신하는 방식이라고 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;유추할 수 있을 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;다만, Half Duplex는 한쪽에서 다른 쪽으로 데이터나 신호를 송신하는 동안에는 반대편 수신하는 쪽에서는 해당 채널로 응답할 수 없는 점이 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;이것도 말로 설명하자니 조금 난해한 측면이 있는데요. 우리가 실생활이나 산업현장에서 흔하게 사용하는, 무전기 시스템으로 예를 들자면 이해가 빠르실 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;무전기 채널망에서 어느 특정 단말기가 송신키를 잡는 중에는 해당 채널이 점유된 상태이며 송신키를 해제해야 반대편에서 응답이 가능하게 되는 방식입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(신호를 실시간이 아닌 한턴 한턴 서로 주거니 받거니 하는 느낌이죠.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;269&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKeGis/btsGVdczbxS/fC3gNSWIYOh3sl7WDhGDf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKeGis/btsGVdczbxS/fC3gNSWIYOh3sl7WDhGDf0/img.png&quot; data-alt=&quot;턴제 전략게임 X-COM의 느낌이네요. 감나빗!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKeGis/btsGVdczbxS/fC3gNSWIYOh3sl7WDhGDf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKeGis%2FbtsGVdczbxS%2FfC3gNSWIYOh3sl7WDhGDf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;턴제 전략게임 X-COM의 느낌이네요. 감나빗!&quot; loading=&quot;lazy&quot; width=&quot;269&quot; height=&quot;188&quot; data-origin-width=&quot;269&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;턴제 전략게임 X-COM의 느낌이네요. 감나빗!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;역시 도식화하자면 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1899&quot; data-origin-height=&quot;608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SFfIV/btsGTyaKWZf/bd6OFhwrrH4OUMoNJoPmw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SFfIV/btsGTyaKWZf/bd6OFhwrrH4OUMoNJoPmw1/img.png&quot; data-alt=&quot;Half Duplex - 반이중 통신방식 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SFfIV/btsGTyaKWZf/bd6OFhwrrH4OUMoNJoPmw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSFfIV%2FbtsGTyaKWZf%2Fbd6OFhwrrH4OUMoNJoPmw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Half Duplex - 반이중 통신방식 예시&quot; loading=&quot;lazy&quot; width=&quot;1899&quot; height=&quot;608&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1899&quot; data-origin-height=&quot;608&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Half Duplex - 반이중 통신방식 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;Full Duplex - 전이중 통신 방식&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마지막으로 전이중(양방향) 통신 방식입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞서 Half Duplex 반이중 통신방식이 한턴 한턴 주거니 받거니 하면서 하는 통신 방식이라면 다음은 뭐겠습니까? 실시간으로 서로 주고받는 통신 방식이지 않겠습니까?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;맞습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Full Duplex(전이중 통신방식)는 양방향 통신 소통 + 실시간 소통 방식입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;우리가 실생활에서 쓰는 유선 전화나 휴대전화 같은 것이 그 예시라 하겠습니다. (설마, 전화를 한턴 한턴 쓰시는 분은 없으시겠죠???)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8XQf7/btsGS5mvT2q/NcK203lfxjNtnZNiMtflr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8XQf7/btsGS5mvT2q/NcK203lfxjNtnZNiMtflr1/img.png&quot; data-alt=&quot;Full Duplex - 전이중 통신방식 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8XQf7/btsGS5mvT2q/NcK203lfxjNtnZNiMtflr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8XQf7%2FbtsGS5mvT2q%2FNcK203lfxjNtnZNiMtflr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Full Duplex - 전이중 통신방식 예시&quot; loading=&quot;lazy&quot; width=&quot;1672&quot; height=&quot;477&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Full Duplex - 전이중 통신방식 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘은, 필드버스를 포함한 모든 통신에서 설정하게 되는 Simplex(단방향), Half Duplex(반이중), Full Duplex(전이중)에 대해서 알아보는 시간을 가졌습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;표로 정리해 보자면 다음과 같겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;통신방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;예시&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;Simplex(단방향)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;한쪽으로 일방적으로 전송되는 통신방식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;TV, 라디오&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;Half Duplex(반이중)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;양방향 통신방식이나 한턴 한턴 주고 받는 통신방식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;무전기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;Full Duplex(전이중)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;실시간으로 양방향으로 주고 받는 통신방식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;전화기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정리하다 문득 생각난 건데, 처음 업무를 시작했을 아무것도 모르는 시절에 현장에 통신 연결되어 있는 걸 만지작 거리다가 Half Duplex로 설정되어 있던 것을 보고,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Full로 하면 통신 속도 더 빨라지는 거 아냐??&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라는 단순한 생각으로 만졌다가, 순간 먹통되는 재밌는 경험을 했던 게 떠오르네요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;200&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BG7wM/btsGUOc5l6f/ChAeFCPzWsuRPzZPgKpPKk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BG7wM/btsGUOc5l6f/ChAeFCPzWsuRPzZPgKpPKk/img.webp&quot; data-alt=&quot;현장에서는 뭐 함부로 만지면 안됩니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BG7wM/btsGUOc5l6f/ChAeFCPzWsuRPzZPgKpPKk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBG7wM%2FbtsGUOc5l6f%2FChAeFCPzWsuRPzZPgKpPKk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;현장에서는 뭐 함부로 만지면 안됩니다.&quot; loading=&quot;lazy&quot; width=&quot;200&quot; height=&quot;123&quot; data-origin-width=&quot;200&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;현장에서는 뭐 함부로 만지면 안됩니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;방문자 분들께서는 항상 주의하시어 안전한 작업환경 되시길&amp;nbsp;기원드립니다.  &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;통신에 대해서 더 자세히 알고 싶으신가요? 아래 카테고리의 다른 포스팅이 도움이 되실 겁니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713960268135&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 데이터위자드였습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도움이 되셨길 바라며 오늘도 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>full duplex(전이중 통신방식)</category>
      <category>half duplex(반이중 통신방식)</category>
      <category>layer 5 session layer</category>
      <category>osi model</category>
      <category>simplex(단방향 통신방식)</category>
      <category>통신의 방향성</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/55</guid>
      <comments>https://attack.tistory.com/55#entry55comment</comments>
      <pubDate>Wed, 24 Apr 2024 22:19:53 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (7) - RS 232, RS 422/485 통신 비교</title>
      <link>https://attack.tistory.com/54</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신 알아보자 (7) - RS 232, RS 422485 통신 비교.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJ16wn/btsGJqKV1Mt/tybvV1arNKukKoN6wHfbb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJ16wn/btsGJqKV1Mt/tybvV1arNKukKoN6wHfbb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJ16wn/btsGJqKV1Mt/tybvV1arNKukKoN6wHfbb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJ16wn%2FbtsGJqKV1Mt%2FtybvV1arNKukKoN6wHfbb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신 알아보자 (7) - RS 232&amp;amp;#44; RS 422485 통신 비교&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신 알아보자 (7) - RS 232, RS 422485 통신 비교.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;MODBUS RTU 통신 방식에도 물리적 차이가 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅은 공장 자동화를 전문적으로 하지 않는 분들이라도 현장에서 한 번쯤은 접해보신 혹은 들어보신 적이 있으실 것이라 생각되는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;RS&amp;nbsp;232,&amp;nbsp;RS&amp;nbsp;422/485&amp;nbsp;통신&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;에 대해서 알아보고 그것들을 비교해 보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(*앞서 정리한 모드버스 통신에 대한 내용들은 아래 카테고리에서 더 자세한 내용을 찾아보실 수 있습니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713447511035&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;RS-232 통신? RS-485 통신?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;필드버스를 다루는 현장이라면, RS-232 통신이나 RS-485 통신에 대해서 한 번쯤은 들어보셨을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;232냐 485냐를 알아보기 전에 먼저 모드버스 통신에 대해서 알아볼 필요가 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞서 모드버스에 대한 포스팅을 시작하면서 처음으로, &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;모드버스 통신의 Transport layer에 대해서 이야기해 보았는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(* 참조 링크)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://datawizard.co.kr/45&quot;&gt;MODBUS 통신 알아보자 (1) - MODBUS 구조, 역사, 특징&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713447788628&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&quot; data-og-description=&quot;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/45&quot; data-og-url=&quot;https://datawizard.co.kr/45&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/brRrTD/hyVPVoTsvp/3qCZUdQ3mickPcZT0v3wpK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dBtVxo/hyVS6oKTTu/hFQeKW18gNjspR0WcGVXak/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/iJEpc/hyVSXL7jpc/mVLQeipdMaX01ap2s42EHK/img.png?width=825&amp;amp;height=408&amp;amp;face=0_0_825_408&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/45&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/brRrTD/hyVPVoTsvp/3qCZUdQ3mickPcZT0v3wpK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dBtVxo/hyVS6oKTTu/hFQeKW18gNjspR0WcGVXak/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/iJEpc/hyVSXL7jpc/mVLQeipdMaX01ap2s42EHK/img.png?width=825&amp;amp;height=408&amp;amp;face=0_0_825_408');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래와 같이 모드버스 통신의 구조가 구성될 때, 어떠한 물리적 방식으로 통신을 전달할 것이냐라는 말씀을 드렸었죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NQNts/btsGKN6umob/mLDkq4T7gO9niEZdoypi41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NQNts/btsGKN6umob/mLDkq4T7gO9niEZdoypi41/img.png&quot; data-alt=&quot;MODBUS communication stack @ modbus organization&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NQNts/btsGKN6umob/mLDkq4T7gO9niEZdoypi41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNQNts%2FbtsGKN6umob%2FmLDkq4T7gO9niEZdoypi41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS communication stack @ modbus organization&quot; loading=&quot;lazy&quot; width=&quot;825&quot; height=&quot;408&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MODBUS communication stack @ modbus organization&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이때, 그 물리적인 방식에 따라 RS-232냐? RS-422/485냐?로 나뉘게 됩니다. 이는 비유적으로 설명드리자면 마치, 같은 언어인 한국어(Protocol)를 가지고 유선전화로 소통하냐? 팩스로 소통하냐? 문자메시지로 소통하냐? 와 같은 차이라고 보시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도표로 보자면 다음과 같겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 60px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #6ed3d8; color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;일상생활&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;필드버스&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;b&gt;물리적 방식(Transport Layer)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;E-mail, SNS, Fax, 전화, 문자, 우편...&lt;/td&gt;
&lt;td&gt;RS-232, RS-422, RS-485, Ethernet(RJ45)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;b&gt;규약 (Protocol)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9;&quot;&gt;한국어, 영어, 불어, 중국어, 일본어....&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9;&quot;&gt;MODBUS, Profibus, Ethernet/IP, HART&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로 TMI 하자면,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RS-232의 RS는 &lt;b&gt;Recommened Standard&lt;/b&gt;의 약자로서 1960년대에 도입된 유서 깊은 통신 표준입니다. 현재는 미국 EIA( &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;The Electronic Industries Alliance&lt;/span&gt;)에 의해 개정된 후로 EIA-232나 EIA-485가 정식명칭으로 명명되었으나, 워낙 RS-232 혹은 RS-485가 범용적으로 통용되다 보니 오히려 EIA-232라는 표현은 현업에서 거의 볼 수 없는 편입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;What.png&quot; data-origin-width=&quot;1163&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r2hHN/btsGK41cvSD/ng58JFuKwloQ3yySelZRm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r2hHN/btsGK41cvSD/ng58JFuKwloQ3yySelZRm1/img.png&quot; data-alt=&quot;그런 내용의 문서를 받으면 난감해할 수도 있습니다. @Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r2hHN/btsGK41cvSD/ng58JFuKwloQ3yySelZRm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr2hHN%2FbtsGK41cvSD%2Fng58JFuKwloQ3yySelZRm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;그런 내용의 문서를 받으면 난감해할 수도 있습니다. @Pixabay&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;478&quot; data-filename=&quot;What.png&quot; data-origin-width=&quot;1163&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그런 내용의 문서를 받으면 난감해할 수도 있습니다. @Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;RS-232 통신 / RS-485 통신 그렇다면 뭐가 다른 거지?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;물리적 연결 구조가 다르다.&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현장에서 보신 분들은 아시겠지만, RS-232 통신과 RS-422/485 통신은 연결 구조부터 보통 차이가 납니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RS-232는 다음과 같은 대부분 DB9 pin 배열을 가지게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uON0O/btsGJLnNJTQ/MgqH0ILQQa0Ui3VMUGOXzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uON0O/btsGJLnNJTQ/MgqH0ILQQa0Ui3VMUGOXzK/img.png&quot; data-alt=&quot;RS-232 DB9 핀배열 @wikimedia Commons&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uON0O/btsGJLnNJTQ/MgqH0ILQQa0Ui3VMUGOXzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuON0O%2FbtsGJLnNJTQ%2FMgqH0ILQQa0Ui3VMUGOXzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;358&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;358&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RS-232 DB9 핀배열 @wikimedia Commons&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반면 RS-422/485는 TX+/RX+ 연결의 2 point나 TX+/TX-/RX+/RX- 연결의 4 point를 가지게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;476&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk4qKy/btsGKWh0r6G/MT3gasJgKG5lSGaujxPXE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk4qKy/btsGKWh0r6G/MT3gasJgKG5lSGaujxPXE1/img.png&quot; data-alt=&quot;XGT PLC의 RS-232 RS-485 연결 차이@LS Electirc&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk4qKy/btsGKWh0r6G/MT3gasJgKG5lSGaujxPXE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk4qKy%2FbtsGKWh0r6G%2FMT3gasJgKG5lSGaujxPXE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;XGT PLC의 RS-232 RS-485 연결 차이@LS Electirc&quot; loading=&quot;lazy&quot; width=&quot;476&quot; height=&quot;544&quot; data-origin-width=&quot;476&quot; data-origin-height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;XGT PLC의 RS-232 RS-485 연결 차이@LS Electirc&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;사용 용도가 보통 다르다.&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RS-232의 경우는 통신가능 거리가 약 10m 정도로 짧고 최대 통신속도 또한 20kb/s로 짧기 때문에 보통,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;PC &amp;lt;-&amp;gt; PLC 혹은 PLC &amp;lt;-&amp;gt; HMI&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;와 같이, 비교적 단거리이면서 높은 통신속도를 요구하지 않는 경우 간단히 사용하기 편리한 연결 방식이 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반면, RS-422/485 통신의 경우 통신가능 거리가 최대 약 1.2km로 길고, 최대 통신속도 또한 10Mb/s의 속도까지 가능하며, Multi drop 방식을 이용해 Master 1대에 Slave 여러대를 연결할 수 있는 장점이 있기 때문에,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;PLC 혹은 DCS &amp;lt;-&amp;gt; 현장 계기들의 다중연결&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;과 같은 경우에 범용적으로 사용하고 있습니다. (통신 거리가 길어질수록 최대 통신속도는 반비례하여 감소하는 경향이 있긴 합니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;323&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1S6jC/btsGLDowAIb/WBbYskmLsQlJRrE12DKIGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1S6jC/btsGLDowAIb/WBbYskmLsQlJRrE12DKIGK/img.png&quot; data-alt=&quot;Multi Drop 개념도 @Wikimedia Commons&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1S6jC/btsGLDowAIb/WBbYskmLsQlJRrE12DKIGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1S6jC%2FbtsGLDowAIb%2FWBbYskmLsQlJRrE12DKIGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Multi Drop 개념도 @Wikimedia Commons&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;323&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;323&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Multi Drop 개념도 @Wikimedia Commons&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, RS-485의 경우는 차동 신호(Differential Signal) 방식을 사용하기 때문에, 현장에서 발생할 수 있는 노이즈와 같은 상황에서도 RS-232 연결 방식보다 더 우수한 성능을 보인다고 합니다. (이 점은 각 통신 방식을 얘기하면서 더 자세히 알아보도록 하겠습니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;정리하자면 이렇습니다.&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 열거한 내용을 도표로 정리해 보자면 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;RS-232&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;RS-422/485&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;최대 통신 거리&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;약 10m&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;약 1.2 km&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;최대 통신 속도&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;초당 20 kb&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;초당 10 Mb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;연결 방식(Typical)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;DB9 혹은 DB25&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;4 pin 혹은 2 pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;적용 사례&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;PLC와 PC의 연결과 같은 간단한 구조&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;PLC Master 1 / 현장계기 Slave 다수와 같은 Multi drop 연결 방식&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로, 연결 방식으로 언급한 부분인 DB9 혹 DB25, 4 pins과 같은 것은 커넥터를 꼭 맞춰야 되는 것은 아니지만(결선만 맞춰준다면 가능) 시중에 나온 제품들이 보통 그 스타일을 따르는 편이기 때문에 커넥터만 보면 통신방식을 쉽게 알아볼 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, 두 통신 방식의 차이는 위 언급한 부분만 있는 것은 아니며 각 통신 방식에 대해서 세부적으로 알아보면서 그 차이에 대해서 더 자세히 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘은, 현장에서 흔하게 사용하는 RS-232 통신과 RS-422/485 통신에 대해서 비교해 보았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지면 관계상 한꺼번에 너무 많은 내용을 담기가 어려워 큰 틀에서 비교하는 정도로 마무리하였는데요. 나머지 세부적인 내용은 다음 포스팅에서 자세히 논하여 보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘 내용 정리하자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; text-align: center;&quot;&gt;RS-232&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; text-align: center;&quot;&gt;RS-422/485&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;최대 통신 거리&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;약 10m&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;약 1.2 km&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;최대 통신 속도&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; text-align: center;&quot;&gt;초당 20 kb&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; text-align: center;&quot;&gt;초당 10 Mb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;연결 방식(Typical)&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;DB9 혹은 DB25&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;4 pin 혹은 2 pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center;&quot;&gt;적용 사례&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; text-align: center;&quot;&gt;PLC와 PC의 연결과 같은 간단한 구조&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; text-align: center;&quot;&gt;PLC Master 1 / 현장계기 Slave 다수와 같은 Multi drop 연결 방식&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;으로 요약할 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;모드버스와 필드버스 통신에 대한 더 자세한 내용이 알고 싶으시다면, 아래 카테고리의 내용들을 참고하여 주시기 바랍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713447315742&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 데이터위자드였습니다. 도움이 되셨길 바라며 오늘도 즐거운 업무 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>RS-232 RS-422/485 통신 비교</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/54</guid>
      <comments>https://attack.tistory.com/54#entry54comment</comments>
      <pubDate>Thu, 18 Apr 2024 23:38:53 +0900</pubDate>
    </item>
    <item>
      <title>Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz)</title>
      <link>https://attack.tistory.com/53</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OcoTd/btsGFCXx45x/5GQlSaPNXFeErCylZqNJr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OcoTd/btsGFCXx45x/5GQlSaPNXFeErCylZqNJr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OcoTd/btsGFCXx45x/5GQlSaPNXFeErCylZqNJr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOcoTd%2FbtsGFCXx45x%2F5GQlSaPNXFeErCylZqNJr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz)&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;미국 주식 RPA를 만들었다. 하지만, Summer time으로 시간이 주기적으로 변경되었다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;해외 주식의 열기가 어느 때보다 뜨거운 요즘입니다. 저 역시 모 증권사의 API와 Python을 이용하여 미국 주식투자 RPA를 작성하여 운영 중인데요. 처음 미국 주식시장 RPA를 구상하면서 한 가지 문제에 직면하게 되었던 경험을 바탕으로 오늘 이야기를 하도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;미국 주식 투자 RPA든 국내 주식 투자 RPA든 기본적으로 큰틀에서,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Azure 가상 머신으로 특정 시간대 RPA 프로그램 자동으로 실행&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주식 투자 RPA는 장이 열리는 시간 ~ 장이 마감되는 시간까지 운영&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;로 운영되게 구상하였습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;국내 주식 시장 같은 경우는 일광시간 절약제(소위 Summer time)이라는 것이 없기에 시간이 항시 고정되어 있으나, 미국 같은 경우는 Summer time이 매해 주기적으로 적용과 미적용이 반복되다 보니, 미국 주식시장 시간 또한 주기적으로 변경되는 특성이 있었습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.chosun.com/international/international_general/2024/03/10/4GVYYDNXDJC3PH4SESACRDKQFY/&quot;&gt;美 뉴욕 증시 개장 1시간 앞당겨져요 (chosun.com)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713188037838&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;美 뉴욕 증시 개장 1시간 앞당겨져요&quot; data-og-description=&quot;美 뉴욕 증시 개장 1시간 앞당겨져요 10일부터 미국 서머타임 시작... 유럽은 31일 시작&quot; data-og-host=&quot;www.chosun.com&quot; data-og-source-url=&quot;https://www.chosun.com/international/international_general/2024/03/10/4GVYYDNXDJC3PH4SESACRDKQFY/&quot; data-og-url=&quot;https://www.chosun.com/international/international_general/2024/03/10/4GVYYDNXDJC3PH4SESACRDKQFY/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/R1vFa/hyVPWUPVlQ/QugCiGczvfBKh3xx2SR3Ok/img.jpg?width=540&amp;amp;height=283&amp;amp;face=0_0_540_283&quot;&gt;&lt;a href=&quot;https://www.chosun.com/international/international_general/2024/03/10/4GVYYDNXDJC3PH4SESACRDKQFY/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.chosun.com/international/international_general/2024/03/10/4GVYYDNXDJC3PH4SESACRDKQFY/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/R1vFa/hyVPWUPVlQ/QugCiGczvfBKh3xx2SR3Ok/img.jpg?width=540&amp;amp;height=283&amp;amp;face=0_0_540_283');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;美 뉴욕 증시 개장 1시간 앞당겨져요&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;美 뉴욕 증시 개장 1시간 앞당겨져요 10일부터 미국 서머타임 시작... 유럽은 31일 시작&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.chosun.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;따라서, 매 RPA 실행 시 해당일이 Summer time인지 아닌지를 알아봐야 할 필요가 있었습니다. (물론, Summer time이든 아니든 빠른 시간대를 기준으로 RPA를 구성하면 되지만 어쨌든 해결하고 싶었습니다.&amp;nbsp;  )&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그 문제를 해결하기 위해 사용한 Python 라이브러리는 &lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;b&gt;'pytz'입니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pytz/&quot;&gt;pytz &amp;middot; PyPI&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713188266564&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;pytz&quot; data-og-description=&quot;World timezone definitions, modern and historical&quot; data-og-host=&quot;pypi.org&quot; data-og-source-url=&quot;https://pypi.org/project/pytz/&quot; data-og-url=&quot;https://pypi.org/project/pytz/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ciLj99/hyVPMYYJyx/xUwTFf5G3d0ONRKurUNFK1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pytz/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pypi.org/project/pytz/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ciLj99/hyVPMYYJyx/xUwTFf5G3d0ONRKurUNFK1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;pytz&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;World timezone definitions, modern and historical&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;pytz를 한마디로 소개하자면, 전 세계의 시간대(Timezone)에 대해서 특화된 기능을 제공하는 라이브러리입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;설치는 간단히,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1713188337364&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pytz&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;으로 해줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그런 후 즐거운 마음으로 코딩을 해주시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7szAX/btsGEVi4mcb/B6GEkRrcjxIT7Aw4ZF9Kmk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7szAX/btsGEVi4mcb/B6GEkRrcjxIT7Aw4ZF9Kmk/img.gif&quot; data-alt=&quot;신나는 코딩 작업&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7szAX/btsGEVi4mcb/B6GEkRrcjxIT7Aw4ZF9Kmk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/7szAX/btsGEVi4mcb/B6GEkRrcjxIT7Aw4ZF9Kmk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;신나는 코딩 작업&quot; loading=&quot;lazy&quot; width=&quot;320&quot; height=&quot;320&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;신나는 코딩 작업&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 pytz와 datetime을 import 해줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;datetime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;datetime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;date&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;timedelta&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pytz&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음은, Newyork 현지시간을 가져와 UTC 시간대와 시차를 계산하는 로직을 구현해 봅니다. 순서는 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;pytz 라이브러리를 이용해 뉴욕 현지 시간을 가져오기&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;뉴욕 현지 시간과 UTC 시간대의 시차를 계산&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;시간이 4시간이 차이 난다면, 현재 미국 내 Summer time이 적용되었다고 판단&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Summer time이 적용되었다면, Slack으로 푸시알람 및 RPA 운영 시간대 변경&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;밑그림도 작성하였으니, 순서도에 따라 Python을 코딩해 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;us_time&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;datetime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;now&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pytz&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timezone&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'America/New_York'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 미국 서머타임인지 확인하는 로직&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pytz의 timezone 매써드를 이용하여 'New_York'의 현지시간을 가져와 datetime.now로 us time 변수 할당&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff_hour&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;us_time&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;utcoffset&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;total_seconds&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;()/&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;60&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# us_현지시각와 utcoffset method를 이용해 UTC 현지 시간과 시간 차이를 계산함 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 써머타임시 -4.0 임 &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;us_summertime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff_hour&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; == -&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4.0&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;us_summertime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# us_summetime 체크 Flag를 생성하고 UTC와 Newyork의 시차가 4시간인 경우 해당 Flag를 True 변경&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;us_summertime&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; == &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; slackOut(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'미국 써머타임 중!'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Slack Alarm&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doSomthingWithRPA() &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# RPA 시간대 변경&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;간단하게 미국 Summer time을 알아보는 로직을 작성하였습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vKExX/btsGGeoFBpL/T7IqGPP8BbcxHt6sE7nJuk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vKExX/btsGGeoFBpL/T7IqGPP8BbcxHt6sE7nJuk/img.jpg&quot; data-alt=&quot;참 쉽죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vKExX/btsGGeoFBpL/T7IqGPP8BbcxHt6sE7nJuk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvKExX%2FbtsGGeoFBpL%2FT7IqGPP8BbcxHt6sE7nJuk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참 쉽죠?&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참 쉽죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;잠깐 TMI 드리자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;UTC는 &lt;a href=&quot;https://en.wikipedia.org/wiki/Coordinated_Universal_Time&quot;&gt;Coordinated Universal Time&lt;/a&gt;으로 통상적으로 그리니치 천문대 시간(GMT)과 동일한 의미로 사용되곤 합니다. (정확히는 GMT와 UTC는 다른 개념입니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, 예제에서는 미국 현지 시간을 이용해 미국 내 일광시간절약제 적용 여부를 확인해 보았으나, 응용한다면 유럽이나 다른 국가의 서머타임 여부도 확인가능하실 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1713189563772&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pytz.timezone('America/New_York')&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;매개변수 'America/New_York'만&amp;nbsp;변경해 주시면 되겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 매개변수에 대한 내용은 pytz 페이지에서 확인하시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pytz/#what-is-utc&quot;&gt;pytz &amp;middot; PyPI&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713190023603&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;pytz&quot; data-og-description=&quot;World timezone definitions, modern and historical&quot; data-og-host=&quot;pypi.org&quot; data-og-source-url=&quot;https://pypi.org/project/pytz/#what-is-utc&quot; data-og-url=&quot;https://pypi.org/project/pytz/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/L1P4p/hyVPQNQ8qr/Bcx1kgo06WKUTlBd3sabJ0/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pytz/#what-is-utc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pypi.org/project/pytz/#what-is-utc&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/L1P4p/hyVPQNQ8qr/Bcx1kgo06WKUTlBd3sabJ0/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;pytz&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;World timezone definitions, modern and historical&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고하시어, 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움이 되셨다면, 왼쪽 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;' '&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;클릭 부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>맨땅에 프로그래밍/Python 복기장</category>
      <category>Python UTC 시차 계산</category>
      <category>python으로 시차 계산하기</category>
      <category>pytz 시차 계산</category>
      <category>UTC 의미</category>
      <category>미국 썸머타임 자동 확인</category>
      <category>파이썬으로 미국 써머타임 확인</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/53</guid>
      <comments>https://attack.tistory.com/53#entry53comment</comments>
      <pubDate>Mon, 15 Apr 2024 23:13:23 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (6) - MODBUS의 PDU &amp;amp; ADU - 하편</title>
      <link>https://attack.tistory.com/52</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신 알아보자 (6) - MODBUS의 PDU &amp;amp;amp;amp; ADU - 하편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fw8T0/btsGCWB0vks/oCIq8vcx8dAk1wg2hctEpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fw8T0/btsGCWB0vks/oCIq8vcx8dAk1wg2hctEpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fw8T0/btsGCWB0vks/oCIq8vcx8dAk1wg2hctEpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFw8T0%2FbtsGCWB0vks%2FoCIq8vcx8dAk1wg2hctEpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신 알아보자 (6) - MODBUS의 PDU &amp;amp; ADU - 하편&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신 알아보자 (6) - MODBUS의 PDU &amp;amp;amp; ADU - 하편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;마지막으로 MODBUS 통신의 PDU와 ADU에 대해서 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅은 중편까지 이어진 MODBUS의&amp;nbsp; PDU와 ADU에 개념에 대한 내용에 이어서 마지막으로 ADU에 대해서 더 자세히 알아보는 시간을 갖도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(*이전 모드버스 PDU와 ADU에 대한 내용은 아래 내용 참고하시기 바랍니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/49&quot;&gt;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713098753078&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bPd2Wg/hyVM0b8KlO/ahCGkxkWkZ5KiokUh8Upn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cNoxIC/hyVMTKP4YC/pWNGcC5OMYpFA2mIgXCcR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bsWbgg/hyVMWt16gR/wCA12rxKLSCKqLLKhvNJe0/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709&quot; data-og-url=&quot;https://datawizard.co.kr/49&quot; data-og-source-url=&quot;https://datawizard.co.kr/49&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;MODBUS 통신에서 나오는 PDU와 ADU에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅도 앞서 이야기에 이어서 모드버스에 대해서 알아보는 시간을 가져보겠습니다. 모드버&quot; data-og-title=&quot;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/49&quot; data-source-url=&quot;https://datawizard.co.kr/49&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bPd2Wg/hyVM0b8KlO/ahCGkxkWkZ5KiokUh8Upn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cNoxIC/hyVMTKP4YC/pWNGcC5OMYpFA2mIgXCcR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bsWbgg/hyVMWt16gR/wCA12rxKLSCKqLLKhvNJe0/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신에서 나오는 PDU와 ADU에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅도 앞서 이야기에 이어서 모드버스에 대해서 알아보는 시간을 가져보겠습니다. 모드버&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/50&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713098854762&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편&quot; data-og-description=&quot;지난 상편에 이어 MODBUS 통신에서 나오는 PDU와 ADU에 대해서 더 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅은 지난 MODBUS 통신의 PDU와 ADU에 대한 내용(상편)에 이어서 PDU와 ADU&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/50&quot; data-og-url=&quot;https://datawizard.co.kr/50&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c1AOTY/hyVPXeGoVW/RIQ9xH34XIg7NEVCsC9L71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bHHrEB/hyVPIBOQAd/4MKokB2QC0p1SnKDAOgiIK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cjWVWA/hyVPUvr3MW/VRcGRgxgR0bLFhFKgAgfM1/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/50&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/50&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c1AOTY/hyVPXeGoVW/RIQ9xH34XIg7NEVCsC9L71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bHHrEB/hyVPIBOQAd/4MKokB2QC0p1SnKDAOgiIK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cjWVWA/hyVPUvr3MW/VRcGRgxgR0bLFhFKgAgfM1/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;지난 상편에 이어 MODBUS 통신에서 나오는 PDU와 ADU에 대해서 더 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅은 지난 MODBUS 통신의 PDU와 ADU에 대한 내용(상편)에 이어서 PDU와 ADU&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;Modbus 통신의 Apprication D&lt;b&gt;ata Unit(이하 ADU)에 대해서&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;바로 앞 포스팅에서 모드버스 통신에서 PDU의 기능과 3가지 Type에 대해서도 말씀드렸죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzrEFS/btsGAZ740RF/3m7ZuJ018IznqUFv5NvHx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzrEFS/btsGAZ740RF/3m7ZuJ018IznqUFv5NvHx0/img.png&quot; data-alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzrEFS/btsGAZ740RF/3m7ZuJ018IznqUFv5NvHx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzrEFS%2FbtsGAZ740RF%2F3m7ZuJ018IznqUFv5NvHx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot; loading=&quot;lazy&quot; width=&quot;1718&quot; height=&quot;709&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고, Client와 Server 상호 간의 트랜잭션은 다음의 과정을 거치게 된다고 했고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Client는 PDU(Function code + data)를 담아 Server에 요청(Request)한다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 요청을 수신한다. PDU의 Function code를 파싱 하고, PDU의 Data의 address를 참조하여 server 내 데이터를 취급(Handling)한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 PDU의 Function code를 바탕으로 요청을 수행하고,&amp;nbsp; Client 측에 PDU(Function code + Data)를 응답(Response)한다. 이때 요청이 정상적으로 에러 없이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;취급(Handling)되면 정상적인 데이터를 응답하고, 만약 오류가 있다면, 예외처리 PDU(Exception Function code + Exception code)를 응답한다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;Client는 Server로부터 응답을 수신하고 트랜잭션은 종료된다.&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위에 열거한 일련의 과정 중에서 PDU는 각기 다른 3가지 타입으로 진행됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MODBUS Request PDU, mb_req_pdu&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MODBUS Response PDU, mb_rsp_pdu&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MODBUS Exception Response PDU, mb_excep_rsp_pdu&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면 궁금해집니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;ADU는 무슨 기능을 하는 것이지?&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전 모드버스 PDU &amp;amp; ADU 포스팅에서, ADU는 다음과 같은 식으로 표현 가능하다고 말씀드렸습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ADU =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;PDU&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;+ error check&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;PDU = Function code + data&lt;br /&gt;&lt;br /&gt;따라서,&lt;br /&gt;&lt;br /&gt;ADU =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Function code + data&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;+ error check&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 식에서 유추해 보건대, ADU는 결국,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Addtional Address&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Error check&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;두 가지 기능을 담당하고 볼 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Addtional Address에 대해서 살펴보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;Addtional Address란?&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Addtional Address라는 단어에서 저희가 한 가지 주의해야 할 사항이 있습니다. 바로 Address라는 단어를 유의해야 하는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞서 모드버스 예제를 살펴보면서 Address라는 단어가 나왔던 거를 기억하실지 모르겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각 Modbus device에서 고유하게 할당된 주소값이 있고 각 주소에는 미리 약속된 데이터가 저장되기로 구성된다고 하였습니다. 보통 Address map 혹은 Modbus Mapping List와 같은 명칭으로 불리죠. 아래 예제를 살펴보시면 이해가 빠르실 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTxhAM/btsGA0Trr1a/kGxENwzr2Tsn1wz042wkCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTxhAM/btsGA0Trr1a/kGxENwzr2Tsn1wz042wkCk/img.png&quot; data-alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTxhAM/btsGA0Trr1a/kGxENwzr2Tsn1wz042wkCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTxhAM%2FbtsGA0Trr1a%2FkGxENwzr2Tsn1wz042wkCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot; loading=&quot;lazy&quot; width=&quot;678&quot; height=&quot;749&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만 위에서 말하는 Addtional Address는 개별 Device내에 데이터의 주소값을 가리키는 것이 아닌 Modbus 통신망에 연결된 여러 개의 Device(혹은 Slave) 중에 각 Device에 할당된 주소값이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;Modbus communication의 &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;network a&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;rchitecture를 도식을 살펴보시면,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;573&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTkCmj/btsGBdebPfD/F0LNc6NYMzgAZ8Zzddx090/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTkCmj/btsGBdebPfD/F0LNc6NYMzgAZ8Zzddx090/img.png&quot; data-alt=&quot;Architecture of a network for Modbus communication @ Modbus Organization.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTkCmj/btsGBdebPfD/F0LNc6NYMzgAZ8Zzddx090/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTkCmj%2FbtsGBdebPfD%2FF0LNc6NYMzgAZ8Zzddx090%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Architecture of a network for Modbus communication @ Modbus Organization.&quot; loading=&quot;lazy&quot; width=&quot;976&quot; height=&quot;573&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Architecture of a network for Modbus communication @ Modbus Organization.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일반적으로 현장에서 구성하게 되는 모드버스 포함 대부분의 필드버스는 Master 1개와 Slave 1개의 1:1 연결이 아닌 Master 1개와 Slave 여러 개의 1:n의 연결로 구성하게 되는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이때, Master가 여러 개의 Slave 중에서 어떤 Device를 특정해서 통신하고자 할 때, Addtional Address를 이용하여 구분하도록 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Addtional Address라고 하면 개념이 불분명한 느낌도 들고 Device내 data를 담고 있는 Address와 혼동되는 느낌도 드는데요. 그러한 연유로 통상적으로 Addtional Address는 &lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;b&gt;Device Address&lt;/b&gt;&lt;/span&gt;라는 명칭으로도 통용되곤 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 설명을 실생활에 비유해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;어딘가 우편이나 택배를 보내려고 할 때 우리는 주소를 사용합니다. 이때 만약 도로명 주소 없이 아파트 동 호수만 주소란에 적어서 보낸다면 당연히 전달이 되지 않겠지요. Addtional Address(Device Address) 또한 그러한 목적입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style3&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;실생활에서 통신&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;모드버스 통신&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;도로명 주소&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;ADU addtional address(Device Address)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;아파트 동 호수&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;Slave device의 Data Address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;등기 내용 / 택배 물건&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;PDU(Fucntion code + data)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;ADU에서 Error check란?&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이어서 ADU에서 Error check 기능에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;간단히 말해, 말 그대로 통신 연결에 대한 Error Check(오류 검증) 기능입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스를 포함한 필드버스는 보통 산업 현장에서 사용되는 통신방식이다 보니, 현장 내 발생하는 외란이라던지, 불완전한 접속등의 위험에 노출되어 있는 편입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;외란(노이즈)에 의해서 의도하지 않은 잘못된 데이터가 송수신됨에 따라 발생할 수 있는 제어 불능 및 오작동의 위험 그리고 그로 인한 재산상 &amp;amp; 인사상의 사고 발생의 가능성 또한 간과할 수 없는 부분이라 할 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;따라서, 기본적으로 통신망내 연결되어 있는 각각의 Device과 제대로 통신이 되고 있는지를 항시 감시할 필요가 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신(RTU)에서는&amp;nbsp; CRC(Cyclical Reduncancy Check)라는 방식을 이용하여 생성된 2 bytes 코드를 이용해 전체 통신에 대한 내용을 체크하게 되는데요. CRC-16이라는 알고리즘으로 불리고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;개인적인 생각으로는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현업에서 모드버스를 이용하여 FA장비의 제어와 모니터링 업무를 주로 사용하는 End-user라면 관련 내용을 깊게 이해하실 필요까진 없으리라 생각하는 바입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, ADU에 저런 기능까지 포함되어 송수신을 한다 정도만 이해하고 통신 연결에서 저런 부분이 포함되다 보니 실제 통신연결에서 주고받는 패킷은 '우리가 예상하는 PDU 크기보다 크다.'라는 정도만 이해하시면 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;따라서, Addtional Address 및 Error check를 포함한 데이터 패킷 크기는 다음과 같다고 하겠습니다. (Modbus RTU 기준임)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;Device Address&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;Function Code&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;Data&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;CRC Error Check&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;1 Byte&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;1 Byte&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;n Bytes&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2 Bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이는 크게 중요한 부분은 아닐 수도 있으나,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;빈번한 Refresh time을 요구하는 통신 환경이 필요한 경우에는 해당 내용을 감안하여 통신속도(bps)를 고려해야 할 수도 있을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, CRC Check와 CRC-16 알고리즘에 대해서 자세히 알고 싶으신 분들은 Modbus Organization에서 발행한 Specification을 참조하여 주시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://modbus.org/specs.php&quot;&gt;Modbus Specifications and Implementation Guides&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713101940639&quot; data-og-image=&quot;&quot; data-og-url=&quot;https://modbus.org/specs.php&quot; data-og-source-url=&quot;https://modbus.org/specs.php&quot; data-og-host=&quot;modbus.org&quot; data-og-description=&quot;Modbus Specifications and Implementation Guides Please review the following license agreement before down loading any MODBUS protocol or related documents from this web site. If you agree to the terms herein then you must click the &amp;quot;I ACCEPT&amp;quot; button below&quot; data-og-title=&quot;Modbus Specifications and Implementation Guides&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://modbus.org/specs.php&quot; data-source-url=&quot;https://modbus.org/specs.php&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;Modbus Specifications and Implementation Guides&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;Modbus Specifications and Implementation Guides Please review the following license agreement before down loading any MODBUS protocol or related documents from this web site. If you agree to the terms herein then you must click the &quot;I ACCEPT&quot; button below&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;modbus.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MODBUS Protocol Specification 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bjWM7h/btsGCrvvgXV/SuXdBR7O9g5wXpEJPsExjk/Modbus_Application_Protocol_V1_1b3.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Modbus_Application_Protocol_V1_1b3.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.78MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Modbus Serial Line Protocol and Implementation Guide V1.02 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/YPAMK/btsGB48AwRM/twQT6zXfT9OiySqR4vONI1/Modbus_over_serial_line_V1_02.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Modbus_over_serial_line_V1_02.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.25MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;PDU &amp;amp; ADU 하편 마무리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;드디어 오늘로써 PDU와 ADU에 대해서 설명하는 포스팅을 마무리하였습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사실, PDU와 ADU에 대한 내용 그리고 연관된 내용들은 앞서 소개한 3개의 포스팅에 비할 수 없을 정도로 방대한 내용을 함유하고 있다고 생각됩니다. 그것이 너무 방대하다 보니 모두 담을 수 없는 점 양해 바라며, 이외에 생각나는 혹은 질문받게 되는 내용이 있을 때마다 이어서 포스팅하도록 하겠습니다.  &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CJCxP/btsGBgaBgf4/I2KxCptpARWfn8fYiHV1AK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CJCxP/btsGBgaBgf4/I2KxCptpARWfn8fYiHV1AK/img.png&quot; data-alt=&quot;하얗게 불태웠어...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CJCxP/btsGBgaBgf4/I2KxCptpARWfn8fYiHV1AK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCJCxP%2FbtsGBgaBgf4%2FI2KxCptpARWfn8fYiHV1AK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;하얗게 불태웠어...&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;250&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;하얗게 불태웠어...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘 내용 정리해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ADU =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;PDU&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;+ error check&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이고,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Addtioncal Address는 MODBUS 통신망에서 Slave Device의 개별 주소 값을 가리키는 용도&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Error check는 통신 연결의 건전성을 확인하기 위한 용도&lt;b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라 이해하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;다소 난해한 내용이다 보니 최대한 비유와 예시를 들어가면 쉽게 설명해 보려고 노력해 보았습니다. 솔직히 잘 전달이 되었을지는 모르겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 내용을 포함하여, 아래 카테고리에서 모드버스와 필드버스에 대한 내용을 업데이트하고 있습니다. 시간 되실 때 천천히 읽어보시길 권해드립니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713098753089&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 데이터위자드였습니다. 오늘도 즐거운 데이터 생활 하시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>Client Server Model</category>
      <category>CRC(Cyclical Reduncancy Check)</category>
      <category>CRC-16 알고리즘(algorithm)</category>
      <category>Modbus Addtional Address(Device Address)</category>
      <category>Modbus ADU(Application Data Unit)</category>
      <category>Modbus PDU(Protocol Data Unit)</category>
      <category>Modbus RTU CRC Error check</category>
      <category>모드버스 통신 PDU &amp;amp; ADU</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/52</guid>
      <comments>https://attack.tistory.com/52#entry52comment</comments>
      <pubDate>Sun, 14 Apr 2024 22:55:06 +0900</pubDate>
    </item>
    <item>
      <title>List 자료형으로 Dataframe 만들기, 열(Columns) 복사하기, 열에 반복데이터 넣기</title>
      <link>https://attack.tistory.com/51</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;List 자료형으로 Dataframe 만들기, 열(Columns) 복사하기, 열에 반복데이터 넣기.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYiLyz/btsGANs2FQT/F2NTTPl46g4DBP4guNE581/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYiLyz/btsGANs2FQT/F2NTTPl46g4DBP4guNE581/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYiLyz/btsGANs2FQT/F2NTTPl46g4DBP4guNE581/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYiLyz%2FbtsGANs2FQT%2FF2NTTPl46g4DBP4guNE581%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;List 자료형으로 Dataframe 만들기&amp;amp;#44; 열(Columns) 복사하기&amp;amp;#44; 열에 반복데이터 넣기&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;List 자료형으로 Dataframe 만들기, 열(Columns) 복사하기, 열에 반복데이터 넣기.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;List&amp;nbsp;자료형으로&amp;nbsp;데이터를 가지고 Dataframe을 만들고 싶었다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘 시간에는, 파이썬 Pandas 라이브러리를 사용 내용 중, dataframe를 최초 생성하는 방법에 대해서 알아보겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;데이터프레임을 최초 만드는 방법은 보통,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;List 자료형을 가져와서 할당하기&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Excel 파일이나 csv파일에서 불러오기(Import)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;SQL과 같은 RDBMS에서 가져오기&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정도가 될 거 같네요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 그중에서 List 변수를 가져와서 dataframe을 생성하는 것에 대해서 이야기해 보겠습니다. 역시나 사용하게 될 파이썬 라이브러리는 Pandas입니다. (두 번 세 번 말하기도 민망하네요.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pandas/&quot;&gt;https://pypi.org/project/pandas/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713016588913&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;pandas&quot; data-og-description=&quot;Powerful data structures for data analysis, time series, and statistics&quot; data-og-host=&quot;pypi.org&quot; data-og-source-url=&quot;https://pypi.org/project/pandas/&quot; data-og-url=&quot;https://pypi.org/project/pandas/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/beIBw3/hyS8o7IPXD/JN0M6J42cI5WK2G6vIAVc1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://pypi.org/project/pandas/&quot; data-source-url=&quot;https://pypi.org/project/pandas/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/beIBw3/hyS8o7IPXD/JN0M6J42cI5WK2G6vIAVc1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;pandas&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;Powerful data structures for data analysis, time series, and statistics&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;pypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Pandas는 이외에도 다양한 기능을 가지고 있으니, 평소 사용빈도가 높으시다면 시간을 투자해 자세히 알아보는 것도 좋을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1713016588914&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dKcpKE/hyVJT4Toud/mW6Z7zEaoDcwak1yKpA721/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230,https://scrap.kakaocdn.net/dn/bApuvh/hyVJRMOLyz/Qg5q8eDxrGskYXFs2UfYHk/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230&quot; data-og-url=&quot;https://www.coupang.com/vp/products/6965041262&quot; data-og-source-url=&quot;https://link.coupang.com/a/bwGB41&quot; data-og-host=&quot;www.coupang.com&quot; data-og-description=&quot;COUPANG&quot; data-og-title=&quot;Pandas를 이용한 데이터 분석 실습:라이브러리로 다양한 실제 데이터 분석&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://link.coupang.com/a/bwGB41&quot; data-source-url=&quot;https://link.coupang.com/a/bwGB41&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dKcpKE/hyVJT4Toud/mW6Z7zEaoDcwak1yKpA721/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230,https://scrap.kakaocdn.net/dn/bApuvh/hyVJRMOLyz/Qg5q8eDxrGskYXFs2UfYHk/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;Pandas를 이용한 데이터 분석 실습:라이브러리로 다양한 실제 데이터 분석&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;COUPANG&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;www.coupang.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각설하고, 본론으로 들어가겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;당연하게도, 처음은 데이터 프레임 처리를 위해 pandas 패키지를 import 하여 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pandas&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pd&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;List 자료형 변수 생성&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 데이터프레임에 사용할 List를 생성하도록 하겠습니다. (예시를 위해, 주식투자 RPA에 있는 예제를 사용하였습니다.)&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stock_list&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;TQQQ&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;SOXL&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;LABU&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;TNA&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FAS&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 미국 주식 검색 리스트&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;market_list&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;NASD&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AMEX&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AMEX&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AMEX&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;AMEX&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;]&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 미국 주식 Market 리스트&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt; List형을 가지고 dataframe 생성 &lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로, 위 두 개의 list형 변수를 가지고 데이터프레임을 만들고 List 내 변수를 해당 dataframe에 할당합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pd&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;DataFrame&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stock_list&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;columns&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'code'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;]) &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# stock_list 데이터를 'ticker' 열에 할당하면서 데이터 프레임 df를 생성 (dataframe df최초 생성)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'market'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;market_list&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 생성된 df에 market_list 리스트변수를 가지고 'market' 열 생성 및 할당&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;기존에 생성된 열(Columns)을 가지고 새로운 열을 생성&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고, 'code'열을 가지고 'yes_high' 열을 생성하면서 복사하여 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'yes_high'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'code'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;]&amp;nbsp; &amp;nbsp; &lt;span style=&quot;background-color: #1e1e1e; color: #6a9955; text-align: start;&quot;&gt;# 'code 열을 복사하여 'yes_high'을 생성&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;for - in 명령어를 이용해 새로 생성된 열에 초기값을 설정&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;위에서, 'code'열의 데이터를 가지고 'yes_high' 열에 그대로 복사해 줬기 때문에, 'yes_high'열의 데이터를 초기화해 줄 필요가 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;반복된 작업을 피하기 위해 for - in 명령어를 이용하여 훨씬 간결하게 작성하도록 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;idx&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;.iterrows():&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'yes_high'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10000.0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 코드를 실행하고, 데이터프레임을 출력하면 다음과 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;201&quot; data-origin-height=&quot;101&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NVMCR/btsGBOLqVVf/LkCIOnl68PNLm1SmtWimcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NVMCR/btsGBOLqVVf/LkCIOnl68PNLm1SmtWimcK/img.png&quot; data-alt=&quot;출력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NVMCR/btsGBOLqVVf/LkCIOnl68PNLm1SmtWimcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNVMCR%2FbtsGBOLqVVf%2FLkCIOnl68PNLm1SmtWimcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;출력 화면&quot; loading=&quot;lazy&quot; width=&quot;201&quot; height=&quot;101&quot; data-origin-width=&quot;201&quot; data-origin-height=&quot;101&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;dataframe이 잘 생성된 것을 보실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HPI4v/btsGBiTzGiH/fO4wLRDdevKHf3yg4USOhk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HPI4v/btsGBiTzGiH/fO4wLRDdevKHf3yg4USOhk/img.jpg&quot; data-alt=&quot;참 쉽죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HPI4v/btsGBiTzGiH/fO4wLRDdevKHf3yg4USOhk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHPI4v%2FbtsGBiTzGiH%2FfO4wLRDdevKHf3yg4USOhk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참 쉽죠?&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참 쉽죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고하시어, 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3c3d3f; text-align: left;&quot;&gt;&quot;이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움이 되셨다면, 왼쪽 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;' '&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;클릭 부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>맨땅에 프로그래밍/Python 복기장</category>
      <category>dataframe list형 변수로 생성하기</category>
      <category>dataframe 열(Column) 복사하기</category>
      <category>dataframe 열에 동일 데이터 반복 넣기</category>
      <category>pandas 사용법</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/51</guid>
      <comments>https://attack.tistory.com/51#entry51comment</comments>
      <pubDate>Sat, 13 Apr 2024 23:46:01 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편</title>
      <link>https://attack.tistory.com/50</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp;amp; ADU - 중편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcs4Ed/btsGuIZwvOf/E31MBunmh5sqdqT5iGhizK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcs4Ed/btsGuIZwvOf/E31MBunmh5sqdqT5iGhizK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcs4Ed/btsGuIZwvOf/E31MBunmh5sqdqT5iGhizK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbcs4Ed%2FbtsGuIZwvOf%2FE31MBunmh5sqdqT5iGhizK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신 알아보자 (5) - MODBUS의 PDU &amp;amp; ADU - 중편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;지난 상편에 이어 MODBUS 통신에서 나오는 PDU와 ADU에 대해서 더 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅은 지난 MODBUS 통신의 PDU와 ADU에 대한 내용(상편)에 이어서 PDU와 ADU에 대해서 조금 더 알아보는 시간을 가져보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(*이전 모드버스 PDU와 ADU에 대한 내용은 아래 내용 참고하시기 바랍니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/49&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712757443493&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&quot; data-og-description=&quot;MODBUS 통신에서 나오는 PDU와 ADU에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅도 앞서 이야기에 이어서 모드버스에 대해서 알아보는 시간을 가져보겠습니다. 모드버&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/49&quot; data-og-url=&quot;https://datawizard.co.kr/49&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bPd2Wg/hyVM0b8KlO/ahCGkxkWkZ5KiokUh8Upn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cNoxIC/hyVMTKP4YC/pWNGcC5OMYpFA2mIgXCcR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bsWbgg/hyVMWt16gR/wCA12rxKLSCKqLLKhvNJe0/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/49&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/49&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bPd2Wg/hyVM0b8KlO/ahCGkxkWkZ5KiokUh8Upn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cNoxIC/hyVMTKP4YC/pWNGcC5OMYpFA2mIgXCcR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bsWbgg/hyVMWt16gR/wCA12rxKLSCKqLLKhvNJe0/img.png?width=1718&amp;amp;height=709&amp;amp;face=0_0_1718_709');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신에서 나오는 PDU와 ADU에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅도 앞서 이야기에 이어서 모드버스에 대해서 알아보는 시간을 가져보겠습니다. 모드버&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;Modbus 통신의 PDU(&lt;b&gt;protocol data unit)의 3가지 타입에 대해서&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전 포스팅에서,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신을 포함한 거의 대부분의 통신에 해당되는 기본적인 개념이라고 말씀드렸던, Client &amp;amp; Server에 대해서 다시 되짚어 보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;고객(Client)은 정보를 요청(Request)하고&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;제공자(Server)는 요청에 응답(Response)한다&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NHkM2/btsGvVYzR35/wZZXyVorXUiLQiUwBTxiTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NHkM2/btsGvVYzR35/wZZXyVorXUiLQiUwBTxiTK/img.png&quot; data-alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NHkM2/btsGvVYzR35/wZZXyVorXUiLQiUwBTxiTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNHkM2%2FbtsGvVYzR35%2FwZZXyVorXUiLQiUwBTxiTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot; loading=&quot;lazy&quot; width=&quot;1718&quot; height=&quot;709&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 이때, PDU가 등장한다고 말씀드렸죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;PDU = Function code + data&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고, Client와 Server 상호 간의 트랜잭션은 다음의 과정을 거치게 된다고 했고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Client는 PDU(Function code + data)를 담아 Server에 요청(Request)한다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 요청을 수신한다. PDU의 Function code를 파싱 하고, PDU의 Data의 address를 참조하여 server 내 데이터를 취급(Handling)한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 PDU의 Function code를 바탕으로 요청을 수행하고,&amp;nbsp; Client 측에 PDU(Function code + Data)를 응답(Response)한다. 이때 요청이 정상적으로 에러 없이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;취급(Handling)되면 정상적인 데이터를 응답하고, 만약 오류가 있다면, 예외처리 PDU(Exception Function code + Exception code)를 응답한다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;Client는 Server로부터 응답을 수신하고 트랜잭션은 종료된다.&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위에 열거한 일련의 과정 중에서 PDU는 각기 다른 3가지 타입으로 진행하게 됩니다. 그 3가지 타입은 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;MODBUS Request PDU, mb_req_pdu&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MODBUS Response PDU, mb_rsp_pdu&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MODBUS Exception Response PDU, mb_excep_rsp_pdu&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위에 열거한 절차의 순서에 대입해 본다면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MODBUS Request PDU, mb_req_pdu&lt;b&gt; -&amp;gt; 1번 절차. Client가 Server에게 정보를 요청(Request) 할 때&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;MODBUS Response PDU, mb_rsp_pdu&lt;b&gt; -&amp;gt; 3번 절차. Server가 Client에게 정상적인 데이터를 응답(Reponse) 할 때&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;MODBUS Exception Response PDU, mb_excep_rsp_pdu&amp;nbsp;&lt;b&gt;&lt;b&gt;-&amp;gt; 3번 절차. Server가 정상적으로 Client의 요청을 처리하지 못할 경우&amp;nbsp; Client에게 예외 상황(Exception)을 응답(Reponse) 할 때&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;으로 쉽게 유추하실 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;참고로, 여기서 예외 처리(Exception)란, 비단 통신 분야뿐 아니라 컴퓨터 공학, 소프트웨어 공학에서도 두루 사용하는 비정상적인 상황에서의 대처방안을 말하는 것인데요. 통신에서는 비정상적인 상황을 Client에게 Server가 알려주는 용도라고 보시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럼, 각각의 PDU 타입에 대해서 살펴보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;MODBUS Request PDU, mb_req_pdu = Function code (1 byte) + request data (n bytes)&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Client가 Server 측에 Data를 요청할 때 사용하는 PDU 포맷입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Function code 1 byte와 Requset data n(미정) bytes로 구성되는데요. 여기서 Request data의 크기는 Function code에 따라 달라지게 됩니다.&amp;nbsp; (아래 표 참조)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xMk1N/btsGye989fE/d8KsPKEdZhlvpoQMckybE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xMk1N/btsGye989fE/d8KsPKEdZhlvpoQMckybE1/img.png&quot; data-alt=&quot;참조. Modbus 데이터 모델에 따른 데이터 크기 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xMk1N/btsGye989fE/d8KsPKEdZhlvpoQMckybE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxMk1N%2FbtsGye989fE%2Fd8KsPKEdZhlvpoQMckybE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참조. Modbus 데이터 모델에 따른 데이터 크기 @wikipedia&quot; loading=&quot;lazy&quot; width=&quot;755&quot; height=&quot;189&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;189&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참조. Modbus 데이터 모델에 따른 데이터 크기 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;MODBUS Response PDU, mb_rsp_pdu = Function code (1 byte) + response data (n bytes)&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번에는 반대로 Server가 Client 측에 Data를 응답할 때 사용하는 PDU 포맷입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;mb_req_pdu와 동일하게 &lt;/span&gt;Function code 1 byte와 R&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;esponse&lt;span&gt; &lt;/span&gt;&lt;/span&gt;data n(미정) bytes로 구성됩니다. R&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;esponse&lt;span&gt; &lt;/span&gt;&lt;/span&gt;data 크기 또한 Function code에 따라 달라지게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;트랜잭션 흐름이 반대라는 점만 제외하면 &lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;mb_req_pdu&lt;/span&gt;와 동일하다고 볼 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;MODBUS Exception Response PDU, mb_excep_rsp_pdu = Exception Function code (1 byte) + exception code (1 byte)&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번에는 조금 다른 이야기인데요. 예외 처리에 대한 PDU입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Function code가 Exception Function code로 바뀌고, Request or Response data 대신에 Exception code로 바뀌게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다고 완전히 다른 방식이 되는 건 아니고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 Server로부터 이상 상황이 발생되었다는 것을 표시하는 Exception Function Code와&lt;/li&gt;
&lt;li&gt;그 이상 상황에 대한 현상에 대한 내용을 알리는 Exception code&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;두 가지를 회신하는 것입니다. Exception code에 대해서는 다음의 표를 참조해 주세요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 190px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;code&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px; text-align: center;&quot;&gt;표시&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px; text-align: center;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #202122; text-align: start;&quot;&gt;Illegal Function&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;쿼리에서 수신한 기능 코드가 Server에서 인식되거나 허용되지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Illegal&amp;nbsp;Data&amp;nbsp;Address&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;일부 또는 전체의 데이터 주소가 Server에 허용되지 않거나 서버에 존재하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Illegal&amp;nbsp;Data&amp;nbsp;Value&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;데이터 값이 Server에 허용되지 않음.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Server&amp;nbsp;Device&amp;nbsp;Failure&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;서버가&amp;nbsp;요청된&amp;nbsp;작업을&amp;nbsp;수행하는&amp;nbsp;동안&amp;nbsp;복구할&amp;nbsp;수&amp;nbsp;없는&amp;nbsp;오류가&amp;nbsp;발생&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 20px; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 20px;&quot;&gt;Acknowledge&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 20px;&quot;&gt;서버가 요청을 처리 중이지만 시간이 지연되어, 클라이언트에서 시간 초과 오류가 발생하는 것을 방지하기 위해 반환되는 응답&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Server&amp;nbsp;Device&amp;nbsp;Busy&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;서버가 처리 시간인 긴 다른 명령을 처리 중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Negative&amp;nbsp;Acknowledge&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;서버가 프로그래밍 기능을 수행할 수 없음. 클라이언트는 진단 또는 오류 정보를 요청&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Memory&amp;nbsp;Parity&amp;nbsp;Error&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;서버가 메모리에서 Parity error를 감지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Gateway&amp;nbsp;Path&amp;nbsp;Unavailable&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;잘못 구성된 모드버스 Gateway 경로&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.26353%; height: 17px; text-align: center;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;width: 26.2403%; height: 17px;&quot;&gt;Gateway&amp;nbsp;Target&amp;nbsp;Device&amp;nbsp;Failed&amp;nbsp;to&amp;nbsp;Respond&lt;/td&gt;
&lt;td style=&quot;width: 64.4961%; height: 17px;&quot;&gt;경로 설정 등의 이유로 서버가 응답하지 않을 때 전송됨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위와 같은 Exception code를 Client 측에 회신하게 되며, Client는 이 응답을 가지고 내부 설정된 로직에 준하여 재시도를 하거나 알람을 띄우거나 하는 일련의 행동을 하게 되죠.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;물론, 이와 같은 예외 상황 응답 과정은 실제 현장에서 관련된 업무를 수행하시는 분들은 크게 고려해야 할 만한 사항은 아닐 것입니다. 거의 대부분은 각 모듈 간의 설정된 규칙에 의해 알아서 처리될 테니까요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;(Exception code 10번 11번과 같이 Modbus path에 대한 부분이라면, 아마도 통신이 아예 안되었기 때문에 사용자가 금방 인지할 수 있을 것입니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;PDU &amp;amp; ADU 중편 마무리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘 포스팅에서는 지난 포스팅에서 이어서 모드버스 통신의 PDU의 3가지 타입과 그 동작에 대해서 세부적으로 알아보았습니다. 이전 포스팅에 언급한 Client &amp;amp; Server 그리고 그 상호 간에 Transaction에 대한 내용에 부가적으로 PDU의 타입을 설명했는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정리해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MODBUS Request PDU, mb_req_pdu&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&amp;gt; &lt;span style=&quot;background-color: #9feec3;&quot;&gt;Client가 Server에게 정보를 요청(Request) 할 때&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;MODBUS Response PDU, mb_rsp_pdu&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&amp;gt; &lt;span style=&quot;background-color: #9feec3;&quot;&gt;Server가 Client에게 정상적인 데이터를 응답(Reponse) 할 때&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;MODBUS Exception Response PDU, mb_excep_rsp_pdu&amp;nbsp;&lt;b&gt;&lt;b&gt;-&amp;gt; &lt;span style=&quot;background-color: #9feec3;&quot;&gt;Server가 정상적으로 Client의 요청을 처리하지 못할 경우&amp;nbsp; Client에게 예외 상황(Exception)을 응답(Reponse) 할 때&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅 또한, 모드버스 통신에 대한 원론적인 내용이 주가 되었습니다. 현업에서 유지보수를 수행하시는 분들이라면 깊게 이해할만한 내용은 아닐 수도 있겠습니다. 하지만, 한 번쯤 관련 내용을 들어보신다면, 추후 정비 업무나 개선 업무를 수행하실 때 분명히 도움이 될 것이라 생각하는 바입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;앞서 정리한 내용을 포함하여, 아래 카테고리에서 모드버스와 필드버스에 대한 내용을 기록해 나가고 있습니다. 확인해 보시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;br /&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712757492057&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MjDkr/hyVMRM1AC7/91IRxcCDh6xDKNP2MxdTQK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cVPzAT/hyVMOJwidU/ksPEuYts1hGkbrPlG7dYi1/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/cTjCQE/hyVMWng6bJ/KZKCaa8NEn2oUdDFzfKRB0/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;PDU 얘기만 하다 보니 벌써 중편으로 와버렸습니다. 나머지 이야기 그리고 ADU에 대한 내용은 다음 포스팅에서 마저 하도록 하겠습니다. &lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;지금까지 데이터위자드였습니다. 오늘도 즐거운 데이터 생활 하시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>Client Server Model</category>
      <category>mb_excep_rsp_pdu</category>
      <category>mb_req_pdu</category>
      <category>mb_rsp_pdu</category>
      <category>Modbus Exception code list</category>
      <category>MODBUS Exception Response PDU</category>
      <category>Modbus PDU(Protocol Data Unit)</category>
      <category>MODBUS Request PDU</category>
      <category>MODBUS Response PDU</category>
      <category>모드버스 통신 PDU &amp;amp; ADU</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/50</guid>
      <comments>https://attack.tistory.com/50#entry50comment</comments>
      <pubDate>Thu, 11 Apr 2024 00:04:43 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편</title>
      <link>https://attack.tistory.com/49</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp;amp; ADU - 상편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYEl7z/btsGvrJS2y4/SkT3yce3ETIQ8vhUUDvWIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYEl7z/btsGvrJS2y4/SkT3yce3ETIQ8vhUUDvWIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYEl7z/btsGvrJS2y4/SkT3yce3ETIQ8vhUUDvWIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYEl7z%2FbtsGvrJS2y4%2FSkT3yce3ETIQ8vhUUDvWIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신 알아보자 (4) - MODBUS의 PDU &amp;amp; ADU - 상편.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;MODBUS 통신에서 나오는 PDU와 ADU에 대해서 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅도 앞서 이야기에 이어서 모드버스에 대해서 알아보는 시간을 가져보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신만으로도 아직 여러 개의 포스팅이 필요할 것으로 예상될 정도로, 모드버스 통신은 공장 자동화뿐 아니라 산업 전반에 널리&amp;nbsp;사용되는 방식입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘은 모드버스 통신의 여러 가지 개념 혹은 설명 중 &lt;span style=&quot;background-color: #c1bef9;&quot;&gt;&lt;b&gt;PDU와 ADU&lt;/b&gt;&lt;/span&gt;라는 것에 대해 이야기해 보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(* 모드버스에 대한 이전 포스팅은 아래 링크를 참조하여 주시기 바랍니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712669571192&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PNPvy/hyVMZRmO2W/8JmmtcM7pZYDQ6CzQrF0aK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/6kG65/hyVMWAk7yH/dFdQ9tQgSwqeC0rVrX3MGK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dtaeoX/hyVMP2iQgB/68AybouraFkXKHtiKOnHAK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PNPvy/hyVMZRmO2W/8JmmtcM7pZYDQ6CzQrF0aK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/6kG65/hyVMWAk7yH/dFdQ9tQgSwqeC0rVrX3MGK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dtaeoX/hyVMP2iQgB/68AybouraFkXKHtiKOnHAK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;PDU(&lt;b&gt;protocol data unit) 이란?&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞서 포스팅에서 통신에서 Client &amp;amp; Server에 대해서 잠시 얘기하였습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Client &amp;amp; Server의 개념은, 비단 모드버스 통신뿐만 아니라 대부분의 산업용 통신에서 동일하게 나오는 기본 개념이지요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고객(Client)은 정보를 요청(Request)하고&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;제공자(Server)는 요청에 응답(Response)한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;언듯 보면 당연한 개념이라 할 수 있겠는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도식화해 보면 아래와 같겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qdrrg/btsGwCKClW0/iqeLlZPz4O9050MQsflS3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qdrrg/btsGwCKClW0/iqeLlZPz4O9050MQsflS3k/img.png&quot; data-alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qdrrg/btsGwCKClW0/iqeLlZPz4O9050MQsflS3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqdrrg%2FbtsGwCKClW0%2FiqeLlZPz4O9050MQsflS3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&quot; loading=&quot;lazy&quot; width=&quot;1718&quot; height=&quot;709&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;709&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Client 와 Server의 상호 통신 개념도@Datawizard.co.kr&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이때 모드버스 통신에서는 Request와 Response 하는 일련의 통신 과정에서 Protocol Data Unit (이하 PDU)라는 핵심 개념이 등장하게 됩니다. Pdu를 한 문장으로 표현하자면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;PDU = Function code + data&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이며, Function code와 Data가 결합된 구조입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신에서는 Request와 Response 할 때 PDU 구조를 기본 단위(unit)로 통신하게 됩니다.&amp;nbsp;Client와 Server 상호 간의 트랜잭션은 다음의 과정을 거치게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Client는 PDU(Function code + data)를 담아 Server에 요청(Request)한다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 요청을 수신한다. PDU의 Function code를 파싱 하고, PDU의 Data의 address를 참조하여 server내 데이터를 취급(Handling)한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Server는 Client의 PDU의 Function code를 바탕으로 요청을 수행하고,&amp;nbsp; Client 측에 PDU(Function code + Data)를 응답(Response)한다. 이때 요청이 정상적으로 에러 없이 &lt;b&gt;취급(Handling)되면 정상적인 데이터를 응답하고, 만약 오류가 있다면, 예외처리 PDU(Exception Function code + Exception code)를 응답한다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;Client는 Server로부터 응답을 수신하고 트랜잭션은 종료된다.&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(* 함께 보면 좋은 글)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/48&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;nbsp;MODBUS 통신 알아보자 (3) - MODBUS의 Function Code&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712671265789&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신 알아보자 (3) - MODBUS의 Function Code&quot; data-og-description=&quot;MODBUS 통신의 Function Code에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 즐거운 데이터 생활 되고 있으신지요? 앞서 모드버스 통신에 대해서 여러 개의 포스팅을 하면서 모드버스 &quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/48&quot; data-og-url=&quot;https://datawizard.co.kr/48&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cxUnyv/hyVM1aAtOf/isIRi0y17AtEClX1ukOVpk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/fTTbn/hyVMSY2NDx/z5orQhtKaumgPKZWLASzFK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/boN4ZF/hyVMXzgkec/y8Z7X8bXvJYRGSkJA8OJuK/img.png?width=1141&amp;amp;height=851&amp;amp;face=0_0_1141_851&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/48&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/48&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cxUnyv/hyVM1aAtOf/isIRi0y17AtEClX1ukOVpk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/fTTbn/hyVMSY2NDx/z5orQhtKaumgPKZWLASzFK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/boN4ZF/hyVMXzgkec/y8Z7X8bXvJYRGSkJA8OJuK/img.png?width=1141&amp;amp;height=851&amp;amp;face=0_0_1141_851');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (3) - MODBUS의 Function Code&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신의 Function Code에 대해서 알아보겠습니다. 안녕하세요? 데이터위자드입니다. 즐거운 데이터 생활 되고 있으신지요? 앞서 모드버스 통신에 대해서 여러 개의 포스팅을 하면서 모드버스&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;PDU는 모드버스 통신의 근간을 이루는 기본 개념이라 할 수 있습니다. 물론, Bit나 Byte와 같은 것들이 기본이라 하겠지만, Protocol에서의 기본 단위는 PDU라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;비유하자면, 화학시간에 배운 것과 같이, 양성자, 중성자, 전자가 기본 단위라 할지라도 분자나 화학물이 되어야 우리가 느끼기에 유의미한 것과 같다는 느낌이라 하겠습니다. (화공과 출신이 아니라 적절한 비유가 되는지는 모르겠네요.. )&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;다음으로 ADU(&lt;b&gt;application data unit)에&lt;/b&gt;&lt;b&gt; 대해서 알아보겠습니다.&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로 Application data unit(이하 ADU)을 알아보겠습니다. 이 역시 ADU의 표현식을 보자면 그 의미를 쉽게 유추하실 수 있으실 텐데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ADU = &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address + PDU + error check&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;따라서,&lt;br /&gt;&lt;br /&gt;ADU = &lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address + &lt;b&gt;Function code + data&lt;/b&gt; + error check&lt;/span&gt;&amp;nbsp;&lt;/b&gt; &lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ADU는 PDU에 주소값과 에러 체크 구문을 추가하여 완전체로 만들어 놓은 개념으로서, Modbus Organization에서는 ADU를 &lt;b&gt;Modbus frame&lt;/b&gt;이라 공식적으로 칭하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;PDU &amp;amp; ADU를 모드버스 통신과 실생활에서 사용하는 언어과 비교하여 비유해 본다면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;언어&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;모드버스 통신&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;자음 &amp;amp; 모음&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;bit, byte&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;단어&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;PDU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;문장&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;ADU&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정도로 볼 수 있겠습니다. (물론, 상호 1:1 정확하게 매칭되는 개념은 아닙니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;PDU &amp;amp; ADU 상편 마무리하며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘 포스팅에서는 모드버스 통신의 PDU와 ADU에 대한 내용을 정리해 보았습니다. PDU에 대한 내용과 Client &amp;amp; Server에 대한 Transaction에 대한 내용이 주가 되었는데요. 정리해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;PDU = Function code + data&lt;br /&gt;&lt;b&gt;ADU =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: left;&quot;&gt;Additional address + PDU + error check&lt;/span&gt;&amp;nbsp;&lt;/b&gt; &lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt; 모드버스 통신에서 Client와 Server 상호 간의 트랜잭션 &lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Client는 PDU(Function code + data)를 담아 Server에 데이터를 요청(Request)한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Server는 Client의 요청을 수신한다. PDU의 Function code를 파싱 하고, PDU의 Data의 address를 참조하여 server의 내 데이터를 취급(Handling)한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Server는 Client의 PDU의 Function code를 바탕으로 요청을 수행하고,&amp;nbsp; Client 측에 PDU(Function code + Data)를 응답(Response)한다. 이때 요청이 정상적으로 에러 없이&lt;span&gt;&amp;nbsp;&lt;/span&gt;취급(Handling)되면 정상적인 데이터를 응답하고, 만약 오류가 있다면, 예외처리 PDU(Exception Function code + Exception code)를 응답한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Client는 Server로부터 응답을 수신하고 트랜잭션은 종료된다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘 포스팅한 내용 또한, 이전 포스팅과 마찬가지로 현장에서 공장 자동화를 주로 다루는 End user에게는 크게 중요하지 않은 원론적인 내용이라 볼 수 있는데요. 비록, 원론적인 이야기라 할지라도 조금 더 자세히 알면 관련 업무를 수행하는데 도움이 되실 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;모드버스에 대한 원론과 관련된 내용이라 다소 난해한 내용이 있으실 것이라 생각됩니다. 아래 카테고리에서 모드버스와 필드버스에 대한 더 자세한 내용을 확인해 보시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록 (datawizard.co.kr)&lt;/a&gt; &lt;/p&gt;
&lt;figure id=&quot;og_1712673611928&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PNPvy/hyVMZRmO2W/8JmmtcM7pZYDQ6CzQrF0aK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/6kG65/hyVMWAk7yH/dFdQ9tQgSwqeC0rVrX3MGK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dtaeoX/hyVMP2iQgB/68AybouraFkXKHtiKOnHAK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PNPvy/hyVMZRmO2W/8JmmtcM7pZYDQ6CzQrF0aK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/6kG65/hyVMWAk7yH/dFdQ9tQgSwqeC0rVrX3MGK/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/dtaeoX/hyVMP2iQgB/68AybouraFkXKHtiKOnHAK/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;PDU와 ADU에 대한 내용을 쓰다 보니, 예상보다 길어져 부득이 상/하편으로 나누어 포스팅하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;지금까지 데이터위자드였습니다. 오늘도 즐거운 하루 보내시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>Client Server Model</category>
      <category>Modbus ADU(Application Data Unit)</category>
      <category>Modbus PDU(Protocol Data Unit)</category>
      <category>모드버스 통신 PDU &amp;amp; ADU</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/49</guid>
      <comments>https://attack.tistory.com/49#entry49comment</comments>
      <pubDate>Tue, 9 Apr 2024 23:48:48 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (3) - MODBUS의 Function Code</title>
      <link>https://attack.tistory.com/48</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;모드버스 알아보자 3 - Modbus Function Code.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs7VF2/btsGrRhTqRK/9asJZFo6KQA3Pr5hyBfVY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs7VF2/btsGrRhTqRK/9asJZFo6KQA3Pr5hyBfVY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs7VF2/btsGrRhTqRK/9asJZFo6KQA3Pr5hyBfVY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs7VF2%2FbtsGrRhTqRK%2F9asJZFo6KQA3Pr5hyBfVY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;모드버스 알아보자 3 - Modbus Function Code&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;모드버스 알아보자 3 - Modbus Function Code.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;MODBUS 통신의 Function Code에 대해서 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다. 즐거운 데이터 생활 되고 있으신지요?&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;앞서 모드버스 통신에 대해서 여러 개의 포스팅을 하면서 모드버스 통신에 대해서 이어오고 있습니다. 아직 모드버스 통신에 대해서 할 이야기가 많은데요. 오늘은 그중에서도 MODBUS 통신의 Function Code에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(* 모드버스에 대한 이전 포스팅은 아래 링크를 참조하여 주시기 바랍니다.)&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-ke-type=&quot;opengraph&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Function Code라는 개념을 이야기하려고 하면, 먼저 드는 생각이 있을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;통신 이야기하다 갑자기 Function Code가 뭐지?&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Function Code에 대한 개념을 정의해 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;모드버스 통신의 Function code는 모드버스 통신간에 어떠한 데이터를 서로 주고받을지에 대한 기능을 분류한 코드입니다.&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;어디 정의가 나와있지 않은 상태에서 제가 아는 지식선에서 설명하다 보니, 정의 자체가 조금 이상한 느낌이고 한 번에 와닿지 않는 느낌이실 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이는, 모드버스 통신의 Function Code에 대한 타입을 설명하면 아마 자연스럽게 이해가 되실 것이라 생각되는데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스에는 크게 3가지 타입의 Function code가 있습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Public&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User-defined&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt; &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;Reserved&lt;/span&gt; &lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각각의 Type에 대해서 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;먼저 Public입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;말 그대로 대중적 혹은 공개되어 서로 상호 간에 약속된 상태의 기능 코드로 모드버스 통신의 제어 기능에 대한 것을 대중적으로 서로 약속한 상태로 사용하는 것을 말합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;851&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; data-alt=&quot;Modbus 통신의 Public Function Code 표 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKUuE3%2FbtsGsTzvAdo%2FlxEk2YXBeJRgVv9qGbakHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Modbus 통신의 Public Function Code 표 @wikipedia&quot; loading=&quot;lazy&quot; width=&quot;1141&quot; height=&quot;851&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;851&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Modbus 통신의 Public Function Code 표 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 분류표에서 보는 바와 같이,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Public은 또한 Data Access 용 Code와 Diagnostics(진단) 기능 코드로 분류되어 있는 것을 확인하실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Data Access 분류에서 보시면,&amp;nbsp; 앞서 모드버스 통신의 데이터 모델에서 설명하여 이미 익숙한 Boolean에 대한 입출력 코드 그리고 16bit Word 데이터에 대한 입출력 코드를 보실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; data-alt=&quot;모드버스 데이터 모델 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnQXz5%2FbtsGuKIswFL%2FaCAStxYKzAIqaRkaY7WY50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;모드버스 데이터 모델 @wikipedia&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;236&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모드버스 데이터 모델 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고, 그 각각의 discrete 신호와 Word 신호는 Function Code 1,2,3,4라는 규칙으로 구성되어 있다는 점도 확인하실 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;제 설명이 부족해서 그렇겠지만, 여기까지 읽으신 독자분이라면 아마,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;뭔 소리를 하는 거야?&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라고 생각하실 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;압니다. 저도 어떻게 설명하면 좋을지 머릿속에서 복잡한데, 읽으시는 분이라면 오죽 답답하시겠습니까?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;옛날에, 백문이 불여 일견이라 했습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;원론적인 얘기는 집어치우고, 예제를 보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;과거 가스트론 감지기 Python 연결에서 예시로 들은 모드버스 맵입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AP9PT/btsGvpjFns3/yt3nCLJbF3w7kquLYyYHqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AP9PT/btsGvpjFns3/yt3nCLJbF3w7kquLYyYHqk/img.png&quot; data-alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AP9PT/btsGvpjFns3/yt3nCLJbF3w7kquLYyYHqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAP9PT%2FbtsGvpjFns3%2Fyt3nCLJbF3w7kquLYyYHqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot; loading=&quot;lazy&quot; width=&quot;678&quot; height=&quot;749&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;우선 각 채널의 농도값입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;30XXX로 시작하는 읽기 전용의 'Read Input Register' 주소 값이며, 각 채널별 농도값을 16bit로 받아오는 형식이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, 각 채널의 상태 Bit data를 살펴보면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10XXX 로 표시되는 읽기/쓰기가 가능한 'Input Coils' 주소 값입니다. 이때 하나의 주소는 1 bit를 가지게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, 꼭 위와 같은 예시의 제품만 있는 것이 아니고 각 모듈 제조사마다 각각 고유의 모드버스 통신 Address Map을 가지고 있기 때문에 이를 반드시 확인하고 PLC나 PC에서 통신을 설정해야 할 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 LS Electric의 GIMAC 1000은 모드버스 맵을 살펴보면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1585&quot; data-origin-height=&quot;873&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OvA9J/btsGvoyjshb/4Zbuy0EKtVU6B3hkZGPonK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OvA9J/btsGvoyjshb/4Zbuy0EKtVU6B3hkZGPonK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OvA9J/btsGvoyjshb/4Zbuy0EKtVU6B3hkZGPonK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOvA9J%2FbtsGvoyjshb%2F4Zbuy0EKtVU6B3hkZGPonK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1585&quot; height=&quot;873&quot; data-origin-width=&quot;1585&quot; data-origin-height=&quot;873&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각 제조사마다 고유한 양식의 모드버스 맵을 작성 하여 공유하는 것을 보실 수 있습니다. (Input Coil로 Reset 쓰기 지령을 줄 수 있고, 30XXX를 이용해 각각의 데이터 값을 읽어오는 기능을 수행하네요.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;회사마다 그리고 사람마다 각기 다른 양식을 사용하다 보니, 처음에는 난해한 것이 사실이나 위 내용을 곱씹어 보며 하나하나 차근히 풀어나가 보다 보면 큰 틀에서는 대동소이하다는 사실 또한 경험하실 수 있으실 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWcEKQ/btsGvuSGBbe/KVJNbLZlMDQ2uHmYByJh01/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWcEKQ/btsGvuSGBbe/KVJNbLZlMDQ2uHmYByJh01/img.jpg&quot; data-alt=&quot;현재 필자와 독자의 공통적인 심정  &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWcEKQ/btsGvuSGBbe/KVJNbLZlMDQ2uHmYByJh01/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWcEKQ%2FbtsGvuSGBbe%2FKVJNbLZlMDQ2uHmYByJh01%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;필자와 독자의 공통적인 심정  &quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;현재 필자와 독자의 공통적인 심정  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;다음은 User-Defined입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이 역시 단어 그래도 사용자가 임의로 설정하여 사용할 수 있는 기능입니다. &lt;span style=&quot;background-color: #ffffff; color: #202122; text-align: start;&quot;&gt;65에서 72까지 그리고 100에서 110&lt;/span&gt; 까지를 사용자가 직접 기능을 지정할 수 있다는 것인데요. 솔직히 현장에서 그렇게 적용되어 있는 애플리케이션을 보지 못해서 그 활용에 대해서는 말씀드리기 어려운 점이 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;b&gt;마지막으로 Reserved입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이 역시 단어 뜻 그대로, Reserved(예약된, 선점된?) Function Code입니다. 이 또한 현장에서 실제 적용 사례를 본 적이 없어 자세히 말씀드릴 수 없으나, 과거 Legacy 제품들이 전용으로 사용했던 Function code라고 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;한마디로, User defined 나 Reserved는 현장 실사용자들은 크게 고려하지 않는 Function Code 방식이니 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;Public에 대해서만 이해&lt;/span&gt;하시면 되시겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;정리해 보자면,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;오늘 포스팅에서는 모드버스 통신의 Function Code에 정의와 더불어 관련된 내용을 몇 가지 제품의 Address Mapping 예시를 들어 설명해 보았습니다. 종합하여 정리해 보자면 아래와 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;모드버스 통신의 데이터 모델&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; data-alt=&quot;모드버스 데이터 모델 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnQXz5/btsGuKIswFL/aCAStxYKzAIqaRkaY7WY50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnQXz5%2FbtsGuKIswFL%2FaCAStxYKzAIqaRkaY7WY50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;236&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모드버스 데이터 모델 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신의 4가지 데이터 모델,&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Coil (Discrete output) : PLC의 출력 접점의 기능&amp;nbsp; &lt;span style=&quot;background-color: #99cefa;&quot;&gt;(읽기 / 쓰기)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Discrete Input : PLC의 입력 기능 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;(읽기 Only)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Input Register : PLC에서 정수형(Interger)을 읽는 기능 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;(읽기 Only)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Holding Register : PLC에서 정수형을 읽거나 쓰는 기능 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;(읽기 / 쓰기)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;모드버스 통신의 Function Code&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;851&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; data-alt=&quot;Modbus 통신의 Public Function Code 표 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKUuE3/btsGsTzvAdo/lxEk2YXBeJRgVv9qGbakHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKUuE3%2FbtsGsTzvAdo%2FlxEk2YXBeJRgVv9qGbakHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Modbus 통신의 Public Function Code 표 @wikipedia&quot; loading=&quot;lazy&quot; width=&quot;1141&quot; height=&quot;851&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;851&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Modbus 통신의 Public Function Code 표 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신의 3가지 Function code 분류,&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Public : 일반적으로 통용되는 코드들&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User Defined&amp;nbsp; : 사용자가 정의하여 사용할 수 있는 코드들&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reserved : 과거 Legacy에서 전용으로 사용하는 Function Code들&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라도 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;본문에도 언급하였지만, 저 역시 이에 대해 글로 설명하는 것이 난해하다는 느낌이 들 정도로 설명하기가 쉽지 않은 그리고 독자분들도 이해하기 어려운 내용이라 생각됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;앞서 설명한 바와 같이, 전반적인 개념을 먼저 이해하시고 각 제조사에서 제공하는 Modbus Mapping List를 참조하는 것이 오히려 전체적으로 감을 잡는데 더 도움이 되실 것이라 생각하는 바입니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;또한, 아래 카테고리에서 모드버스와 필드버스에 대해서 계속 내용을 업데이트해 나아가고 있사오니, 참고해 보시는 것도 좋으실 것이라 생각됩니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-ke-align=&quot;alignCenter&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;지금까지 데이터위자드였습니다. 오늘도 즐거운 하루 보내시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>Modbus address mapping list</category>
      <category>Modbus Function code 개념</category>
      <category>modbus 데이터 모델(Data model)</category>
      <category>모드버스 맵 보는 방법 예시</category>
      <category>모드버스 통신 Fucntion code</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/48</guid>
      <comments>https://attack.tistory.com/48#entry48comment</comments>
      <pubDate>Mon, 8 Apr 2024 23:40:23 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (2) - MODBUS 방식, 데이터 모델</title>
      <link>https://attack.tistory.com/47</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3gBUL/btsGrUqTI7N/eeQrfqJfPnnWLoaAwcS3J0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3gBUL/btsGrUqTI7N/eeQrfqJfPnnWLoaAwcS3J0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3gBUL/btsGrUqTI7N/eeQrfqJfPnnWLoaAwcS3J0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3gBUL%2FbtsGrUqTI7N%2FeeQrfqJfPnnWLoaAwcS3J0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신 알아보자 (2) - MODBUS 방식&amp;amp;#44; 데이터 모델&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;MODBUS 통신의 방식과 데이터 모델에 대해서 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;지난 포스팅에서 MODBUS 통신의 역사와 특징에 대해서 전반적으로 알아보는 시간을 가졌습니다. 오늘은 모드버스 통신의 방식과 모드버스 통신의 데이터 형식에 대해서 알아보겠습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; * 모드버스 통신의 역사와 특징에 대한 내용은 이전 포스팅을 참조해 주세요.  &amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/45&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cQYY6I/hyVJVJenYI/n6ZqW8ksFAYNix2SzwUNRK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/btFLQL/hyVMS49roW/C36kqkmQcZKp6RpPCyuI51/img.png?width=825&amp;amp;height=408&amp;amp;face=0_0_825_408&quot; data-og-url=&quot;https://datawizard.co.kr/45&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/45&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cQYY6I/hyVJVJenYI/n6ZqW8ksFAYNix2SzwUNRK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/btFLQL/hyVMS49roW/C36kqkmQcZKp6RpPCyuI51/img.png?width=825&amp;amp;height=408&amp;amp;face=0_0_825_408');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다. 안녕하세요? 데이터위자드입니다. 이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;먼저, 모드버스 통신의 방식입니다. 이전 포스팅에서 살짝 말씀드렸던 거 같은데요.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;모드버스에는 크게 3가지 방식이 있습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;ASCII&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Remote Terminal Unti (RTU)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;TCP/IP&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;모드버스 통신의 방식이라고 표현했는데, 정확한 명칭은 Modbus 통신의 Application Data Unit(이하 ADU)라고 합니다.&lt;br /&gt;모드버스 통신에서 Master와 Slave 간에 통신을 어떠한 방식으로 할 것이냐를 말하는 것이지요.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;아래 그림을 보시면 이해하는데 도움이 되실 겁니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qAkz6/btsGrbGtSjg/m84lyTrGX3F5CtKsKd4Mo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qAkz6/btsGrbGtSjg/m84lyTrGX3F5CtKsKd4Mo0/img.png&quot; data-alt=&quot;MODBUS communication stack @ modbus organization&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qAkz6/btsGrbGtSjg/m84lyTrGX3F5CtKsKd4Mo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqAkz6%2FbtsGrbGtSjg%2Fm84lyTrGX3F5CtKsKd4Mo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS communication stack @ modbus organization&quot; loading=&quot;lazy&quot; width=&quot;825&quot; height=&quot;408&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MODBUS communication stack @ modbus organization&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;참고로 Master &amp;amp; Slave는 모드버스 통신뿐만 아니라 여타 다른 필드버스 방식에서도 나오는 개념인데, 일반적으로 통신이라는 범주에서 말하는 Server &amp;amp; Client라는 개념과 유사하다고 보시면 되겠습니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCUNRS/btsGpZgblqz/Lss8n7WWGL8N3vbM5kKYpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCUNRS/btsGpZgblqz/Lss8n7WWGL8N3vbM5kKYpK/img.png&quot; data-alt=&quot;Client는 정보를 요청(Response)하고 서버(Slave)는 이에 응답(Response) 합니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCUNRS/btsGpZgblqz/Lss8n7WWGL8N3vbM5kKYpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCUNRS%2FbtsGpZgblqz%2FLss8n7WWGL8N3vbM5kKYpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Client는 정보를 요청(Response)하고 서버(Slave)는 이에 응답(Response) 합니다.&quot; loading=&quot;lazy&quot; width=&quot;780&quot; height=&quot;586&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Client는 정보를 요청(Response)하고 서버(Slave)는 이에 응답(Response) 합니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;221&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coKpE7/btsGrTlgzL2/AQoVnFIZNWeGupQyhDIB0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coKpE7/btsGrTlgzL2/AQoVnFIZNWeGupQyhDIB0K/img.png&quot; data-alt=&quot;MODBUS master도 slave에 정보를 요청하고 slave는 이에 응답합니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coKpE7/btsGrTlgzL2/AQoVnFIZNWeGupQyhDIB0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoKpE7%2FbtsGrTlgzL2%2FAQoVnFIZNWeGupQyhDIB0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS master도 slave에 정보를 요청하고 slave는 이에 응답합니다.&quot; loading=&quot;lazy&quot; width=&quot;725&quot; height=&quot;221&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;221&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MODBUS master도 slave에 정보를 요청하고 slave는 이에 응답합니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;(정확히는 Server&amp;amp;Client와 Master/Slave는 다르다고 볼 수 있겠습니다. )&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;여하튼 각설하고 위에 언급한 방식의 차이는,&lt;br /&gt;&amp;nbsp;MODBUS 통신이라는 큰 틀 안에서도 ASCII로 말할 거냐? TCP/IP나 RTU로 말한 거냐?라는 문제라고 보는데&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;ASCII는 8bit의 문자형으로 통신하는 방식. 실제 문자(a, b, c와 같은 string)에 대한 정보를 서로 주고받음&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;0 혹은 1(Boolean), 정수형(Interger), 실수형(Float or Real)으로 보내되 TCP/IP로 보내냐? RTU로 보내냐?&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;ASCII 같은 경우는, 8 bit의 문자형을 통신 모듈 상호 간에 보내는 방식이다 보니, 저는 개인적으로 공장 자동화 업무를 하면서 한 번도 사용해 보지 않은 방식이긴 합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;더불어 굳이 ASCII 방식을 사용하지 않더라도, RTU나 TCP/IP로 가져온 데이터를 PLC나 DCS에서 String으로 변환해 주는 로직을 거치면 문자형 바꿀 수 있기 때문에 더욱이 사용해 본 적이 없는 방식이긴 합니다. (다만, PC나 Terminal과 같은 여타 다른 통신 개체와의 연결 시&amp;nbsp;ASCII 방식이 더 효율적일 수 있을 거 같습니다. 변환해 주는 로직이 필요 없으니...)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;또한, RTU나 TCP/IP의 경우는 Serial 통신(RS-232, RS-485) 통신으로 할 것이냐, Ethernet과 같은 랜선으로 통신할 것이냐의 물리적인 차이도 존재합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;정리하자면,&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;방식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;기준 통신 방식&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;물리적 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;ASCII&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;문자(8 bit String)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot; rowspan=&quot;2&quot;&gt;Serial 통신(RS-232, 485 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;RTU&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;Bool &amp;amp; Word&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;TCP/IP&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;Bool &amp;amp; Word&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;Ethernet(RJ-45)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;으로 분류할 수 있겠습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mZknc/btsGq3aJXfQ/W5V4umEVZgtmoQ2bBGLYGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mZknc/btsGq3aJXfQ/W5V4umEVZgtmoQ2bBGLYGk/img.png&quot; data-alt=&quot;RS-232 통신 Connector, 현장에서 자주 보셨으리라 생각됩니다. @ wikipedia commons&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mZknc/btsGq3aJXfQ/W5V4umEVZgtmoQ2bBGLYGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmZknc%2FbtsGq3aJXfQ%2FW5V4umEVZgtmoQ2bBGLYGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;358&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;358&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RS-232 통신 Connector, 현장에서 자주 보셨으리라 생각됩니다. @ wikipedia commons&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;MODBUS의 데이터 모델을 알아보자.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;다음으로 모드버스 통신의 데이터 모델을 알아보겠습니다. (앞서 ASCII 방식은 8bit 문자 코드로 소통한다고 하였고 이는 논외로 하겠습니다.)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; data-alt=&quot;모드버스 데이터 모델 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbodxLD%2FbtsGpZ8lzGJ%2FCLxy0uWKfKYcxhD3K54US0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;236&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모드버스 데이터 모델 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;MODBUS는 4가지 데이터 모델이 있는데,&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Coil (Discrete output) : PLC의 출력 접점의 기능&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Discrete Input : PLC의 입력 기능&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Input Register : PLC에서 정수형(Interger)을 읽는 기능&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Holding Register : PLC에서 정수형을 읽거나 쓰는 기능&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;와 같습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Modbus 통신의 태생이 Modicon PLC에 통신 기능을 부여하기 위해 처음 개발 되었기 때문에 아무래도 PLC에서 연산되는 기능을 수행하기 위한 데이터 모델이 기본이 된다고 하겠습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6dbUm/btsGqk5n4do/E0J1TzRvsYEaknnhRL5gx1/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6dbUm/btsGqk5n4do/E0J1TzRvsYEaknnhRL5gx1/tfile.svg&quot; data-alt=&quot;PLC ladder에서 Discrete input(왼쪽)과 Coil(오른쪽)의 모습 @Wikipedia Commons&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6dbUm/btsGqk5n4do/E0J1TzRvsYEaknnhRL5gx1/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6dbUm%2FbtsGqk5n4do%2FE0J1TzRvsYEaknnhRL5gx1%2Ftfile.svg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;PLC ladder에서 Discrete input(왼쪽)과 Coil(오른쪽)의 모습 @Wikipedia Commons&quot; loading=&quot;lazy&quot; width=&quot;744&quot; height=&quot;400&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PLC ladder에서 Discrete input(왼쪽)과 Coil(오른쪽)의 모습 @Wikipedia Commons&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;여기서 의문이 드는데요.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: Noto Serif KR;&quot;&gt;&lt;i&gt;정수형만 있으면 소수점 값이 있는 실수형(Real 혹은 Float) Type은 어떻게 처리하지?&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;결론은, 16 bit 데이터를 두 개 합쳐서 32bit 부동소수점(Float) 방식으로 처리합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;각 PLC 모듈마다 해당 기능을 구현하는 Function block이나 Method가 지원되기 때문에 이를 활용하시면 되겠습니다. (당연히 반대편 Slave 모듈에서도 그에 맞춰 address mapping 작업을 해줘야겠지요.)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6DKpR/btsGsT6a44x/s7j67wtvU5ltLLWwyUJmKk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6DKpR/btsGsT6a44x/s7j67wtvU5ltLLWwyUJmKk/img.gif&quot; data-alt=&quot;신나는 Address mapping 작업&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6DKpR/btsGsT6a44x/s7j67wtvU5ltLLWwyUJmKk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/c6DKpR/btsGsT6a44x/s7j67wtvU5ltLLWwyUJmKk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;신나는 Address mapping 작업&quot; loading=&quot;lazy&quot; width=&quot;320&quot; height=&quot;320&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;신나는 Address mapping 작업&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, Malgun Gothic, 맑은 고딕, dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;마치며,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;이번 포스팅에서는 모드버스 통신의 구조와 데이터 모델에 대해서 짧게 알아보는 시간을 가졌습니다. 정리하자면 다음과 같겠습니다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;모드버스 통신의 구조&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;방식&lt;/td&gt;
&lt;td&gt;기준 통신 방식&lt;/td&gt;
&lt;td&gt;물리적 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ASCII&lt;/td&gt;
&lt;td&gt;문자(8 bit String)&lt;/td&gt;
&lt;td rowspan=&quot;2&quot;&gt;Serial 통신(RS-232, 485 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTU&lt;/td&gt;
&lt;td&gt;Bool &amp;amp; Word&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TCP/IP&lt;/td&gt;
&lt;td&gt;Bool &amp;amp; Word&lt;/td&gt;
&lt;td&gt;Ethernet(RJ-45)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;모드버스 통신의 데이터 모델&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; data-alt=&quot;모드버스 데이터 모델 @wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bodxLD/btsGpZ8lzGJ/CLxy0uWKfKYcxhD3K54US0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbodxLD%2FbtsGpZ8lzGJ%2FCLxy0uWKfKYcxhD3K54US0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;모드버스 데이터 모델 @wikipedia&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;236&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모드버스 데이터 모델 @wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;이전 포스팅에서 모드버스 통신의 특징에 대해서 설명하면서 언급하긴 하였지만, 모드버스 통신이라는 것이 현장에서 널리 사용되는 부분이 있다손 치더라도 End-user가 그 안에 전문적인 내용까지 속속들이 알기는 어려운 것이 사실입니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;앞으로도 차근차근 하니씩 이야기를 풀어나가 보려고 합니다. 독자분들께서도 평소 궁금하셨던 사항이나 난해한 부분이 있다면 메일이나 댓글로 문의하시면, 해당 내용을 포함하여 이야기를 더 이어나가 보도록 하겠습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;(* 모드버스와 필드버스에 대해서 더 자세히 알고 싶으시면 아래 글들을 참조해 주세요.)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;'공장 자동화/통신' 카테고리의 글 목록&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750&quot; data-og-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/category/%EA%B3%B5%EC%9E%A5%20%EC%9E%90%EB%8F%99%ED%99%94/%ED%86%B5%EC%8B%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cfGRUS/hyVJXUB2xQ/wFt6Ki2FIsEkAxPlksKV11/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/bIuLcN/hyVMNbIPQb/gxx9mJBkUO1AaFHwzf69h0/img.jpg?width=490&amp;amp;height=490&amp;amp;face=0_0_490_490,https://scrap.kakaocdn.net/dn/uIIs6/hyVJXmLD1a/ngu7Di1WsdhMikXjdTRVNk/img.png?width=750&amp;amp;height=750&amp;amp;face=0_0_750_750');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;'공장 자동화/통신' 카테고리의 글 목록&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;현장 자동화 라인의 공정개선 / 유지보수 / 프로젝트 관리 업무에 도움을 드립니다.   simo@datawizard.co.kr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;지금까지 데이터위자드였습니다. 오늘도 함께 해주셔서 감사하고, 즐거운 데이터 생활 되시길 바랍니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;감사합니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>Modbus Master/Slave meaning</category>
      <category>MODBUS RTU</category>
      <category>Modbus TCP/IP</category>
      <category>modbus 데이터 모델(Data model)</category>
      <category>Modubus ASCII</category>
      <category>RS-232통신 RS-485통신</category>
      <category>모드버스 마스터 슬레이브 개념</category>
      <category>모드버스 통신 구조</category>
      <category>모드버스 통신에서 실수형 처리</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/47</guid>
      <comments>https://attack.tistory.com/47#entry47comment</comments>
      <pubDate>Sun, 7 Apr 2024 22:36:24 +0900</pubDate>
    </item>
    <item>
      <title>Dataframe에서 특정 조건을 만족하는 행만 추출하기(Feat. Pandas)</title>
      <link>https://attack.tistory.com/46</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Pandas 특정 조건 만족하는 행 추출하기.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yLZZv/btsGlTG8X2b/cGw7Y84XMGwMLDqKVXHpuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yLZZv/btsGlTG8X2b/cGw7Y84XMGwMLDqKVXHpuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yLZZv/btsGlTG8X2b/cGw7Y84XMGwMLDqKVXHpuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyLZZv%2FbtsGlTG8X2b%2FcGw7Y84XMGwMLDqKVXHpuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Dataframe에서 특정 조건을 만족하는 행만 추출하기(Feat. Pandas)&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;Pandas 특정 조건 만족하는 행 추출하기.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Pandas Dataframe 활용 중 특정 조건을 만족하는 행만 추출하고 싶었다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; Pandas 라이브러리로 즐거운 데이터 생활을 하고 있으신 분들은 특정조건을 만족하는 행만 추출하거나 삭제하는 작업을 꽤 자주 수행하실 것이라 생각됩니다. 저 또한, 업무나 개인적으로 활용 중인 주식 투자 RPA와 같은 경우에 종종 사용하게 되는데요. 오늘은 그중에서도 특정 조건을 만족하는 (혹은 포함하는) 행만 추출하는 예제를 살펴보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;아마, 데이터 분석 업무를 하실 때 두고두고 사용하게 되실 것이라 사료됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘도 역시 사용할 파이썬 라이브러리는 Pandas가 되시겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pypi.org/project/pandas/&quot;&gt;https://pypi.org/project/pandas/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712238296269&quot; style=&quot;color: #333333; text-align: start;&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/beIBw3/hyS8o7IPXD/JN0M6J42cI5WK2G6vIAVc1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300&quot; data-og-url=&quot;https://pypi.org/project/pandas/&quot; data-og-source-url=&quot;https://pypi.org/project/pandas/&quot; data-og-host=&quot;pypi.org&quot; data-og-description=&quot;Powerful data structures for data analysis, time series, and statistics&quot; data-og-title=&quot;pandas&quot; data-og-type=&quot;website&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://pypi.org/project/pandas/&quot; data-source-url=&quot;https://pypi.org/project/pandas/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/beIBw3/hyS8o7IPXD/JN0M6J42cI5WK2G6vIAVc1/img.jpg?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;pandas&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;Powerful data structures for data analysis, time series, and statistics&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;pypi.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;데이터 분석이 필요한 경우에 Numpy와 더불어 거의 기본이 되는 라이브러리다 보니 파이썬으로 여러 가지 일을 하시는 분들이라면 한 번쯤 그 이름을 들어보셨을 테니 더 이상 부연설명이 필요하진 않을 것이라 생각됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;Pandas 라이브러리 하나만을 다룬 굉장히 두꺼운 책이 있을 정도로 Pandas는 다재다능한 기능을 가지고 있으니, 시간을 가지고 천천히 공부하시길 권해드립니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1712244341810&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Pandas를 이용한 데이터 분석 실습:라이브러리로 다양한 실제 데이터 분석&quot; data-og-description=&quot;COUPANG&quot; data-og-host=&quot;www.coupang.com&quot; data-og-source-url=&quot;https://link.coupang.com/a/bwGB41&quot; data-og-url=&quot;https://www.coupang.com/vp/products/6965041262&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dKcpKE/hyVJT4Toud/mW6Z7zEaoDcwak1yKpA721/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230,https://scrap.kakaocdn.net/dn/bApuvh/hyVJRMOLyz/Qg5q8eDxrGskYXFs2UfYHk/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230&quot;&gt;&lt;a href=&quot;https://link.coupang.com/a/bwGB41&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://link.coupang.com/a/bwGB41&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dKcpKE/hyVJT4Toud/mW6Z7zEaoDcwak1yKpA721/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230,https://scrap.kakaocdn.net/dn/bApuvh/hyVJRMOLyz/Qg5q8eDxrGskYXFs2UfYHk/img.jpg?width=230&amp;amp;height=230&amp;amp;face=0_0_230_230');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Pandas를 이용한 데이터 분석 실습:라이브러리로 다양한 실제 데이터 분석&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;COUPANG&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.coupang.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;pandas dataframe에서 특정 문자 포함 행 삭제하기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저, 데이터 프레임 처리를 위해 pandas 패키지를 import 하여 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pandas&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pd&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;다음으로, 데이터프레임에서 특정 열의 데이터가 조건보다 크거나 작을 때를 가정해 보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예시를 위해,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;원본 dataframe 변수명 : df&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;조건을 만족하는 열만 추출한 후 선언되는 dataframe 변수명 : df_sell&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;원본 dataframe에서 조건식을 걸 특정 열 : 'profit'&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이라고 하고,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;주식 투자 자동화 RPA에서 어떤 종목이 설정된 수익률을 초과하였을 때, df_sell이라는 dataframe 추출한 후 매도하는 시나리오라고 해보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 'profit' 열에서 수익률이 30 % 이상 초과한 경우 익절 하는 경우를 상정해 봅시다&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;원본 데이터프레임에서 위 조건을 만족하는 행을 추출해 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df_sell&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'profit'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] &amp;gt; 30.0&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckVL8v/btsGl2KDrA4/qLxJcI98RU0IznS0E8BF8K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckVL8v/btsGl2KDrA4/qLxJcI98RU0IznS0E8BF8K/img.jpg&quot; data-alt=&quot;참 쉽죠?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckVL8v/btsGl2KDrA4/qLxJcI98RU0IznS0E8BF8K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckVL8v%2FbtsGl2KDrA4%2FqLxJcI98RU0IznS0E8BF8K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;참 쉽죠?&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;참 쉽죠?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고, 수익률이 -10%를 하회하여 손절하는 경우도 생각해 보면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df_sell&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;=&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'profit'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] &amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-10.0&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;역시 간단히 정리할 수 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, 익절과 손절 조건 중 하나라도 만족하는 경우(OR 조건)인 경우는 어떻게 해야 할까요?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 두 개의 조건식을 각각 실행 후 dataframe을 합칠 수도 있겠지만, 간단하게 OR 조건을 걸어서 해결할 수도 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df_sell&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;=&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'profit'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] &amp;gt; 30.0&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;) | (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;df&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'profit'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;] &amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-10.0&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;dataframe에서 'OR' 조건은&amp;nbsp;&lt;span style=&quot;background-color: #f89009;&quot;&gt; |&amp;nbsp;&lt;/span&gt; 기호로 합니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이후, 추출된 df_sell을 가지고 매도를 하든 알람을 띄우든 하면 우리가 원하는 기능 완성입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #d4d4d4; text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 수익률 초과 OR 수익률 하회 종목 시장가 익절 / 손절&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #d4d4d4; text-align: start;&quot;&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;sellAllStock(&lt;span style=&quot;background-color: #1e1e1e; color: #9cdcfe; text-align: start;&quot;&gt;df_sell&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Slack 푸시 알람&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;slackOut(&quot;시장가 매도 발생, 잔고 확인&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고하시어, 즐거운 데이터 생활 되시길 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; &lt;b&gt;* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3c3d3f; text-align: left;&quot;&gt;&quot;이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도움이 되셨다면, 왼쪽 아래&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;' '&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;클릭 부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>맨땅에 프로그래밍/Python 복기장</category>
      <category>dataframe</category>
      <category>dataframe OR 조건식</category>
      <category>pandas 특정 조건 행 추출하기</category>
      <category>Python</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/46</guid>
      <comments>https://attack.tistory.com/46#entry46comment</comments>
      <pubDate>Thu, 4 Apr 2024 23:23:26 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신 알아보자 (1) - MODBUS 구조,역사, 특징</title>
      <link>https://attack.tistory.com/45</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신에 대해서 알아보자 (1) - MODBUS 역사, 특징.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd4PMf/btsGkqEp3g9/iUXOInpMDNV68Zyh4HKEY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd4PMf/btsGkqEp3g9/iUXOInpMDNV68Zyh4HKEY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd4PMf/btsGkqEp3g9/iUXOInpMDNV68Zyh4HKEY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd4PMf%2FbtsGkqEp3g9%2FiUXOInpMDNV68Zyh4HKEY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신 알아보자 (1) - MODBUS 역사&amp;amp;#44; 특징&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신에 대해서 알아보자 (1) - MODBUS 역사, 특징.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MODBUS 통신은 거의 모든 산업현장에서 빠지지 않는 통신 방식입니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번 시간에는 지난 포스팅에 이어 MODBUS 통신에 대해서 더 자세히 알아보도록 하겠습니다. &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;사실, 앞서 소개한 모드버스 통신의 bps, stop bit, Parity bit에 대한 내용 보다 이 내용이 먼저 나와야 하는 거 아닌가 하는 생각도 들긴 하는데요.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;현장에서 Modbus 통신을 다루시는 분들이라면, 통신 상호 간의 설정에 대해서 먼저 이해한 후에 모드버스 통신에 대해서 더 자세히 알아가는 것도 나쁘지 않을 것 같다는 생각에 이렇게 구성하게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;(* 모드버스 통신의 bps, Stop bit, Parity bit에 대한 내용은 이전 포스팅을 참고해 주세요.  )&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/43&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712149051454&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&quot; data-og-description=&quot;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/43&quot; data-og-url=&quot;https://datawizard.co.kr/43&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/43&quot; data-source-url=&quot;https://datawizard.co.kr/43&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/44&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712149072817&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자&quot; data-og-description=&quot;MODBUS 통신설정에서 빠지지 않는 변수가 있습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅에서는 지난 필드버스 통신 bps내용에 이어서 통신설정에서 빠지지 않는 변수인 Stop bit와 Parity에&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/44&quot; data-og-url=&quot;https://datawizard.co.kr/44&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dtlr9E/hyVJXsfSlg/v77B2CIYxyQUAyEkAGf0QK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/br8PI9/hyVJRFz6x1/ipuAXhlCJKWGOBSvSqmSfK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bnVmlU/hyVJ2AkPSg/eJgvOkX6r9JDkDVWS4ERUK/img.png?width=918&amp;amp;height=802&amp;amp;face=0_0_918_802&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/44&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/44&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dtlr9E/hyVJXsfSlg/v77B2CIYxyQUAyEkAGf0QK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/br8PI9/hyVJRFz6x1/ipuAXhlCJKWGOBSvSqmSfK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bnVmlU/hyVJ2AkPSg/eJgvOkX6r9JDkDVWS4ERUK/img.png?width=918&amp;amp;height=802&amp;amp;face=0_0_918_802');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS 통신설정에서 빠지지 않는 변수가 있습니다. 안녕하세요? 데이터위자드입니다. 이번 포스팅에서는 지난 필드버스 통신 bps내용에 이어서 통신설정에서 빠지지 않는 변수인 Stop bit와 Parity에&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럼 본론으로 들어가 MODBUS의 역사와 그 발자취에 대해서 먼저 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MODBUS 통신의 역사&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일전에 생산현장 필드버스에 대해서 설명하는 시간을 가졌을 때 Modbus 통신은 예전 Modicon 社에서 개발하고 대중에 보급한 통신방식이라는 것을 설명드린 적이 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(* 예전 필드버스 통신 관련 내용 아래 링크 참고해 주세요.)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;시작하기 - 생산현장에서의 통신(feat. 필드버스)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712149296996&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;시작하기 - 생산현장에서의 통신(feat. 필드버스)&quot; data-og-description=&quot;일상생활에서의 통신(Communication) 안녕하세요? 데이터 위자드 시모입니다. 이번 포스팅에서는 통신에 대해서 이야기해보도록 하겠습니다. 일상생활에서 통신이라면 전화, 인터넷, 문자, 이메일, &quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/5&quot; data-og-url=&quot;https://datawizard.co.kr/5&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MhbGF/hyVJRS7xgX/rA2ZindnFjTeQPGRkECGc0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zsSG1/hyVJV2gRt9/inhRBD1h4okkVTK6F8O0p1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmPSZ2/hyVJR6D4In/RS73lHTSufmtdTZN7tbhL1/img.png?width=659&amp;amp;height=576&amp;amp;face=0_0_659_576&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MhbGF/hyVJRS7xgX/rA2ZindnFjTeQPGRkECGc0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zsSG1/hyVJV2gRt9/inhRBD1h4okkVTK6F8O0p1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmPSZ2/hyVJR6D4In/RS73lHTSufmtdTZN7tbhL1/img.png?width=659&amp;amp;height=576&amp;amp;face=0_0_659_576');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;시작하기 - 생산현장에서의 통신(feat. 필드버스)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;일상생활에서의 통신(Communication) 안녕하세요? 데이터 위자드 시모입니다. 이번 포스팅에서는 통신에 대해서 이야기해보도록 하겠습니다. 일상생활에서 통신이라면 전화, 인터넷, 문자, 이메일,&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;더 자세한 내용을 알기 위해, 엔지니어의 언제나 좋은 친구인 Wikipedia와 Modbus organization에서 관련 내용을 더 찾아보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Modbus&quot;&gt;Modbus - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712149422256&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Modbus - Wikipedia&quot; data-og-description=&quot;From Wikipedia, the free encyclopedia Serial communications protocol mainly developed for programmable logic controllers Not to be confused with M-Bus. Modbus or MODBUS is a client/server data communications protocol in the application layer. It was origin&quot; data-og-host=&quot;en.wikipedia.org&quot; data-og-source-url=&quot;https://en.wikipedia.org/wiki/Modbus&quot; data-og-url=&quot;https://en.wikipedia.org/wiki/Modbus&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Modbus&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://en.wikipedia.org/wiki/Modbus&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Modbus - Wikipedia&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;From Wikipedia, the free encyclopedia Serial communications protocol mainly developed for programmable logic controllers Not to be confused with M-Bus. Modbus or MODBUS is a client/server data communications protocol in the application layer. It was origin&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;en.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 사이트에서는 모드버스에 대해서 다음과 같이 설명하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;nbsp;Modbus&amp;nbsp;or MODBUS is a client/server data&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Communications_protocol&quot;&gt;communications protocol&lt;/a&gt;&amp;nbsp;in the&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Application_layer&quot;&gt;application layer&lt;/a&gt;.&amp;nbsp;It was originally published by Modicon (now&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Schneider_Electric&quot;&gt;Schneider Electric&lt;/a&gt;) in 1979 for use with its&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Programmable_logic_controller&quot;&gt;programmable logic controllers&lt;/a&gt;&amp;nbsp;(PLCs).&amp;nbsp;Modbus has become a&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/De_facto&quot;&gt;de facto&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Standardization&quot;&gt;standard&lt;/a&gt;&amp;nbsp;communication protocol for communication between industrial&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Electronics&quot;&gt;electronic&lt;/a&gt;&amp;nbsp;devices in a wide range of buses and network. &lt;b&gt;&lt;i&gt;(by modbus @ wikipedia.org)&lt;/i&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;번역하자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;모드버스는 클라이언트/서버 데이터 커뮤니케이션 프로토콜로, 과거 Modicon 社에서 PLC에 사용을 위해 &lt;b&gt;1979년(!)&lt;/b&gt; 출시한 통신방식입니다. 현재는 산업 전반에 널리 사용되는 표준 통신 방식이 되었습니다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다소 의역이 있지만, 중요한 키워드로&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;1979년에 출시된 굉장히 유서 깊은 통신 방식이다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;산업 전반에 널리 사용되는 통신 방식이다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라는 내용을 꼽을 수 있겠네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;아마 한 번이라도 모드버스 통신 혹은 232 통신, 485 통신이라는 말을 들어본 분들이라면, 위에서 언급한 내용에 이견이 없으실 것이라 생각하는 바입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 위 설명 중에 눈에 띄는 단어가 있는데요. 바로 Application layer라는 단어입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;필드버스뿐 아니라 우리가 흔히 사용하는 통신 방식을 보다 보면 Application layer라는 용어가 흔하게 나오는 것을 보실 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;Application layer은 OSI-Model에서 말하는 네트워크 통신의 각각의 역할을 하는 각 계층 중에 7단계 계층(Layer)을 말하는 건데요. 사전적 의미는 다음과 같습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;An&amp;nbsp;application layer&amp;nbsp;is an&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Abstraction_layer&quot;&gt;abstraction layer&lt;/a&gt;&amp;nbsp;that specifies the shared&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Communication_protocol&quot;&gt;communication protocols&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Interface_(computing)&quot;&gt;interface&lt;/a&gt;&amp;nbsp;methods used by&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Host_(network)&quot;&gt;hosts&lt;/a&gt; in a communications network. &lt;br /&gt;&lt;i&gt;(by&amp;nbsp; &lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;application layer&lt;/span&gt;&amp;nbsp;@ wikipedia.org)&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://osi-model.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://osi-model.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712150545167&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The OSI-Model in a simple way&quot; data-og-description=&quot;The 7 Layers of the OSI Model. Learn about the OSI-Model trough a simple website! All the related protocols, services and general OSI Model info in one place&quot; data-og-host=&quot;osi-model.com&quot; data-og-source-url=&quot;https://osi-model.com/&quot; data-og-url=&quot;https://osi-model.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bv2YNE/hyVJ28asJe/KcVkOVXIlb1tbrlQ7FR2A1/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712,https://scrap.kakaocdn.net/dn/bz8IUP/hyVJWNEDNj/OGRpxEdiBxZPEbTsIYuOQk/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712&quot;&gt;&lt;a href=&quot;https://osi-model.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://osi-model.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bv2YNE/hyVJ28asJe/KcVkOVXIlb1tbrlQ7FR2A1/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712,https://scrap.kakaocdn.net/dn/bz8IUP/hyVJWNEDNj/OGRpxEdiBxZPEbTsIYuOQk/img.png?width=1332&amp;amp;height=712&amp;amp;face=0_0_1332_712');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;The OSI-Model in a simple way&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The 7 Layers of the OSI Model. Learn about the OSI-Model trough a simple website! All the related protocols, services and general OSI Model info in one place&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;osi-model.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;437&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L82Dk/btsGjRJc547/tiDEoxCUharVHkn36rZj9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L82Dk/btsGjRJc547/tiDEoxCUharVHkn36rZj9K/img.png&quot; data-alt=&quot;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L82Dk/btsGjRJc547/tiDEoxCUharVHkn36rZj9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL82Dk%2FbtsGjRJc547%2FtiDEoxCUharVHkn36rZj9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&quot; loading=&quot;lazy&quot; width=&quot;304&quot; height=&quot;437&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;437&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;OSI-Model의 네트워크 통신의 7개 계층(Layer) @ osi-model.com&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말해 각각 통신방식에서의 Protocol을 말하는 것입니다. MODBUS, HTTP, &lt;span style=&quot;background-color: #ffffff; color: #222222; text-align: left;&quot;&gt;DeviceNet, SMTP, IPOP&lt;/span&gt; 등이 있습니다. 컴퓨터 메일이나 인터넷 서핑을 할 때나 할 때 한 번쯤 들어본 내용일 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이는, 비유하자면 각 통신 방식이라는 사용하는 고유의 언어라고 이해하시면 될 것 같습니다. (각 통신 모듈이 MODBUS로 말하냐? DeviceNet으로 말하냐? Profibus로 말하냐?)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전 포스팅에서도 비슷한 비유를 들었던 것으로 기억합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/5&quot;&gt;시작하기 - 생산현장에서의 통신(feat. 필드버스)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712151412281&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MhbGF/hyVJRS7xgX/rA2ZindnFjTeQPGRkECGc0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zsSG1/hyVJV2gRt9/inhRBD1h4okkVTK6F8O0p1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmPSZ2/hyVJR6D4In/RS73lHTSufmtdTZN7tbhL1/img.png?width=659&amp;amp;height=576&amp;amp;face=0_0_659_576&quot; data-og-url=&quot;https://datawizard.co.kr/5&quot; data-og-source-url=&quot;https://datawizard.co.kr/5&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;일상생활에서의 통신(Communication) 안녕하세요? 데이터 위자드 시모입니다. 이번 포스팅에서는 통신에 대해서 이야기해보도록 하겠습니다. 일상생활에서 통신이라면 전화, 인터넷, 문자, 이메일,&quot; data-og-title=&quot;시작하기 - 생산현장에서의 통신(feat. 필드버스)&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/5&quot; data-source-url=&quot;https://datawizard.co.kr/5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MhbGF/hyVJRS7xgX/rA2ZindnFjTeQPGRkECGc0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/zsSG1/hyVJV2gRt9/inhRBD1h4okkVTK6F8O0p1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bmPSZ2/hyVJR6D4In/RS73lHTSufmtdTZN7tbhL1/img.png?width=659&amp;amp;height=576&amp;amp;face=0_0_659_576');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;시작하기 - 생산현장에서의 통신(feat. 필드버스)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;일상생활에서의 통신(Communication) 안녕하세요? 데이터 위자드 시모입니다. 이번 포스팅에서는 통신에 대해서 이야기해보도록 하겠습니다. 일상생활에서 통신이라면 전화, 인터넷, 문자, 이메일,&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이야기가 계속 다른 데로 새는 것 같아, Osi-Model과 각 Layer에 대한 자세한 내용은 다음에 기회가 되면 포스팅하도록 하겠습니다. (이것도 얘기하다 보면 3-4 편은 거뜬히 나오겠네요.. )&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이어서, Wikipedia의 Modbus 설명 중 다음 내용도 살펴보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Modbus is popular in industrial environments because it is openly published and&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Royalty-free&quot;&gt;royalty-free&lt;/a&gt;. It was developed for industrial applications, is relatively easy to deploy and maintain compared to other standards, and places few restrictions on the format of the data to be transmitted. &lt;i&gt;&lt;b&gt;(by modbus @ wikipedia.org)&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;모드버스의 가장 큰 장점으로 꼽히는 부분 그리고 모드버스 통신이 산업 전반에 표준으로 자리매김하게 된 이유가 여기에 설명이 되어 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;바로 royalty-free (라이선스 무료)라는 점인데요. Modicon 社의 대인배적인 면모를 보여준다고 할 수 있겠습니다. (다르게 본다면, 필드버스 생태계의 표준을 정립하기 위한 전략적인 통찰이라고 할 수도 있겠네요.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;또한, 여타 다른 필드버스 방식보다 배포의 편리성, 유지보수의 편리성 그리고 전송 시 데이터 형식에 제한이 적은 점 등을 장점으로 언급하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;결국, 이런 압도적인 장점으로 필드버스 세계에서 No. 1의 자리를 지키고 있는 것이 아닌가 싶습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;winner.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Do9sk/btsGkozPitI/6Kal7nnkWmZ6aHxElVOAi0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Do9sk/btsGkozPitI/6Kal7nnkWmZ6aHxElVOAi0/img.jpg&quot; data-alt=&quot;산업용 통신의 절대강자 Modbus @Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Do9sk/btsGkozPitI/6Kal7nnkWmZ6aHxElVOAi0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDo9sk%2FbtsGkozPitI%2F6Kal7nnkWmZ6aHxElVOAi0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;산업용 통신의 절대강자 Modbus @Pixabay&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;winner.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;산업용 통신의 절대강자 Modbus @Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;계속 이어 나가겠습니다. Modbus의 다른 특징으로서,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;The Modbus protocol uses&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Serial_port&quot;&gt;serial communication lines&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ethernet&quot;&gt;Ethernet&lt;/a&gt;, or the&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Internet_protocol_suite&quot;&gt;Internet protocol suite&lt;/a&gt;&amp;nbsp;as a transport layer.&amp;nbsp;Modbus supports communication to and from multiple devices connected to the same cable or Ethernet network. For example, there can be a device that measures temperature and another device to measure humidity connected to the same cable, both communicating measurements to the same&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computer&quot;&gt;computer&lt;/a&gt;, via Modbus. &lt;br /&gt;&lt;i&gt;&lt;b&gt;(by modbus @ wikipedia.org)&lt;/b&gt;&lt;/i&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;modbus 통신은 시리얼 통신, 이더넷 또는 인터넷 프로토콜을 transport layer로 사용한다고 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이게 뭔 말인가 하면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVToby/btsGlTZ8QhY/S3BOQtsWnIRNgKo2lBkg80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVToby/btsGlTZ8QhY/S3BOQtsWnIRNgKo2lBkg80/img.png&quot; data-alt=&quot;MODBUS communication stack @ modbus organization&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVToby/btsGlTZ8QhY/S3BOQtsWnIRNgKo2lBkg80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVToby%2FbtsGlTZ8QhY%2FS3BOQtsWnIRNgKo2lBkg80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS communication stack @ modbus organization&quot; loading=&quot;lazy&quot; width=&quot;825&quot; height=&quot;408&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;408&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MODBUS communication stack @ modbus organization&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 도표에서 보여주는 것과 같이,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;모드버스 통신은 소위 말하는 RS-232&amp;nbsp; / RS-485라 불리는 Serial 통신 방식(통상 Modbus RTU라고도 하죠.)이나 MODBUS TCP/IP와&amp;nbsp;같은 ethenet 기반(랜선 기반)의 Transport layer를 사용한다는 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이것은 예전에 필드버스에서 비유한 것과 같이,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 60px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #6ed3d8; color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;일상생활&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;필드버스&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;b&gt;물리적 방식(Transport Layer)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;E-mail, SNS, Fax, 전화, 문자, 우편...&lt;/td&gt;
&lt;td&gt;RS-232, RS-422, RS-485, Ethernet(RJ45)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef;&quot;&gt;&lt;b&gt;규약 (Protocol)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9;&quot;&gt;한국어, 영어, 불어, 중국어, 일본어....&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9;&quot;&gt;MODBUS, Profibus, Ethernet/IP, HART&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일상생활과 필드버스에서의 &lt;b&gt;Transport Layer와 Application Layer&lt;/b&gt;라고 이해하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그런데 만약 프로토콜이 서로 안 맞는다? 그럼 서로 불통의 결과를 초래하게 될 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8WpaE/btsGlXg9aib/uynl59zkdFoaqeJ2OImgu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8WpaE/btsGlXg9aib/uynl59zkdFoaqeJ2OImgu0/img.png&quot; data-alt=&quot;Protocol이 안맞는 것은 울트라리스크를 울리라 부르는 느낌이라 하겠습니다. &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8WpaE/btsGlXg9aib/uynl59zkdFoaqeJ2OImgu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8WpaE%2FbtsGlXg9aib%2Fuynl59zkdFoaqeJ2OImgu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Protocol이 안맞는 것은 울트라리스크를 울리라 부르는 느낌이라 하겠습니다. &quot; loading=&quot;lazy&quot; width=&quot;720&quot; height=&quot;530&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Protocol이 안맞는 것은 울트라리스크를 울리라 부르는 느낌이라 하겠습니다. &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;마치며,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅에서는 모드버스 통신의 역사와 특징에 대해서 알아보았습니다. 모드버스 통신이야 워낙 산업용 통신에서 대중적으로 사용되는 공기 같은 존재이기에 이러한 역사와 특징을 알고 가는 것이 사실 크게 의미 없는 것일 수도 있겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;하지만, 이왕 통신으로 데이터 깨나 주무르는 게 우리의 사명인 만큼, 원론적인 부분도 알고 가는 것이 더 유익한 데이터생활이 되지 않을까 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅에서 다룬 모드버스 통신의 역사와 특징을 정리하자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Modicon 사에서 1979년에 출시한 굉장히 유서 깊은 통신 방식이다.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;산업 전반에 널리 사용되는 통신 방식이다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RS-232/485 같은 시리얼 통신 방식이나 TCP/IP 같은 방식으로 사용 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;라이선스가 공짜다(!).&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정도로 이해하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 데이터위자드였습니다. 다음 포스팅에서도 MODBUS 통신에 대해서 더욱더 깊게 알아보는 시간을 갖도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>7 layer of network bus (osi-model)</category>
      <category>Application Layer 의미</category>
      <category>modbus 통신 역사</category>
      <category>modbus 통신 특징</category>
      <category>MODICON</category>
      <category>osi-model</category>
      <category>Transport Layer 뜻</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/45</guid>
      <comments>https://attack.tistory.com/45#entry45comment</comments>
      <pubDate>Wed, 3 Apr 2024 23:40:29 +0900</pubDate>
    </item>
    <item>
      <title>MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자</title>
      <link>https://attack.tistory.com/44</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zvGsB/btsGizVGyqh/bhs6SMGYQkZdljg3fQZvb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zvGsB/btsGizVGyqh/bhs6SMGYQkZdljg3fQZvb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zvGsB/btsGizVGyqh/bhs6SMGYQkZdljg3fQZvb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzvGsB%2FbtsGizVGyqh%2Fbhs6SMGYQkZdljg3fQZvb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;MODBUS 통신에서 Stop bit&amp;amp;#44; Parity bit에 대해서 알아보자&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MODBUS 통신설정에서 빠지지 않는 변수가 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;안녕하세요? 데이터위자드입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번 포스팅에서는 지난 필드버스 통신 bps내용에 이어서 통신설정에서 빠지지 않는 변수인 Stop bit와 Parity에 대한 내용을 소개하는 시간을 가져보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;(*이전 필드버스 bps 관련 내용은 아래 내용 참조하여 주세요.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/43&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712065209952&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&quot; data-og-description=&quot;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/43&quot; data-og-url=&quot;https://datawizard.co.kr/43&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/43&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/43&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS RTU(흔히 RS-485 통신이라 불리죠)에서 각 통신 모듈 상호 간에 bps, Stop bit, Parity와 같은 것을 맞춰야 통신이 된다는 말씀을 드린 적이 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전 가스감지기 통신 연결 관련 내용을 다루면서 언급했었던 적이 있고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kDqzw/btsGiPYmoBQ/nx7yYtEnW3DF6VNmpWIgj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kDqzw/btsGiPYmoBQ/nx7yYtEnW3DF6VNmpWIgj1/img.png&quot; data-alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kDqzw/btsGiPYmoBQ/nx7yYtEnW3DF6VNmpWIgj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkDqzw%2FbtsGiPYmoBQ%2Fnx7yYtEnW3DF6VNmpWIgj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot; loading=&quot;lazy&quot; width=&quot;678&quot; height=&quot;749&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;bps는 이전 포스팅에서 논하였으니 이번에는 Stop Bit와 Parity에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Stop bit와 Parity에 대해서 각각 알아보기보다는 MODBUS 통신의 전송 규칙에 대해서 먼저 알아볼 필요가 있습니다. 그것을 이해하면 Stop bit와 Parity에 대해서도 자연스럽게 이해하시게 될 테니까요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럼 본론으로 들어가 보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MODBUS 통신의 전송 규칙&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신에 대해서 가장 깊숙이 알고 싶다면, 단순무식하지만 가장 효과적인 방법이 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신의 총본산과 같은 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;modbus organization&lt;/b&gt;&lt;/span&gt; 홈페이지에서 관련 내용을 찾아보는 것인데요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://modbus.org/&quot;&gt;The Modbus Organization&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712065695822&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The Modbus Organization&quot; data-og-description=&quot;Note: You are seeing this text-only version of our site because you are using an older browser that is not standards-compliant. How to upgrade to a FREE standards-compliant browser. Some Netscape 7 and Mozilla users may see this warning in error. Click her&quot; data-og-host=&quot;modbus.org&quot; data-og-source-url=&quot;https://modbus.org/&quot; data-og-url=&quot;https://modbus.org/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://modbus.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://modbus.org/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;The Modbus Organization&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Note: You are seeing this text-only version of our site because you are using an older browser that is not standards-compliant. How to upgrade to a FREE standards-compliant browser. Some Netscape 7 and Mozilla users may see this warning in error. Click her&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;modbus.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;해당 홈페이지는 너무 전문적인 내용이 많아 전문적으로 개발 업무를 수행하시는 분들에게는 크게 도움이 되겠는데요. 하지만, 저희와 같이&amp;nbsp; 현장에서 통신 연결을 주무르게 되는 실사용자(End-User)에게는 오히려 너무 방대한 양의 정보가 심리적 압박을 줄 수 있을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;그러니,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;i&gt;&lt;b&gt;'이런 내용이 있구나.'&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하는 정도로 지나가면 맘이 편안해지실 겁니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;포기 짤.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NTqc1/btsGip6JV7x/Ca9tSLnVstAplVD5fbAKr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NTqc1/btsGip6JV7x/Ca9tSLnVstAplVD5fbAKr0/img.png&quot; data-alt=&quot;때로는 빠른 포기가 정신 건강에 도움이 될 수도 있습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NTqc1/btsGip6JV7x/Ca9tSLnVstAplVD5fbAKr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNTqc1%2FbtsGip6JV7x%2FCa9tSLnVstAplVD5fbAKr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;때로는 빠른 포기가 정신 건강에 도움이 될 수도 있습니다.&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;722&quot; data-filename=&quot;포기 짤.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;722&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;때로는 빠른 포기가 정신 건강에 도움이 될 수도 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하지만, '나는 모드버스 통신에 대해서 깊게 공부해 볼 거야.'라고 생각하는 유저분들이라면,&amp;nbsp; 아래 modbus organization 사이트에서 Modbus 통신 설명서(Specification)를 참조해 보시면 도움이 되실 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://modbus.org/specs.php&quot;&gt;Modbus Specifications and Implementation Guides&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712066417268&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Modbus Specifications and Implementation Guides&quot; data-og-description=&quot;Modbus Specifications and Implementation Guides Please review the following license agreement before down loading any MODBUS protocol or related documents from this web site. If you agree to the terms herein then you must click the &amp;quot;I ACCEPT&amp;quot; button below &quot; data-og-host=&quot;modbus.org&quot; data-og-source-url=&quot;https://modbus.org/specs.php&quot; data-og-url=&quot;https://modbus.org/specs.php&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://modbus.org/specs.php&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://modbus.org/specs.php&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Modbus Specifications and Implementation Guides&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Modbus Specifications and Implementation Guides Please review the following license agreement before down loading any MODBUS protocol or related documents from this web site. If you agree to the terms herein then you must click the &quot;I ACCEPT&quot; button below&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;modbus.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;MODBUS Protocol Specification 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bkzEvV/btsGks8SXmv/OrO2y5KeCNAYxo4XlPECh1/Modbus_Application_Protocol_V1_1b3.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Modbus_Application_Protocol_V1_1b3.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.78MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Modbus Serial Line Protocol and Implementation Guide V1.02 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/ZlQY0/btsGipyQEmn/QUiXI1JKPvcZFyKReA8u01/Modbus_over_serial_line_V1_02.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Modbus_over_serial_line_V1_02.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.25MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;해당 설명서와 실행 가이드 내용 중에서 오늘 주제인 Stop bit와 parity에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Modbus Serial Line Protocol and Implementation Guide V1.02의 12 페이지 내용을 보시면,&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOh2Jz/btsGkURC291/RZ6a5kPohrD6b0QkqsF110/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOh2Jz/btsGkURC291/RZ6a5kPohrD6b0QkqsF110/img.png&quot; data-alt=&quot;Modbus RTU 전송 모드 설명 @modbus.org&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOh2Jz/btsGkURC291/RZ6a5kPohrD6b0QkqsF110/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOh2Jz%2FbtsGkURC291%2FRZ6a5kPohrD6b0QkqsF110%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Modbus RTU 전송 모드 설명 @modbus.org&quot; loading=&quot;lazy&quot; width=&quot;918&quot; height=&quot;802&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Modbus RTU 전송 모드 설명 @modbus.org&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모드버스 통신으로 8 bit( 1 byte) 신호를 보낼 때, 실제 데이터인 8bit만 계속 보내는 것이 아니라,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Start bit = 1 bit&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;실제 데이터 = 8 bit (1 Byte)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Parity bit = 1 bit&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Stop bit = 1 bit&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;를 합쳐서 총 11 bit를 송신하게 되는 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기서 Start와 Stop bit는 통신 모듈 상호 간에 규약으로써, 통신 연결에 있어서 데이터만 계속 보내는 것이 아니라 시작과 끝을 Start &amp;amp; Stop bit로 포장하여 전송하여 상호 간 오류의 가능성을 줄여주는 역할을 하게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;비유하자면, 생산라인에서 포장되지 않은 제품을 계속 컨베이어로 흘려보내는 것이 아닌 Start &amp;amp; Stop bit라는 포장지로 묶음으로 보내주는 셈이라 할 수 있겠습니다. 따라서 받는 쪽에서는 제품 수량(데이터)에 이상이 없는지 더 확실하게 확인할 수 있을 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqzQIF/btsGiR9K3QX/56oTTwdeXq7HiculpfwK01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqzQIF/btsGiR9K3QX/56oTTwdeXq7HiculpfwK01/img.png&quot; data-alt=&quot;Start &amp;amp;amp; Stop bit 없는 데이터 전송 비유&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqzQIF/btsGiR9K3QX/56oTTwdeXq7HiculpfwK01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqzQIF%2FbtsGiR9K3QX%2F56oTTwdeXq7HiculpfwK01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;900&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Start &amp;amp; Stop bit 없는 데이터 전송 비유&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgwNv9/btsGjYNPfOl/MQLVABkN5kR0YySQfKlp60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgwNv9/btsGjYNPfOl/MQLVABkN5kR0YySQfKlp60/img.png&quot; data-alt=&quot;Start &amp;amp;amp; Stop bit 있는 데이터 전송 비유&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgwNv9/btsGjYNPfOl/MQLVABkN5kR0YySQfKlp60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgwNv9%2FbtsGjYNPfOl%2FMQLVABkN5kR0YySQfKlp60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Start &amp;amp; Stop bit 있는 데이터 전송 비유&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;900&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Start &amp;amp; Stop bit 있는 데이터 전송 비유&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;결국 이것은, 원활한 통신을 위한 통신 연결 상호 간에 규약(Protocol)의 일환이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다음으로 Parity입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Parity의 역할은 통신 전송에 있어서 오류가 있는지를 감별하기 위한 안전장치입니다. 필드버스의 경우 외부환경에 의한 어떠한 노이즈나 장애가 발생할 수 있는 가능성이 있기 때문에 이러한 장치를 두어 오류를 검출하는 수단으로 사용하는 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;그런 연유로 Parity bit는 Check bit라는 용어로도 불린다고 합니다. (하지만 Check bit라고 쓰여있는 제조사 문서는 실제로 본 적이 없네요.  )&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Parity bit는 설정에 따라,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;No Parity (N)&amp;nbsp; - Parity 사용 안 함. 대부분의 경우 기본값으로 사용&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Even(E) - 짝수 Parity&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Odd(O) - 홀수 Parity&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;패리티에 대한 내용은 Wikipedia에 잘 정리되어 있습니다. 자세한 내용이 알고 싶으시다면 아래 페이지를 공부해 보시길 권해 드립니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Parity_bit&quot;&gt;Parity bit - Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712069554616&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Parity bit - Wikipedia&quot; data-og-description=&quot;From Wikipedia, the free encyclopedia Bit added to a binary string for error detection 7 bits of data (count of 1-bits) 8 bits including parity even odd 0000000 0 00000000 00000001 1010001 3 10100011 10100010 1101001 4 11010010 11010011 1111111 7 11111111 &quot; data-og-host=&quot;en.wikipedia.org&quot; data-og-source-url=&quot;https://en.wikipedia.org/wiki/Parity_bit&quot; data-og-url=&quot;https://en.wikipedia.org/wiki/Parity_bit&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Parity_bit&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://en.wikipedia.org/wiki/Parity_bit&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Parity bit - Wikipedia&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;From Wikipedia, the free encyclopedia Bit added to a binary string for error detection 7 bits of data (count of 1-bits) 8 bits including parity even odd 0000000 0 00000000 00000001 1010001 3 10100011 10100010 1101001 4 11010010 11010011 1111111 7 11111111&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;en.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;패리티 Even과 odd의 검출 방식에 대해서는, 위 페이지에서 예시로 설명하고 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;707&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beybzd/btsGjlvZC1X/sEdc3kjeR4I4AmVb0tTxD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beybzd/btsGjlvZC1X/sEdc3kjeR4I4AmVb0tTxD1/img.png&quot; data-alt=&quot;Even Parity &amp;amp;amp; Odd Parity 예시 @ Wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beybzd/btsGjlvZC1X/sEdc3kjeR4I4AmVb0tTxD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbeybzd%2FbtsGjlvZC1X%2FsEdc3kjeR4I4AmVb0tTxD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Even Parity &amp;amp; Odd Parity 예시 @ Wikipedia&quot; loading=&quot;lazy&quot; width=&quot;606&quot; height=&quot;707&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Even Parity &amp;amp; Odd Parity 예시 @ Wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;간단히 설명드리자면,&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Even(짝수) 패리티인 경우, 송신 측 데이터에 패리티 비트를 0 혹은 1로 설정하여 송신하고 수신 측에서 '데이터 + 패리티 비트'를 수신하였을 때 수신값이 항상 짝수가 되는지 확인하는 것이며, Odd(홀수) 패리티는 그 반대로 수신값이 항상 홀수가 되는지를 확인하는 것입니다.&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사실 패리티에 대한 내용은 저희 같은 현장 사용자들에게는 깊게 알아야 할 부분은 아니라 생각됩니다. 그저, Parity bit 통신 오류를 검출하는 방식이고, 통신 모듈 상호 간에 맞춰야한다는 것만 이해하시면 될 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;마치며,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅에서는 현장에서 사용하는 MODBUS RTU 통신 모듈의 상호 간 연결을 하기 위한 설정중 하나인, Stop bit와 Parity bit에 대해서 알아보았습니다. 앞서 말씀드린 바와 같이, 현장 실사용자에게는 그런 기능이 있구나 정도로만 가볍게 이해하는 선에서 가져가면 되지 않을까 하는 생각입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정리하자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 60px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style4&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;Start &amp;amp; Stop Bit&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;데이터 전송의 시작과 끝을 알리는 Bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 40px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 40px;&quot;&gt;Parity bit&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 40px;&quot;&gt;송수신 과정에서 데이터에 오류가 없는지 확인하기 위한 Bit.&lt;br /&gt;Even(짝수)와 Odd(홀수)가 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정도로 이해하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 또 하나의 변수인 bps에 대해서는 이전 포스팅을 참조하여 주시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1;&quot; href=&quot;https://datawizard.co.kr/43&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1712070420795&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749&quot; data-og-url=&quot;https://datawizard.co.kr/43&quot; data-og-source-url=&quot;https://datawizard.co.kr/43&quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-description=&quot;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&quot; data-og-title=&quot;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&quot; data-og-type=&quot;article&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://datawizard.co.kr/43&quot; data-source-url=&quot;https://datawizard.co.kr/43&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c1dH4w/hyVJWzTurw/IKyTmrHth1CxWF7oaw6tWk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b9dLs9/hyVGIcbz5l/gloFX6YK2RkCyLhmbMeDJK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/sZdJD/hyVJSqJH1A/vNOkBA99CbSS8lOckzABz0/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 데이터위자드였습니다. 다음으로는 MODBUS 통신에 대해서 더 자세히 알아보는 시간을 갖도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; &lt;b&gt;* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>bps 의미</category>
      <category>Even Odd parity 차이</category>
      <category>Modbus Organization</category>
      <category>MODBUS Protocol Specification</category>
      <category>Modbus Serial Line Protocol and Implementation Guide</category>
      <category>MODBUS 설정 방법</category>
      <category>modbus.org</category>
      <category>Parity bit 의미</category>
      <category>Stop bit 의미</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/44</guid>
      <comments>https://attack.tistory.com/44#entry44comment</comments>
      <pubDate>Wed, 3 Apr 2024 00:14:57 +0900</pubDate>
    </item>
    <item>
      <title>필드버스 통신에서 bps의 의미 (a.k.a baud rate)</title>
      <link>https://attack.tistory.com/43</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;필드버스 bps 의미(a.k.a baud rate).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GgPHD/btsGe7rR4ZJ/mpDkB2kVN0tTo8c7hvvPG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GgPHD/btsGe7rR4ZJ/mpDkB2kVN0tTo8c7hvvPG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GgPHD/btsGe7rR4ZJ/mpDkB2kVN0tTo8c7hvvPG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGgPHD%2FbtsGe7rR4ZJ%2FmpDkB2kVN0tTo8c7hvvPG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;필드버스 통신에서 bps의 의미 (a.k.a baud rate)&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;480&quot; data-filename=&quot;필드버스 bps 의미(a.k.a baud rate).png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데?&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;일전에, Gastron 가스감지기의 Python 통신연결 예제를 설명드리면서, 잠시 언급된 적이 있었을 텐데요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bps (혹은 baud rate)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Stop bit&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Parity&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;가 그것입니다. (*관련 내용은 아래 이전 포스팅을 참조해 주세요)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/37&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://datawizard.co.kr/37&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1711975910637&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;가스트론 Gas Detector에 Modbus 485 통신으로 연결하고 Python으로 데이터 가져오기&quot; data-og-description=&quot;문제 인식 : 현장에 있는 Gastron 가스감지기 수신반에서 나오는 데이터를 모드버스 RS-485 통신으로 연결하고 Python으로 데이터를 가져오는 시스템을 구성하고 싶다. 이번 포스팅에서는, 모 블로그 &quot; data-og-host=&quot;datawizard.co.kr&quot; data-og-source-url=&quot;https://datawizard.co.kr/37&quot; data-og-url=&quot;https://datawizard.co.kr/37&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b1mEYR/hyVGRUiXcd/EU3DwI2gdlbuYEkLDDvkuK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b8xVyy/hyVGJoq91m/IluhYOVws8nBQswcnj9CZ1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/N0yxG/hyVGIQClW4/yfhJoDEEe5RZni917ge2iK/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749&quot;&gt;&lt;a href=&quot;https://datawizard.co.kr/37&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://datawizard.co.kr/37&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b1mEYR/hyVGRUiXcd/EU3DwI2gdlbuYEkLDDvkuK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b8xVyy/hyVGJoq91m/IluhYOVws8nBQswcnj9CZ1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/N0yxG/hyVGIQClW4/yfhJoDEEe5RZni917ge2iK/img.png?width=678&amp;amp;height=749&amp;amp;face=0_0_678_749');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;가스트론 Gas Detector에 Modbus 485 통신으로 연결하고 Python으로 데이터 가져오기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제 인식 : 현장에 있는 Gastron 가스감지기 수신반에서 나오는 데이터를 모드버스 RS-485 통신으로 연결하고 Python으로 데이터를 가져오는 시스템을 구성하고 싶다. 이번 포스팅에서는, 모 블로그&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;datawizard.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그중에서 이번 시간에는 bps(a.k.a baud rate)에 대해서 이야기해 보겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로 baud rate는 '보 레이트'라고 읽습니다. 소싯적에 '바우드 레이트'라고 읽었다가 한동안 선배한테 놀림받았던 기억이 있네요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignCenter&quot; data-emoticon-type=&quot;friends1&quot; data-emoticon-name=&quot;048&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/048.gif&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends1/large/048.gif&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bps는 bit per second(초당 비트수)의 약자입니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;bps를 이해하기 앞서 먼저 bit에 대해서 이해할 필요가 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;bit는 컴퓨터에서 흔히 사용되는 2진수에서 하나의 신호의 단위입니다. 보통 binary 혹은 discrete라고 표현되는 0과 1의 신호를 말하는 것이죠. 혹은 bool 대수에서 참(True = 1)과 거짓(False = 0)을 의미하기도 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;갑자기, 컴퓨터 2진수 binary 하니깐 당혹스러우실 텐데요. 실생활에서 비유하자면 이런 것이지요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;전등이 켜진 상태를 1, 꺼진 상태를 0으로 표현하는 2진법 신호체계&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;lamp.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDCsF8/btsGe8YwVmI/DsO9tKdkBIx9cKkhy8XPmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDCsF8/btsGe8YwVmI/DsO9tKdkBIx9cKkhy8XPmk/img.png&quot; data-alt=&quot;전등이 켜지면 1, 꺼지면 0 @Pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDCsF8/btsGe8YwVmI/DsO9tKdkBIx9cKkhy8XPmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDCsF8%2FbtsGe8YwVmI%2FDsO9tKdkBIx9cKkhy8XPmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;전등이 켜지면 1&amp;amp;#44; 꺼지면 0 @Pixabay&quot; loading=&quot;lazy&quot; width=&quot;479&quot; height=&quot;366&quot; data-filename=&quot;lamp.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;978&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;전등이 켜지면 1, 꺼지면 0 @Pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라 비유하면 이해가 빠르실 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1 bit는 2진법 신호의 기본 단위&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라 이해하시면 되겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;따라서, 통신에서 말하는 bps(bit per second)는&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;1초당 전송하는 bit의 수&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;가 되겠습니다. 위 예제의 내용을 예를 들어 보자면, MODBUS에서 주로 사용하는 전송속도인 9600 bps는 초당 9600 bit를 전송하는 속도라 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럼 한 가지 의문이 생길 것입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;9600 bps의 통신속도는 그럼 얼마나 되는 거지?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;9600 bps의 통신속도는 말 그대로 초당 9600개의 bit를 전송한다는 뜻인데, 이것만 봐서는 크게 감이 오질 않으실 겁니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;bps 것은 우리가 보통 가정에서 사용하는 인터넷 속도에서도 사용되는데요. 인터넷 속도에 관심이 있으신 분들이라면, 100 Mbps라든지, 500 Mbps라든지, 1 Gbps라든지 하는 것들을 눈여겨보신 경험이 있으실 겁니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tKktg/btsGidYqK0v/5kaqilduSj5d488Pszsbgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tKktg/btsGidYqK0v/5kaqilduSj5d488Pszsbgk/img.png&quot; data-alt=&quot;저희 집 인터넷은 약 100M bps가 나오네요.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tKktg/btsGidYqK0v/5kaqilduSj5d488Pszsbgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtKktg%2FbtsGidYqK0v%2F5kaqilduSj5d488Pszsbgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;680&quot; height=&quot;387&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;387&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;저희 집 인터넷은 약 100M bps가 나오네요.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;보통 컴퓨터에서 사용하는 자료형이 bit 아닌 byte를 감안하면(1 byte = 8 bit), 100 Mbps는 초당 약 12.5 MB를 전송할 수 있는 속도가 되겠습니다. (아마, 100 Mbps를 사용 중이신 분들은 다운로드 시에 그 정도 속도가 나오는 것을 체감하셨으리라 생각됩니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이야기가 살짝 샌 거 같긴 한데,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;그럼 100 Mbps에 비하면 9600 bps는 너무 느린 거 아닌가?&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사실, 인터넷 속도와 현장에서 사용 중인 필드버스를 서로 비교한다는 것이 의미가 없을 수 있겠습니다. 9600 bps 라 할지라도 실제 PLC나 Device 간의 통신연결에서 주고받는 데이터의 크기를 생각한다면 크게 느리지 않은 속도라 할 수 있겠습니다. (물론, 더 많은 양의 정보를 한 번에 그리고 자주 가져오길 원한다면 더 높은 bps로 설정하는 것이 바람직하다 할 수 있겠습니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;앞서 소개한 가스트론의 가스감지기의 매뉴얼을 보자면,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uBxy9/btsGhpLTfTT/bYV4Ti9D3vK7qcKt8jqp6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uBxy9/btsGhpLTfTT/bYV4Ti9D3vK7qcKt8jqp6K/img.png&quot; data-alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uBxy9/btsGhpLTfTT/bYV4Ti9D3vK7qcKt8jqp6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuBxy9%2FbtsGhpLTfTT%2FbYV4Ti9D3vK7qcKt8jqp6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&quot; loading=&quot;lazy&quot; width=&quot;678&quot; height=&quot;749&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;749&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;특정 Data를 담고 있는 개별 address에서 나오는 정보가 8 bit 인 점을 감안한다면, 단순 계산으로는 9600 &amp;divide; 8 = 1200 개의 신호를 매초 전송할 수 있다는 의미가 될 것입니다. (Start / Stop bit나 Parity 등으로 실제 속도는 더 늦겠지만 개념상 설명드린 내용입니다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;만약, RS-485 통신으로 1대 다수의 통신이 연결된 환경에서 각 통신 모듈에서 가져오는 정보가 많지 않고 빈번한 갱신을 요구하지 않는다면, 현장에서 9600 bps의 연결이라도 실사용에는 크게 무리가 없을 수준이라 하겠습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-size=&quot;size18&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;그럼 통신 속도는 왜 맞추어야 하는 거지?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;위 예시에서 볼 수 있듯이, PLC나 Loader PC에서 각 Device로 필드버스 통신 연결 시에 통신속도를 상호 맞추는 작업을 필수적으로 수행하게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면, 통신 속도를 연결하지 않으면 어떻게 될까요?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;답은 통신이 안될 수 있다.&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;현장에서 각 모듈의 통신 속도를 상호 매칭시키는 것이 일반적이기 때문에 저 역시 정확히 어떠한 연유로 통신이 안되는지는 정확히 설명하지는 못할 거 같습니다. 그보다 상호 통신 속도를 일치시키지 아니 되는 이유에 대해서도 생각해 본 적이 없고요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;baud rate는 어떤 의미인지?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;통신연결 관련 매뉴얼이나 카탈로그를 보면 baud rate와 bps를 혼용하여 명기하는 경우를 자주 볼 수 있습니다. 거의 대부분의 경우 baud rate는 bps와 거의 동일한 의미로 사용되는데요. 정확히는 서로 다른 개념이긴 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style3&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;bps(Bit per Second)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;baud rate&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;초당 비트수&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;초당 신호(Signal) 수&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;baud rate의 정의는,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1초당 보내는 신호(signal)의 수&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;를 의미합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다만, 거의 대부분의 경우 baud rate에서 말하는 signal의 기본단위가 bit인 경우가 많기 때문에 baud rate = bps라고 흔히 일컫게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;하지만, baud rate는 상황에 따라 변동될 소지가 있습니다. 만약,&amp;nbsp; &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot;&gt;ASCII Code를 사용할 경우 신호(signal)의 기본 단위가 byte가 되기 때문에 이 경우 9600 bps = 1200 baud rate가 되는 경우를 예로 들 수 있겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef6f53;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;마치며,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이번 포스팅에서는 필드버스를 사용함에 있어 접하게 되는 bps와 baud rate에 대해서 알아보았습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;현장에서 보통 당연하게 혹은 의문을 가지지 않고 사용하는 개념이다 보니, bps와 baud rate에 대해서 논하는 것이 쉽지 않았지만, 현장에서 통신을 가지고 다양한 작업을 수행하시는 분들이라면 한 번쯤 정리해 둘 필요가 있는 개념이라 생각하는 바입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 다음 포스팅에서는, bps에 이어서 통신 연결시에 설정하게 되는 Stop bit, Parity의 개념에 대해서 정리하도록 하겠습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;' ' 도움이 되셨다면 공감 클릭&amp;nbsp;부탁드립니다.&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>공장 자동화/통신</category>
      <category>bit byte 차이</category>
      <category>bps baud rate 차이</category>
      <category>bps(bit per second)</category>
      <category>MODBUS 통신 설정</category>
      <category>필드버스 통신 설정</category>
      <author>데이터위자드</author>
      <guid isPermaLink="true">https://attack.tistory.com/43</guid>
      <comments>https://attack.tistory.com/43#entry43comment</comments>
      <pubDate>Mon, 1 Apr 2024 23:41:32 +0900</pubDate>
    </item>
  </channel>
</rss>