2013-02-22 6 views
0

저는 Stackoverflow를 처음 사용했습니다.Zedgraph 및 AdvancedHMI 실시간 응용 프로그램을 사용한 제안

저는 AdvancedHMI와 함께 Zedgraph를 사용하는 것에 대한 제안을하고 있습니다.

현재 이더넷을 통해 PLC에서 "실시간"데이터를 수집하는 C# 응용 프로그램을 개발했습니다. 타이머를 사용하여 매 10ms마다 데이터를 연결하고 이러한 데이터를 목록에 보관합니다. 테스트가 끝나면 데이터를 MySQL 데이터베이스로 전달합니다.

하지만 가끔씩 시험이 빨리 끝나기에 충분한 점수를 모을 수 없습니다.

그래서 제안 사항을 요청하고 있습니다. 어떤 솔루션이 "실시간"그래프, 스레드 또는 타이머에 적합합니까?

주요 문제는 각 테스트가 즉시 업데이트해야하는 다른 매개 변수를 가지고 있기 때문입니다. 이러한 매개 변수는 PLC에서 발생합니다. 타이머 내가 레이블 "에 대한 PLC를 요청 타이머 내부

  • , X 축 (시간 [MS] 또는 초기화 Zedgraph 객체
  • 초기화

    1. : 그래서 내가 뭘 단계는 다음과 같습니다 PLC는 위해 "validData"플래그를 보내
    2. 거리), 등) 플롯 또는 지점
    3. 읽기 X를 건너 Y는
    4. 업데이트를 차트를 점

    나는 내 방법이 끔찍하고 매우 비효율적이라고 확신하지만, 현재로서는 더 나은 해결책이 없다. 사전

  • 답변

    2

    당신은 실시간으로 얻을하지 않습니다에

    덕분에/consistant 결과 창에 타이머를하고. 운영 체제는 실시간 운영 체제가 아닙니다. 10ms 간격으로 샘플이 필요하면 PLC에서 타이머를 사용하여 PLC에 데이터를 저장해야합니다. 테스트가 끝나면 조금만 설정하면 HMI가 그 비트를 모니터링합니다. HMI가 비트가 참이되면 HMI는 PLC에서 모든 샘플을 읽습니다.

    그래프의 경우 .NET 4.0을 대상으로 프로젝트를 설정하면 차트 구성 요소가 내장되어 있습니다.

    +0

    PLC에 데이터를 저장 한 다음 테스트를 마친 후 데이터를 읽는 것은 확실히 방법입니다. –

    +0

    인사말, 답장을 보내 주셔서 감사합니다. 나는 윈도우가 RTOS가 아니라는 것을 안다. 내가 "실시간"으로 인용 부호로 쓰는 이유이다. 사실 클라이언트가 Windows PC를 사용하려고합니다. 테스트 데이터를 PLC에 저장하고 나중에 플롯 앱에 표시하는 것에 대한 귀하의 제안을 좋아합니다. 이 기능을 추가하기 위해 PLC의 프로그램을 변경하려는 경우 제어 국 사람들에게 요청할 것입니다. 귀하의 제안에 진심으로 감사드립니다. 그게 정말 마음에 들었어. –