2. 버스장치들의종류와 PROFIBUS-DP 를사용하는데이터통신 개요 PROFIBUS-DP 프로토콜은자동화된산업용공장에서분산 I/O 와필드장치들에게필요한고속데이터통신을위해설계되었다. 전형적인 DP 구성은단일마스터구조이다.( 그림 2.1) 와 DP 슬레이브들간의통신은마스터 슬레이브이론을근간으로한다. 이는 DP 슬레이브들은마스터에의해요청되었을때만버스상에서활성화될수있음을의미한다. 의폴링리스트 (Polling List) 에의해 DP 슬레이브들은차례대로주소가지정된다. 와 DP 슬레이브들간의사용자데이터는사용자데이터의내용과상관없이지속적 ( 즉, 주기적 ) 으로교환된다. 그림 2.2 에 상에서폴링리스트가처리되는방법이나타나있다. 와하나의 DP 슬레이브간의메시지사이클은 에의해발행되는요청프레임 (request frame, polling telegram) 과 DP 슬레이브에의해리턴되는관련인지 (acknowledgement) 프레임또는응답 (response) 프레임으로구성된다. EN 50 170 표준에명시되어있는 PROFIBUS 노드들의 Layer 1 과 Layer 2 의특성으로인해, 하나의 DP 시스템은다중마스터구조를갖을수도있다. 실제로, 여러개의 노드들이하나의버스라인에연결된다. 하나의버스라인상에서 / 슬레이브들, FMS 마스터 / 슬레이브들및액티브또는패시브노드들의공존도가능하다.( 그림 2.3) 토큰 Class 1 버스 그림 2.1 DP 단일마스터구조 슬레이브들 ( 패시브스테이션들 ) 23
그림 2.2 에서의폴링리스트처리 Class 1 토큰 Class 2 Class 1 버스 슬레이브들 ( 패시브스테이션들 ) 그림 2.3 PROFIBUS 다중마스터구조 24
2.1 버스장치들의종류 2.1.1 (Class 1) 이 는 DP 슬레이브와주기적으로사용자데이터를교환한다. Class 1 는다음의프로토콜기능을사용하여임무를수행한다. Set_Prm 과 Chk_Cfg 는파라메타설정치를 DP 슬레이브에전송하기위해 Startup, 재시작및데이터전송단계에서이러한기능들을사용한다. 파라메타들이전체버스에전역적으로적용되거나일부만중요함에상관없이모든파라메타들을전송한다. 특정 DP 슬레이브에대한입력및출력데이터바이트의수는구성동안에정의된다. Data_Exchange 지정된 DP 슬레이브와입력및출력데이터의주기적교환을취급한다. Slave_Diag Startup 동안혹은사용자데이터의주기적교환동안에 DP 슬레이브의진단정보를읽는다. Global_Control 는자신의동작상태를 DP 슬레이브들에게알려주기위해제어명령들을사용한다. 또한, 제어명령들은개별슬레이브들또는 DP 슬레이브들의특정그룹들로전송되어출력및입력데이터를동기화할수있다.(Sync. Freeze 명령 ) 2.1.2 DP 슬레이브 DP 슬레이브는그슬레이브파라메타를적재하고구성하는데책임을졌던 와사용자데이터를교환할수있다. DP 슬레이브는자신의진단인터럽트와프로세스인터럽트를 DP 마스터에보고할수있다. 2.1.3 (Class 2) Class 2 는 P.G, 진단및버스관리장치들과같은것이다. 이미언급한 Class 1 기능들뿐아니라 Class 2 는일반적으로다음의특별한기능들을지원한다. : RD_Inp 와 RD_Outp Class 1 와의데이터통신이발생할때동시에 DP 슬레이브들의입력및출력데이터를읽는다. Get_Cfg DP 슬레이브의현재구성데이터를읽는다. Set_Slave_Add 슬레이브가이방식의주소정의를지원한다면 가 DP 슬레이브에새로운버스주소를지정할수있도록해준다. 또한, Class 2 는 Class 1 와의통신을위해많은기능들을제공한다. 25
2.1.4 DP 통합장치들 여러 DP 장치종류 Class 1, Class 2 및 DP 슬레이브 를하나의동일한하드웨어모듈에결합하는것이가능하다. 실제로, 자주발견할수있다. 다음은전형적인장치결합의예이다. : Class 2 와결합된 Class 1 Class 1 를가진 DP 슬레이브 2.2 다양한종류의 DP 장치들사이의데이터통신 2.2.1 DP 통신관계및 DP 데이터교환 PROFIBUS-DP 프로토콜을사용하여, 통신작업을기동시키는쪽을요청자 (requester), 적절한통신파트너를응답자 (responder) 라부른다. Class 1 의모든요청텔레그램은 Layer 2 에서 높은우선순위 (high priority) 텔레그램서비스클래스에의해처리된다. DP 슬레이브에의해전송되는응답텔레그램들은 Layer 2 에서 낮은우선순위 (low priority) 텔레그램서비스클래스를사용한다. DP 슬레이브는 에게현재진단인터럽트또는상태이벤트들이대기하고있음을알려줄수있다. 이것은 Data_Exchange 응답텔레그램서비스클래스를한번만 낮은우선순위 에서 높은우선순위 로변경함으로써행한다. 데이터의전송은 1 : 1 또는 1 : 多연결을통한연결없는 (connectionless) 통신이다. 표 2.1 에요청자와응답자기능에따라정렬된 와 DP 슬레이브의통신능력이나열되어있다. 표 2.1 다양한종류의 DP 장치사이의통신관계 기능 / 서비스 (EN 50 170 에따름 ) DP 슬레이브 (Class 1) (Class 2) SAP 번호를 Layer 2 서비스를 Requ Resp Requ Resp Requ Resp 통해 통해 Data_Exchange M M O 기본-SAP SRD RD_Inp M O 56 SRD RD_Outp M O 57 SRD Slave_Diag M M O 60 SRD Set_Prm M M O 61 SRD Chk_Cfg M M O 62 SRD Get_Cfg M O 59 SRD Global_Control M M O 58 SND Set_Slave_Add O O 55 SRD M-M-Communication O O O O 54 SRD/SDN DP V1 Services O O O 51/50 SRD Requ = 요청자, Resp = 응답자, M = 강제의무기능, O = 옵션기능 26
2.2.2 초기화단계, 재시작및사용자데이터통신 그림 2.4 에나타나있는것과같이, 는슬레이브장치와사용자데이터를교환할수있기전에 DP 슬레이브의파라메타들을정의하고구성해야한다. 이것은 DP 슬레이브가버스상에서보고하는지여부의첫점검에의해 는이를행한다. 그러면, 는슬레이브의진단데이터를요청함으로써 DP 슬레이브의준비상태를점검한다. DP 슬레이브가파라메타정의의준비완료를보고할때, 는파라메타설정치와구성데이터를적재한다. 는슬레이브에게다시진단데이터를요청하여슬레이브가준비되었는지를알아본다. 그다음에만 는 DP 슬레이브와사용자데이터의주기적교환을시작한다. 파라메타데이터 (Set_Prm) 파라메타설정치는 DP 슬레이브를위해사용할중요한로칼및전역파라메타들, 특성및기능들을포함한다. 슬레이브파라메타를설정하고구성하기위해 에제공되는구성도구를자주사용하게될것이다. 직접구성방법은구성소프트웨어의그래픽사용자인터페이스에의해제공되는대화상자의내용을입력하는것이다. 간접구성방법은존재하는파라메타들과 DP 슬레이브관련 GSD 데이터 (device master file) 에접근하는것이다. 파라메타텔레그램은 EN 50 170 에명시된일부분으로구성되며, 필요하다면, DP 슬레이브와제작자특성도포함될수있다. DP 슬레이브 슬레이브진단 request(slave Diag) 버스상의 DP 슬레이브파라메타지정및구성준비완료 N 슬레이브진단 response Y 슬레이브파라메타지정 슬레이브파라메타 request(set Prm) Ack. 슬레이브구성 점검구성 request (Chk Cfg) Ack. DP 슬레이브데이터교환준비완료 N 슬레이브진단 request(slave Diag) 슬레이브진단 response Y 그림 2.4 DP 슬레이브의초기화단계순서원리 27
파라메타텔레그램의길이는 244 바이트를넘을수없다. 파라메타텔레그램의가장중요한내용이아래에나열되어있다. Station Status 슬레이브관련기능들과설정값들이포함된다. 예를들어, 와치독모니터링의활성화여부를설정한다. 또한, 다른 들에의한해당슬레이브에대한접근을가능및불가능하게정의하며, Sync 및 Freeze 제어명령이이슬레이브와함께사용되는지를정의한다. Watchdog 의고장을감지한다. 와치독이가능한상태에서 DP 슬레이브가 의고장을감지했으면, 자체의출력데이터를삭제하거나미리정의된상태를유지한다.( 대체값이출력으로전송 ) DP 슬레이브는버스상에서와치독기능유무에상관없이동작할수있다. 버스구성및선택된전송속도를기반으로구성도구는와치독타임을제안한다. 버스파라메타 참조. Ident-Number DP 슬레이브의이번호는 PNO(PROFIBUS 사용자기구 ) 에의해증명서가발급될때지정된다. GSD 파일에저장된다. DP 슬레이브는파라메타텔레그램과함께수신된이번호가자신의것에해당될때에만파라메타텔레그램을수용한다. 이로인해, 슬레이브장치상에서잘못된파라메타정의에의한사고를방지할수있다. Group-Ident DP 슬레이브들을 Sync 및 Freeze 제어명령에대한그룹으로결합할수있다. 8 개그룹까지허용된다. User-Prm-Data DP 슬레이브파라메타데이터 (User-Prm-Data) 는 DP 슬레이브에대한어프리케이션관련데이터를설정한다. 예를들어, 기본설정치또는컨트롤러파라메타들이포함될수있다. 구성데이터 (Chk_Cfg) 구성데이터텔레그램에서, 는 DP 슬레이브에구분자형식 (identifier formats) 을전송한다. 이러한구분자형식들은 DP 슬레이브에교환될입력 / 출력영역의범위및구조에관한정보를제공한다. 이러한영역들 ( 모듈들 이라고도부름 ) 은 및슬레이브에의해동의되는바이트또는워드구조 ( 구분자형식 ) 의형태로정의된다. 구분자형식으로인해각모듈들에대해입력또는출력영역들, 또는입력과출력영역들을설정할수있다. 이러한데이터영역들은최대 16 바이트 / 워드의크기를가질수있다. 구성텔레그램을정의할때, DP 슬레이브장치를기반으로다음의특성들을고려해야한다. 28
DP 슬레이브가고정된입력및출력영역을보유.( 즉, 블록 I/O ET 200B) 구성에따라, DP 슬레이브가동적인입력 / 출력영역을보유.( 즉, ET 200M 과같은모듈형 I/O 또는드라이브 ) DP 슬레이브의입력 / 출력영역이 DP 슬레이브및제조업체에의존하는특수한구분자형식을사용하여설정.( 즉, ET 200B-Analog 와같은 S7 DP 슬레이브, DP/ASI-Link 및 ET 200M) 밀착된 (coherent) 정보를포함하지만바이트또는워드구조에위치할수없는입력및출력데이터영역은 일치성 (consistent) 데이터로간주된다. 여기에는예를들어, closed-loop 컨트롤러에대한파라메타영역들이나드라이브제어에대한파라메타설정값들이포함된다. 특수한구분자형식들을사용하여 (DP 슬레이브와제조업체관련 ), 64kbyte/word 까지의길이로입력및출력영역들 ( 모듈들 ) 을설정할수있다. DP 슬레이브에의해사용될수있는입력및출력영역들 ( 모듈들 ) 은 GSD 파일에저장된다. 이영역들은구성도구를사용하여 DP 슬레이브를구성할때사용자에게제안된다. 진단데이터 (Slave_Diag) 진단데이터요청을통하여, 는시작단계에서 DP 슬레이브의존재와파라메타정보의수신준비완료상태를점검한다. DP 슬레이브에의해제공되는진단데이터는 EN 50 170 표준에따른진단부분과만약존재한다면, 특정 DP 슬레이브진단정보로구성된다. DP 슬레이브는진단정보를전송하여 에게동작상태를알려주고에러의경우에는에러의원인을알려준다. DP 슬레이브는 2계층에있는 Data_Exchange 응답텔레그램의 높은우선순위 텔레그램을사용하여자체의진단인터럽트를 의 2계층에발생시킬수있다. 응답에서, 는평가용진단데이터를요청한다. 거기에서현재진단인터럽트가없으면, Data_Exchange 응답텔레그램은 낮은우선순위 구분자를갖는다. 그러나, DP 슬레이브의진단데이터는특별한진단인터럽트가보고되지않아도 에의해항상요청된다. 사용자데이터 (Data_Exchange) DP 슬레이브는 로부터수신한파라메타및구성정보를점검한다. 거기에에러가없고 에의해요청된설정치가허용되면, DP 슬레이브는진단데이터를전송하여사용자데이터의주기적교환을위한준비가완료되었음을알린다. 지금부터시작해서, 는구성된사용자데이터를 DP 슬레이브와교환한다.( 그림 2.5) 사용자데이터의교환동안에, DP 슬레이브파라메타정의및구성에책임이있는 Class 1 에의해전송된 Data_Exchange 요청텔레그램에대해서만 DP 슬레이브는반응을한다. 다른사용자데이터텔레그램은 DP 슬레이브에의해거부된다. 사용자데이터에는전송된데이터를설명하는어떠한추가적인제어및구조문자도포함되지않는다. 이는오직쓸모있는데이터만전송됨을의미한다. 29
DP 슬레이브 는출력데이터를 DP 슬레이브에전송 사용자데이터 request(data Exchange) DP 슬레이브는자신의입력데이터를사용하여인지 (Ack.) 한다. 사용자데이터 response, 낮은우선순위 그림 2.5 DP 슬레이브와의주기적데이터교환동안의 DP 슬레이브 DP 슬레이브 는출력데이터를 DP 슬레이브에전송 사용자데이터 request(data Exchange) DP 슬레이브는자신의입력데이터를사용하여인지 (Ack.) 하고높은우선순위를통하여진단호출 사용자데이터 response, 높은우선순위 슬레이브진단 request(slave Diag) 는진단데이터를 DP 슬레이브로부터가져옴 슬레이브진단 response 그림 2.6 DP 슬레이브는현재의진단인터럽트를알림 그림 2.6 에표시된것과같이, DP 슬레이브는응답에서의텔레그램서비스클래스를 낮은우선순위 에서 높은우선순위 로변경함으로써진단인터럽트나상태메시지가있음을 에게알릴수있다. 그러면 는진단텔레그램으로 DP 슬레이브에의해전송되는실제진단또는상태정보에대한하나의요청을만든다. 진단데이터를가져온후에 DP 슬레이브와 는사용자데이터교환으로되돌아온다. 요청 / 응답텔레그램들을사용하여, 와 DP 슬레이브는양방향으로 244 바이트까지의사용자데이터를교환할수있다. 30