Q&A

  • MODBUS 프로토콜 Read/Write 정중하게 부탁드립니다..
고수님들 도와주십시요.. 정중하게 부탁드립니다...

사용자 포로토콜을 사용하다가 금번에
MODBUS 프로토콜을 사용하게 되었습니다.


--------------------------------------------------------
Name        PLC 디바이스        Modicon Address                  비고
                      Address        Status        Type        
--------------------------------------------------------
온도1               D0001   403074        Read        Word        123,234,..
온도2               D0002   403075        Read        Word        
온도3               D0003   403076        Read        Word        
급기Fan               M0007   004104        Read        Bit        0:off / 1:on
배기Fan               M0006   004103        Read        Bit        0:off / 1:on
급기댐퍼개도   D0105   403178        Read        Word        10,15,20…
급기댐퍼수동   D0080   403153        write        Word        10,15,20…
HMI 수동       M0151   004248        write        Bit        0:off / 1:On
--------------------------------------------------------
.
.
.

PC 와 PLC 간의 RS-232 통신을 어떻게 구현할지 감이 영 안옵니다.

기존에는 Cport263 컴포넌트를 써서  시작Point와 End Point를 기준으로 전체 데이터를 Read 하여
버퍼에 올려놓고 델파이 Copy 명령어를 써서 Table에 Insert 시켰는데
현재는 Modicon Address를 불러오면 된다고 하는데 PLC에 있는 Adddress를
어떻게 PC가 인식하는지 도통…

CIMON 저작Tool이라는게 있는데  데이터 송수신시 Broadcasting 방법을 사용하여
해당 영역 및 블록을 지정하여 손쉽게 제어할수 있다고 합니다만은
어쨌든 저는 델파이로 제작을 해야 합니다

정말 하늘이 노랗습니다.. 3일째 집에도 못들어가고...
여러가지 방법을 동원해보곤 있으나 워낙 이 부분에는 초짜라......

델파이에서 해당 MODBUS 프로토콜의 Modicon Address        를 읽어와서
DB`에 저장하고 또, 해당 번지수에 Write를해서 기기를 제어하는 방법이 없을까요?

혹시 다른방법이라도 있으시면 부탁드립니다..


1  COMMENTS
  • Profile
    박의동 2002.11.22 19:06
    MODBUS 프로토콜은 가장 널리 사용하는 표준 프로토콜입니다.
    그만큼 구할 수 있는 자료도 많고, 프로토콜도 간단하고,
    구현도 어렵지 않습니다.
    또, 상용으로 ActivX 콘트롤도 많이 나와있습니다.
    사용 제품을 사용하셔도 되고, 직접 짜셔도 됩니다.

    일단, PLC 어드레스를 보니, D0001이란 것은 PLC의 Word 영역 중에서
    Write가 가능한 register영역으로 보아지며, offset 3073부터 시작하는
    것 같네요.
    읽는 것은 FC03을 이용하여 offset(3073) + 원하는 D영역 어드레스를
    시작으로 원하는 만큼 count를 주면 어렵지 않을 것 같습니다.
    자세한 것은 MODBUS 프로토콜 자료를 참조하시기 바랍니다.