c# 으로 S7netplus 라이브러리 받아서 개발 중인 초보 PLC 개발자 입니다.
Connection 부분은 문제 없이 되구, Write 테스트 하는데 막히는 부분이 있어서 질문드려요
_plc.Write("MW0", (short)8);
이렇게 쓰면 MW0 영역에만 써지는게 맞는데, MW1 영역에는 왜 써지는 걸까요?
추가 내용)
저는 라이브러리가 잘못된줄알았는데, Siemes가 제공하는 TIA Tool 에서 값을 줘도 동일한 문제가 발생하네요.
아마 Siemens가 다른 제조사 PLC들과 메모리 체계 방식이 다른거 같아서 혼동이 오네요..
10진수 255 값을 MW0 주소에 Write했을 때는 다음 주소(MW1) 까지 영향을 주지만, 256 이상 값을 쓰면 다음 주소 값에 영향을 안주네요.
1. MW0 에 10진수 12를 Write 했을 때
2. MW0 에 10진수 256를 Write 했을 때,
소스 첨부)
서명
¹®Á¦°¡ ÀÖ´Â °÷ ±ÙóÀÇ Äڵ带 °°ÀÌ º¸¿©Áֽøé ÇØ°á¿¡ µµ¿òÀÌ µÉ°Ì´Ï´Ù.
±×·¯´Ï±î %MW0¿¡ °ª ¹üÀ§°¡ ³ÑÁö ¾ÊÀº °ªÀ» ³Ö¾ú´Âµ¥ %MW1ÀÇ °ªÀÌ ¿Ö º¯ÇÏ³Ä ¶ó´Â À̾߱â½Å°Ç°¡¿ä?(Siemens S7 PLCÀÇ 1 ¿öµå´Â 16ºñÆ®ÀÔ´Ï´Ù.)
16bit¸é 8À̶õ °ªÀ» ÀÔ·Â ÇßÀ»¶§, ÇØ´ç ÁÖ¼Ò(%MW0)¿¡¸¸ Ç¥Çö µÇ´Â°Ô ¸ÂÁö ¾Ê³ª ½Í¾î¼¿ä.
ÇöÀç±îÁö ¸î °¡Áö case·Î Å×½ºÆ®ÇßÀ» ¶§,
Simens S7 PLC¿¡¼ ¿öµå Çü½ÄÀÇ µ¥ÀÌÅ͸¦ ÀÐ°í ¾µ ¶§´Â ¦¼ö ¾îµå·¹½º ±âÁØÀ¸·Î Write Çϸé, Ȧ¼ö ¹øÈ£ÀÇ ÁÖ¼Ò °ªÀº ¹èÁ¦ÇÏ´Â°Ô ¸Â´Â°Å °°¾Æ¿ä.
´Ù¸¥ ¿¹·Î ´õºí ¿öµåÀÇ °ªÀ» %MW0 ¿¡ ÀûÀ¸¸é, MW0, MW1, MW2, MW3 ÀÇ °ªµéÀÌ ¸ðµÎ ¹Ù²î³×¿ä.
ÀÌ ¸»Àº (%MW0, %MW1) °¡ 1 Word ¿¡ ÇÊ¿äÇÑ ÁÖ¼Ò°ªÀ̶õ ¾ê±â°í, Tool »ó ¿¡¼ Bin °ªÀ¸·Î È®ÀÎÇغÁµµ 32bit ¸¦ ¸ðµÎ »ç¿ëÇÏ´Â°Ô Çò°¥¸®³×¿ä.