지멘스plc와 하니웰 Dcs 통신(Modbus)
-
Upload
young-seok-hwang -
Category
Documents
-
view
623 -
download
24
description
Transcript of 지멘스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
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의 프로그램을 설치하면된다.
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 통신 프로그램을
설치시 기본적으로 제공된다.
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
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을 사용한다
==> 어드레스 계산은 별도 표에 의함.
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의 범위제한값을 설정한다.
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
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을 넣으면 프로그램 완료.