2011-08-16 2 views
1

나는 웹에 독서 한과 통찰력의 조금을 제공하기 위해 C#을C#을하여 SerialPort 멀티 드롭 연결

의 RS485 멀티 드롭 연결 작업에 대한 정보를 찾을 수 없습니다. MODBUS RTU 프로토콜을 사용하여 시리얼 장치와 통신하기위한 어플리케이션을 작성했습니다. 이제 클라이언트는 멀티 드롭 통신 링크를 사용하여 장치를 연결할 수 있다고 알려 왔습니다. 초보자이기 때문에 직렬 장치로 작업 할 때 약간의 손실이 발생합니다.

제 질문은 간단합니다. 어디에서 시작해야합니까? Google 검색은 지금까지 다양한 직렬 통신 표준에 대한 하드웨어 변환기 및 위키 피 디아 항목 만 생성했습니다.

감사합니다.

답변

1

RS485는 특정 멀티 드롭 네트워킹 장치의 전기적 특성을 정의하는 표준입니다. 한 번은 계측기의 내부 버스로 사용했습니다. 주 제어 보드는 RS485 네트워크에 배열 된 다양한 펌프를 운전했습니다.

반이중 및 전이중 방식을 사용할 수 있습니다 (절반은 한 번에 하나의 장치로만 통화 할 수 있음 - 전체 전송 및 수신은 동시에 발생할 수 있음을 나타냄).

실제로 RS232 또는 직렬 포트를 사용하는 것과 완전히 다른 것은 아니며 RS485 변환기를 직렬로 연결할 수도 있습니다. C#의 직렬 포트 드라이버를 사용하여 사용할 수 있습니다. 그 상당히 낮은 수준의 전기 사양은, 당신이 의사 소통이 일어날 수 있도록 사용 방법을 정의하지 않습니다 -

SerialPort Class

귀하의 주요 문제는 RS485 정말 어떻게 사용해야할지 해결하지 않습니다.

고려해야 할 주요 문제는이 모든 것을 어떻게 조정할 것인가입니다. RS232를 사용하면 두 가지가 연결되어있어 컴퓨터와 장치를 쉽게 사용할 수 있습니다. RS485를 사용하면 많은 것들이 연결됩니다. 따라서 각 장치를 다루는 방법이 필요합니다. 여기에 언급 된 '장치'에 대한 세부 정보는 제공하지 않지만 RS485에 연결하려는 경우에는 해당 장치를 다루는 방법이 있습니다. 그러나 이것이 작동 할 수있는 몇 가지 방법이 있습니다 - 그래서 세부 사항없이 세부 사항에 당신을 도울 수 없습니다. 내가 개발 한 시스템에서 모든 통신은 '마스터'장치 (예 : 제 제어 보드 또는 C# 응용 프로그램)에 의해 시작되었으며 보내진 각 메시지에는 수신자의 주소가있었습니다. 따라서 올바른 펌프는 지시가 의도 된 것으로 알고있었습니다 그것을 위해.

도움이 되었기를 바랍니다. 실제로 복잡하지는 않지만 이러한 장치가 무엇인지, 어떻게 처리되는지, 앞뒤로 보내야 할 메시지에 대해 생각해야합니다. 실제로 C# SerialPort 클래스를 사용하여 작업을 수행 할 수 있습니다.

다른 답변에 언급 된 책은 멋지게 보입니다. 나는 이것이 당신에게 모두 새로운 경우에 진짜로 그것을 사는 것을 고려할 것입니다. 직렬 포트 통신을 다루고 RS485에 대한 장이 있습니다.

+0

나는 USB 자체가 직렬 포트와 아무런 관련이 없다는 것을 지적해야한다. 예, USB 직렬 포트 변환기를 사용할 수 있지만 USB 포트에 꽂기 만하면 응용 프로그램 소프트웨어의 직렬 포트처럼 보입니다. – iandotkelly

+0

정말 고맙습니다. 내 '장치'는 우리 회사가 생산하는 자동화 제어 장치입니다. 그래서 당신이 찾을 수있는 사양이 아닙니다. MODBUS RTU 프로토콜을 사용하여 통신합니다. 나는 주어진 용어가 잘못되어 혼란 스러웠다. 그들은 단지 사용 가능한 슬레이브 목록에서 다른 슬레이브 장치를 선택할 수있는 기능을 원했습니다. 내 응용 프로그램이 마스터입니다. 당신의 대답은 잘 쓰여지고 유익합니다. 체크 표시. – rlemon

0

RS485는 사용하지 않았지만 this book은 직렬 포트 및 USB를 이해하는 데 도움이 될 수 있습니다.

here은 사양을 논의하는 또 다른 링크이며 here은 또 다른 링크입니다. 나는 그들이 C#으로 쉽게 구현 될 수 있다고 생각하지만 그렇게 될 수있다.