VB.NET 2010, .NET 4VB.NET 구문 분석 직렬 데이터 비동기, 나는이의 논리와 고투 한 경우
안녕하세요,
에 공유 기능에서 데이터를 가져 오는 동안과 약간의 통찰력을 기대했다.
저는 컴퓨터에 연결된 많은 장치로 구성된 산업 기계를 제어하기위한 응용 프로그램을 개발 중입니다. 합리적인면에서 가장 좋지만 RS-232 장치에 대해 생각하는 데 어려움을 겪고 있습니다. RS-232 장치 중 하나는 많은 기능을 갖춘 멋진 전원 공급 장치입니다. 현재 적절한 것은 전압 읽기, 전압 쓰기, 전류 읽기 및 전류 쓰기입니다.
내가 구현하기 위해 노력하고있어 디자인 패턴은 각 연결 장치가이 전원 공급 장치에 대한 읽기/등 및 COM 포트 같은 것들에 대한 속성 작성 등
방법이있는 객체로 표현되는 하나입니다 포트 참조를 인스턴스간에 공유해야하므로 Protected Shared Property Port As IO.Ports.SerialPort라는 기본 클래스 (예 : PowerSupply)가 있습니다. 그런 다음이 클래스에서 상속받은 PowerSupplyVoltage 및 PowerSupplyCurrent 클래스에 대해 읽기/쓰기 메서드와 속성을 정의하여 마지막 읽기/쓰기 값을 유지합니다.
내 문제는 공유 SerialPort 개체의 Port.DataRecieved 이벤트를 사용하여 전원 공급 장치의 응답을 구문 분석하는 것입니다. 전원 공급 장치가 사용하는 프로토콜은 각 응답 패킷에서 보내는 데이터를 지정합니다. 그래서, 기본적으로 "전압이 100V"또는 "전류가 1A"또는 "전압이 150V로 설정되었습니다"와 같은 것을 말합니다.
공유 기능에서 이것을 분석하려고합니다. . 구문 분석 프로세스 중에 만 인스턴스의 업데이트 할 읽기/쓰기 값을 결정합니다. 공유 함수 내에서 인스턴스의 읽기/쓰기 값 속성에 액세스 할 수 없습니다. 내 두뇌는이 일을 올바르게 수행하는 방법을 생각하려고 애 쓰고 있습니다. 공유 포트 및 DataRecievedHandler 함수와 함께 PowerSupplyVoltage 및 PowerSupplyCurrent 인스턴스에 대한 참조를 유지하는 일종의 PowerSupplyCommunicator 개체를 만드는 것이 가장 좋습니다. 이것은 일종의 kludgy 보인다. 이것에 대해 영리하게 생각하는 어떤 생각?
미리 감사, 브라이언
통찰력을 가져 주셔서 감사합니다. 나는 너의 제안에 대해 머리를 감싸려고 노력할 것이다. –