기본 콘텐츠로 건너뛰기

C# - get PLC Data

private byte[] getPLCData()
        {
            byte[] data1 = new byte[1024];
            for(int i = 0; i < data1.Length; i++)
            {
                if (i == 0) data1[i] = 0xD0;
                else if (i == 7) data1[i] = 0x01;
                else if (i == 8) data1[i] = 0x02;
                else if (i == 11) data1[i] = 0x01; // byte start 4200
                // 13, 14 double : remeasure alarm
                //=> 주소 1에 byte가 2개가 들어 가므로
                //=> 4202는 4200이 11부터 시작 할 때 15, 16번째의 값이 됨.
                // 15가 [0], 16이 [1] 이므로 GetDouble 에서 값을 가져올 때 value = [1] * 256 + [0]
                else if (i == 15) data1[i] = 0x01;
                else if (i == 16) data1[i] = 0x00;
                // tray in 4205
                else if (i == 21) data1[i] = 0x01;
                else if (i == 22) data1[i] = 0x00;
                // 4206
                else if (i == 23) data1[i] = 0x01;
                else if (i == 24) data1[i] = 0x00;
                // 4207
                else if (i == 25) data1[i] = 0x01;
                else if (i == 26) data1[i] = 0x00;
                else data1[i] = 0x00;
            }

            return data1;
        }

댓글

이 블로그의 인기 게시물

C# - Windows Form 에 있는 control 찾기

// 아래 코드는 form 의 최상위 control만 찾을 수 있음. // panle, groubbox ... 내부에 있는 control은 찾지 못함. Control GetControlByName(string Name) {     foreach (Control c in this.Controls)         if (c.Name == Name)             return c;     return null; } // form 의 모든 control을 찾을 수 있음. string name = "btnBit" + (i + 1).ToString("D2"); var tmpBtn = this.Controls.Find(name, true).FirstOrDefault(); if (tmpBtn != null) {     if (value == 1) tmpBtn.BackColor = Color.Lime;     else tmpBtn.BackColor = Color.Gray; }

C# - Serial Port ASCII/HEX Format

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespace SerialTest1 {     public partial class Form1 : Form     {         delegate void MyDelegate();      //델리게이트 선언(크로스 쓰레드 해결하기 위한 용도)         bool SendForamt = true;          // true : ASCII   false : HEX         bool ReceiveFormat = true;       // true : ASCII   false : HEX         public Form1()         {             InitializeComponent();          ...