지멘스plc와 하니웰 dcs 통신(modbus)

9
Siemens PLC Modbus 통신 하기 모든 PLC각각의 PLC 고유의 통신프로토콜을 가지고 있듯이 Siemens PLC기본적으로 ASCII, 3964R, RK512(O nly CP341), Printer(On ly CP340)프로토콜을 지원하다.  이외에 AB PLCDF1, MODBUS RTU (Master /Slave) 프로토콜를 지원하나 , 별도의 통신 칩이 필요하다 .Siemens 에서는 칩을 Dongle이라 부른다.  테스트에서는 Siemens PLC S7-300 기종을 사용하였으며, 통신 체크는 별도의 프로그램을 이용하여 컴퓨터로 체크하였으며, 하니웰 DCSSiemens S7-300통신 Test하였던 프로그램을 참조하였다. (1). 하드웨어 구성하기  본 테스트를 위해서 다음과 같은 하드웨어를 사용하였으며 하드웨어 구성은 다음과 같다. Power : 24Vdc, 5A (6ES7 307-1EA 00-0AA0) Cpu : CPU 315-2DP (6ES7 315-2AF03-0A B0) CP 341 : Serial 통신 모듈 + Modbus Dongle (6ES7 341-1AH01-0AE0) Digital Input/Output : Siemens Simulator Module  

Upload: young-seok-hwang

Post on 06-Jan-2016

623 views

Category:

Documents


24 download

DESCRIPTION

지멘스plc와 하니웰 Dcs 통신(Modbus)

TRANSCRIPT

Page 1: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 1/8

제 장 Siemens PLC Modbus 통신 하기

모든 PLC가 각각의 PLC 고유의 통신프로토콜을 가지고 있듯이 Siemens PLC는 기본적으로

ASCII, 3964R, RK512(Only CP341), Printer(Only CP340)프로토콜을 지원하다.

  이외에 AB PLC의 DF1, MODBUS RTU (Master /Slave) 프로토콜를 지원하나 , 별도의 통신 칩이

필요하다 .Siemens 에서는 이 칩을 Dongle이라 부른다.

  본 테스트에서는 Siemens PLC S7-300기종을 사용하였으며, 통신 체크는 별도의 프로그램을 이용하여

컴퓨터로 체크하였으며, 하니웰 DCS와 Siemens S7-300과 통신 Test하였던 프로그램을 참조하였다.

(1). 하드웨어 구성하기

 본 테스트를 위해서 다음과 같은 하드웨어를 사용하였으며 하드웨어 구성은 다음과 같다.

Power : 24Vdc, 5A (6ES7 307-1EA00-0AA0)

Cpu : CPU 315-2DP (6ES7 315-2AF03-0AB0)

CP 341 : Serial 통신 모듈 + Modbus Dongle (6ES7 341-1AH01-0AE0)

Digital Input/Output : Siemens Simulator Module

 

Page 2: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 2/8

(2)CP341 통신 파라메터 구성하기

통신 카드 CP341의 통신 파라메터를 구성하기위해서는 Slot4에 위치한 CP341를 더블 클릭한다.

CP341를 더블 클릭하면 다음과 같은 화면이 나타난다. 여기서 그림 하단의 Parameter가

Disable되어 있으며 통신 카드와 함께 제공된 CD의 통신 프로그램을 설치하여야한다.

Parameter가 Enable되어 있으며 Parameter를 설정하기위해 Parameter 버튼을 누른다.

  파라메터 버튼을 누르면 다음과 같은 화면이 나타나며, Protocol 을 MODBUS Slave로 바꾼다.

MODBUS Slave가 나타나지 않으면 Dongle(MODBUS Slave 프로토콜칩) 구입시 함께

들어 있는 CD의 프로그램을 설치하면된다.

Page 3: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 3/8

모든것이 정상적으로 나타나면 가장먼저 해야할 것이 프로토콜을 Dongle칩으로 다은로드하는것이다.

통신프로토콜을 다운로드는 Load Drivers라는 부분을 누르면 된다.

다음 그림은 통신프로토콜이 Dongle 칩으로 다운로드된 결과이다. 만약 정상적으로 통신 프로토콜이

다운로드되지 않을 경우 Dongle 칩이 정상적으로 설치되었는지 통신 카드의 뒷면을 살펴보거나

통신 카드가 정상적으로 설치되었는지 살펴본다. 실질적으로 통신프로토콜이 다운로드되기 위해서는

모든 PLC 장비가 정상적으로 설치되어야 하며 전원이 공급되어야 한다.

다음으로 통신 파라메터를 설정한다.

통신 파라메터를 설정하기위해서는 편지 모양의 아이콘을 더블 클릭하여야 하며, 다음과 같은

화면이 나타난다.

아래 그림에서 보는 바와 같이, MODBUS 통신 프로토콜 관련 파라메터를 설정할수 있도록

 화면이 나타나며, 각 Function에 대한 설정 및 통신 속도등을 설정한다.

각 Function에 대한 상세한 설명은 매뉴얼을 참조 하거나 MODBUS통신 프로토콜을

참조하면 잘 나타나있다. MODBUS 통신 프로토콜 관련메뉴얼을 MODBUS 통신 프로그램을

설치시 기본적으로 제공된다.

Page 4: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 4/8

(4) Function 설정하기

  (A) 통신 속도 설정

  통신 속도는 상대편 속도와 동일하게 맞추며, 여기서는 아래 그림과 같이 설정하였다.

어드레스는 10 으로 설정함.

  (B) FC1,FC5,FC15 설정하기

FC1: 비트 읽기 FC5 : Force Single Coil FC15 : Force Multi Coils

좌측은 MODBUS 번지이고 우측은 Siemens PLC 번지이다.

MODBUS 번지는 십진수이며, Siemens PLC는 8비트체계이다.

아래에서 보는바와 같이 MODBUS 와 PLC를 설정하면 다음표와 같아진다.

MODBUS PLC

0~7 M10.0~M10.78~15 M11.0~M11.7

16~23 M12.0~M12.7

24~31 M13.0~M13.7

32~39 Q0.0~Q0.7

40~47 Q1.0~Q1.7

48~55 Q2.0~Q2.7

56~63 Q3.0~Q3.7

Page 5: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 5/8

  (C) FC2 설정하기

FC2 : Read Input Status

FC2도 FC1과 동일한 어드레스 계산 방식으로 어드레스가 계산되며, 메모리, 입력값을

읽는 기능을 갖는다.

  (C) FC3, FC6, FC16 설정하기

FC3 : Word 값 읽기 FC6 : Word 값 쓰기 FC16 : 다중 Word쓰기

MODBUS 번지는 0 부터 시작하며 PLC는 별도의 DB을 사용한다

==> 어드레스 계산은 별도 표에 의함.

Page 6: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 6/8

  (D) FC4 설정하기

FC4 : Word 값 읽기

MODBUS 번지는 0 부터 시작하며 PLC는 별도의 DB을 사용한다

==> 어드레스 계산은 별도 표에 의함.

  (E) 기타 (범위제한) 설정하기

FC5,FC15,FC6,FC16의 범위제한값을 설정한다.

Page 7: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 7/8

  (F) DB 어드레스 계산하기

가장 먼저 기준 어드레스을 설정한후 다음 표와 같이 계산한다 예)DB1

 * 통신시 DB 가 중복되면 나누어서 통신하여야 한다. (DB1과 DB2의 영역을 같이 통신하지 못한다)

MODBUS 번지 PLC 번지 ( 기준 : DB 1)

1 ===> DB1.DBW0

2 ===> DB1.DBW2

3 ===> DB1.DBW4

4 ===> DB1.DBW6

: ===> :

: ===> :

510 ===> DB1.DBW1020

511 ===> DB1.DBW1022

512 ===> DB2.DBW0

513 ===> DB2.DBW2

514 ===> DB2.DBW4

515 ===> DB2.DBW6

: ===> :

: ===> :

1022 ===> DB2.DBW1020

1023 ===> DB2.DBW1022

1024 ===> DB3.DBW0

1025 ===> DB3.DBW2

: ===> :

: ===> :

1534 ===> DB3.DBW1020

1535 ===> DB3.DBW1022

1536 ===> DB4.DBW0

1537 ===> DB4.DBW2

: ===> :

: ===> :

2047 ===> DB4.DBW10202048 ===> DB4.DBW1022

2049 ===> DB5.DBW0

2050 ===> DB5.DBW2

: ===> :

: ===> :

1022 ===> DB5.DBW1020

2559 ===> DB5.DBW1022

Page 8: 지멘스plc와 하니웰 Dcs 통신(Modbus)

7/17/2019 plc Dcs (Modbus)

http://slidepdf.com/reader/full/plc-dcs-modbus 8/8

(5)PLC 프로그램

(A) OB100 프로그램하기NW1 Settings/resettings  AN M 250.0 // Set initialisation flag CP_START  S M 250.0  A M 250.1 // Reset edge flag CP_START_FM  R M 250.1

  (B) OB1 OR OB 35 프로그램하기NW1 Example of a call-up of the communication FB  CALL FB 80 , DB80 // Data Link Modbus Slave CP341  LADDR :=256 // ! I: Modul Address

START_TIMER :=T120 // ! I: Timer for "Timeout initialisation"  START_TIME :=S5T#5S // ! I: Time value "Timeout initialisation"  OB_MASK :=TRUE // ! I: Mask access errors  CP_START :=M250.0 // ! I/O: Start of CP initialisation  CP_START_FM :=M250.1 // ! I/O: Edge flag for CP_START  CP_NDR :=M250.2 // ! I/O: Info: New write job from CP  CP_START_OK :=M250.3 // ! I/O: Initialis. finished without error  CP_START_ERROR:=M250.4 // ! I/O: Initialis. finished with error  ERROR_NR :=MW252 // ! I/O: Error numbe  ERROR_INFO :=MW254 // ! I/O: Error additional inf

  '(3)기타 프로그램 은 복사하여 넣는다.

FB7, FB8, FB80, DB80을 넣으면 프로그램 완료.