6 절 제목 페이지 6.1 기능블록을통한통신 6-2 6.2 기능블록개요 6-2 6.3 기능블록의사용 6-4 6.4 기능블록의파라미터화 6-42 6.5 프로그램처리관련일반정보 6-47 6.6 기능블록의기술사양 6-48 지점간통신 CP 341 6-1
6.1 기능블록을통한통신 CPU, CP 341, 통신파트너사이의통신은 CP 341 의기능블록과프로토콜을통해 이루어집니다. 통신 CPU 와 CP 341 기능블록은 CPU 와 CP 341 사이에서소프트웨어인터페이스를구성합니다. 기능블록은사용자프로그램에서돌아가며호출해야합니다. 통신 CP 341과통신파트너전송프로토콜은 CP 341에서번역됩니다. 전송프로토콜을사용하면 CP 341의인터페이스를통신파트너의인터페이스에적용할수있습니다. 그러면모뎀또는 SIMATIC S5에서사용할수있는표준프로토콜 (ASCII 드라이버, 3964(R) 프로시저, RK 512 컴퓨터연결 ) 을취급할수있는모든통신파트너와 S7 자동화시스템을연결할수있습니다. 인터럽트응답 프로세스 (OB 40) 또는진단 (OB 82) 인터럽트시의 CP 341 기능블록호출은 허용되지않습니다. 6.2 기능블록개요 S7-300 프로그래머블컨트롤러를사용하면 CPU 와 CP 341 통신프로세서사이의 통신을사용자프로그램에서시작, 제어하는여러기능블록을사용할수있습니다. 기능블록 / 기능 다음표에는 CP 341 의기능블록 / 기능과그목적에관한설명이나와있습니다. 표 6-1 CP 341 의기능블록 / 기능 FB/FC 의미프로토콜 FC 5 V24_STAT (version 2.0) FC 6 V24_SET (version 2.0) CP 341-RS 232C의 RS 232C 인터페이스에서 V24_STAT 기능을사용해서시그널상태를읽을수있습니다. V24_SET 기능을사용하면 CP 341-RS 232C의 RS 232C 인터페이스출력을설정 / 리셋할수있습니다. ASCII 드라이버 ASCII 드라이버 6-2 지점간통신 CP 341
표 6-1 CP 341 의기능블록 / 기능, 계속 FB/FC 의미프로토콜 FB 7 P_RCV_RK FB 8 P_SND_RK P_RCV_RK 기능블록을사용하면통신파트너에서데이터를수신한후데이터블록에넣거나통신파트너에전송할데이터를준비할수있습니다. P_SND_RK 기능블록을사용하면데이터블록의영역또는서브영역전체를통신파트너로송신하거나통신파트너에서데이터를페칭할수있습니다. 3964(R) 프로시저, ASCII 드라이버, RK 512 컴퓨터연결 3964(R) 프로시저, ASCII 드라이버, RK 512 컴퓨터연결 공급및설치범주 CP 341의기능블록은파라미터화인터페이스및프로그래밍예와함께이설명서와함께제공되는 CD에들어있습니다. 기능블록은파라미터와인터페이스와함께설치됩니다. 설치에관한설명은 5.2절을참조하십시오. 설치가끝난기능블록은라이브러리에저장됩니다. CP341: FC 5 V24_STAT 와 FC 6 V24_SET ( 버전 2.0) FB 7 P_RCV_RK 와 FB 8 P_SND_RK 라이브러리는 CP PTP\ CP 341\ 블록에서 STEP 7 SIMATIC 관리자의 File > Open > Library를선택하면열수있습니다. 기능블록관련작업을수행하려면, 프로젝트에필요한기능블록을복사하기만하면됩니다. 허용되는 FB 및 FC 버전 허용되는기능블록과기능에관한다음경고를참조하십시오. 경고 CP 341에서허용되는 FC 5 V24_STAT와 FC 6 V24_SET 기능버전은버전 2.0 뿐입니다. 이기능의버전 1.0을사용하면데이터일관성문제가생길수있습니다. 기능블록 FB 7 P_RCV_RK와 FB 8 P_SND_RK을이용한데이터전송은 CP 341에서만허용됩니다. CP 340에서기능블록 FB 2 P_RCV와 FB 3 P_SEND를사용하면데이터일관성문제가발생할수있기때문에이조합은허용되지않습니다. 지점간통신 CP 341 6-3
6.3 기능블록의사용 다음부분에는기능블록에파라미터를제공할때에고려해야하는사항에관한 설명이나와있습니다. FB 에서의 STATUS 표시 기능블록의 STATUS 표시에관한다음사항을참조하십시오. 파라미터 DONE, NDR, ERROR, STATUS 은한모듈실행에만해당됩니다. 따라서 STATUS 를표시하려면먼저빈데이터영역에복사해야합니다. DONE = 1 은요청이에러없이완료된것을나타냅니다. 즉 : ASCII 드라이버의경우 : 요청이통신파트너로송신되었습니다. 그렇다고통신파트너에서데이터를수신한것을의미하는것은아닙니다. 3964( R ) 프로시저의경우 : 통신파트너로요청이송신되고긍정적인인지가반환되었습니다. 그렇다고데이터가파트너 CPU로중계된것을의미하는것은아닙니다. RK 512 컴퓨터연결의경우 : 요청이통신파트너로송신된후에러없이파트너 CPU로전송되었습니다. 6.3.1 3964(R) 프로시저에서의기능블록사용 3964(R) 프로시저를이용한통신파트너연결에는다음과같은기능블록을사용할수있습니다. 사용됩니다. 데이터전송에는 FB 8 P_SND_RK 데이터수신에는 FB 7 P_RCV_RK 6-4 지점간통신 CP 341
요청의병렬처리사용자프로그램의각 CP 341에는한 FB P_SND_RK와한 FB P_RCV_RK만을프로그래밍할수있습니다. 사용이다음만으로제한된다는점에도주의해야합니다. FB P_SND_RK에 1 인스턴스데이터블록 FB P_RCV_RK에 1 인스턴스데이터블록그이유는 FB 내부루틴에필요한상태가인스턴스데이터블록에저장되기때문입니다. 데이터일관성데이터일관성은 CPU와 CP 341 사이의데이터전송블록크기에의해 32 바이트로제한됩니다. 32 바이트를넘는데이터를일관적으로전송하는데에는다음과같은사항이적용됩니다. 송신기 : 데이터를모두전송할때까지 (DONE = 1) 전송 DB에액세스하지마십시오. 수신기 : 데이터를모두수신할때까지 (NDR = 1) 수신 DB에액세스하지마십시오. 수신이끝나면데이터처리가끝날때까지수신 DB (EN_R = 0) 을막아두어야합니다. S7에서통신파트너로데이터송신, FB P_SND_RK FB P_SND_RK는파라미터 DB_NO, DBB_NO, LEN으로지정되는데이터블록의데이터를 CP 341로전송합니다. FB P_SND_RK는데이터전송시에주기내에서호출할수도있고, 타이머구동프로그램에서 ( 조건없이 ) 또는정적으로호출할수도있습니다. 데이터전송은 REQ 입력에양의에지가생기면시작됩니다. 관련데이터의양에따라서는여러호출을통해 ( 프로그램주기 ) 데이터전송작업을수행할수도있습니다. 주기중에는 R 파라미터의입력이 1 이되면 P_SND_RK 기능블록 (FB) 을호출할수있습니다. 그러면 CP 341에대한전송이취소되고, P_SND_RK FB가다시초기상태로설정됩니다. CP 341에서이미수신한데이터는통신파트너로송신됩니다. R 입력이정적으로시그널상태 1 을나타내면송신이꺼져있는것입니다. LADDR 파라미터는어드레싱할 CP 341의어드레스를지정합니다. 지점간통신 CP 341 6-5
FB P_SND_RK에서의에러표시 DONE 출력은 요청이에러없이완료된것 을나타냅니다. ERROR는에러발생여부를나타냅니다. 에러가발생한경우에는 STATUS(8.3절참조 ) 에해당이벤트번호가표시됩니다. 에러가발생하지않은경우에는 STATUS의값이 0이됩니다. DONE과 ERROR/STATUS는 FB P_SND_RK의 RESET에대한응답으로도출력됩니다 ( 그림 6-5 참조 ). 에러가발생한경우에는 BR의이진결과값이리셋됩니다. 블록이에러없이종료된경우에는이진결과값이 1 로고정됩니다. P_SND_RK 기능블록에는파라미터점검이없습니다. 즉, 잘못된파라미터가있는경우에는 CPU가 STOP 모드로전환될수있습니다. CPU가 STOP에서 RUN 모드로변경된후 CP 341에서활성요청을처리하려면먼저 P_SND_RK FB의 CP CPU 시동메커니즘을완료해야합니다 (6.5절참조 ). 메커니즘에서시작된모든요청은소실되지않습니다. 이요청은 CP 341의시동조정이완료되면전송됩니다. 수행작업 블록호출 6-6 지점간통신 CP 341
파라미터 EN과 ENO는그래픽표시 (LAD 또는 FBD) 에서만나타납니다. 이런파라미터의처리에는컴파일러의이진결과 BR이사용됩니다. 블록이에러없이종료되면이진결과의시그널상태가 1 로설정됩니다. 에러가발생하면 BR이 0 으로설정됩니다. 데이터영역내지정사항 P_SND_RK FB는인스턴스 DB I_SND_RK와함께작동합니다. DB 번호는호출내에지정됩니다. 인스턴스 DB의길이는 62바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 예외 : 에러 STATUS == W#16#1E0F가발생한경우에는 SFCERR 변수에서에러에관한자세한내용을찾아볼수있습니다 (8.3절참조 ). 이에러변수는인스턴스 DB에대한기호액세스를통해서만로드할수있습니다. 지점간통신 CP 341 6-7
파라미터, FB P_SND_RK 다음표에는 P_SND_RK FB 의파라미터목록이나와있습니다. R_CPU_NO, R_TYP, R_NO, R_OFFSET, R_CF_BYT, R_CF_BIT 파라미터는 3964(R) 프로시저에서별로의미를갖지못하기때문에무시할수있습니다. 송신의경우에는 SF 파라미터가기본적으로 S 이기때문에, 이값도무시할수있습니다. 표 6-2 P_SND_RK FB 의파라미터 이름유형데이터 유형 설명 허용되는값, 비고 REQ INPUT BOOL 양의에지에서요청을시작합니다. R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 송신이차단됩니다. LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다. DB_NO INPUT INT 데이터블록번호 송신 DB 번호 ; CPU별, (0은허용되지않습니다 ) DBB_NO INPUT INT 데이터바이트번호 0 _ DBB_NO _ 8190 데이터를데이터워드로전송합니다 LEN INPUT INT 데이터길이 1 _ LEN _ 1024, 바이트수로지정됩니다 DONE 1 OUTPUT BOOL 에러없이요청이완료되었습니다. 에러 1 OUTPUT BOOL 요청이완료되었으나 에러가발생했습니다. STATUS 파라미터 == 16#00; STATUS 파라미터에오류에 관한상세정보가포함됩니다, STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에오류에관한상세정보가포함됩니다, 1 파라미터는다음으로 FB를호출할때까지사용할수있습니다. 6-8 지점간통신 CP 341
P_SND_RK FB 의시간순서도 다음그림은 REQ 와 R 입력의배선방법에따른 DONE 과 ERROR 파라미터의 동작을나타냅니다. 그림 6-1 시간순서도, 8 P_SND_RK FB REQ 입력은에지로발동됩니다. REQ 입력에생기는양의에지를사용합니다. 전송 프로시저내내 RLO( 논리작동결과 ) 를 1 로유지할필요는없습니다. 지점간통신 CP 341 6-9
통신파트너로부터의 S7 데이터수신, FBP_RCV_RK P_RCV_RK FB는 CP 341에서파라미터 DB_NO, DBB_NO, LEN에지정된 S7 데이터영역으로데이터를전송합니다. P_RCV_RK FB는데이터전송시에주기내에서호출할수도있고, 타이머구동프로그램에서 ( 조건없이 ) 정적으로호출할수도있습니다. EN_R의 ( 정적 ) 시그널상태가 1 이면소프트웨어는 CP341에서데이터를읽을수있는지여부를점검합니다. EN_R 파라미터의시그널상태를 0 으로만들면활성전송을취소할수있습니다. 취소된수신요청은에러메시지와함께종료됩니다 (STATUS 출력 ). EN_R 파라미터의시그널상태가 0 인동안은수신이꺼진상태로유지됩니다. 관련데이터의양에따라데이터전송작업은여러번의호출에걸쳐 ( 프로그램주기 ) 실행될수도있습니다. 기능블록에서 R 파라미터의시그널상태가 1 인것을인식하면현재전송요청이취소되고 P_RCV_RK FB가초기상태로설정됩니다. R 파라미터의시그널상태가 1 인동안에는수신이꺼진상태로유지됩니다. LADDR 파라미터는어드레싱할파라미터를정의합니다. P_RCV_RK FB에서의에러표시 NDR 출력에 request completed without errors/data accepted 가표시됩니다 ( 모든데이터읽음 ). ERROR에는에러발생여부가표시됩니다. 에러가발생한경우에는 STATUS에해당이벤트번호가표시됩니다 (8.3절참조 ). 에러가발생하지않은경우 STATUS의값은 0이됩니다. NDR과 ERROR/STATUS는 FB P_RCV_RK의 RESET에대한응답으로도출력됩니다 (LEN 파라미터 == 16#00) ( 그림 6-2 참조 ). 에러가발생하면이진결과 BR이리셋됩니다. 에러없이블록이종료된경우에는이진결과상태가 1 로설정됩니다. P_RCV_RK 기능블록에는파라미터점검능력이없습니다. 즉, 잘못된파라미터가있으면 CPU가 STOP 모드로전환될수있습니다. CPU가 STOP에서 RUN 모드로변경된후에 CP 341에서요청을수신하려면먼저 P_RCV_RK FB의 CP-CPU 시동메커니즘을완료해야합니다 (6.5절참조 ). 6-10 지점간통신 CP 341
수행작업 블록호출 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서는이진결과 BR을사용해서이파라미터를처리합니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 데이터영역내지정사항 P_RCV_RK FB는인스턴스 DB I_RCV_RK와함께사용됩니다. DB 번호는호출내에지정됩니다. DB 인스턴스의길이는 60바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 예외 : 에러 STATUS == W#16#1E0E가발생한경우에는 SFCERR 변수에서에러에관한자세한사항을참조할수잆습니다 (8.3절참조 ). 이에러변수는인스턴스 DB에대한기호액세스를통해서만로드할수있습니다. 지점간통신 CP 341 6-11
파라미터, FB P_RCV_RK 다음표에는 P_RCV_RK FB 의파라미터목록이나와있습니다. L_TYP, L_NO, L_OFFSET, L_CF_BYT, L_CF_BIT 파라미터는 3964(R) 프로시저에서 별로중요한역할을담당하지않기때문에무시할수있습니다. 표 6-3 FB P_RCV_RK 파라미터 이름유형데이터 유형 설명 허용되는값, 비고 EN_R INPUT BOOL 데이터읽기를허용합니다 R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 수신이차단됩니다. LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다. DB_NO INPUT INT 데이터블록번호 수신 DB 번호 : CPU별, 0은허용되지않습니다. DBB_NO INPUT INT 데이터바이트번호 0 _ DBB_NO _ 8190 데이터를데이터워드로수신합니다 NDR 1 OUTPUT BOOL 에러없이요청이완료되었습니다. 데이터가수용되었습니다. 에러 1 OUTPUT BOOL 요청이완료되었으나 에러가발생했습니다. STATUS 파라미터 == 16#00; STATUS 파라미터에오류에 관한상세정보가포함됩니다, LEN 1 OUTPUT INT 수신된메시지프레임길이 1 _ LEN _ 1024, 바이트수로지정됩니다 STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에에러에관한자세한내용이포함됩니다. 1 파라미터는다음으로 FB를호출할때까지사용할수있습니다. 6-12 지점간통신 CP 341
P_RCV_RK FB 의시간순서도 다음그림은 EN_R 과 R 입력부배선에따른 NDR, LEN, ERROR 파라미터의동작을 나타냅니다. 그림 6-2 FB 7 P_RCV_RK 의시간순서도 EN_R 은정적값 1 로설정해야합니다. 수신요청중에는 EN_R 파라미터에 RLO 1 이들어가야합니다 ( 논리작동결과 ). 지점간통신 CP 341 6-13
6.3.2 RK 512 컴퓨터연결의기능블록사용 RK 512 프로시저가있는통신파트너와의연결에사용할수있는기능블록은다음과같습니다. 데이터송신및페칭의경우 FB 8 P_SND_RK 데이터수신및준비의경우 FB 7 P_RCV_RK 전송옵션액티브요청 : CPU의사용자프로그램내에서 CP 341로액티브요청을송신하려면 8 P_SND_RK 기능블록 (FB) 을사용합니다. 다음과같은일을수행할수있습니다. 프로그래머블컨트롤러에서원격통신파트너로데이터를송신합니다 ( FB P_SND_RK를이용한데이터송신 참조 ) 원격통신파트너에서데이터를페칭하고프로그래머블컨트롤러의 S7데이터영역에둡니다 ( FB P_SND_RK를이용한데이터페칭 참조 ) : CP 341에서데이터를페칭하는경우에는항상 CP 341에 P_RCV_RK 기능블록을프로그래밍해야합니다. 패시브요청 : 패시브요청을사용해서 CP 341 상의데이터읽기와준비를조정하려면 7 P_RCV_RK 기능블록 (FB) 을사용합니다. 통신파트너는액티브에해당합니다. 다음과같은일을수행할수있습니다. 통신파트너에서프로그래머블컨트롤러의 S7 데이터영역으로송신한데이터를읽습니다 ( FB P_RCV_RK에서의데이터수신 참조 ). 프로그래머블컨트롤러에서원격통신파트너로보낼데이터를준비합니다 ( FB P_RCV_RK를이용한데이터준비 참조 ) 요청의병렬처리사용자프로그램의각 CP 341에는한액티브요청과한패시브요청만을프로그래밍할수있습니다. CP 341에서는액티브요청을처리하는동안패시브요청을처리할수도있습니다. 다음과같은것만을사용할수있다는점에도주의하십시오. FB P_SND_RK의 1 인스턴스데이터블록 FB P_RCV_RK의 1 인스턴스데이터블록그이유는 FB의내부루틴에필요한상태가인스턴스데이터블록에저장되기때문입니다. 6-14 지점간통신 CP 341
인터프로세서통신플래그인터프로세서통신플래그 SIMATIC S5에서익힌인터프로세서통신플래그기능은 CP 341의데이터수신또는준비시의비동기덮어쓰기지정 (FB 7 P_RCV_RK) 과 CPU 상의데이터처리방법으로지원됩니다. 인터프로세서통신플래그는 RK 512 컴퓨터연결과함께만사용할수있습니다. 데이터일관성데이터일관성은 CPU와 CP 341 사이의데이터전송블록크기때문에 32 바이트로제한됩니다. 다음은 32 바이트를넘는데이터전송의일관성에적용되는사항입니다. 송신기 : 데이터모두를전송할때까지는전송 DB에액세스하지마십시오 (DONE = 1). 페처 : 데이터모두를전송할때까지는전송 DB에액세스하지마십시오 (DONE = 1). 수신기 : 인터프로세서통신플래그기능을사용합니다. 데이터모두를수신할때까지는수신 DB에액세스하지마십시오 ( 이요청의인터프로세서통신플래그분석 : 인터프로세서통신플래그는 NDR = 1인경우 FB에서한주기에설정됩니다 ). 수신데이터를처리할때까지는인터프로세서통신플래그를 0 으로리셋하지마십시오. 준비기 : 인터프로세서통신플래그기능을사용합니다. 데이터를모두페칭할때까지는준비된데이터에액세스하지마십시오 ( 이요청의인터프로세서통신플래그분석 : 인터프로세서통신플래그는 NDR = 1인경우 FB에서한주기에설정됩니다 ). 페칭할데이터를모두처리할때까지는인터프로세서통신플래그를 0 으로리셋하지마십시오. 파트너에서영역 I( 입력 ), O( 출력 ), F( 플래그 ), T( 시간 ), C( 카운터 ) 에있는데이터를페칭하는경우에는인터프로세서통신플래그를사용하지않는한데이터일관성이제한되기때문에데이터전송이진행되는동안다른인스턴스에서이런영역에액세스할수가없습니다. 지점간통신 CP 341 6-15
FB P_SND_RK를이용한데이터송신 ( 액티브요청 ) 파라미터설정 SF = S 에 The P_SND_RK 기능블록을사용해서 S7 데이터영역의데이터를 CP 341에전송할수있습니다. 데이터전송은 REQ 입력에발생하는양의에지로시작됩니다. 관련데이터의양에따라데이터전송작업은여러번의호출에걸쳐 ( 프로그램주기 ) 실행될수도있습니다 (LEN). LADDR 파라미터는어드레싱할 CP 341의어드레스를지정합니다. 데이터블록영역은송신할데이터에허용할수있는유일한소스입니다. 소스는이데이터블록에서송신할첫데이터바이트의데이터블록번호 (DB_NO) 와오프셋 (DBB_NO) 에의해완전히지정됩니다. 허용되는대상영역으로는데이터유형 (R_TYP), 데이터블록 (DB), 확장데이터블록 (DX) 이있습니다. 대상은첫바이트를기록할 CPU 번호 (R_CPU_NO, 멀티프로세서통신에만관련 ), 데이터유형 (R_TYP: DB or DX), 데이터블록번호 (R_NO), 오프셋 (R_OFFSET) 에의해완전히지정됩니다. R_CF_BYT와 R_CF_BIT는파트너 CPU 상의인터프로세서통신플래그바이트와비트를정의합니다. P_SND_RK 기능블록 (FB) 은 R 파라미터의입력시그널상태가 1 인경우에주기내에서호출할수있습니다. 그러면 CP 341에대한전송이취소되고 P_SND_RK FB가다시초기상태로설정됩니다. CP 341에서이미수신한데이터는통신파트너로송신됩니다. R 입력이정적인시그널상태 1 로유지되는것은송신이꺼진것을나타냅니다. FB P_SND_RK에서의에러표시 DONE 출력에 request completes without errors 가표시됩니다. ERROR에는에러발생여부가표시됩니다. 에러가발생한경우에는 STATUS에해당이벤트번호가표시됩니다 (8.3절참조 ). 에러가발생하지않은경우 STATUS의값은 0이됩니다. DONE과 ERROR/STATUS는 FB P_SND_RK의 RESET에대한응답으로도출력할수있습니다 ( 그림 6-3 참조 ). 에러가발생하면이진결과 BR이리셋됩니다. 에러없이블록이종료된경우에는이진결과상태가 1 로설정됩니다. P_SND_RK 기능블록 (FB) 에는파라미터점검능력이없습니다. 즉, 잘못된 파라미터가있는경우에는 CPU 가 STOP 모드로전환될수도있습니다. 6-16 지점간통신 CP 341
데이터송신에관한사항데이터송신에관한다음사항에주의하십시오. RK 512를사용하면짝수데이터만을송신할수있습니다. 길이 (LEN) 데이터로홀수를지정하면끝에값이 0 인자리채우기용바이트가전송됩니다. RK 512를사용하면짝수오프셋만을사용할수있습니다. 홀수오프셋을지정한경우에는데이터가파트너의데이터영역내에있는, 다음으로낮은오프셋으로저장됩니다. 예 : 오프셋은 7 이고, 데이터는바이트 6 으로저장됩니다. 지점간통신 CP 341 6-17
수행작업 블록호출 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 이런파라미터를처리할때에, 컴파일러에서는이진결과 BR을사용합니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 데이터영역내지정사항 P_SND_RK FB는인스턴스 DB I_SND_RK와함께작동합니다. DB 번호는호출내에지정됩니다. 인스턴스 DB의길이는 62바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 6-18 지점간통신 CP 341
파라미터, FB P_SND_RK 다음표에는 데이터송신 요청에해당하는 8 P_SND_RK 기능블록의파라미터에 관한설명이나와있습니다. 표 6-4 데이터송신 요청에해당하는 8 P_SND_RK 기능블록의파라미터 이름 유형 데이터 설명 허용되는값, 비고 유형 SF INPUT CHAR 송신데이터또는페치데이터에해당하는셀렉터 SF = S ( 송신 ) 기본값 : S REQ INPUT BOOL 양의에지에서요청을시작합니다. R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 송신이차단됩니다. 기본값 : 0 LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다. DB_NO INPUT INT 소스의데이터블록번호 송신 DB 번호 ; CPU별, (0은허용되지않습니다 ) DBB_NO INPUT INT 데이터바이트번호 of 소스 0 _ DBB_NO _ 8190 데이터를데이터워드로전송합니다 LEN INPUT INT 송신할프레임의데이터길이 1 _ LEN _ 1024, 바이트로지정, 짝수제한 R_CPU_NO INPUT INT 파트너 CPU의 CPU 번호 0 _ R_CPU_NO _ 4, 멀티프로세서작동에만해당, 기본값 : 1 R_TYP INPUT CHAR 파트너 CPU 상의어드레스유형 D : 데이터블록 X : 확장데이터블록 R_NO INPUT INT 파트너 CPU 상의데이터 0 _ R_NO _ 255 블록번호 R_OFFSET INPUT INT 파트너 CPU 상의데이터 0 _ R_OFFSET _ 510, 짝수제한 바이트번호 R_CF_BYT INPUT INT 파트너 CPU 상의인터프로세서통신플래그바이트 0 _ R_CF_BYTE _ 255 기본값 : 255 ( 의미 : 인터프로세서통신플래그없음 ) R_CF_BIT INPUT INT 파트너 CPU 상의 0 _ R_CF_BIT _ 7 인터프로세서통신플래그비트 DONE 1 OUTPUT BOOL 에러없이요청이 STATUS 파라미터 == 16#00; 완료되었습니다. ERROR 1 OUTPUT BOOL 요청이완료되었으나에러가발생했습니다. STATUS 파라미터에오류에관한상세정보가포함됩니다, STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에오류에관한상세정보가포함됩니다, 1 파라미터는다음으로 FB를호출할때까지사용할수있습니다. 지점간통신 CP 341 6-19
메시지프레임헤더내사양 다음표에는 RK 512 메시지프레임헤더내사양이나와있습니다. 표 6-5 RK 512 메시지프레임헤더 데이터송신 요청에해당하는 RK512 메시지프레임헤더내 사양 S7 프로그래머블 컨트롤러상의소스 ( 로컬 CPU) 대상, 파트너 CPU 메시지프레임헤더, 바이트 3/4 명령유형 5/6 D-DBNO/D 오프셋 7/8 번호 데이터블록데이터블록 AD DB/DW 워드 데이터블록확장데이터블록 AD DB/DW 워드 약자 : D-DBNO 대상데이터블록번호 D-Offset 대상시작어드레스 DW 워드로나타낸오프셋 6-20 지점간통신 CP 341
P_SND_RK FB 의시간순서도 다음그림에는 REQ 와 R 입력의배선방법에따른 DONE 과 ERROR 파라미터의 거동이설명되어있습니다. 그림 6-3 데이터송신 요청에해당하는 8 P_SND_RK 기능블록의시간순서도 REQ 입력은에지로발동됩니다. REQ 입력에생기는양의에지를사용합니다. 전송 프로시저내내 RLO( 논리작동결과 ) 를 1 로유지할필요는없습니다. 지점간통신 CP 341 6-21
FB P_SND_RK 의데이터페칭 ( 액티브요청 ) P_SND_RK 기능블록은원격통신파트너에서 SF = F 페치데이터를설정해서 파라미터에사용한후프로그래머블컨트롤러의 S7 데이터영역에넣을수있습니다. CP 341 에서데이터를페칭하는경우에는항상 CP 341 상에 P_RCV_RK 기능블록을 프로그래밍해야합니다. 데이터전송은 REQ 입력에발생하는양의에지로시작됩니다. 관련데이터의양에따라데이터전송작업은여러번의호출에걸쳐 ( 프로그램주기 ) 실행될수도있습니다 (LEN). LADDR 파라미터는어드레싱할 CP 341의어드레스를지정합니다. 데이터를페칭할통신파트너는 CPU 번호 (R_CPU_NO, 멀티프로세서통신에만관련 ) 로지정됩니다. 페칭할데이터의소스로는다음과같은데이터유형 (R_TYP) 을사용할수있습니다. 데이터블록, 확장데이터블록, 플래그, 입력, 출력, 카운터, 시간. 소스는이영역에서송신할첫데이터바이트의데이터유형 (R_TYP), 데이터블록번호 (R_NO, 데이터블록과확장데이터블록에만관련 ), 오프셋 (R_OFFSET) 에의해완전히지정됩니다. R_CF_BYT와 R_CF_BIT는파트너 CPU 상의인터프로세서통신플래그바이트와비트를정의합니다. 대상으로는데이터블록 (DB) 만이허용됩니다. 대상은이데이터블록에기록할첫데이터바이트의데이터블록번호 (DB_NO) 와오프셋 (DBB_NO) 에의해완전히지정됩니다. P_SND_RK 기능블록 (FB) 은 R 파라미터입력의시그널상태가 1 이되면주기내에서호출할수있습니다. 그러면 CP 341에서전송이취소되고, P_SND_RK FB가초기상태로다시설정됩니다. R 입력이정적으로시그널상태 1 을가리키는것은페칭이꺼져있는것을나타냅니다. 6-22 지점간통신 CP 341
FB P_SND_RK에서의에러표시 DONE 출력에 request completed without errors 가표시됩니다. ERROR에는에러발생여부가표시됩니다. 에러가발생한경우에는 STATUS에해당이벤트번호가표시됩니다 (8.3절참조 ). 에러가발생하지않은경우 STATUS의값은 0이됩니다. DONE과 ERROR/STATUS는 FB P_SND_RK의 RESET에대한응답으로도출력됩니다 ( 그림 6-4 참조 ). 에러가발생하면이진결과 BR이리셋됩니다. 에러없이블록이종료된경우에는이진결과상태가 1 로설정됩니다. P_SND_RK 기능블록 (FB) 에는파라미터점검능력이없습니다. 즉, 잘못된 파라미터가있으면 CPU 가 STOP 모드로전환될수있습니다. ( 확장 ) 데이터블록에서의사항데이터블록과확장데이터블록에서의데이터페칭에관한다음사항에주의하십시오. RK 512에서는짝수데이터만을페칭할수있습니다. 길이 (LEN) 값으로홀수데이터를지정하면추가바이트가함께전송됩니다. 하지만대상 DB에는정확한데이터수가입력됩니다. RK 512에서는짝수오프셋만을사용할수있습니다. 홀수오프셋을지정하면데이터는파트너의데이터영역에있는, 다음으로낮은짝수오프셋을사용해서페칭합니다. 예 : 오프셋은 7 이고데이터는바이트 6 으로페칭됩니다. 시간과카운터에관한사항통신파트너에서시간이나카운터를페칭하는경우에는각시간또는카운터에대해 2 바이트가페칭된다는것에주의해야합니다. 예를들어, 10 카운터를페칭하려면길이로 20을입력해야합니다. 지점간통신 CP 341 6-23
수행작업 블록호출 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 이런파라미터를처리하는데에는컴파일러에서이진결과 BR을사용합니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 데이터영역내지정사항 P_SND_RK FB는인스턴스 DB I_SND_RK와함께작동합니다. DB 번호는호출내에지정됩니다. 인스턴스 DB의길이는 62바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 6-24 지점간통신 CP 341
파라미터, FB P_SND_RK 다음표에는 데이터페치 요청에해당하는 8 P_SND_RK 기능블록의파라미터에 관한설명이나와있습니다. 표 6-6 데이터페치 요청에해당하는 8 P_SND_RK 기능블록의파라미터 이름유형데이터유형설명허용되는값, 주석 SF INPUT CHAR 데이터송신또는데이터페칭용 셀렉터 SF = F ( 페칭 ) 기본값 : S ( 송신 ) REQ INPUT BOOL 양의에지로요청을시작합니다. R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 페칭이차단됩니다. 기본값 : 0 LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다 DB_NO INPUT INT 대상데이터블록번호 송신 DB 번호 ; CPU별, (0은허용되지않습니다 ) DBB_NO INPUT INT 대상데이터바이트번호 0 _ DBB_NO _ 8190 데이터를데이터워드로전송합니다 LEN INPUT INT 페칭할프레임의데이터길이 1 _ LEN _ 1024, 바이트로지정 2 R_CPU_NO INPUT INT 파트너의 CPU 번호 CPU 0 _ R_CPU_NO _ 4, 멀티프로세서작동에만해당, 기본값 : 1 R_TYP INPUT CHAR 파트너 CPU 상의어드레스유형 D : 데이터블록 X : 확장데이터블록 F : 플래그 I : 입력 O : 출력 C : 카운터 T : 시간 R_NO INPUT INT 데이터블록번호 on partner CPU 0 _ R_NO _ 255 R_OFFSET INPUT INT 파트너 CPU 상의데이터바이트 표 6-7 참조 번호 R_CF_BYT INPUT INT 파트너 CPU 상의인터프로세서 통신플래그바이트 0 _ CF_BYTE _ 255 기본값 : 255 ( 의미 : 인터프로세서 통신플래그없이 ) R_CF_BIT INPUT INT 파트너 CPU 상의인터프로세서 0 _ CF_BIT _ 7 통신플래그비트 지점간통신 CP 341 6-25
DONE 1 OUTPUT BOOL 에러없이요청이 STATUS 파라미터 == 16#00; 완료되었습니다. 에러 1 OUTPUT BOOL 요청이완료되었으나에러가 발생했습니다. STATUS 파라미터에오류에관한 상세정보가포함됩니다, STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에오류에관한상세정보가포함됩니다, 1 파라미터는다음으로 FB를호출할때까지사용할수있습니다. 2 각시간과각카운터에는길이로항상 2 바이트를지정합니다. 6-26 지점간통신 CP 341
데이터소스에해당하는 FB 상의파라미터 ( 파트너 CPU) 다음표에는전송할수있는데이터유형목록이나와있습니다. 표 6-7 데이터페치 요청에해당하는전송가능데이터유형 파트너 CPU 상의소스 R_TYP R_NO R_OFFSET** ( 바이트단위 ) 데이터블록 D 0-255 0-510* 확장데이터블록 X 0-255 0-510* 메모리마커 M 무관 0-255 입력 E 무관 0-255 출력 A 무관 0-255 카운터 Z 무관 0-255 시간 T 무관 0-255 * 짝수라야만합니다! ** 값은파트너 CPU에서결정됩니다. 메시지프레임헤더내사양 다음표에는 RK 512 메시지프레임헤더내사양이나와있습니다. 표 6-8 페치데이터 요청에해당하는 RK 512 메시지프레임헤더내사양 파트너 CPU 상의 S7 프로그래머블 메시지프레임헤더, 바이트 소스 컨트롤러상의대상 ( 로컬 3/4 명령유형 5/6 S-DBNO/S 7/8 번호 CPU) 오프셋 데이터블록 데이터블록 ED DB/DW 워드 확장데이터블록 데이터블록 EX DB/DW 워드 메모리마커 데이터블록 EM 바이트어드레스 바이트 입력 데이터블록 EI 바이트어드레스 바이트 출력 데이터블록 EQ 바이트어드레스 바이트 카운터 데이터블록 EC 카운터번호 워드 시간 데이터블록 ET 시간값 워드 약자 : S-DBNO 소스데이터블록번호 S-Offset 소스시작어드레스 지점간통신 CP 341 6-27
FB P_SND_RK FB 의시간순서도 다음그림에는 REQ 와 R 입력의배선방법에따른 DONE 과 ERROR 파라미터의 거동이나와있습니다. 그림 6-4 페치데이터 요청에해당하는 8 P_SND_RK 기능블록의시간순서도 REQ 입력은에지로발동됩니다. REQ 입력에생기는양의에지를사용합니다. 전송 프로시저내내 RLO( 논리작동결과 ) 를 1 로유지할필요는없습니다. 6-28 지점간통신 CP 341
FB P_RCV_RK에서의데이터수신 ( 패시브요청 ) P_RCV_RK FB는데이터를 CP 341에서 S7 데이터영역으로전송합니다. P_RCV_RK FB는데이터전송중에주기내에서호출할수도있고, 타이머구동프로그램에서 ( 조건없이 ) 정적으로호출할수도있습니다. 파라미터 EN_R의 ( 정적 ) 시그널상태가 1 이면소프트웨어는 CP 341에서데이터를읽을수있는지여부를점검합니다. EN_R 파라미터의시그널상태를 0 으로만들면활성전송을취소할수있습니다. 취소된수신요청은에러메시지와함께종료됩니다 (STATUS 출력 ). EN_R 파라미터의시그널상태가 0 인동안은수신이꺼진상태로유지됩니다. 관련데이터의양에따라데이터전송작업은여러번의호출에걸쳐 ( 프로그램주기 ) 실행될수도있습니다. LADDR 파라미터는어드레싱할 CP 341의어드레스를지정합니다. 통신파트너에서대상 DB 를지정한경우에는데이터가 RK 512 메시지프레임헤더에지정된데이터영역으로들어갑니다. (L_...) 파라미터는사용자에게전송할데이터에해당하는대상영역유형 (L_TYP) 과대상데이터블록번호 (L_NO, L_TYP = DB와함께만관련 ), 대상영역내의오프셋 (L_OFFSET), 길이 (LEN) 를알립니다. 파트너에서대상 DX 를지정한경우에는데이터가파라미터 DB_NO와 DBB_NO에지정된데이터블록 (DB) 에들어갑니다. 기능블록에서 R 파라미터의시그널상태 1 을인식하면현재전송요청이취소되고 P_RCV_RK FB가초기상태로설정됩니다. R 파라미터의시그널상태가 1 을표시하는동안은수신이꺼진상태를유지합니다. NDR 출력에 request completed without errors/data accepted 가표시됩니다 ( 데이터모두읽음 ). 파라미터 L_TYP, L_NO, L_OFFSET은데이터를놓을위치에서한주기에순서대로표시됩니다. 파라미터 L_CF_BYT와 L_CF_BIT 역시한주기에서해당요청의 LEN과함께표시됩니다. FB P_RCV_RK FB에서의에러표시 ERROR에는에러발생여부가표시됩니다. 에러가발생한경우에는 STATUS에해당이벤트번호가표시됩니다 (8.3절참조 ). 에러가발생하지않은경우 STATUS의값은 0이됩니다. NDR과 ERROR/STATUS는 FB P_RCV_RK의 RESET에대한응답으로도출력됩니다 (LEN 파라미터 == 16#00) ( 그림 6-5 참조 ). 에러가발생하면이진결과 BR이리셋됩니다. 에러없이블록이종료된경우에는이진결과상태가 1 로설정됩니다. P_RCV_RK 기능블록에는파라미터점검능력이없습니다. 즉, 잘못된파라미터가 있으면 CPU 가 STOP 모드로전환될수있습니다. 지점간통신 CP 341 6-29
인터프로세서통신플래그의사용데이터수신을시작하기전에는 RK 512 메시지프레임헤더에있는인터프로세서통신플래그를점검합니다. 인터프로세서통신플래그값이 0 이아니면데이터는전송되지않습니다. 전송이완료되면기능블록에서는인터프로세서통신플래그를 1 로설정하고인터프로세서통신플래그 (NDR) 는기능블록에서한주기에대해출력됩니다. 사용자프로그램에서인터프로세서통신플래그분석은전송데이터의처리여부를나타냅니다. 데이터를처리하고나면사용자는인터프로세서통신플래그를 0 으로리셋해야합니다. 다음 SEND 요청은통신파트너에서시작할수있습니다. 수행작업 블록호출 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서이런파라미터를처리하는데에는이진결과 BR이사용됩니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 6-30 지점간통신 CP 341
데이터영역내지정사항 P_RCV_RK FB는인스턴스 DB I_RCV_RK와함께사용됩니다. DB 번호는호출내에지정됩니다. DB 인스턴스의길이는 60바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 예외 : 에러 STATUS == W#16#1E0E가발생한경우에는 SFCERR 변수에서에러에관한자세한사항을참조할수잆습니다 (8.3절참조 ). 이에러변수는인스턴스 DB에대한기호액세스를통해서만로드할수있습니다. 지점간통신 CP 341 6-31
파라미터, FB P_RCV_RK 다음표에는 데이터수신 요청에해당하는 7 P_RCV_RK 기능블록의파라미터에 관한설명이나와있습니다. 표 6-9 데이터수신 요청에해당하는 7 P_RCV_RK 기능블록의파라미터 이름유형데이터유형설명허용되는값, 비고 EN_R INPUT BOOL 데이터수신을허용합니다 R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 수신이차단됩니다. 기본값 : 0 LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다. DB_NO INPUT INT 수신데이터의데이터 블록번호 ( 대상 ) DBB_NO INPUT INT 수신데이터의데이터 바이트번호 ( 대상 ) L_TYP 1 OUTPUT CHAR 로컬 CPU 상의영역유형 ( 대상 ) L_NO 1 OUTPUT INT 로컬 CPU 상의데이터 블록번호 ( 대상 ) L_OFFSET OUTPUT INT 로컬 CPU 상의데이터 1 바이트번호 ( 대상 ) L_CF_BYT OUTPUT INT 로컬 CPU 상의 1 인터프로세서통신 플래그바이트 L_CF_BIT 1 OUTPUT INT 로컬 CPU 상의 인터프로세서통신 플래그비트 NDR 1 OUTPUT BOOL 에러없이요청이 완료되었습니다. 데이터가 수용되었습니다. 에러 1 OUTPUT BOOL 요청이완료되었으나 에러가발생했습니다. LEN 1 OUTPUT INT 수신된메시지프레임 길이 수신 DB 번호 : CPU별, 0은허용되지않습니다 ( 대상이 DX인경우에만해당 DX) 0 _ DBB_NO _ 8190 데이터를데이터워드로수신합니다 ( 대상이 DX인경우에만해당 DX) D : 데이터블록 0 _ L_NO _ 255 0 _ L_OFFSET _ 510 0 _ L_CF_BYTE _ 255 255 의미 : 인터프로세서통신플래그없음 0 _ L_CF_BIT _ 7 STATUS 파라미터 == 16#00; STATUS 파라미터에오류에관한상세정보가포함됩니다, 0 _ LEN _ 1024, 바이트수로 지정됩니다 STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에에러에관한자세한 내용이포함됩니다. 1 파라미터는다음으로 FB를호출할때까지사용할수있습니다. 6-32 지점간통신 CP 341
FB P_RCV_RK FB 의시간순서도 다음그림에는 EN_R 과 R 입력배선방법에따른 NDR, LEN, ERROR 파라미터의 거동이나와있습니다. 그림 6-5 데이터수신 요청에해당하는 7 P_RCV_RK 기능블록의시간순서도 EN_R 은정적값 1 로설정해야합니다. 수신요청중에는 EN_R 파라미터에 RLO 1 을보내야합니다 ( 논리작동결과 ). 지점간통신 CP 341 6-33
FB P_RCV_RK을이용한데이터준비 ( 패시브요청 ) 통신파트너에서 FETCH 요청을실행하는경우에는 P_RCV_RK 기능블록을호출해야합니다. P_RCV_RK FB는 S7 데이터영역에서 CP 341에전송할데이터를준비합니다. P_RCV_RK FB는전송시에주기내에서호출할수도있고타이머구동프로그램에서호출할수도있습니다 ( 조건없이 ). 파라미터 EN_R에서의 ( 정적 ) 시그널상태가 1 이면소프트웨어는 CP 341에서데이터를준비할수있는지여부를점검합니다. EN_R 파라미터의시그널상태를 0 으로만들면활성전송을취소할수있습니다. 취소된요청은에러메시지와함께종료됩니다 (STATUS 출력 ). EN_R 파라미터에시그널상태 0 이표시되는동안에는요청이꺼진상태를유지합니다. 관련데이터의양에따라데이터전송작업은여러번의호출에걸쳐 ( 프로그램주기 ) 실행될수도있습니다. 준비할데이터의소스영역유형 (L_TYP), 소스데이터블록번호 (L_NO, L_TYP = DB와함께인경우에만해당됩니다 ), 소스영역내오프셋 (L_OFFSET), 길이 (LEN) 는첫 RK 412 메시지프레임에서결정됩니다. 기능불록에서는이메시지프레임의정보를분석한후요청데이터를 CP 341로전송합니다. DB_NO와 DBB_NO 파라미터는 P_RCV_RK 기능블록에서별로중요성을갖지않습니다. LADDR 파라미터는어드레싱할 CP 341의어드레스를지정합니다. 기능블록에서 R 파라미터의시그널상태 1 을인식하면현재전송요청은취소되고 P_RCV_RK FB가초기상태로설정됩니다. R 파라미터의시그널상태가 1 인동안에는요청이꺼진상태를유지합니다. NDR 출력에 request completed without errors/data accepted 가표시됩니다 ( 모든데이터읽음 ). 파라미터 L_TYP, L_NO, L_OFFSET에는데이터를페칭할한소스주기에대해차례로표시됩니다 ( 가능한데이터유형 : 데이터블록, 입력바이트, 출력바이트, 시간, 카운터 ). 파라미터 L_CF_BYT와 L_CF_BIT 역시해당요청의 LEN과함께한주기에대해표시됩니다. 통신파트너에서 CP 341 의시간또는카운터를페칭하는경우에는길이가최대 32 바이트로제한됩니다 ( 각각 2 바이트로구성되는 16 개의시간또는카운터 ). 6-34 지점간통신 CP 341
P_RCV_RK FB에서의에러표시 ERROR에는에러발생여부가표시됩니다. 에러가발생한경우에는 STATUS에해당이벤트번호가표시됩니다 (8.3절참조 ). 에러가발생하지않은경우 STATUS의값은 0이됩니다. NDR과 ERROR/STATUS은 FB P_RCV_RK의 RESET에대한응답으로도출력됩니다 (LEN 파라미터 == 16#00) ( 그림 6-5 참조 ). 에러가발생하면이진결과 BR이리셋됩니다. 에러없이블록이종료된경우에는이진결과상태가 1 로설정됩니다. P_RCV_RK 기능블록에는파라미터점검능력이없습니다. 즉, 잘못된파라미터가 있으면 CPU 가 STOP 모드로전환될수있습니다. 인터프로세서통신플래그의사용메시지프레임을수신하고나면 RK 512 메시지프레임헤더내의인터프로세서통신플래그가점검됩니다. 인터프로세서통신플래그의값이 0 이되지않으면데이터는준비되지않습니다. 전송이완료되면기능블록의인터프로세서통신플래그는 1 로설정되고, 기능블록의한주기에해당하는인터프로세서통신플래그 (NDR) 가출력됩니다. 사용자프로그램에서인터프로세서통신플래그분석은전송준비되니데이터에액세스할수있는지여부를나타냅니다. 데이터를처리하고나면사용자는곧인터프로세서통신플래그를 0 으로리셋해야합니다. 다음 FETCH 요청은통신파트너에서시작할수있습니다. 지점간통신 CP 341 6-35
수행작업 블록호출 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서이런파라미터를처리하는데에는이진결과 BR이사용됩니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 데이터영역내지정사항 P_RCV_RK FB는인스턴스 DB I_RCV_RK와함께사용됩니다. DB 번호는호출내에지정됩니다. DB 인스턴스의길이는 60바이트입니다. 인스턴스 DB 내의데이터에는액세스할수없습니다. 예외 : 에러 STATUS == W#16#1E0E가발생한경우에는 SFCERR 변수에서에러에관한자세한사항을참조할수잆습니다 (8.3절참조 ). 이에러변수는인스턴스 DB에대한기호액세스를통해서만로드할수있습니다. 6-36 지점간통신 CP 341
파라미터, FB P_RCV_RK 다음표에는 데이터준비 요청에해당하는 7 P_RCV_RK 기능블록의파라미터에 관한설명이나와있습니다. 표 6-10 데이터준비 요청에해당하는 7 P_RCV_RK 기능블록의파라미터 이름 유형 데이터유형 설명 허용되는값, 비고 EN_R INPUT BOOL 데이터읽기를허용합니다y R INPUT BOOL 요청을취소합니다. 현재요청이취소됩니다. 준비가차단됩니다. 기본값 : 0 LADDR INPUT INT CP 341의기본어드레스 STEP 7에서기본어드레스를얻습니다. DB_NO INPUT INT 무관 DBB_NO INPUT INT 무관 L_TYP 1 OUTPUT CHAR 로컬 CPU 상의영역유형 ( 소스 ) L_NO 1 OUTPUT INT 로컬 CPU 상의데이터블록번호 ( 소스 ) L_OFFSET OUTPUT INT 로컬 CPU 상의데이터 1 바이트번호 ( 소스 ) L_CF_BYT OUTPUT INT 로컬 CPU 상의 1 인터프로세서통신플래그 바이트 L_CF_BIT 1 OUTPUT INT 로컬 CPU 상의 인터프로세서통신플래그 비트 NDR 1 OUTPUT BOOL 에러없이요청이 완료되었습니다. 데이터가 수용되었습니다. 에러 1 OUTPUT BOOL 요청이완료되었으나 에러가발생했습니다. D : 데이터블록 F : 플래그 I : 입력 O : 출력 C : 카운터 T : 시간 0 _ L_NO _ 255 (L_TYP = D인경우에만해당 ) 0 _ L_OFFSET _ 510 ( 영역유형에따라달라짐 ) 0 _ L_CF_BYTE _ 255 255 의미 : 인터프로세서통신플래그없음 0 _ CF_BIT _ 7 STATUS 파라미터 == 16#00; STATUS 파라미터에오류에관한상세정보가포함됩니다, LEN 1 OUTPUT INT 수신된메시지프레임길이 0 _ LEN _ 1024, 바이트수로지정됩니다 STATUS 1 OUTPUT WORD 에러사양 에러 == 1인경우, STATUS 파라미터에오류에관한상세정보가포함됩니다, 1 파라미터는다음으로 FB 를호출할때까지사용할수있습니다. 지점간통신 CP 341 6-37
P_RCV_RK FB 의시간순서도 다음그림은 EN_R 과 R 입력배선방법에따른 NDR, LEN, ERROR 파라미터의 거동을나타냅니다. 그림 6-6 데이터준비 요청에해당하는 7 P_RCV_RK 기능블록의시간순서도 EN_R 은정적값 1 로설정해야합니다. 수신요청을진행하는동안에는 EN_R 파라미터에 RLO 1 이설정되어야합니다 ( 논리작동결과 ). 6-38 지점간통신 CP 341
6.3.3 ASCII 드라이버에서의시스템기능블록사용 3964(R) 프로시저가있는 ASCII 드라이버의데이터전송에도같은기능을사용할수있습니다. 즉, 6.3.1절에서 3964(R) 프로시저에대해설명한, 모든기능블록 FB P_SND_RK와 FB P_RCV_RK에관한모든정보는 ASCII 드라이버에도해당됩니다. 또, RS 232C 인터페이스서브모듈에서 ASCII 드라이버를사용하면 RS 232C 보조시그널을읽고제어할수있습니다. 다음부분에서는이런추가기능을사용하는데에필요한내용만을설명합니다. 기능블록은다음과같이 RS 232C 보조시그널을읽고제어하는데에사용할수있습니다. 인터페이스상태점검에는 FC 5 V24_STAT 인터페이스출력설정 / 리셋에는 FC 6 V24_SET CP 341 에서는 FC 5 V24_STAT 와 FC 6 V24_SET 기능의버전 _ 2.0 만이허용됩니다. 이들기능의버전 1.0 을사용하면데이터일관성에문제가발생할수있습니다. CP 341의인터페이스상태점검 V24_STAT FC는 CP 341에서 RS 232C 보조시그널을읽은후모듈파라미터에서사용자가사용할수있도록합니다. V24_STAT FC는전송중에주기내에서호출할수도있고, 시간제어프로그램에서정적으로호출할수도있습니다. RS 232C 보조시그널은기능을호출할때마다업데이트됩니다 ( 주기적폴링 ). CP 341은 20 ms의시간을기준으로입력 / 출력상태를업데이트합니다. 입력 / 출력은그런것과관계없이지속적으로업데이트됩니다. 이진결과 BR은영향을받지않습니다. 이기능은에러메시지를생성하지않습니다. LADDR 파라미터는어드레싱할 CP 341을정의합니다. 지점간통신 CP 341 6-39
수행작업 블록호출 EN 과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서는 이런파라미터의처리에이진결과 BR 을사용합니다. 데이터영역내지정사항 V24_STAT 기능은데이터영역을차지하지않습니다. 시그널변경을식별하는데에는최소펄스시간이필요합니다. 중요한시간에는 CPU 주기 ( 시간 ), CP 341 상의업데이트시간, 통신파트너의응답시간이있습니다. 6-40 지점간통신 CP 341
파라미터 FC 5 V24_STAT 다음표에는 5 V24_STAT FC 의파라미터목록이나와있습니다. 표 6-11 FC 5 V24_STAT 파라미터 이름유형데이터 유형 설명 허용되는값, 비고 LADDR INPUT INT CP 341 의기본어드레스 STEP 7 에서기본 어드레스를얻습니다. DTR_OUT OUTPUT BOOL 데이터터미널준비완료, CP 341 작동준비완료 DSR_IN OUTPUT BOOL 데이터설정준비완료, 통신 파트너작동준비완료 RTS_OUT OUTPUT BOOL 송신요청, CP 341 송신준비완료 (CP 341 출력 ) (CP 341 입력 ) (CP 341 출력 ) 1 CTS_IN OUTPUT BOOL Clear to send, 통신파트너는 CP 341 에서데이터를수신할수 있습니다 (CP 341 의 RTS = ON 에 (CP 341 입력 ) 응답 )1 DCD_IN OUTPUT BOOL 데이터캐리어탐지, 시그널수준 수신 (CP 341 입력 ) RI_IN OUTPUT BOOL 링표시기, 시그널호출 (CP 341 입력 ) 1 이 RS 232C 보조시그널에관한자세한내용은 2.2.4 절을참조하십시오. CP 341의인터페이스출력설정 / 리셋사용자는 V24_SET FC 기능의파라미터입력을사용해서해당인터페이스출력을설정또는리셋할수있습니다. V24_SET FC는주기내에서호출할수도있고시간제어프로그램에서정적으로 ( 조건없이 ) 호출할수도있습니다. 이진결과 BR은영향을받지않습니다. 이기능은에러메시지를생성하지않습니다. LADDR 파라미터는어드레싱할 CP 341을정의합니다. 지점간통신 CP 341 6-41
수행작업 블록호출 EN 과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서 이런파라미터를처리하는데에는이진결과 BR 이사용됩니다. 데이터영역내지정사항 V24_STAT 기능은데이터영역을차지하지않습니다. 파라미터 FC 6 V24_SET 다음표에는 6 V24_SET FC 의파라미터목록이나와있습니다. 표 6-12 FC 6 V24_SET 파라미터 이름유형데이터 유형 설명 허용되는값, 비고 LADDR INPUT INT CP 341 의기본어드레스 STEP 7 에서기본 어드레스를얻습니다. RTS INPUT BOOL 송신요청, CP 341 송신준비완료 1 (CP 341 출력제어 ) DTR INPUT BOOL 데이터터미널준비완료, CP 341 작동 (CP 341 출력제어 ) 준비완료 1 1 RS 232C 보조시그널에관한자세한내용은 2.2.4 절을참조하십시오. 6-42 지점간통신 CP 341
6.4 기능블록의파라미터화 이절은 SIMATIC S5 에서 SIMATIC S7 로업그레이드하는사용자를대상으로 마련되었습니다. 여러작은절에는 STEP 7 에서의기능블록프로그래밍에관한주요 내용이포함되어있습니다. 6.4.1 데이터블록지정관련일반정보 어드레싱 데이터블록에있는데이터피연산자는 STEP 7 에서비트별로어드레싱 처리됩니다 ( 어드레싱이워드별로이루어지는 STEP 5 와는대조적입니다 ). 따라서 데이터피연산자의어드레스를변환해야합니다. 그림 6-7 STEP 5 와 STEP 7 의데이터어드레싱비교 STEP 7 에서의데이터워드어드레스는 STEP 5 에비해두배가되었습니다. 더 이상은오른쪽과왼쪽데이터바이트로나뉘지않습니다. 비트번호는항상 0 에서 7 까지로지정됩니다. 지점간통신 CP 341 6-43
예 표의왼쪽열에있는 STEP 5 데이터피연산자는오른쪽열의 STEP 7 데이터 피연산자가됩니다. STEP 5 STEP 7 DW 10 DBW 20 DL 10 DBB 20 DR 10 DBB 21 D 10.0 DBX 21.0 D 10.8 DBX 20.0 D 255.7 DBX 511.7 6.4.2 데이터블록의파라미터화 직접 / 간접파라미터화 STEP 7에서는 STEP 5에서처럼데이터블록을간접적으로파라미터화 ( 파라미터를현재선택한데이터블록으로전송합니다 ) 할수없습니다. 모든블록파라미터는상수와변수를모두받아들이기때문에 STEP 7에서는더이상직접파라미터화와간접파라미터화를구분할필요가없습니다. 직접파라미터화 의예 직접파라미터화 의규칙에따라 FB 8 을호출합니다. 6-44 지점간통신 CP 341
간접파라미터화 의예 간접파라미터화 의규칙에따라 FB 8 을호출합니다. 데이터워드의파라미터화 ( 실제피연산자에따라 ) 현재선택한데이터블록은표준기능에서더이상결정할수없기때문에데이터워드사양 ( 부분적으로인정된사양 ) 은허용되지않습니다. 데이터피연산자가실질파라미터로지정된경우에는항상완전인정된사양을사용해야합니다. A fully qualified specification can be either absolute or symbolic. Mixed 어드레스ing with fully qualified data 피연산자s is rejected by the compiler. 예 1 기호표에는데이터블록에해당하는기호이름을입력하고해당데이터블록에서는 데이터피연산자에해당하는기호이름을선언합니다. 지점간통신 CP 341 6-45
예 2 사용된데이터블록 DB 10의기호이름은 CP_DB 입니다. 송신 DB 번호의기호이름은 SEND_DBNO 이며데이터블록 DB 10의데이터워드 DBW 0에위치합니다. SEND 메시지프레임의시작어드레스는 SEND_DWNO 이며데이터블록 DB 10의 DBW 2에위치하고, 메시지프레임길이는 SEND_LEN 이며데이터블록 DB 10의 DBW 4에위치합니다. 모듈어드레스에사용되는메모리워드 BGADR (MW21) 가, DONE 파라미터에는플래그 SEND_DONE (M26.0) 이, ERROR 파라미터에는메모리비트 SEND_ERROR (M26.1) 가, STATUS 파라미터에는메모리워드 SEND_STATUS (MW27) 가변수로사용됩니다. 다음페이지에는 STL 목록의예가나와있습니다. 절대적으로어드레싱된실질피연산자의예 절대적으로어드레싱된실질피연산자를이용한 FB 8 호출 : 6-46 지점간통신 CP 341
기호로어드레싱된실질피연산자 의예 기호로어드레싱된실질피연산자를이용한 FB 8 호출 : EN/ENO 메커니즘 EN과 ENO 파라미터는그래픽표시 (LAD 또는 FBD) 에만나타납니다. 컴파일러에서는이런파라미터의처리에이진결과 (BR) 를사용합니다. 블록이에러없이종료된경우에는이진결과시그널상태가 1 로설정됩니다. 에러가발생한경우에는 BR이 0 으로설정됩니다. 지점간통신 CP 341 6-47
6.5 프로그램처리관련일반정보 CP 341 프로그래머블컨트롤러의시동특성파라미터화데이터는 CP341: Point-to-Point Communication, Parameter Assignment 파라미터화인터페이스를사용해서작성한후 STEP7 소프트웨어를사용해서 CPU로전송할수있습니다. CPU를시동할때마다 CPU의시스템서비스에서현재파라미터를 CP 341로전송합니다. 시동특성, FB-CP 341 CPU와 CP 341 사이의연결이구성되고나면 CP 341을초기화해야합니다. 각 P_SND_RK, P_RCV_RK 기능블록에는별도의시동좌표가있습니다. 요청을능동적으로처리하려면먼저해당시동프로시저를완료해야합니다. 경고해제 기능블록에서는인터럽트를꺼둘수없습니다. 모듈어드레싱 논리기본어드레스는 STEP 7 을통해정의되며, 사용자가블록파라미터 LADDR 에서정의해야합니다. 6-48 지점간통신 CP 341
6.6 기능블록의기술사양 메모리요구사항 다음표에는 CP 341 기능블록 / 기능의메모리요구사항이나와있습니다. 표 6-13 기능블록 / 기능의메모리요구사항 ( 바이트단위 ) 블록 이름 버전 로드메모리 작업메모리 로컬데이터 FC 5 V24_STAT 2.0 188 72 2 FC 6 V24_SET 2.0 156 48 2 FB 7 P_RCV_RK 2.1 3584 2982 106 FB 8 P_SND_RK 2.3 3036 2490 32 실행시간 다음표에는 CP 341 기능블록 / 기능의실행시간이나와있습니다. 표 6-14 기능블록 / 기능의실행시간 ( 초단위 ) 블록이름버전기능 CPU 313/ CPU 315/ CPU 318-2 CPU 614 CPU 314 CPU 315DP DP FC 5 V24_STAT 2.0 RS 232C 보조시그널읽기 FC 6 V24_SET 2.0 RS 232C 보조 시그널 설정 140 120 29 120 160 130 37 130 FB 7 P_RCV_RK 2.1 유휴 510 450 65 400 수신 * 1800 1800 140 1500 준비 * 1800 1800 140 1500 FB 8 P_SND_RK 2.3 유휴 410 360 65 350 송신 * 2300 2200 140 1800 페칭 * 2300 2200 140 1800 * 실행시간은데이터블록의 1 32 바이트로참조됩니다. RK 512 의경우에는파라미터의전송기본 허용범위로요청당한번씩표시된실행시간을추가해야합니다. 지점간통신 CP 341 6-49
최소 CPU 주기수다음표에는 최소요청 처리에필요한최소 CPU 주기 (FB/FC 호출 ) 수가나와있습니다 ( 프로그램주기당전송되는사용자데이터집합에 32 바이트 SEND/RECEIVE). 이값은중앙작동에만적용됩니다. 표 6-15 최소 CPU 사이클수 처리에필요한 CPU 주기수... 에러없는완료 에러발생완료 RESET/RESTART P_RCV_RK _ 3 _ 3 _ 4 P_SND_RK _ 3 _ 3 _ 4 V24_STAT 1 V24_SET 2 >> 2 CPU가 STOP에서 RUN 모드로변경된후에 CP 341에서활성화된요청을처리하려면 CP-CPU 시동메커니즘 P_SND_RK를완료해야합니다. 메커니즘에서시작된요청은소실되지않습니다. CP 341의시작좌표가완료되면이값이전송됩니다. CPU 모드가 STOP에서 RUN으로변경된후에사용자프로그램에서 CP 341에메시지를수신하려면 CP-CPU 시동메커니즘 P_RCV_RK를완료해야합니다. 사용시스템기능블록에서는다음과같은시스템기능이사용됩니다. SFC 58 WR_REC 데이터레코드쓰기 SFC 59 RD_REC 데이터레코드읽기 6-50 지점간통신 CP 341